/* =========================================================
   MY TREASURE HEART — Sacramento Atelier
   Child theme overrides · Botiga parent
   ========================================================= */

/* ── Design Tokens ──────────────────────────────────────── */
:root {
	/* MTH palette */
	--mth-ivory:        #FAF8F5;
	--mth-cream:        #FAF6F1;
	--mth-gold:         #C9A84C;
	--mth-gold-pale:    #EDE0C3;
	--mth-gold-dark:    #9A7928;
	--mth-warm-black:   #1C1713;
	--mth-charcoal:     #2E2A26;
	--mth-stone:        #7A706A;
	--mth-sand:         #E2D8CC;
	--mth-white:        #FFFFFF;

	/* Hero button teal */
	--mth-hero-teal:        #3CBCB5;
	--mth-hero-teal-dark:   #2A9F98;

	/* Legacy aliases kept for WooCommerce compat */
	--mth-teal:         #C9A84C;
	--mth-teal-dark:    #9A7928;
	--mth-gold-soft:    #EDE0C3;
	--mth-ink:          #1C1713;
	--mth-text:         #2E2A26;
	--mth-muted:        #7A706A;
	--mth-line:         #E2D8CC;
	--mth-soft:         #F2EBE0;

	/* Typography */
	--font-display: 'Cormorant Garamond', Georgia, serif;
	--font-body:    'Jost', 'Helvetica Neue', Arial, sans-serif;

	/* Layout */
	--section-v:  clamp(56px, 8vw, 112px);
	--container:  1200px;

	/* Easing */
	--ease-silk: cubic-bezier(0.25, 0.46, 0.45, 0.94);

	/* ── Botiga CSS variable overrides ──────────────────────
	   Maps --bt-* tokens to the MTH palette so that Botiga's
	   own components inherit the correct brand colours without
	   needing per-selector overrides everywhere.
	   ──────────────────────────────────────────────────── */
	--bt-color-bg:                   #FAF6F1;
	--bt-color-body-text:            #2E2A26;
	--bt-color-link-default:         #9A7928;
	--bt-color-link-hover:           #1C1713;
	--bt-color-heading-1:            #1C1713;
	--bt-color-heading-2:            #1C1713;
	--bt-color-heading-3:            #1C1713;
	--bt-color-heading-4:            #1C1713;
	--bt-color-heading-5:            #1C1713;
	--bt-color-heading-6:            #1C1713;
	--bt-color-button-bg:            #1C1713;
	--bt-color-button:               #FAF8F5;
	--bt-color-button-bg-hover:      #9A7928;
	--bt-color-button-hover:         #FAF8F5;
	--bt-color-button-border:        #1C1713;
	--bt-color-button-border-hover:  #9A7928;
	--bt-color-content-cards-bg:     #F2EBE0;
	--bt-color-forms-background:     #FAF8F5;
	--bt-color-forms-text:           #2E2A26;
	--bt-color-forms-placeholder:    #7A706A;
	/* RGB channels for Botiga's rgba() border usage */
	--bt-color-forms-borders:        226, 216, 204;
}

/* ── Global Base ─────────────────────────────────────────── */
html {
	background: var(--mth-cream);
}

body,
body.mth-site {
	--bt-color-bg: var(--mth-cream);
	background: var(--mth-cream);
	color: var(--mth-charcoal);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

/* ── Botiga structural overrides ─────────────────────────── */

/* Header — base backgrounds (overridden by detailed rules below) */
.site-header,
.mobile-header,
.bottom-header-row {
	background-color: var(--mth-cream) !important;
	border-bottom: 1px solid var(--mth-sand);
}

/* Site-wide font family — Cormorant for headings, Jost for body */
h1, h2, h3, h4, h5, h6,
.site-title,
.botiga-nav .menu > li > a,
.woocommerce-loop-product__title,
.woocommerce-products-header__title,
.entry-title {
	font-family: var(--font-display);
	color: var(--mth-warm-black);
}

p, li, td, th, label,
.widget,
.site-footer {
	font-family: var(--font-body);
}

/* Page background */
.site-content,
.woocommerce-page,
#page {
	background: var(--mth-cream);
}

/* Shop page header — match page cream background */
.woocommerce-page-header {
	background-color: var(--mth-cream) !important;
}

/* Botiga product cards */
.products .product,
.woocommerce ul.products li.product {
	background-color: var(--mth-ivory);
}

/* WC single product area */
.woocommerce-product-gallery,
.summary,
.single-product div.product {
	background: var(--mth-cream);
}

/* Footer */
.site-footer,
.footer-widgets,
.bhfb-footer,
.bhfb.bhfb-footer,
.bhfb-above_footer_row,
.bhfb-main_footer_row,
.bhfb-below_footer_row {
	background-color: #000000 !important;
}

.site-footer .botiga-container,
.footer-widgets .botiga-container,
.bhfb-footer .botiga-container,
.bhfb.bhfb-footer .botiga-container,
.bhfb-main_footer_row .botiga-container {
	background-color: #000000 !important;
}

.site-footer {
	border-top: 1px solid rgba(201, 168, 76, 0.3);
	color: var(--mth-sand);
}

.site-footer a,
.bhfb-footer a,
.bhfb-main_footer_row a {
	color: var(--mth-gold-pale);
}

.site-footer a:hover,
.bhfb-footer a:hover,
.bhfb-main_footer_row a:hover {
	color: var(--mth-gold);
}

/* ── Form inputs site-wide ───────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea {
	background: var(--mth-ivory) !important;
	border-color: var(--mth-sand) !important;
	border-radius: 0 !important;
	color: var(--mth-charcoal) !important;
	font-family: var(--font-body);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
	border-color: var(--mth-gold) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12) !important;
}

.mth-site h1,
.mth-site h2,
.mth-site h3,
.mth-site h4,
.mth-site h5,
.mth-site h6,
.mth-site .site-title {
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1;
}

.mth-site a {
	color: var(--mth-gold-dark);
	transition: color 0.22s var(--ease-silk);
}

.mth-site a:hover,
.mth-site a:focus {
	color: var(--mth-warm-black);
}

/* ── Header ──────────────────────────────────────────────── */
.mth-site .site-header {
	background: var(--mth-cream);
	border-bottom: 1px solid var(--mth-sand);
}

/* ── Logo ────────────────────────────────────────────────── */
.site-branding img,
.custom-logo,
.site-logo img,
.botiga-logo img {
	height: auto;
	max-height: 64px;
	max-width: 220px;
	width: auto;
}

@media (max-width: 640px) {
	.site-branding img,
	.custom-logo,
	.site-logo img,
	.botiga-logo img {
		max-height: 48px;
		max-width: 160px;
	}
}

/* ── Navigation ──────────────────────────────────────────── */
.mth-site .main-navigation a,
.mth-site .primary-menu > li > a,
.mth-site nav.botiga-nav a {
	color: var(--mth-charcoal);
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.22s var(--ease-silk);
}

.mth-site .main-navigation a::after,
.mth-site .primary-menu > li > a::after {
	background: var(--mth-gold);
	bottom: -3px;
	content: '';
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.32s var(--ease-silk);
	width: 100%;
}

.mth-site .main-navigation a:hover::after,
.mth-site .main-navigation a:focus::after,
.mth-site .main-navigation .current-menu-item > a::after,
.mth-site .primary-menu > li > a:hover::after,
.mth-site .primary-menu .current-menu-item > a::after {
	transform: scaleX(1);
}

.mth-site .main-navigation a:hover,
.mth-site .primary-menu > li > a:hover {
	color: var(--mth-warm-black);
}

