/*
Theme Name: My Handicrafts
Theme URI: https://myhandicrafts.co.uk
Author: The Web Design Co.
Author URI: https://fotoworkuk.com
Description: A pastel Indian handicrafts WooCommerce block theme built for myhandicrafts.co.uk with WordPress Full Site Editing. Every colour, font size and spacing value lives in theme.json so patterns and templates never carry inline styles.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Requires plugins: woocommerce
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: myhandicrafts
Tags: e-commerce, block-theme, full-site-editing, custom-colors, custom-menu, translation-ready
*/

/* -----------------------------------------------------------------------
   Accessibility primitives (not expressible via theme.json)
   ----------------------------------------------------------------------- */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--plum);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* -----------------------------------------------------------------------
   Announcement bar
   ----------------------------------------------------------------------- */

.myhc-announcement {
	background-color: var(--wp--preset--color--announce);
	color: var(--wp--preset--color--announce-text);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 22px;
	padding: 8px 20px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--nav-label);
	letter-spacing: 0.02em;
}

@media (min-width: 768px) {
	.myhc-announcement {
		justify-content: space-between;
		padding: 8px 40px;
	}
}

.myhc-announcement__left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.myhc-announcement__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--gold);
	display: inline-block;
	flex-shrink: 0;
}

.myhc-announcement__right {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
	justify-content: center;
}

.myhc-announcement__right a {
	color: var(--wp--preset--color--announce-text);
}

.myhc-announcement__right a:hover,
.myhc-announcement__right a:focus {
	color: var(--wp--preset--color--plum);
}

.myhc-announcement__pipe {
	color: var(--wp--preset--color--divider-pipe);
}

.myhc-announcement__currency {
	font-weight: 700;
	color: var(--wp--preset--color--plum);
}

/* -----------------------------------------------------------------------
   Header
   ----------------------------------------------------------------------- */

.myhc-header {
	background-color: var(--wp--preset--color--blush-light);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
}

@media (min-width: 1024px) {
	.myhc-header {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 24px;
		padding: 22px 40px 18px;
	}
}

.myhc-header__aside {
	display: none;
	align-items: center;
	margin: 0;
}

@media (min-width: 1024px) {
	.myhc-header__aside {
		display: flex;
	}
}

.myhc-header__aside img {
	width: 240px;
	height: 88px;
	object-fit: contain;
	border-radius: 10px; /* matches the "thumb" border-radius preset in theme.json */
}

.myhc-header__brand {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.myhc-header__logo img {
	/* The live custom logo is a wide wordmark, not a square mark, so it is
	   contained rather than cropped to a circle. Upload a square logo to
	   restore the circular emblem treatment from the design. */
	width: auto;
	max-width: 190px;
	height: auto;
	max-height: 52px;
	object-fit: contain;
	margin: 0 auto 6px;
	display: block;
}

.myhc-header__wordmark {
	margin: 0;
}

.myhc-header__tagline-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 7px;
}

.myhc-header__rule {
	width: 36px;
	height: 1px;
	background-color: var(--wp--preset--color--gold);
	display: inline-block;
	flex-shrink: 0;
}

.myhc-header__tagline {
	margin: 0;
	letter-spacing: 0.06em;
}

.myhc-header__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
}

@media (min-width: 1024px) {
	.myhc-header__actions {
		justify-content: flex-end;
	}
}

.myhc-header__search.wc-block-product-search {
	max-width: 210px;
}

.myhc-header__search .wc-block-product-search__fields {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px; /* matches the "pill" border-radius preset in theme.json */
	padding: 4px 8px 4px 16px;
}

.myhc-header__search input[type="search"] {
	border: none;
	background: transparent;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--ink-faint);
}

.myhc-header__search .wc-block-product-search__label {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.myhc-header__search .wc-block-product-search__button {
	background: transparent;
	border: none;
	padding: 0;
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--plum);
	cursor: pointer;
}

.myhc-header__search .wc-block-product-search__button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.myhc-header__search .wc-block-product-search__button:hover,
.myhc-header__search .wc-block-product-search__button:focus-visible {
	color: var(--wp--preset--color--plum-hover);
}

.myhc-header__basket {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.myhc-header__mini-cart .wc-block-mini-cart__button {
	color: var(--wp--preset--color--plum);
}

.myhc-header__mini-cart .wc-block-mini-cart__badge {
	background-color: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--white);
}