/* ── Eyebrow Label ───────────────────────────────────────── */
.mth-eyebrow {
	color: var(--mth-gold-dark);
	display: block;
	font-family: var(--font-body);
	font-size: clamp(0.86rem, 1.1vw, 1rem);
	font-weight: 700;
	letter-spacing: 0.16em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

/* Section eyebrows (not navigation) use teal */
.mth-section .mth-eyebrow,
.mth-artisan__copy .mth-eyebrow,
.mth-page-narrow .mth-eyebrow,
.mth-contact-grid .mth-eyebrow {
	color: var(--mth-hero-teal);
}

.mth-section__header .mth-eyebrow,
.mth-artisan__copy .mth-eyebrow,
.mth-page-narrow .mth-eyebrow,
.mth-contact-grid .mth-eyebrow,
.mth-shop-guide .mth-eyebrow,
.mth-hero .mth-eyebrow,
.mth-memory-hero .mth-eyebrow,
.mth-memory-gallery .mth-eyebrow,
.mth-memory-cta .mth-eyebrow {
	font-size: clamp(0.86rem, 1.1vw, 1rem);
	font-weight: 700;
	line-height: 1.35;
}

/* ── WP / WooCommerce Buttons ────────────────────────────── */
.mth-site .button,
.mth-site button,
.mth-site input[type="submit"],
.mth-site .wp-element-button,
.mth-site .added_to_cart,
.mth-site .wc-block-components-button {
	background: var(--mth-warm-black);
	border: 1px solid var(--mth-warm-black);
	border-radius: 0;
	color: var(--mth-ivory);
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	padding: 14px 32px;
	text-transform: uppercase;
	transition:
		background 0.25s var(--ease-silk),
		border-color 0.25s var(--ease-silk),
		color 0.25s var(--ease-silk);
}

.mth-site .button:hover,
.mth-site button:hover,
.mth-site input[type="submit"]:hover,
.mth-site .wp-element-button:hover,
.mth-site .added_to_cart:hover,
.mth-site .wc-block-components-button:hover {
	background: var(--mth-gold-dark);
	border-color: var(--mth-gold-dark);
	color: var(--mth-ivory);
}

/* ── Custom Hero/CTA Buttons ─────────────────────────────── */
.mth-button,
.mth-button--ghost {
	align-items: center;
	border-radius: 0;
	display: inline-flex;
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.14em;
	min-height: 52px;
	padding: 15px 36px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background 0.25s var(--ease-silk),
		border-color 0.25s var(--ease-silk),
		color 0.25s var(--ease-silk);
}

.mth-button {
	background: var(--mth-warm-black);
	color: var(--mth-ivory);
}

.mth-button:hover,
.mth-button:focus {
	background: var(--mth-gold-dark);
	color: var(--mth-ivory);
}

.mth-button--ghost {
	background: transparent;
	border: 1px solid var(--mth-gold);
	color: var(--mth-warm-black);
}

.mth-button--ghost:hover,
.mth-button--ghost:focus {
	background: var(--mth-gold);
	border-color: var(--mth-gold);
	color: var(--mth-warm-black);
}

/* ── Actions Row ─────────────────────────────────────────── */
.mth-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

/* ── Hero ────────────────────────────────────────────────── */
.mth-hero {
	background:
		linear-gradient(90deg, rgba(28, 23, 19, 0.82) 0%, rgba(28, 23, 19, 0.64) 34%, rgba(28, 23, 19, 0.2) 62%, rgba(28, 23, 19, 0.02) 100%),
		url('../images/home-hero-elizabeth-teal-light.png') center center / cover no-repeat;
	border-bottom: 1px solid var(--mth-sand);
	box-sizing: border-box;
	display: flex;
	min-height: clamp(600px, 72vh, 820px);
	overflow: hidden;
	padding: var(--section-v) 0;
	position: relative;
}

.home.mth-site .content-wrapper {
	margin-top: 0;
}

.home.mth-site .entry-content > .mth-hero:first-child {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.mth-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(36px, 5vw, 88px);
	grid-template-columns: minmax(0, 0.56fr) minmax(0, 0.44fr);
	margin: 0 auto;
	max-width: 1110px;
	padding: 0 36px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.mth-hero__content {
	max-width: 560px;
}

.mth-hero h1 {
	color: var(--mth-ivory);
	font-family: var(--font-display);
	font-size: clamp(3rem, 6vw, 6rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.0;
	margin: 0 0 28px;
	max-width: 820px;
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.28);
}

.mth-hero p {
	color: rgba(250, 248, 245, 0.88);
	font-size: 1.0rem;
	font-weight: 300;
	line-height: 1.85;
	margin: 0 0 36px;
	max-width: 540px;
}

.mth-hero .mth-eyebrow {
	color: var(--mth-gold-pale);
}

.mth-hero .mth-button {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

.mth-hero .mth-button:hover,
.mth-hero .mth-button:focus {
	background: var(--mth-hero-teal-dark);
	border-color: var(--mth-hero-teal-dark);
	color: var(--mth-white);
}

.mth-hero .mth-button--ghost {
	border-color: var(--mth-hero-teal);
	color: var(--mth-hero-teal);
}

.mth-hero .mth-button--ghost:hover,
.mth-hero .mth-button--ghost:focus {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

/* Image frame with gold corner accents */
.mth-hero__image {
	aspect-ratio: 3 / 4;
	background: var(--mth-cream);
	border: 1px solid var(--mth-sand);
	overflow: hidden;
	position: relative;
}

.mth-hero > .mth-hero__grid > .mth-hero__image {
	display: none;
}

.mth-hero__image::before,
.mth-hero__image::after {
	content: '';
	height: 44px;
	pointer-events: none;
	position: absolute;
	width: 44px;
	z-index: 2;
}

.mth-hero__image::before {
	border-right: 1px solid var(--mth-gold);
	border-top: 1px solid var(--mth-gold);
	right: 14px;
	top: 14px;
}

.mth-hero__image::after {
	border-bottom: 1px solid var(--mth-gold);
	border-left: 1px solid var(--mth-gold);
	bottom: 14px;
	left: 14px;
}

.mth-hero__image img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--ease-silk);
	width: 100%;
}

.mth-hero__image:hover img {
	transform: scale(1.04);
}

.mth-hero__caption {
	background: rgba(28, 23, 19, 0.9);
	bottom: 0;
	color: var(--mth-ivory);
	font-family: var(--font-body);
	font-size: 0.74rem;
	font-weight: 400;
	left: 0;
	letter-spacing: 0.05em;
	padding: 14px 18px;
	position: absolute;
	right: 0;
}

/* ── Section Scaffolding ─────────────────────────────────── */
.mth-section {
	padding: var(--section-v) 36px;
}

.mth-section--soft {
	background: var(--mth-sand);
}

.mth-section--featured {
	padding-bottom: clamp(28px, 4vw, 56px);
	padding-top: clamp(28px, 4vw, 56px);
}

.mth-section__inner {
	margin: 0 auto;
	max-width: var(--container);
}

.mth-section__header {
	align-items: end;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 0.85fr) minmax(240px, 0.52fr);
	margin-bottom: 52px;
}

.mth-section__header h2 {
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	font-weight: 400;
	line-height: 1.08;
	margin: 0;
}

.mth-section__header p {
	color: var(--mth-warm-black);
	font-weight: 300;
	line-height: 1.75;
	margin: 0;
}

.mth-section__intro {
	align-self: end;
}

.mth-section__footer {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

/* ── Category Cards ──────────────────────────────────────── */
.mth-category-grid {
	background: var(--mth-sand);
	border: 1px solid var(--mth-sand);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mth-category-card {
	background: var(--mth-ivory);
	border: none;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 270px;
	overflow: hidden;
	padding: 132px 28px 28px;
	position: relative;
	text-decoration: none;
	transition: background 0.28s var(--ease-silk);
}

/* Animated top bar */
.mth-category-card::before {
	background: var(--mth-gold);
	content: '';
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.38s var(--ease-silk);
	z-index: 2;
}

.mth-category-card::after {
	background-color: rgba(201, 168, 76, 0.12);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 56px 56px;
	border: 1px solid rgba(201, 168, 76, 0.34);
	border-radius: 50%;
	content: '';
	height: 78px;
	left: 28px;
	position: absolute;
	top: 34px;
	transition:
		background-color 0.28s var(--ease-silk),
		border-color 0.28s var(--ease-silk),
		transform 0.28s var(--ease-silk);
	width: 78px;
	z-index: 0;
}

.mth-category-card[href*="/necklaces/"]::after {
	background-image: url('../images/intent-necklaces.svg');
}

.mth-category-card[href*="/earrings/"]::after {
	background-image: url('../images/intent-earrings.svg');
}

.mth-category-card[href*="/jewelry-sets/"]::after {
	background-image: url('../images/intent-jewelry-sets.svg');
}

.mth-category-card[href*="/custom-jewelry/"]::after {
	background-image: url('../images/intent-custom-jewelry.svg');
}

.mth-category-card:hover::before,
.mth-category-card:focus::before {
	transform: scaleX(1);
}

.mth-category-card:hover,
.mth-category-card:focus {
	background: var(--mth-gold-pale);
	color: var(--mth-warm-black);
}

.mth-category-card:hover::after,
.mth-category-card:focus::after {
	background-color: rgba(250, 248, 245, 0.86);
	border-color: rgba(154, 121, 40, 0.46);
	transform: translateY(-4px);
}

.mth-category-card h3 {
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 500;
	margin: 0 0 8px;
	position: relative;
	z-index: 1;
}

.mth-category-card p {
	color: var(--mth-stone);
	font-size: 0.88rem;
	font-weight: 300;
	line-height: 1.6;
	margin: 0;
	position: relative;
	z-index: 1;
}

/* ── Grid Scaffolding ────────────────────────────────────── */
.mth-card-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mth-process-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mth-proof-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ── Content Cards ───────────────────────────────────────── */
.mth-card,
.mth-process,
.mth-proof {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	border-radius: 0;
	padding: 32px 28px;
	position: relative;
	transition: border-color 0.25s var(--ease-silk);
}

.mth-card:hover,
.mth-process:hover,
.mth-proof:hover {
	border-color: var(--mth-gold);
}

.mth-card h3,
.mth-process h3,
.mth-proof h3 {
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-size: 1.3rem;
	font-weight: 500;
	margin: 0 0 12px;
}

.mth-card p,
.mth-process p,
.mth-proof p {
	color: var(--mth-stone);
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.72;
	margin: 0;
}

/* ── Featured Products ───────────────────────────────────── */
.mth-products-shortcode {
	margin-top: 36px;
}

.mth-section--featured .mth-section__footer .mth-button {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

.mth-section--featured .mth-section__footer .mth-button:hover,
.mth-section--featured .mth-section__footer .mth-button:focus {
	background: var(--mth-hero-teal-dark);
	border-color: var(--mth-hero-teal-dark);
	color: var(--mth-white);
}

/* ── Artisan Section homepage "Read the story" button ───── */
.mth-artisan__copy .mth-button--ghost {
	border-color: var(--mth-hero-teal);
	color: var(--mth-hero-teal);
}

.mth-artisan__copy .mth-button--ghost:hover,
.mth-artisan__copy .mth-button--ghost:focus {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

/* ── Artisan Section ─────────────────────────────────────── */
.mth-artisan {
	align-items: center;
	display: grid;
	gap: clamp(36px, 5vw, 88px);
	grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
}

.mth-artisan__media {
	aspect-ratio: 3 / 4;
	background: var(--mth-cream);
	border: 1px solid var(--mth-sand);
	min-height: 420px;
	overflow: hidden;
	position: relative;
}

/* Offset gold frame behind image */
.mth-artisan__media::before {
	bottom: -14px;
	border: 1px solid rgba(201, 168, 76, 0.45);
	content: '';
	left: -14px;
	pointer-events: none;
	position: absolute;
	right: 14px;
	top: 14px;
	z-index: 0;
}

.mth-artisan__media img {
	height: 100%;
	object-fit: cover;
	position: relative;
	width: 100%;
	z-index: 1;
}

/* ── Artisan Section: About page (float layout) ──────────── */
.mth-artisan--about {
	display: block;
	overflow: hidden;
}

.mth-artisan--about .mth-artisan__media {
	aspect-ratio: unset;
	float: right;
	margin-bottom: 20px;
	margin-left: clamp(24px, 3vw, 48px);
	min-height: 0;
	width: 60%;
}

.mth-artisan--about .mth-artisan__media img {
	height: auto;
	object-fit: unset;
}

.mth-artisan__copy h1,
.mth-artisan__copy h2 {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 400;
	margin: 0 0 28px;
}

.mth-artisan__copy p {
	color: var(--mth-warm-black);
	font-weight: 300;
	line-height: 1.85;
}

/* ── Pull Quote ──────────────────────────────────────────── */
.mth-quote {
	border-left: 2px solid var(--mth-gold);
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 2.4vw, 2.1rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1.42;
	margin: 36px 0;
	padding-left: 24px;
}

.mth-artisan__copy .mth-quote {
	color: var(--mth-warm-black);
}

/* ── Shop Guide ──────────────────────────────────────────── */
.mth-shop-guide {
	align-items: center;
	background: var(--mth-sand);
	border: 1px solid var(--mth-sand);
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.48fr);
	margin: 0 0 44px;
	padding: 40px 44px;
}

.mth-shop-guide h2 {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	font-weight: 400;
	margin: 0 0 12px;
}

.mth-shop-guide p {
	color: var(--mth-warm-black);
	font-weight: 300;
	line-height: 1.72;
	margin: 0;
}

.mth-shop-guide__links {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mth-shop-guide__links a {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	border-radius: 0;
	color: var(--mth-warm-black);
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	padding: 14px 16px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background 0.22s var(--ease-silk),
		border-color 0.22s var(--ease-silk);
}

.mth-shop-guide__links a:hover,
.mth-shop-guide__links a:focus {
	background: var(--mth-gold);
	border-color: var(--mth-gold);
	color: var(--mth-warm-black);
}

/* ── Product Card Overrides ──────────────────────────────── */
.mth-product-card-note {
	color: var(--mth-stone);
	font-size: 0.88rem;
	font-weight: 300;
	line-height: 1.62;
	margin: 8px 0 14px;
}

.mth-product-confidence {
	border-top: 1px solid var(--mth-sand);
	display: grid;
	gap: 9px;
	margin-top: 20px;
	padding-top: 18px;
}

.mth-product-confidence span {
	color: var(--mth-warm-black);
	font-family: var(--font-body);
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.mth-product-confidence span::before {
	color: var(--mth-gold);
	content: "—";
	margin-right: 10px;
}

/* WooCommerce loop cards */
.woocommerce ul.products li.product {
	border: 1px solid var(--mth-sand);
	border-radius: 0;
	padding: 0 0 22px;
	transition: border-color 0.25s var(--ease-silk);

	/* Uniform card layout: flex column so price stays at bottom */
	display: flex;
	flex-direction: column;
}

.woocommerce ul.products li.product:hover {
	border-color: var(--mth-gold);
}

/* Image link — treat as block so it doesn't stretch */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	flex-shrink: 0;
}

/* Fixed-height image container so every card image is the same size */
.woocommerce ul.products li.product .loop-image-wrap {
	aspect-ratio: 3 / 4;
	width: 100%;
	overflow: hidden;
}

/* Scale product image to fill the container without cropping */
.woocommerce ul.products li.product .loop-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Clamp description excerpt to exactly 3 lines */
.woocommerce ul.products li.product .product-description {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	flex-shrink: 0;
	overflow: hidden;
}

/* Title grows to fill remaining space, pushing price to a consistent row */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	flex-grow: 1;
}

.woocommerce ul.products li.product .price {
	color: var(--mth-gold-dark);
	font-family: var(--font-body);
	font-weight: 500;
}

.woocommerce span.onsale {
	background: var(--mth-gold);
	border-radius: 0;
	color: var(--mth-warm-black);
	font-family: var(--font-body);
	font-weight: 600;
}

/* ── Breadcrumbs ─────────────────────────────────────────── */
.mth-breadcrumb {
	color: var(--mth-stone);
	font-family: var(--font-body);
	font-size: 0.82rem;
}

.mth-breadcrumb-separator {
	color: var(--mth-gold);
	margin: 0 10px;
}

/* ── Narrow Page Layout ──────────────────────────────────── */
.mth-page-narrow {
	margin: 0 auto;
	max-width: 800px;
}

.mth-page-narrow p,
.mth-page-narrow li {
	color: var(--mth-stone);
	font-weight: 300;
	line-height: 1.85;
}

.mth-page-narrow h2,
.mth-page-narrow h3 {
	font-family: var(--font-display);
	font-weight: 500;
	margin-top: 2.2em;
}

/* ── Contact Page ────────────────────────────────────────── */
.mth-contact-grid {
	align-items: start;
	display: grid;
	gap: 56px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.52fr);
}

.mth-contact-grid .mth-button,
.mth-contact-form input[type="submit"] {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

.mth-contact-grid .mth-button:hover,
.mth-contact-grid .mth-button:focus,
.mth-contact-form input[type="submit"]:hover,
.mth-contact-form input[type="submit"]:focus {
	background: var(--mth-hero-teal-dark);
	border-color: var(--mth-hero-teal-dark);
	color: var(--mth-white);
}

.mth-contact-grid .mth-button--ghost {
	border-color: var(--mth-hero-teal);
	color: var(--mth-hero-teal);
}

.mth-contact-grid .mth-button--ghost:hover,
.mth-contact-grid .mth-button--ghost:focus {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

.mth-contact-form {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	padding: clamp(28px, 4vw, 52px);
}

.mth-contact-form label {
	color: var(--mth-warm-black);
	display: block;
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0 0 20px;
	text-transform: uppercase;
}

.mth-contact-form input,
.mth-contact-form select,
.mth-contact-form textarea {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	border-radius: 0;
	color: var(--mth-charcoal);
	font-family: var(--font-body);
	margin-top: 8px;
	min-height: 48px;
	padding: 13px 16px;
	transition: border-color 0.22s var(--ease-silk);
	width: 100%;
}

.mth-contact-form input:focus,
.mth-contact-form select:focus,
.mth-contact-form textarea:focus {
	border-color: var(--mth-gold);
	outline: none;
}

.mth-contact-form textarea {
	min-height: 144px;
	resize: vertical;
}

.mth-cf7-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mth-contact-form .wpcf7-response-output {
	border-color: var(--mth-gold);
	border-radius: 0;
	font-family: var(--font-body);
	font-size: 0.88rem;
	margin: 20px 0 0;
	padding: 14px 18px;
}

/* ── WooCommerce Sale Badge ──────────────────────────────── */
.woocommerce span.onsale {
	background: var(--mth-gold) !important;
	border-radius: 0 !important;
	color: var(--mth-warm-black) !important;
	font-family: var(--font-body);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ── WooCommerce Price ───────────────────────────────────── */
.woocommerce .price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--mth-gold-dark) !important;
	font-family: var(--font-body);
	font-weight: 500;
}

.woocommerce .price del {
	color: var(--mth-stone) !important;
	opacity: 0.7;
}

.woocommerce .price ins,
.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	color: var(--mth-hero-teal) !important;
	text-decoration: none;
}

/* ── WooCommerce Add to Cart ─────────────────────────────── */
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button {
	background: var(--mth-warm-black) !important;
	border: 1px solid var(--mth-warm-black) !important;
	border-radius: 0 !important;
	color: var(--mth-ivory) !important;
	font-family: var(--font-body);
	font-size: 0.75rem !important;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition:
		background 0.25s var(--ease-silk),
		border-color 0.25s var(--ease-silk) !important;
}

.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--mth-gold-dark) !important;
	border-color: var(--mth-gold-dark) !important;
	color: var(--mth-ivory) !important;
}

/* ── WC Cart / Checkout Buttons ──────────────────────────── */
.woocommerce #respond input#submit,
.woocommerce .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--mth-warm-black) !important;
	border-radius: 0 !important;
	color: var(--mth-ivory) !important;
	font-family: var(--font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.woocommerce #respond input#submit:hover,
.woocommerce .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--mth-gold-dark) !important;
	color: var(--mth-ivory) !important;
}