.myhc-header__basket-label {
	margin: 2px 0 0;
	color: var(--wp--preset--color--ink-meta);
}

/* -----------------------------------------------------------------------
   Primary navigation
   ----------------------------------------------------------------------- */

.myhc-nav.wp-block-navigation {
	background-color: var(--wp--preset--color--blush-light);
	border-top: 1px solid var(--wp--preset--color--border-soft);
	border-bottom: 1px solid var(--wp--preset--color--border-soft);
	padding: 0 20px;
}

@media (min-width: 1024px) {
	.myhc-nav.wp-block-navigation {
		padding: 0 40px;
		justify-content: center;
	}
}

.myhc-nav .wp-block-navigation-item__content {
	padding: 15px 2px;
	border-bottom: 2px solid transparent;
}

.myhc-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	border-bottom-color: var(--wp--preset--color--plum);
}

/* -----------------------------------------------------------------------
   Pre-footer band: newsletter + trust items
   ----------------------------------------------------------------------- */

.myhc-prefooter {
	background-color: var(--wp--preset--color--footer-prefooter-bg);
	border-top: 1px solid var(--wp--preset--color--footer-prefooter-border);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	padding: 34px 20px;
}

@media (min-width: 768px) {
	.myhc-prefooter {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 40px;
		padding: 34px 60px;
	}
}

.myhc-newsletter {
	max-width: 340px;
	width: 100%;
	text-align: center;
}

@media (min-width: 768px) {
	.myhc-newsletter {
		text-align: left;
	}
}

.myhc-newsletter__heading {
	font-size: var(--wp--preset--font-size--small-heading);
	font-weight: 800;
	margin: 0 0 10px;
	color: var(--wp--preset--color--ink);
}

.myhc-newsletter__form {
	display: flex;
	gap: 0;
}

.myhc-newsletter__input {
	flex: 1;
	border: 1px solid var(--wp--preset--color--newsletter-input-border);
	border-right: none;
	border-radius: 8px 0 0 8px; /* matches the "input" border-radius preset in theme.json */
	padding: 10px 14px;
	font-size: var(--wp--preset--font-size--meta);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.myhc-newsletter__submit {
	background-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white);
	border: none;
	border-radius: 0 8px 8px 0; /* matches the "input" border-radius preset in theme.json */
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 800;
	padding: 0 18px;
	cursor: pointer;
}

.myhc-newsletter__submit:hover,
.myhc-newsletter__submit:focus {
	background-color: var(--wp--preset--color--plum-hover);
}

.myhc-newsletter__privacy {
	font-size: var(--wp--preset--font-size--fine-print);
	color: var(--wp--preset--color--ink-faint-soft);
	margin: 8px 0 0;
}

.myhc-trust {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
	justify-content: center;
}

.myhc-trust-item {
	display: flex;
	align-items: center;
	gap: 13px;
}

.myhc-trust-item__icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--wp--preset--color--blush-light);
	color: var(--wp--preset--color--plum);
	display: flex;
	align-items: center;
	justify-content: center;
}

.myhc-trust-item__text {
	display: flex;
	flex-direction: column;
}

.myhc-trust-item__title {
	font-size: var(--wp--preset--font-size--meta-plus);
	font-weight: 800;
	color: var(--wp--preset--color--ink);
}

.myhc-trust-item__sub {
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--ink-meta);
}

/* -----------------------------------------------------------------------
   Footer
   ----------------------------------------------------------------------- */

.myhc-footer {
	background-color: var(--wp--preset--color--footer-bg);
	padding: 40px 20px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.myhc-footer {
		grid-template-columns: repeat(2, 1fr);
		padding: 52px 40px 40px;
		gap: 36px;
	}
}

@media (min-width: 1024px) {
	.myhc-footer {
		grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
		padding: 52px 60px 40px;
		gap: 44px;
	}
}

.myhc-footer__brand {
	display: block;
}

.myhc-footer__wordmark {
	margin: 0 0 6px;
}

.myhc-footer__tagline {
	margin: 0 0 14px;
}

.myhc-footer__mission {
	line-height: 1.7;
	margin: 0 0 16px;
}

.myhc-social {
	display: flex;
	gap: 10px;
}

.myhc-social__link {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--white);
}

.myhc-social__link--facebook {
	background-color: var(--wp--preset--color--plum);
}

.myhc-social__link--facebook:hover,
.myhc-social__link--facebook:focus {
	background-color: var(--wp--preset--color--plum-hover);
}

.myhc-social__link--instagram {
	background-color: var(--wp--preset--color--rose);
}

.myhc-social__link--instagram:hover,
.myhc-social__link--instagram:focus {
	background-color: var(--wp--preset--color--rose-hover);
}

.myhc-social__link--pinterest {
	background-color: var(--wp--preset--color--gold);
}

.myhc-social__link--pinterest:hover,
.myhc-social__link--pinterest:focus {
	background-color: var(--wp--preset--color--gold-hover);
}

.myhc-footer__col-heading {
	font-size: var(--wp--preset--font-size--meta-plus);
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 14px;
	color: var(--wp--preset--color--ink);
}

.myhc-footer__links {
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: var(--wp--preset--font-size--meta-plus);
}

.myhc-footer__links a {
	color: var(--wp--preset--color--ink-muted);
}

.myhc-footer__links a:hover,
.myhc-footer__links a:focus {
	color: var(--wp--preset--color--plum);
}

.myhc-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 18px;
	font-size: var(--wp--preset--font-size--meta);
	line-height: 1.9;
}

.myhc-footer__contact a,
.myhc-footer__contact span {
	color: var(--wp--preset--color--ink-muted);
}

.myhc-footer__contact a:hover,
.myhc-footer__contact a:focus {
	color: var(--wp--preset--color--plum);
}

/* -----------------------------------------------------------------------
   Bottom bar
   ----------------------------------------------------------------------- */

.myhc-bottom-bar {
	background-color: var(--wp--preset--color--plum);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 14px 20px;
	text-align: center;
}

@media (min-width: 768px) {
	.myhc-bottom-bar {
		flex-direction: row;
		justify-content: space-between;
		padding: 14px 60px;
	}
}

.myhc-bottom-bar p {
	margin: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--bottom-bar-text);
}

/* -----------------------------------------------------------------------
   Homepage (templates/front-page.html)
   ----------------------------------------------------------------------- */

/* Hero */

.myhc-hero {
	background-color: var(--wp--preset--color--blush);
}

.myhc-hero__inner {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	padding: 40px 20px;
}

@media (min-width: 1024px) {
	.myhc-hero__inner {
		flex-direction: row;
		align-items: center;
		gap: 60px;
		padding: 64px 80px;
	}
}

.myhc-hero__content {
	width: 100%;
}

@media (min-width: 1024px) {
	.myhc-hero__content {
		flex: 1;
		max-width: 560px;
	}
}

.myhc-hero__eyebrow {
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.myhc-hero__title {
	margin: 0 0 18px;
	line-height: 1.1;
}

.myhc-hero__sub {
	line-height: 1.7;
	margin: 0 0 30px;
}

.myhc-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.myhc-hero__cta-primary .wp-block-button__link {
	letter-spacing: 0.04em;
}

.myhc-hero__cta-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--plum);
	border: 1.5px solid var(--wp--preset--color--button-outline);
	letter-spacing: 0.04em;
	transition: border-color 180ms ease-out;
}

.myhc-hero__cta-outline .wp-block-button__link:hover,
.myhc-hero__cta-outline .wp-block-button__link:focus {
	background-color: transparent;
	color: var(--wp--preset--color--plum);
	border-color: var(--wp--preset--color--plum);
}

.myhc-hero__media {
	width: 100%;
	display: flex;
	justify-content: center;
}

@media (min-width: 1024px) {
	.myhc-hero__media {
		flex: 1;
		justify-content: flex-end;
	}
}

.myhc-hero__image {
	margin: 0;
	width: 100%;
	max-width: 520px;
}

.myhc-hero__image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: var(--wp--preset--border-radius--hero-image);
	display: block;
}

@media (min-width: 1024px) {
	.myhc-hero__image img {
		height: 340px;
	}
}

/* Shop by Category */

.myhc-category-section__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 44px 20px 0;
}

@media (min-width: 1024px) {
	.myhc-category-section__inner {
		padding: 64px 40px 0;
	}
}

.myhc-category-section__heading {
	text-align: center;
	margin-bottom: 28px;
}

@media (min-width: 1024px) {
	.myhc-category-section__heading {
		margin-bottom: 36px;
	}
}

.myhc-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
}

.myhc-ornament__line {
	width: 44px;
	height: 1px;
	background-color: var(--wp--preset--color--ornament-line);
	display: inline-block;
}