/* ── WC Order Totals / Tables ────────────────────────────── */
.woocommerce table.shop_table {
	border-color: var(--mth-sand) !important;
}

.woocommerce table.shop_table th {
	background: var(--mth-cream);
	color: var(--mth-warm-black);
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ── WC Commerce Panels ──────────────────────────────────── */
/* Use the same sand panel treatment as the shop guide. */
.woocommerce-cart table.cart thead,
.woocommerce-cart table.cart tr.cart_item,
.woocommerce-cart table.cart tr.cart_item td,
.woocommerce-cart table.cart thead th,
.woocommerce-cart .cart_totals,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout .checkout-wrapper .woocommerce-checkout-review-order {
	background: var(--mth-sand) !important;
}

.woocommerce-cart table.cart,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout .checkout-wrapper .woocommerce-checkout-review-order {
	border-color: var(--mth-sand) !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-checkout .checkout-wrapper table.shop_table th,
.woocommerce-checkout .checkout-wrapper table.shop_table td {
	background: transparent !important;
}

.woocommerce-cart .cart_totals tr,
.woocommerce-checkout .checkout-wrapper table.shop_table tr {
	border-color: rgba(28, 23, 19, 0.12) !important;
}

.woocommerce-cart .product-quantity .quantity {
	background: var(--mth-white) !important;
}

.woocommerce-checkout #customer_details {
	padding: 30px;
}

/* Ivory controls stay distinct and readable inside the sand panels. */
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .checkout-wrapper .wc_payment_methods {
	background: var(--mth-ivory) !important;
	border-color: var(--mth-sand) !important;
}

/* Replace Botiga's hard-coded gray checkout notices and notes card. */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout #order_comments_field {
	background: var(--mth-ivory) !important;
	border: 1px solid var(--mth-gold-pale);
	border-left: 3px solid var(--mth-gold);
}

.woocommerce-checkout .woocommerce-error {
	border-left-color: #b45309;
}

.woocommerce-checkout #order_comments_field {
	padding: 28px;
}

.woocommerce-checkout #order_comments_field textarea {
	background: var(--mth-white) !important;
}

/* Apply the panel system to the signed-in account view as well. */
.woocommerce-account.logged-in .entry-content > .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .entry-content > .woocommerce .woocommerce-MyAccount-content {
	background: var(--mth-sand);
}

.woocommerce-account.logged-in .entry-content > .woocommerce .woocommerce-MyAccount-content {
	padding: 30px;
}

.woocommerce-account.logged-in .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul .is-active a {
	background: var(--mth-gold-pale);
}

@media (max-width: 767px) {
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_comments_field,
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register,
	.woocommerce-account.logged-in .entry-content > .woocommerce .woocommerce-MyAccount-content {
		padding: 24px;
	}
}

/* ── WC Tabs ─────────────────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--mth-stone);
	font-family: var(--font-body);
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--mth-warm-black);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--mth-ivory);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom-color: var(--mth-sand);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--mth-cream);
	border-color: var(--mth-sand);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--mth-ivory);
}

.woocommerce div.product .woocommerce-tabs .panel {
	background: var(--mth-ivory);
}

/* ── WC Notices ──────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--mth-gold) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--mth-gold) !important;
}

.woocommerce-error {
	border-top-color: #b45309 !important;
}

/* ── Navigation mega/dropdown menus ─────────────────────── */
.main-navigation ul ul,
.primary-menu ul,
.site-header .sub-menu {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	border-radius: 0;
}

.main-navigation ul ul li a,
.primary-menu ul li a {
	color: var(--mth-charcoal);
	font-family: var(--font-body);
	font-size: 0.82rem;
}

.main-navigation ul ul li a:hover,
.primary-menu ul li a:hover {
	background: var(--mth-cream);
	color: var(--mth-warm-black);
}

/* ── Widget titles ───────────────────────────────────────── */
.widget-title,
.widgettitle {
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 16px;
}

/* ── Pagination ──────────────────────────────────────────── */
.page-numbers li a,
.page-numbers li span,
.woocommerce-pagination li .page-numbers,
.navigation.pagination .page-numbers {
	color: var(--mth-hero-teal);
	font-family: var(--font-body);
	font-size: 0.82rem;
	font-weight: 500;
}

.page-numbers li .current,
.page-numbers li a:hover,
.woocommerce-pagination li .page-numbers:hover,
.woocommerce-pagination li .page-numbers:focus,
.woocommerce-pagination li .page-numbers.current,
.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers:focus,
.navigation.pagination .page-numbers.current {
	background: var(--mth-hero-teal) !important;
	color: var(--mth-white) !important;
}

/* ── Subtle page-load fade ───────────────────────────────── */
@keyframes mth-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

.mth-site .site-main > * {
	animation: mth-fade-in 0.45s var(--ease-silk) both;
}

/* ── Gold divider utility ────────────────────────────────── */
.mth-divider {
	border: none;
	border-top: 1px solid var(--mth-sand);
	margin: 0;
}

.mth-divider--gold {
	border-top-color: var(--mth-gold);
	opacity: 0.5;
}

/* ── Responsive: 1024px ──────────────────────────────────── */
@media (max-width: 1024px) {
	.mth-section {
		padding-left: 28px;
		padding-right: 28px;
	}

	.mth-hero__grid {
		padding: 0 28px;
	}
}

/* ── Responsive: 980px ───────────────────────────────────── */
@media (max-width: 980px) {
	.mth-hero {
		background-position: 68% center;
		min-height: 640px;
	}

	.mth-hero__grid,
	.mth-artisan,
	.mth-contact-grid {
		grid-template-columns: 1fr;
	}

	.mth-artisan--about .mth-artisan__media {
		float: none;
		margin-left: 0;
		width: 100%;
	}

	.mth-section__header {
		grid-template-columns: 1fr;
		margin-bottom: 36px;
	}

	.mth-shop-guide {
		grid-template-columns: 1fr;
		padding: 32px 28px;
	}

	.mth-card-grid,
	.mth-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mth-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mth-proof-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mth-artisan__media::before {
		display: none;
	}
}