.myhc-ornament__diamond {
	width: 7px;
	height: 7px;
	background-color: var(--wp--preset--color--gold);
	display: inline-block;
	transform: rotate(45deg);
	flex-shrink: 0;
}

.myhc-category-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

@media (min-width: 768px) {
	.myhc-category-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
	}
}

@media (min-width: 1024px) {
	.myhc-category-grid {
		grid-template-columns: repeat(6, 1fr);
		gap: 20px;
	}
}

.myhc-category-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
}

.myhc-category-tile__image {
	margin: 0;
	width: 100%;
}

.myhc-category-tile__image img {
	width: 100%;
	height: 130px;
	object-fit: cover;
	border-radius: var(--wp--preset--border-radius--panel);
	display: block;
}

.myhc-category-tile__label {
	margin: 0;
}

.myhc-category-tile__label a {
	color: var(--wp--preset--color--ink);
}

.myhc-category-tile__label a:hover,
.myhc-category-tile__label a:focus {
	color: var(--wp--preset--color--plum);
}

/* Bestsellers */

.myhc-bestsellers-section__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 44px 20px;
}

@media (min-width: 1024px) {
	.myhc-bestsellers-section__inner {
		padding: 64px 40px;
	}
}

.myhc-bestsellers__header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 24px;
}

@media (min-width: 1024px) {
	.myhc-bestsellers__header {
		margin-bottom: 28px;
	}
}

.myhc-bestsellers__title {
	margin: 0;
}

.myhc-bestsellers__view-all {
	margin: 0;
}

.myhc-bestsellers__view-all .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--rose);
	border: none;
	border-radius: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--meta-plus);
	font-weight: 700;
	letter-spacing: 0.06em;
}

.myhc-bestsellers__view-all .wp-block-button__link:hover,
.myhc-bestsellers__view-all .wp-block-button__link:focus {
	background: transparent;
	color: var(--wp--preset--color--plum);
}

.myhc-bestsellers-grid.wp-block-woocommerce-product-collection {
	display: block;
}

.myhc-bestsellers-grid ul.wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.myhc-bestsellers-grid ul.wc-block-product-template {
		gap: 20px;
	}
}

@media (min-width: 1024px) {
	.myhc-bestsellers-grid ul.wc-block-product-template {
		grid-template-columns: repeat(4, 1fr);
		gap: 22px;
	}
}

.myhc-bestsellers-grid li {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 180ms ease-out;
}

.myhc-bestsellers-grid li:hover,
.myhc-bestsellers-grid li:focus-within {
	box-shadow: var(--wp--preset--shadow--card-hover);
}

.myhc-bestsellers-grid li img {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
}

.myhc-bestsellers-grid li .wp-block-woocommerce-product-image {
	margin: 0;
}

.myhc-bestsellers-grid li .wp-block-post-title {
	margin: 16px 16px 8px;
}

.myhc-bestsellers-grid li .wp-block-woocommerce-product-price {
	margin: 0 16px 8px;
	font-weight: 800;
}

.myhc-bestsellers-grid li .wp-block-woocommerce-product-button {
	margin: auto 16px 18px;
	width: auto;
}

.myhc-bestsellers-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	display: block;
	width: 100%;
	text-align: center;
	background-color: transparent;
	color: var(--wp--preset--color--plum);
	border: 1.5px solid var(--wp--preset--color--button-outline);
	border-radius: var(--wp--preset--border-radius--pill);
	font-size: var(--wp--preset--font-size--nav-label);
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 9px 0;
	transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out;
}

.myhc-bestsellers-grid .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.myhc-bestsellers-grid .wp-block-woocommerce-product-button .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--plum);
}

/* Artisan band */

.myhc-artisan-band {
	background-color: var(--wp--preset--color--blush);
}

.myhc-artisan-band__inner {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
	padding: 40px 20px;
}

@media (min-width: 768px) {
	.myhc-artisan-band__inner {
		flex-direction: row;
		text-align: left;
		justify-content: center;
		gap: 48px;
		padding: 56px 80px;
	}
}

.myhc-artisan-band__portrait {
	margin: 0;
	flex-shrink: 0;
}

.myhc-artisan-band__portrait img {
	width: 130px;
	height: 130px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
	margin: 0 auto;
}

.myhc-artisan-band__content {
	max-width: 640px;
}