/* ── Responsive: 640px ───────────────────────────────────── */
@media (max-width: 640px) {
	.mth-hero {
		background-position: 70% center;
		min-height: 620px;
		padding-left: 22px;
		padding-right: 22px;
	}

	.mth-hero__grid {
		padding: 0;
	}

	.mth-section {
		padding-left: 22px;
		padding-right: 22px;
	}

	.mth-section__inner {
		box-sizing: border-box;
		max-width: calc(100vw - 44px);
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	.mth-card-grid,
	.mth-category-grid,
	.mth-process-grid,
	.mth-proof-grid,
	.mth-shop-guide__links,
	.mth-cf7-grid {
		grid-template-columns: 1fr;
	}

	.mth-hero h1 {
		font-size: 2.35rem;
		max-width: 8.8em;
	}

	.mth-hero p {
		max-width: 330px;
	}

	.mth-hero .mth-actions {
		gap: 12px;
	}

	.mth-hero .mth-button,
	.mth-hero .mth-button--ghost {
		padding-left: 22px;
		padding-right: 22px;
	}

	.mth-hero__image {
		aspect-ratio: 4 / 3;
		min-height: 280px;
	}

	.mth-artisan__media {
		aspect-ratio: 4 / 3;
		min-height: 0;
	}

	.mth-artisan--about .mth-artisan__media {
		aspect-ratio: unset;
	}

	.mth-shop-guide {
		padding: 24px 22px;
	}
}

/* =================================================================
   PROFESSIONAL HEADER / MENU BAR
   ================================================================= */

/* ── Announcement Bar ────────────────────────────────────────── */
.mth-announcement-bar {
	background: #000000;
	border-bottom: 1px solid rgba(201, 168, 76, 0.2);
	color: var(--mth-gold-pale);
	font-family: var(--font-body);
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	padding: 10px 24px;
	text-align: center;
	text-transform: uppercase;
}

.mth-announcement-bar a {
	color: var(--mth-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ── Header shell (BHFB + legacy) ───────────────────────────── */
.bhfb-desktop,
.bhfb.bhfb-header,
#masthead {
	background: var(--mth-cream) !important;
}

/* Main header row height */
.bhfb-main_header_row {
	min-height: 86px !important;
	border-bottom: 1px solid var(--mth-sand);
	background: var(--mth-cream) !important;
}

/* Above-header row (if used as a secondary bar) */
.bhfb-above_header_row {
	min-height: 0 !important;
	background: var(--mth-warm-black) !important;
	border-bottom: 1px solid rgba(201, 168, 76, 0.15);
}

/* Below-header row (nav-only row layout) */
.bhfb-below_header_row {
	min-height: 48px !important;
	background: var(--mth-cream) !important;
	border-top: 1px solid var(--mth-sand);
	border-bottom: 1px solid var(--mth-sand);
}

/* Row wrapper padding */
.bhfb-desktop .bhfb-main_header_row .bhfb-row-wrapper,
.bhfb-desktop .bhfb-main_header_row .botiga-container,
.bhfb-desktop .bhfb-below_header_row .bhfb-row-wrapper,
.bhfb-desktop .bhfb-below_header_row .botiga-container {
	background: var(--mth-cream) !important;
	max-width: var(--container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 36px;
	padding-right: 36px;
}

.mth-site .site-header > .container-fluid {
	background: var(--mth-cream) !important;
	max-width: 1110px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 36px;
	padding-right: 36px;
}

/* ── Logo refinement ─────────────────────────────────────────── */
.bhfb.bhfb-header .custom-logo-link img,
.bhfb-component-logo img,
.site-branding img,
.custom-logo {
	max-height: 68px !important;
	width: auto !important;
	display: block;
	transition: opacity 0.24s var(--ease-silk);
}

.bhfb.bhfb-header .custom-logo-link:hover img,
.site-branding a:hover img {
	opacity: 0.78;
}

/* ── Primary navigation links ────────────────────────────────── */

/* Reset font-size set by Botiga via CSS var */
.bhfb.bhfb-header .main-navigation,
.bhfb.bhfb-header .secondary-navigation {
	font-size: inherit !important;
}

/* Top-level items */
.bhfb.bhfb-header .main-navigation .nav-menu > li,
.bhfb.bhfb-header .main-navigation > div > ul > li,
.mth-site .main-navigation > div > ul > li {
	margin-right: 0 !important;
}

.bhfb.bhfb-header .main-navigation .nav-menu > li + li,
.bhfb.bhfb-header .main-navigation > div > ul > li + li,
.mth-site .main-navigation > div > ul > li + li {
	margin-left: 38px !important;
}

/* Link styles */
.bhfb.bhfb-header .main-navigation .nav-menu > li > a,
.bhfb.bhfb-header .main-navigation > div > ul > li > a,
.mth-site .main-navigation > div > ul > li > a {
	font-family: var(--font-body) !important;
	font-size: 0.7rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	color: var(--mth-charcoal) !important;
	text-decoration: none !important;
	padding: 4px 0 !important;
	position: relative !important;
	display: inline-block !important;
	line-height: 1 !important;
	transition: color 0.22s var(--ease-silk) !important;
}

/* Animated underline — gold bar slides in from left */
.bhfb.bhfb-header .main-navigation .nav-menu > li > a::after,
.bhfb.bhfb-header .main-navigation > div > ul > li > a::after,
.mth-site .main-navigation > div > ul > li > a::after {
	content: '' !important;
	position: absolute !important;
	bottom: -1px !important;
	left: 0 !important;
	width: 100% !important;
	height: 1px !important;
	background: var(--mth-gold) !important;
	transform: scaleX(0) !important;
	transform-origin: left !important;
	transition: transform 0.32s var(--ease-silk) !important;
}

.bhfb.bhfb-header .main-navigation .nav-menu > li > a:hover::after,
.bhfb.bhfb-header .main-navigation .nav-menu > li.current-menu-item > a::after,
.bhfb.bhfb-header .main-navigation .nav-menu > li.current-menu-ancestor > a::after,
.bhfb.bhfb-header .main-navigation > div > ul > li > a:hover::after,
.bhfb.bhfb-header .main-navigation > div > ul > li.current-menu-item > a::after,
.bhfb.bhfb-header .main-navigation > div > ul > li.current-menu-ancestor > a::after,
.mth-site .main-navigation > div > ul > li > a:hover::after,
.mth-site .main-navigation > div > ul > li.current-menu-item > a::after,
.mth-site .main-navigation > div > ul > li.current-menu-ancestor > a::after {
	transform: scaleX(1) !important;
}

.bhfb.bhfb-header .main-navigation .nav-menu > li > a:hover,
.bhfb.bhfb-header .main-navigation .nav-menu > li.current-menu-item > a,
.bhfb.bhfb-header .main-navigation > div > ul > li > a:hover,
.bhfb.bhfb-header .main-navigation > div > ul > li.current-menu-item > a,
.mth-site .main-navigation > div > ul > li > a:hover,
.mth-site .main-navigation > div > ul > li.current-menu-item > a {
	color: var(--mth-warm-black) !important;
}

/* ── Top-level nav UL — no box, no background ────────────────── */
.bhfb.bhfb-header .main-navigation > div > .botiga-dropdown-ul,
.bhfb.bhfb-header .main-navigation > div > ul.botiga-dropdown-ul {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-width: 0 !important;
}

/* ── Dropdown sub-menus only ─────────────────────────────────── */
.bhfb.bhfb-header .main-navigation .sub-menu,
.bhfb.bhfb-header .main-navigation .sub-menu.botiga-dropdown-ul,
.mth-site .main-navigation ul ul {
	background: var(--mth-ivory) !important;
	border: 1px solid var(--mth-sand) !important;
	border-top: 2px solid var(--mth-gold) !important;
	border-radius: 0 !important;
	box-shadow: 0 12px 40px rgba(28, 23, 19, 0.09) !important;
	min-width: 210px !important;
	padding: 6px 0 !important;
}

/* Dropdown link rows */
.bhfb.bhfb-header .main-navigation .sub-menu li,
.bhfb.bhfb-header .main-navigation .sub-menu.botiga-dropdown-ul li,
.mth-site .main-navigation ul ul li {
	background: transparent !important;
}

.bhfb.bhfb-header .main-navigation .sub-menu li a,
.bhfb.bhfb-header .main-navigation .sub-menu.botiga-dropdown-ul li a,
.mth-site .main-navigation ul ul li a {
	font-family: var(--font-body) !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	color: var(--mth-charcoal) !important;
	padding: 11px 22px !important;
	display: block !important;
	line-height: 1.4 !important;
	transition:
		background 0.18s var(--ease-silk),
		color 0.18s var(--ease-silk),
		padding-left 0.18s var(--ease-silk) !important;
}

/* Suppress underline on dropdown items */
.bhfb.bhfb-header .main-navigation .sub-menu li a::after,
.bhfb.bhfb-header .main-navigation .sub-menu.botiga-dropdown-ul li a::after,
.mth-site .main-navigation ul ul li a::after {
	display: none !important;
}

.bhfb.bhfb-header .main-navigation .sub-menu li a:hover,
.bhfb.bhfb-header .main-navigation .sub-menu.botiga-dropdown-ul li a:hover,
.mth-site .main-navigation ul ul li a:hover {
	background: var(--mth-cream) !important;
	color: var(--mth-warm-black) !important;
	padding-left: 26px !important;
}

/* ── WooCommerce icon strip (cart / account / search) ───────── */
.bhfb.bhfb-header .bhfb-component-woo_icons .ws-svg-icon,
.bhfb.bhfb-header .bhfb-component-search .header-search,
.site-header .header-item .ws-svg-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.site-header .header-search .icon-cancel:not(.active) {
	display: none !important;
}

/* Icon sizes */
.bhfb.bhfb-header .bhfb-component-woo_icons svg,
.bhfb.bhfb-header .bhfb-component-search svg,
.site-header .header-item svg {
	width: 20px !important;
	height: 20px !important;
}

/* Gap between icons */
.bhfb.bhfb-header .bhfb-builder-item + .bhfb-builder-item {
	margin-left: 6px;
}

/* Cart badge */
.bhfb.bhfb-header .cart-count-badge,
.site-header .header-cart-count {
	background: var(--mth-warm-black) !important;
	color: var(--mth-ivory) !important;
	font-family: var(--font-body) !important;
	font-size: 0.58rem !important;
	font-weight: 600 !important;
	border-radius: 0 !important;
	min-width: 15px !important;
	height: 15px !important;
	line-height: 15px !important;
}

/* ── Sticky header ───────────────────────────────────────────── */
.bhfb-desktop,
.bhfb-mobile,
.bhfb.bhfb-header,
#masthead,
.site-header,
.mobile-header {
	position: sticky !important;
	top: 0;
	z-index: 9999;
}

body.admin-bar .bhfb-desktop,
body.admin-bar .bhfb-mobile,
body.admin-bar .bhfb.bhfb-header,
body.admin-bar #masthead,
body.admin-bar .site-header,
body.admin-bar .mobile-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .bhfb-desktop,
	body.admin-bar .bhfb-mobile,
	body.admin-bar .bhfb.bhfb-header,
	body.admin-bar #masthead,
	body.admin-bar .site-header,
	body.admin-bar .mobile-header {
		top: 46px;
	}
}

.bhfb-desktop .bhfb-main_header_row,
.bhfb-mobile .bhfb-main_header_row,
.site-header,
.mobile-header,
.bhfb-desktop.is-sticky .bhfb-main_header_row,
.bhfb-desktop.sticky-always .bhfb-main_header_row,
.site-header.is-sticky,
.site-header.sticky-always {
	box-shadow: 0 2px 24px rgba(28, 23, 19, 0.07) !important;
}

/* ── Legacy layout (non-BHFB) nav ───────────────────────────── */
.mth-site .site-header-inner {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

/* ── Mobile header ───────────────────────────────────────────── */
.bhfb-mobile,
.mobile-header {
	background: var(--mth-cream) !important;
	border-bottom: 1px solid var(--mth-sand) !important;
}

.bhfb-mobile .bhfb-main_header_row .bhfb-row-wrapper,
.bhfb-mobile .bhfb-main_header_row .botiga-container,
.mobile-header .botiga-container,
.mth-site .mobile-header > .container-fluid {
	background: var(--mth-cream) !important;
}

.bhfb-mobile .bhfb-main_header_row {
	min-height: 66px !important;
	border-bottom: none;
}

/* Hamburger button */
.bhfb-mobile .bhfb-component-mobile_hamburger button,
.mobile-header .botiga-hamburger {
	background: transparent !important;
	border: none !important;
	color: var(--mth-charcoal) !important;
	padding: 6px !important;
}

/* ── Offcanvas / slide-out mobile menu ───────────────────────── */
.botiga-offcanvas-menu,
.bhfb-mobile_offcanvas {
	background: var(--mth-ivory) !important;
}

.bhfb-mobile_offcanvas .main-navigation a,
.botiga-offcanvas-menu .main-navigation a,
.mth-site .botiga-offcanvas-menu a {
	font-family: var(--font-body) !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
	color: var(--mth-charcoal) !important;
	border-bottom-color: var(--mth-sand) !important;
	transition: color 0.2s var(--ease-silk) !important;
}

.bhfb-mobile_offcanvas .main-navigation a:hover,
.botiga-offcanvas-menu .main-navigation a:hover {
	color: var(--mth-gold-dark) !important;
}

/* ── Responsive: mobile breakpoint (≤ 1024px) ───────────────── */
@media (max-width: 1024px) {
	.mth-announcement-bar {
		font-size: 0.64rem;
		padding: 9px 16px;
		letter-spacing: 0.12em;
	}

	.bhfb-mobile .bhfb-row-wrapper,
	.bhfb-mobile .botiga-container,
	.mobile-header .botiga-container,
	.mth-site .mobile-header > .container-fluid {
		padding-left: 43px;
		padding-right: 43px;
	}
}

/* =================================================================
   HEADER LAYOUT — Logo+Title LEFT · Nav+Icons RIGHT
   ================================================================= */

/* Botiga uses CSS Grid. Give logo auto width, nav fills middle, icons auto */
.bhfb-main_header_row .bhfb-row {
	grid-template-columns: auto 1fr auto !important;
}

/* Logo (column-2, center by default) → first slot, left-aligned */
.bhfb-main_header_row .bhfb-column-2 {
	order: 1 !important;
	justify-content: flex-start !important;
}

/* Nav (column-1, left by default) → second slot, right-aligned */
.bhfb-main_header_row .bhfb-column-1 {
	order: 2 !important;
	justify-content: center !important;
}

/* Icons (column-3) → third slot, right-aligned */
.bhfb-main_header_row .bhfb-column-3 {
	order: 3 !important;
	justify-content: flex-end !important;
}

/* 5. SITE BRANDING — logo image + "My Treasure Heart" side by side */
.bhfb.bhfb-header .bhfb-component-logo,
.bhfb-component-logo {
	text-align: left !important;
}

.bhfb.bhfb-header .site-branding {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 18px !important;
	text-align: left !important;
}

/* Logo image sizing next to the title */
.bhfb.bhfb-header .site-branding .custom-logo-link img,
.bhfb.bhfb-header .site-branding img.custom-logo {
	max-height: 54px !important;
	width: auto !important;
	flex-shrink: 0 !important;
}

/* Site title — Old English blackletter beside the logo */
.site-title,
.bhfb.bhfb-header .site-title {
	font-family: 'Old English Text MT', 'UnifrakturMaguntia', cursive !important;
	font-size: 1.4rem !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.site-title a,
.site-title a:visited,
.bhfb.bhfb-header .site-title a,
.bhfb.bhfb-header .site-title a:visited {
	color: var(--mth-gold) !important;
	text-decoration: none !important;
	transition: color 0.22s var(--ease-silk) !important;
}

.site-title a:hover,
.bhfb.bhfb-header .site-title a:hover {
	color: var(--mth-gold-dark) !important;
}

/* Hide site description / tagline everywhere */
.site-description {
	display: none !important;
}

/* 6. Nav items — single row, no wrapping */
.bhfb.bhfb-header .main-navigation .nav-menu,
.bhfb.bhfb-header .main-navigation > div > ul,
.bhfb.bhfb-header .botiga-dropdown > div > .botiga-dropdown-ul {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
}

/* 7. Keep icons and nav visually close when in separate columns  */
.bhfb-desktop .bhfb-main_header_row .bhfb-column:has(.bhfb-component-woo_icons) {
	padding-left: 12px !important;
}

/* ── Legacy (non-BHFB) layout fallback ───────────────────────── */
.mth-site .site-branding {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 16px !important;
}

.mth-site .site-header-inner .row {
	justify-content: space-between !important;
	align-items: center !important;
}

@media (min-width: 1025px) {
	.mth-site #masthead .site-header-inner > .row {
		flex-wrap: nowrap !important;
	}

	.mth-site #masthead .site-header-inner > .row > .col-md-2 {
		flex: 0 0 auto !important;
		max-width: none !important;
		order: 1 !important;
		width: auto !important;
	}

	.mth-site #masthead .site-header-inner > .row > .col-md-5:first-child {
		display: flex !important;
		flex: 1 1 auto !important;
		justify-content: flex-end !important;
		max-width: none !important;
		min-width: 0 !important;
		order: 2 !important;
		width: auto !important;
	}

	.mth-site #masthead .site-header-inner > .row > .header-elements {
		align-items: center !important;
		display: flex !important;
		flex: 0 0 auto !important;
		justify-content: flex-end !important;
		max-width: none !important;
		order: 3 !important;
		width: auto !important;
	}

	.mth-site #masthead .site-branding {
		width: auto !important;
	}
}

/* ── Responsive: tablet / mobile — keep branding horizontal ──── */
@media (max-width: 1024px) {
	.bhfb-mobile .site-branding {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 12px !important;
	}

	.bhfb-mobile .site-branding .custom-logo-link img {
		max-height: 40px !important;
	}

	.site-title,
	.bhfb-mobile .site-title {
		font-family: 'Old English Text MT', 'UnifrakturMaguntia', cursive !important;
		font-size: 1.1rem !important;
		font-style: normal !important;
		font-weight: 400 !important;
		margin: 0 !important;
		white-space: nowrap !important;
	}

	.site-title a,
	.bhfb-mobile .site-title a {
		color: var(--mth-gold) !important;
		text-decoration: none !important;
	}
}

@media (max-width: 640px) {
	.mth-announcement-bar {
		font-size: 0.5rem;
		letter-spacing: 0.02em;
		line-height: 1.55;
		overflow-wrap: break-word;
		padding: 8px 14px;
		white-space: normal !important;
	}

	.bhfb-mobile .bhfb-row-wrapper,
	.bhfb-mobile .botiga-container,
	.mobile-header .botiga-container,
	.mth-site .mobile-header > .container-fluid {
		padding-left: 37px;
		padding-right: 37px;
	}

	.mth-site .site-header > .container-fluid {
		padding-left: 18px;
		padding-right: 18px;
	}

	.mth-site #masthead .site-header-inner {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}

	.mth-site #masthead .site-header-inner > .row {
		flex-wrap: nowrap !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.mth-site #masthead .site-header-inner > .row > [class*="col-"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.mth-site #masthead .site-header-inner > .row > .col-md-5:first-child {
		display: none !important;
	}

	.mth-site #masthead .site-header-inner > .row > .col-md-2 {
		flex: 1 1 auto !important;
		max-width: none !important;
		min-width: 0 !important;
		width: auto !important;
	}

	.mth-site #masthead .site-header-inner > .row > .header-elements {
		display: flex !important;
		flex: 0 0 auto !important;
		max-width: none !important;
		min-width: 0 !important;
		width: auto !important;
	}

	.mth-site #masthead .site-branding {
		gap: 10px !important;
		min-width: 0 !important;
	}

	.mth-site #masthead .site-branding img,
	.mth-site #masthead .custom-logo {
		max-height: 44px !important;
	}

	.mth-site #masthead .site-title {
		font-size: 1rem !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.mth-site #masthead .header-item {
		margin-right: 14px !important;
	}

	.mth-site #masthead .wc-account-link {
		display: none !important;
	}

	.mth-site .mobile-header .botiga-container {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.mth-site .mobile-header .site-branding {
		gap: 10px !important;
		min-width: 0 !important;
	}

	.mth-site .mobile-header .site-branding img,
	.mth-site .mobile-header .custom-logo {
		max-height: 44px !important;
	}

	.mth-site .mobile-header .site-title {
		font-size: 1rem !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.mth-site .mobile-header .header-elements {
		display: flex !important;
		flex: 0 0 auto !important;
		max-width: none !important;
		min-width: 0 !important;
		width: auto !important;
	}

	.mth-site .mobile-header .header-item {
		margin-right: 14px !important;
	}

	.mth-site .mobile-header .wc-account-link {
		display: none !important;
	}
}

/* =================================================================
   DOWN MEMORY LANE PAGE
   ================================================================= */

.mth-memory-lane-page {
	background: var(--mth-cream);
}

.mth-memory-hero {
	border-bottom: 1px solid var(--mth-sand);
	padding: var(--section-v) 36px;
}

.mth-memory-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(42px, 6vw, 92px);
	grid-template-columns: minmax(0, 0.78fr) minmax(320px, 0.62fr);
	margin: 0 auto;
	max-width: var(--container);
}