.myhc-artisan-band__eyebrow {
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.myhc-artisan-band__quote {
	margin: 0 0 14px;
	border: none;
	padding: 0;
}

.myhc-artisan-band__quote p {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-size: var(--wp--preset--font-size--quote);
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
	margin: 0 0 14px;
}

.myhc-artisan-band__quote cite {
	font-style: normal;
	font-size: var(--wp--preset--font-size--small-heading);
	color: var(--wp--preset--color--ink-muted);
}

.myhc-artisan-band__quote cite strong {
	color: var(--wp--preset--color--ink);
}

.myhc-artisan-band__link {
	margin: 0;
}

.myhc-artisan-band__link a {
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 800;
	letter-spacing: 0.1em;
}

/* -----------------------------------------------------------------------
   Shared: page banners, breadcrumb, generic content, pagination, comments
   ----------------------------------------------------------------------- */

.myhc-page-banner {
	background-color: var(--wp--preset--color--blush);
}

.myhc-page-banner__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 38px 20px;
	text-align: center;
}

.myhc-page-banner__inner .wp-block-heading {
	margin: 0;
}

.myhc-page-banner__sub {
	margin: 10px 0 0;
	font-size: var(--wp--preset--font-size--small-heading);
}

.myhc-breadcrumb {
	max-width: 1240px;
	margin: 0 auto;
	padding: 18px 20px 0;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--ink-meta);
}

@media (min-width: 1024px) {
	.myhc-breadcrumb {
		padding: 20px 40px 0;
	}
}

.myhc-breadcrumb a {
	color: var(--wp--preset--color--ink-meta);
}

.myhc-breadcrumb a:hover,
.myhc-breadcrumb a:focus {
	color: var(--wp--preset--color--plum);
}

.myhc-content__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 44px 20px;
}

@media (min-width: 1024px) {
	.myhc-content__inner {
		padding: 56px 40px;
	}
}

.myhc-post-list {
	margin-top: 8px;
}

.myhc-post-list .wp-block-post-featured-image img,
.myhc-post-hero img {
	border-radius: var(--wp--preset--border-radius--card);
}

.myhc-post-meta {
	gap: 12px;
	margin-top: 10px;
}

.myhc-post-tags {
	margin-top: 28px;
}

.myhc-pagination {
	margin-top: 32px;
	gap: 6px;
}

.myhc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 6px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--input);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.myhc-pagination .page-numbers.current {
	background-color: var(--wp--preset--color--rose-soft);
	border-color: var(--wp--preset--color--rose-soft);
	color: var(--wp--preset--color--plum-dark);
	font-weight: 800;
}

.myhc-search-form {
	margin: 0 auto 28px;
	max-width: 520px;
}

.myhc-404 {
	text-align: center;
	max-width: 640px;
}

.myhc-404 .myhc-ornament {
	margin: 16px auto 20px;
}

.myhc-comments {
	margin-top: 48px;
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 32px;
}

.myhc-comment {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 0;
	border-bottom: 1px solid var(--wp--preset--color--border-soft);
}

.myhc-comment__avatar img {
	border-radius: 50%;
}

.myhc-comment__body {
	flex: 1;
	min-width: 0;
}

/* -----------------------------------------------------------------------
   Shop archive (archive-product / taxonomy-product_cat / search results)
   ----------------------------------------------------------------------- */

.myhc-shop__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 48px;
}

@media (min-width: 1024px) {
	.myhc-shop__inner {
		padding: 0 40px 64px;
	}
}

.myhc-shop__layout {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 20px;
}

@media (min-width: 1024px) {
	.myhc-shop__layout {
		flex-direction: row;
		align-items: flex-start;
		gap: 34px;
	}
}

.myhc-shop__sidebar {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

@media (min-width: 1024px) {
	.myhc-shop__sidebar {
		flex: 0 0 250px;
		width: 250px;
	}
}

.myhc-shop__main {
	flex: 1;
	min-width: 0;
}

.myhc-sidebar-card {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--panel);
	padding: 20px;
}

.myhc-sidebar-card__title {
	margin: 0 0 14px;
}

.myhc-sidebar-cats ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.myhc-sidebar-cats li {
	margin: 0;
}

.myhc-sidebar-cats a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: var(--wp--preset--border-radius--input);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--meta-plus);
	text-decoration: none;
}

.myhc-sidebar-cats a:hover,
.myhc-sidebar-cats a:focus {
	background-color: var(--wp--preset--color--blush-light);
	color: var(--wp--preset--color--plum);
}

.myhc-sidebar-cats .count {
	color: var(--wp--preset--color--ink-faint);
	font-size: var(--wp--preset--font-size--caption);
}

.myhc-sidebar-note {
	background-color: var(--wp--preset--color--gold-bg);
	border-color: var(--wp--preset--color--gold-bg-border);
	text-align: center;
}

.myhc-sidebar-note__title {
	color: var(--wp--preset--color--gold-text);
	margin: 0;
}

.myhc-sidebar-note__copy {
	margin: 8px 0 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--gold-text);
}

.myhc-sidebar-artisan {
	background-color: var(--wp--preset--color--blush);
	border-color: var(--wp--preset--color--blush);
}

.myhc-sidebar-artisan__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.myhc-sidebar-artisan__photo {
	margin: 0;
	flex-shrink: 0;
}

.myhc-sidebar-artisan__photo img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

.myhc-sidebar-artisan__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta-plus);
}

.myhc-sidebar-artisan__role {
	margin: 2px 0 0;
	font-weight: 700;
}

.myhc-sidebar-artisan__quote {
	margin: 12px 0 0;
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-size: var(--wp--preset--font-size--small-heading);
	color: var(--wp--preset--color--ink-secondary);
}

.myhc-sidebar-artisan__link {
	margin: 12px 0 0;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.myhc-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 22px;
}

.myhc-shop-toolbar__count {
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--ink-meta);
}

.myhc-shop-toolbar .woocommerce-result-count {
	margin: 0;
}

.myhc-shop-grid.wp-block-woocommerce-product-collection {
	display: block;
}

.myhc-shop-grid ul.wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.myhc-shop-grid ul.wc-block-product-template {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

@media (min-width: 1024px) {
	.myhc-shop-grid ul.wc-block-product-template {
		grid-template-columns: repeat(4, 1fr);
	}
}

.myhc-shop-grid li {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 180ms ease-out;
}

.myhc-shop-grid li:hover,
.myhc-shop-grid li:focus-within {
	box-shadow: var(--wp--preset--shadow--card-hover);
}

.myhc-shop-grid li img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.myhc-shop-grid li .wp-block-woocommerce-product-image {
	margin: 0;
	position: relative;
}

.myhc-shop-grid li .wp-block-post-title {
	margin: 16px 16px 8px;
}

.myhc-shop-grid li .wp-block-woocommerce-product-price {
	margin: 0 16px 8px;
	font-weight: 800;
}

.myhc-shop-grid li .wp-block-woocommerce-product-button {
	margin: auto 16px 18px;
	width: auto;
}

.myhc-shop-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	display: block;
	width: 100%;
	text-align: center;
	background-color: transparent;
	color: var(--wp--preset--color--plum);
	border: 1.5px solid var(--wp--preset--color--button-outline);
	border-radius: var(--wp--preset--border-radius--pill);
	font-size: var(--wp--preset--font-size--nav-label);
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 9px 0;
	transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out;
}

.myhc-shop-grid .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.myhc-shop-grid .wp-block-woocommerce-product-button .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--plum);
}

.myhc-shop-grid .wc-block-components-product-sale-badge {
	background-color: var(--wp--preset--color--rose-soft);
	color: var(--wp--preset--color--plum-dark);
	border: none;
	border-radius: var(--wp--preset--border-radius--pill);
	font-weight: 800;
}

/* -----------------------------------------------------------------------
   Single product
   ----------------------------------------------------------------------- */

.myhc-pdp__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 56px;
}

@media (min-width: 1024px) {
	.myhc-pdp__inner {
		padding: 0 40px 64px;
	}
}

.myhc-pdp__top {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-top: 20px;
}

@media (min-width: 1024px) {
	.myhc-pdp__top {
		flex-direction: row;
		align-items: flex-start;
		gap: 52px;
	}
}

.myhc-pdp__gallery {
	width: 100%;
}

@media (min-width: 1024px) {
	.myhc-pdp__gallery {
		flex: 0 0 500px;
		max-width: 500px;
	}
}

.myhc-pdp__gallery img {
	border-radius: var(--wp--preset--border-radius--card);
}

.myhc-pdp__details {
	flex: 1;
	min-width: 0;
}

.myhc-pdp__title {
	margin: 0 0 12px;
}

.myhc-pdp__price {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--quote);
	font-weight: 800;
	color: var(--wp--preset--color--plum);
}

.myhc-pdp__summary {
	line-height: 1.7;
	color: var(--wp--preset--color--ink-muted);
	margin: 0 0 20px;
}