.mth-memory-hero__copy {
	max-width: 660px;
}

.mth-memory-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 6vw, 5.8rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 26px;
}

.mth-memory-hero__copy > p:not(.mth-eyebrow) {
	color: var(--mth-stone);
	font-size: 1.02rem;
	font-weight: 300;
	line-height: 1.85;
	margin: 0 0 34px;
	max-width: 590px;
}

.mth-memory-hero .mth-eyebrow,
.mth-memory-gallery .mth-eyebrow,
.mth-memory-cta .mth-eyebrow {
	color: var(--mth-hero-teal);
}

.mth-memory-hero .mth-button,
.mth-memory-cta .mth-button {
	background: var(--mth-hero-teal);
	border-color: var(--mth-hero-teal);
	color: var(--mth-white);
}

.mth-memory-hero .mth-button:hover,
.mth-memory-hero .mth-button:focus,
.mth-memory-cta .mth-button:hover,
.mth-memory-cta .mth-button:focus {
	background: var(--mth-hero-teal-dark);
	border-color: var(--mth-hero-teal-dark);
	color: var(--mth-white);
}

.mth-memory-stats {
	border-bottom: 1px solid rgba(201, 168, 76, 0.42);
	border-top: 1px solid rgba(201, 168, 76, 0.42);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 42px 0 0;
	padding: 20px 0;
}

.mth-memory-stats div {
	min-width: 0;
	padding-right: 24px;
}

.mth-memory-stats dt {
	color: var(--mth-warm-black);
	font-family: var(--font-display);
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 8px;
}

.mth-memory-stats dd {
	color: var(--mth-stone);
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.5;
	margin: 0;
	text-transform: uppercase;
}

.mth-memory-hero__collage {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	position: relative;
}

.mth-memory-hero__collage::before {
	border: 1px solid rgba(201, 168, 76, 0.48);
	bottom: -14px;
	content: '';
	left: -14px;
	pointer-events: none;
	position: absolute;
	right: 14px;
	top: 14px;
}

.mth-memory-hero__photo {
	aspect-ratio: 1 / 1;
	background: var(--mth-white);
	border: 1px solid var(--mth-sand);
	display: block;
	overflow: hidden;
	padding: 12px;
	position: relative;
	text-decoration: none;
	z-index: 1;
}

.mth-memory-hero__photo:first-child {
	aspect-ratio: 3 / 4;
	grid-row: span 2;
}

.mth-memory-hero__photo img {
	height: 100%;
	object-fit: contain;
	transition: transform 0.7s var(--ease-silk);
	width: 100%;
}

.mth-memory-hero__photo:hover img,
.mth-memory-hero__photo:focus img {
	transform: scale(1.04);
}

.mth-memory-hero__photo span {
	background: rgba(28, 23, 19, 0.88);
	bottom: 0;
	color: var(--mth-ivory);
	font-family: var(--font-body);
	font-size: 0.68rem;
	font-weight: 500;
	left: 0;
	letter-spacing: 0.1em;
	line-height: 1.4;
	padding: 10px 12px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.mth-memory-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mth-memory-grid--detail {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mth-memory-grid--detail .mth-memory-card:first-child {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);
}

.mth-memory-grid--detail .mth-memory-card:first-child .mth-memory-card__image {
	border-bottom: 0;
	border-right: 1px solid var(--mth-sand);
}

.mth-memory-card {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: border-color 0.25s var(--ease-silk);
}

.mth-memory-card::before {
	background: var(--mth-gold);
	content: '';
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s var(--ease-silk);
	z-index: 2;
}

.mth-memory-card:hover,
.mth-memory-card:focus-within {
	border-color: var(--mth-gold);
}

.mth-memory-card:hover::before,
.mth-memory-card:focus-within::before {
	transform: scaleX(1);
}

.mth-memory-card__image {
	aspect-ratio: 4 / 5;
	background: var(--mth-white);
	border-bottom: 1px solid var(--mth-sand);
	display: block;
	overflow: hidden;
	padding: 18px;
}

.mth-memory-card__image img {
	height: 100%;
	object-fit: contain;
	transition: transform 0.65s var(--ease-silk);
	width: 100%;
}

.mth-memory-card:hover .mth-memory-card__image img,
.mth-memory-card:focus-within .mth-memory-card__image img {
	transform: scale(1.03);
}

.mth-memory-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px;
}

.mth-memory-card__meta {
	color: var(--mth-hero-teal);
	font-family: var(--font-body);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.5;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.mth-memory-card h3 {
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 12px;
}

.mth-memory-card h3 a {
	color: var(--mth-warm-black);
	text-decoration: none;
}

.mth-memory-card p:not(.mth-memory-card__meta) {
	color: var(--mth-stone);
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.72;
	margin: 0;
}

.mth-memory-card__link {
	color: var(--mth-gold-dark);
	display: inline-flex;
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	margin-top: auto;
	padding-top: 24px;
	text-decoration: none;
	text-transform: uppercase;
}

.mth-memory-card__link:hover,
.mth-memory-card__link:focus {
	color: var(--mth-warm-black);
}

.mth-memory-empty {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	padding: clamp(28px, 4vw, 52px);
	text-align: center;
}

.mth-memory-empty h3 {
	font-family: var(--font-display);
	font-size: 1.8rem;
	font-weight: 500;
	margin: 0 0 12px;
}

.mth-memory-empty p {
	color: var(--mth-stone);
	margin: 0;
}

.mth-memory-notes .mth-card {
	background: var(--mth-ivory);
}

.mth-memory-cta__panel {
	background: var(--mth-ivory);
	border: 1px solid var(--mth-sand);
	margin: 0 auto;
	max-width: 880px;
	padding: clamp(34px, 5vw, 64px);
	text-align: center;
}

.mth-memory-cta__panel h2 {
	font-family: var(--font-display);
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	font-weight: 400;
	line-height: 1.08;
	margin: 0 0 20px;
}

.mth-memory-cta__panel p:not(.mth-eyebrow) {
	color: var(--mth-stone);
	font-weight: 300;
	line-height: 1.85;
	margin: 0 auto 30px;
	max-width: 680px;
}

.mth-memory-cta .mth-actions {
	justify-content: center;
}

@media (max-width: 980px) {
	.mth-memory-hero__inner {
		grid-template-columns: 1fr;
	}

	.mth-memory-hero__collage {
		max-width: 680px;
	}

	.mth-memory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mth-memory-grid--detail .mth-memory-card:first-child {
		grid-template-columns: 1fr;
	}

	.mth-memory-grid--detail .mth-memory-card:first-child .mth-memory-card__image {
		border-bottom: 1px solid var(--mth-sand);
		border-right: 0;
	}
}

@media (max-width: 640px) {
	.mth-memory-hero {
		padding: 56px 30px;
	}

	.mth-memory-hero__inner,
	.mth-memory-hero__copy,
	.mth-memory-hero__collage {
		box-sizing: border-box;
		max-width: calc(100vw - 60px);
		min-width: 0;
		width: 100%;
	}

	.mth-memory-lane-page {
		overflow-x: hidden;
	}

	.mth-memory-hero__copy,
	.mth-memory-hero__collage,
	.mth-memory-hero .mth-actions {
		max-width: 320px !important;
	}

	.mth-memory-hero h1 {
		font-size: 2.55rem;
	}

	.mth-memory-hero__copy > p:not(.mth-eyebrow) {
		max-width: 320px !important;
		overflow-wrap: break-word;
	}

	.mth-memory-hero .mth-button,
	.mth-memory-hero .mth-button--ghost {
		box-sizing: border-box;
		padding-left: 14px;
		padding-right: 14px;
		text-align: center;
		width: 100%;
	}

	.mth-memory-stats,
	.mth-memory-grid {
		grid-template-columns: 1fr;
	}

	.mth-memory-grid--detail .mth-memory-card:first-child {
		display: flex;
		grid-column: auto;
	}

	.mth-memory-stats {
		gap: 18px;
	}

	.mth-memory-hero__collage {
		gap: 10px;
		grid-template-columns: 1fr;
	}

	.mth-memory-hero__collage::before {
		display: none;
	}

	.mth-memory-hero__photo:first-child {
		aspect-ratio: 4 / 5;
		grid-row: auto;
	}

	.mth-memory-hero__photo {
		padding: 8px;
	}

	.mth-memory-hero__photo span {
		font-size: 0.58rem;
		letter-spacing: 0.06em;
	}

	.mth-memory-card__body {
		padding: 24px 22px;
	}

	.mth-memory-cta__panel {
		padding: 30px 22px;
		text-align: left;
	}

	.mth-memory-cta .mth-actions {
		justify-content: flex-start;
	}
}

/* Desktop header fit for the expanded primary navigation. */
@media (min-width: 1025px) {
	.mth-site #masthead .site-header-inner > .row > .col-md-2 {
		flex: 0 0 300px !important;
		max-width: 300px !important;
		width: 300px !important;
	}

	.site-title,
	.bhfb.bhfb-header .site-title {
		font-size: 1.24rem !important;
	}

	.bhfb.bhfb-header .main-navigation .nav-menu > li + li,
	.bhfb.bhfb-header .main-navigation > div > ul > li + li,
	.mth-site .main-navigation > div > ul > li + li {
		margin-left: 28px !important;
	}

	.bhfb.bhfb-header .main-navigation .nav-menu > li > a,
	.bhfb.bhfb-header .main-navigation > div > ul > li > a,
	.mth-site .main-navigation > div > ul > li > a {
		font-size: 0.68rem !important;
		letter-spacing: 0.14em !important;
	}
}