.myhc-pdp__cart form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	max-width: 520px;
	margin: 0 0 8px;
}

.myhc-pdp__cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--qty-border);
	border-radius: var(--wp--preset--border-radius--pill);
	padding: 0 6px;
}

.myhc-pdp__cart .quantity .qty {
	width: 46px;
	height: 46px;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 800;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--ink);
}

.myhc-pdp__cart .single_add_to_cart_button {
	flex: 1 1 auto;
	background-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white);
	border: none;
	border-radius: var(--wp--preset--border-radius--pill);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--small-heading);
	padding: 14px 30px;
	cursor: pointer;
	transition: background-color 180ms ease-out;
}

.myhc-pdp__cart .single_add_to_cart_button:hover,
.myhc-pdp__cart .single_add_to_cart_button:focus {
	background-color: var(--wp--preset--color--plum-hover);
}

.myhc-pdp__cart .stock.in-stock {
	color: var(--wp--preset--color--in-stock);
	font-weight: 700;
}

.myhc-pdp__meta {
	margin-top: 18px;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--ink-meta);
	line-height: 2;
}

.myhc-pdp__meta a {
	color: var(--wp--preset--color--rose);
}

.myhc-pdp-trust {
	background-color: var(--wp--preset--color--blush);
	border-radius: var(--wp--preset--border-radius--panel);
	padding: 22px;
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 520px;
}

.myhc-pdp-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.myhc-pdp-trust__icon {
	color: var(--wp--preset--color--plum);
	flex-shrink: 0;
	line-height: 0;
	margin-top: 2px;
}

.myhc-pdp-trust__title {
	margin: 0;
}

.myhc-pdp-trust__sub {
	margin: 2px 0 0;
}

.myhc-pdp__tabs {
	margin-top: 44px;
}

.myhc-pdp__tabs .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.myhc-pdp__tabs .wc-tabs li {
	margin: 0;
}

.myhc-pdp__tabs .wc-tabs li a {
	display: block;
	padding: 10px 16px;
	font-size: var(--wp--preset--font-size--meta-plus);
	color: var(--wp--preset--color--ink-meta);
	text-decoration: none;
	border: 1px solid transparent;
	border-bottom: none;
	border-radius: var(--wp--preset--border-radius--thumb) var(--wp--preset--border-radius--thumb) 0 0;
}

.myhc-pdp__tabs .wc-tabs li.active a {
	background-color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--border);
	color: var(--wp--preset--color--plum);
	font-weight: 800;
}

.myhc-pdp__tabs .woocommerce-Tabs-panel {
	border: 1px solid var(--wp--preset--color--border);
	border-top: none;
	border-radius: 0 0 var(--wp--preset--border-radius--panel) var(--wp--preset--border-radius--panel);
	padding: 26px;
	line-height: 1.75;
}

.myhc-related {
	margin-top: 52px;
}

.myhc-related__head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.myhc-related__title {
	margin: 0;
	white-space: nowrap;
}

.myhc-related__rule {
	flex: 1;
	height: 1px;
	background-color: var(--wp--preset--color--border);
	display: block;
}

.myhc-related-grid li img {
	height: 170px;
}

/* -----------------------------------------------------------------------
   About page
   ----------------------------------------------------------------------- */

.myhc-about-banner {
	background-color: var(--wp--preset--color--blush);
}

.myhc-about-banner__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 44px 20px;
	text-align: center;
}

.myhc-about-banner__inner .wp-block-heading {
	margin: 0;
}

.myhc-about-quote__inner {
	max-width: 860px;
	margin: 0 auto;
	padding: 48px 20px;
	text-align: center;
}

.myhc-about-quote__text {
	font-style: italic;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-secondary);
	margin: 0;
}

.myhc-values__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 20px 56px;
}

@media (min-width: 1024px) {
	.myhc-values__inner {
		padding: 8px 40px 64px;
	}
}

.myhc-values__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 768px) {
	.myhc-values__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

.myhc-value-card {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--panel);
	padding: 28px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.myhc-value-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: var(--wp--preset--border-radius--panel);
	background-color: var(--wp--preset--color--blush);
	color: var(--wp--preset--color--plum);
	margin-bottom: 6px;
}

.myhc-value-card__title {
	margin: 0;
}

.myhc-artisans {
	background-color: var(--wp--preset--color--blush-light);
}

.myhc-artisans__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 52px 20px;
	text-align: center;
}

@media (min-width: 1024px) {
	.myhc-artisans__inner {
		padding: 64px 40px;
	}
}

.myhc-artisans__sub {
	margin: 8px 0 0;
}

.myhc-artisans__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 32px;
}

@media (min-width: 768px) {
	.myhc-artisans__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.myhc-artisan-card {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--panel);
	padding: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.myhc-artisan-card__photo {
	margin: 0 0 14px;
}

.myhc-artisan-card__photo img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

.myhc-artisan-card__name {
	margin: 0;
}

.myhc-artisan-card__craft {
	margin: 4px 0 10px;
	font-weight: 700;
}

.myhc-artisan-card__quote {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-size: var(--wp--preset--font-size--card-title);
	color: var(--wp--preset--color--ink-secondary);
}

.myhc-about-contact__inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 52px 20px;
	text-align: center;
}

.myhc-about-contact__row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	margin-top: 24px;
}

@media (min-width: 768px) {
	.myhc-about-contact__row {
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: 48px;
	}
}

.myhc-contact-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	max-width: 280px;
}

.myhc-contact-item__icon {
	color: var(--wp--preset--color--plum);
	line-height: 0;
}

.myhc-contact-item__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta-plus);
	color: var(--wp--preset--color--ink-muted);
}

/* Decorative image slots keep a branded blush ground behind any placeholder */
.myhc-hero__image img,
.myhc-category-tile__image img,
.myhc-artisan-band__portrait img,
.myhc-artisan-card__photo img,
.myhc-sidebar-artisan__photo img {
	background-color: var(--wp--preset--color--blush);
}

/* -----------------------------------------------------------------------
   WooCommerce Product Collection layout reset

   Product Collection renders its list as
   <ul class="wc-block-product-template is-flex-container columns-N">.
   WooCommerce lays that out with flex at a specificity of (0,2,0), which
   beats a bare ".myhc-shop-grid ul" at (0,1,1), so our grid never applied
   and the cards collapsed into a narrow flex row. The grid selectors above
   are qualified with .wc-block-product-template to reach (0,2,1) and win.
   This block clears the per-column width WooCommerce sets on each item so
   the grid tracks control the sizing instead.
   ----------------------------------------------------------------------- */

.myhc-bestsellers-grid ul.wc-block-product-template.is-flex-container.is-flex-container > li,
.myhc-shop-grid ul.wc-block-product-template.is-flex-container.is-flex-container > li {
	/* WooCommerce sets width:calc(25% - .9375em) on each item and repeats
	   .is-flex-container to reach (0,4,1). Inside our grid that made every
	   card a quarter of its own quarter-width column. The doubled class here
	   matches their trick to reach (0,4,2) so the grid tracks size the cards. */
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
}

/* -----------------------------------------------------------------------
   WooCommerce customer account block

   This block is not in parts/header.html. It was added to the header
   template part through the Site Editor, so it lives in the database copy
   and arrives unstyled, rendering as a full width strip with the icon
   jammed against the left edge. These rules align it with the header
   container and give it a compliant touch target. They are inert if the
   block is later removed.
   ----------------------------------------------------------------------- */

.wp-block-woocommerce-customer-account {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 8px;
	display: flex;
	justify-content: flex-end;
}

@media (min-width: 1024px) {
	.wp-block-woocommerce-customer-account {
		padding: 0 40px 10px;
	}
}

.wp-block-woocommerce-customer-account .wc-block-customer-account__link {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--plum);
}

.wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover,
.wp-block-woocommerce-customer-account .wc-block-customer-account__link:focus-visible {
	color: var(--wp--preset--color--plum-hover);
}

/* -----------------------------------------------------------------------
   Header image blocks

   The header template part is customised in the Site Editor, so an image
   added there arrives with only core classes and no theme class, and renders
   at its native size. This keeps any such image to a sensible brand mark.
   ----------------------------------------------------------------------- */

.myhc-header figure.wp-block-image {
	margin: 0;
}

.myhc-header figure.wp-block-image img {
	max-width: 118px;
	max-height: 118px;
	height: auto;
	width: auto;
	display: block;
}

/* -----------------------------------------------------------------------
   Grid children: neutralise the flow layout margin

   WordPress emits ":where(.is-layout-flow) > *{margin-block-start:...}" with
   a matching :first-child reset. In a container we have switched to grid,
   that margin pushes every item except the first down inside its own cell,
   which knocked the first category tile out of line with the other five.
   ----------------------------------------------------------------------- */

.myhc-category-grid > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