@media (min-width: 1025px) and (max-width: 1180px) {
	.mth-site #masthead .site-header-inner > .row > .col-md-2 {
		flex-basis: 76px !important;
		max-width: 76px !important;
		width: 76px !important;
	}

	.site-title,
	.bhfb.bhfb-header .site-title {
		display: none !important;
	}
}

/* Legal policy pages */
.mth-policy-page {
	background: var(--mth-cream);
}

.mth-policy-hero {
	background:
		radial-gradient(circle at 82% 12%, rgba(201, 168, 76, 0.14), transparent 29%),
		linear-gradient(145deg, #fdfaf6 0%, var(--mth-cream) 72%);
	border-bottom: 1px solid var(--mth-sand);
	padding: clamp(52px, 8vw, 96px) 30px clamp(44px, 7vw, 82px);
}

.mth-policy-hero .botiga-container,
.mth-policy-layout,
.mth-policy-help .botiga-container,
.mth-footer-legal.botiga-container {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--container);
	width: 100%;
}

.mth-policy-breadcrumb {
	align-items: center;
	color: var(--mth-stone);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.69rem;
	font-weight: 500;
	gap: 10px;
	letter-spacing: 0.12em;
	margin-bottom: clamp(34px, 5vw, 58px);
	text-transform: uppercase;
}

.mth-policy-breadcrumb a {
	color: var(--mth-gold-dark);
}

.mth-policy-hero h1 {
	font-size: clamp(3rem, 7vw, 5.8rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.98;
	margin: 12px 0 24px;
	max-width: 900px;
}

.mth-policy-hero__intro {
	color: var(--mth-stone);
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	font-weight: 300;
	line-height: 1.85;
	margin: 0;
	max-width: 780px;
}

.mth-policy-updated {
	align-items: center;
	display: flex;
	font-size: 0.73rem;
	gap: 12px;
	letter-spacing: 0.1em;
	margin: 30px 0 0;
	text-transform: uppercase;
}

.mth-policy-updated span {
	color: var(--mth-stone);
}

.mth-policy-updated time {
	color: var(--mth-warm-black);
	font-weight: 600;
}

.mth-policy-layout {
	display: grid;
	gap: clamp(48px, 8vw, 104px);
	grid-template-columns: minmax(190px, 245px) minmax(0, 760px);
	justify-content: space-between;
	padding: clamp(64px, 9vw, 120px) 30px;
}

.mth-policy-toc {
	align-self: start;
	border-top: 2px solid var(--mth-gold);
	padding-top: 22px;
	position: sticky;
	top: 32px;
}

.mth-policy-toc__title {
	color: var(--mth-warm-black);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.mth-policy-toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mth-policy-toc li {
	border-bottom: 1px solid rgba(226, 216, 204, 0.78);
	font-size: 0.78rem;
	line-height: 1.45;
	margin: 0;
}

.mth-policy-toc a {
	color: var(--mth-stone);
	display: block;
	padding: 10px 0;
}

.mth-policy-toc a:hover,
.mth-policy-toc a:focus {
	color: var(--mth-gold-dark);
}

.mth-policy-content {
	color: var(--mth-charcoal);
	font-size: 1rem;
	line-height: 1.84;
}

.mth-policy-content > p:first-child {
	border-bottom: 1px solid var(--mth-sand);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.3vw, 1.7rem);
	line-height: 1.55;
	margin: 0 0 52px;
	padding-bottom: 44px;
}

.mth-policy-content section {
	border-bottom: 1px solid var(--mth-sand);
	margin-bottom: 44px;
	padding-bottom: 36px;
	scroll-margin-top: 34px;
}

.mth-policy-content section:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.mth-policy-content h2 {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 500;
	line-height: 1.18;
	margin: 0 0 20px;
}

.mth-policy-content p {
	margin: 0 0 18px;
}

.mth-policy-content p:last-child {
	margin-bottom: 0;
}

.mth-policy-content ul,
.mth-policy-content ol {
	margin: 18px 0 22px;
	padding-left: 24px;
}

.mth-policy-content li {
	margin-bottom: 10px;
	padding-left: 5px;
}

.mth-policy-content strong {
	color: var(--mth-warm-black);
	font-weight: 600;
}

.mth-policy-content a {
	text-decoration: underline;
	text-decoration-color: rgba(154, 121, 40, 0.4);
	text-underline-offset: 3px;
}

.mth-policy-callout {
	background: var(--mth-white);
	border: 1px solid var(--mth-gold-pale);
	border-left: 4px solid var(--mth-gold);
	margin: 0 0 24px;
	padding: 24px 26px;
}

.mth-policy-help {
	background: var(--mth-soft);
	border-top: 1px solid var(--mth-sand);
	padding: clamp(58px, 8vw, 92px) 30px;
	text-align: center;
}

.mth-policy-help h2 {
	font-size: clamp(2.3rem, 5vw, 4rem);
	font-weight: 400;
	margin: 10px 0 18px;
}

.mth-policy-help p:not(.mth-eyebrow) {
	color: var(--mth-stone);
	margin: 0 auto;
	max-width: 650px;
}

.mth-policy-help__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
	margin-top: 30px;
}

.mth-policy-help__actions > a:not(.mth-button) {
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}

/* Footer policy navigation */
.mth-footer-legal-wrap {
	background: #000000;
	border-bottom: 1px solid rgba(201, 168, 76, 0.22);
}

.mth-footer-legal {
	padding: 22px 30px 24px;
}

.mth-footer-legal ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mth-footer-legal li {
	font-size: 0.69rem;
	letter-spacing: 0.11em;
	margin: 0;
	text-transform: uppercase;
}

.mth-site .mth-footer-legal a {
	color: var(--mth-gold-pale);
}

.mth-site .mth-footer-legal a:hover,
.mth-site .mth-footer-legal a:focus {
	color: var(--mth-gold);
}

.site-footer .site-info .row,
.site-footer .footer-copyright-elements {
	justify-content: center;
}

.site-footer .footer-copyright-elements,
.site-footer .botiga-credits {
	text-align: center;
	width: 100%;
}

.site-footer .botiga-credits {
	margin-left: auto;
	margin-right: auto;
}

.bhfb-footer .bhfb-below_footer_row .bhfb-column-1,
.bhfb-footer .bhfb-component-copyright {
	justify-content: center;
	text-align: center;
	width: 100%;
}

.bhfb-footer .bhfb-below_footer_row {
	flex-direction: column;
}

.bhfb-footer .bhfb-below_footer_row > .mth-footer-legal-wrap,
.bhfb-footer .bhfb-below_footer_row > .container {
	flex: 0 0 auto;
	width: 100%;
}

.bhfb-footer .bhfb-component-copyright .botiga-credits {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 100%;
}

@media (max-width: 820px) {
	.mth-policy-layout {
		grid-template-columns: 1fr;
	}

	.mth-policy-toc {
		position: static;
	}

	.mth-policy-toc ol {
		columns: 2;
		column-gap: 28px;
	}

	.mth-policy-toc li {
		break-inside: avoid;
	}
}

@media (max-width: 520px) {
	.mth-policy-hero,
	.mth-policy-layout,
	.mth-policy-help {
		padding-left: 22px;
		padding-right: 22px;
	}

	.mth-policy-hero h1 {
		font-size: 2.75rem;
	}

	.mth-policy-toc ol {
		columns: 1;
	}

	.mth-policy-content > p:first-child {
		font-size: 1.25rem;
	}

	.mth-policy-help__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.mth-footer-legal ul {
		align-items: center;
		flex-direction: column;
	}
}
