:root {
	--mv-ground: #f2eee6;
	--mv-panel: #e9e2d6;
	--mv-panel-2: #faf8f3;
	--mv-ink: #5e5a51;
	--mv-ink-soft: #5e5a51;
	--mv-burg: #17251f;
	--mv-burg-bright: #26312c;
	--mv-gold: #a98854;
	--mv-gold-soft: #a98854;
	--mv-taupe: #a6a096;
	--mv-line: #d6cec1;
	--mv-dark: #17251f;
	--mv-chalk: #faf8f3;
	--mv-serif: "Cormorant Garamond", Georgia, serif;
	--mv-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

/* ===== PROFESSIONAL FADE-UP SCROLL ANIMATION — START ===== */

.section {
	opacity: 0;
	transform: translateY(35px);
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.section.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.section {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.mv-footer {
	margin-top: 0px;
}

.hero,.philosophy,.featured-estate,.partners,.spotlight,.portfolio,.values,.journal,.trade {
	box-sizing: border-box;
}

.hero *,.philosophy *,.featured-estate *,.partners *,.spotlight *,.portfolio *,.values *,.journal *,.trade * {
	box-sizing: border-box;
}

.container,.wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

.container--narrow {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 24px;
	text-align: center;
}

.view,.section {
	padding: 96px 0;
}

.eyebrow {
	font-family: var(--mv-sans);
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mv-gold);
	font-weight: 500;
	margin: 0 0 14px;
	position: relative;
	padding-left: 26px;
}

.eyebrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 1px;
	background: var(--mv-gold);
	transform: translateY(-50%);
}

.eyebrow--center {
	text-align: center;
	padding-left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.eyebrow--center::before {
	content: none;
}

.eyebrow--muted {
	color: var(--mv-ink-soft);
}

.eyebrow--white {
	color: #fff;
}

.eyebrow--on-dark {
	color: var(--mv-gold-soft);
}

.eyebrow--on-dark::before {
	background: var(--mv-gold-soft);
}

.section__title {
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: 45px;
	line-height: 1.15;
	margin: 0 0 20px;
	color: var(--mv-ink);
}

.section__title--white {
	font-family: var(--mv-serif);
	font-weight: 500;
	font-size: 45px;
	line-height: 1.15;
	margin: 0 0 20px;
	color: #fff;
}

@media (max-width: 767px) {
	.section__title--white {
		font-size: 30px;
	}
}

.section__title--center {
	text-align: center;
}

.section__subtext {
	font-family: var(--mv-sans);
	color: var(--mv-ink-soft);
	font-size: 18px;
	max-width: 520px;
	margin: 0;
	line-height: 26px;
}

.section__head {
	margin-bottom: 48px;
	max-width: 620px;
}

.section__head--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	max-width: none;
	gap: 24px;
}

.section__head--split > div {
	max-width: 70%;
}

@media (max-width: 767px) {
	.section__head--split > div {
		max-width: 100%;
	}
}

.link-arrow {
	font-family: var(--mv-sans);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mv-burg);
	border-bottom: 1px solid var(--mv-burg);
	padding-bottom: 4px;
	white-space: nowrap;
	text-decoration: none;
	display: inline-block;
	transition: opacity 0.2s ease;
}

.link-arrow--white {
	font-family: var(--mv-sans);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mv-gold);
	border-bottom: 1px solid var(--mv-gold);
	padding-bottom: 4px;
	white-space: nowrap;
	text-decoration: none;
	display: inline-block;
	transition: opacity 0.2s ease;
}

.link-arrow:hover {
	opacity: 0.7;
}

.btn {
	display: inline-block;
	font-family: var(--mv-sans);
	font-size: 13px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	font-weight: 400;
	padding: 15px 28px;
	text-align: center!important;
	border-radius: 5px!important;
	text-decoration: none!important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	border: 1px solid transparent;
}

.btn--primary {
	background: var(--mv-burg);
	color: var(--mv-chalk);
}

.hero__actions .btn--primary {
	background: var(--mv-gold);
	color: var(--mv-chalk);
}

.hero__actions .btn--primary:hover {
	background: var(--mv-burg);
}

.hero__actions .btn--outline {
	background: transparent;
	border-color: var(--mv-ground);
	color: var(--mv-ground);
}

.hero__actions .btn--outline:hover {
	background: var(--mv-burg);
	border-color: var(--mv-burg);
	color: var(--mv-ground);
}

.btn--primary:hover {
	background: var(--mv-burg-bright);
}

.btn--outline {
	background: transparent;
	border-color: var(--mv-ground);
	color: var(--mv-ground);
}

.btn--outline:hover {
	background: var(--mv-ground);
	color: var(--mv-burg);
}

.btn--on-dark {
	border-color: rgba(237, 230, 218, 0.5);
	color: var(--mv-chalk);
}

.btn--on-dark:hover {
	background: rgba(237, 230, 218, 0.12);
}

.btn--small {
	padding: 11px 22px;
	font-size: 12px;
}

.btn-p {
	background: var(--mv-burg);
	color: var(--mv-chalk);
	border: 1px solid var(--mv-burg);
}

.btn-o {
	background: transparent;
	color: var(--mv-burg);
	border: 1px solid var(--mv-line);
}

.btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.hero {
	--hero-bg-opacity: 0;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mv-dark);
	opacity: var(--hero-bg-opacity);
	z-index: 1;
	pointer-events: none;
}

.hero__background {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
}

.hero__background--video {
	overflow: hidden;
}

.hero__background--video video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	z-index: 0;
}

.hero__inner {
	position: relative;
	z-index: 2;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 2fr 1fr;
	align-items: center;
	gap: 48px;
}

.stock.available{
background:rgba(46,125,91,.14);color:#2E7D5B}
	.stock.low{background:rgba(196,138,32,.16);color:#8A5E12}
	.stock.inc{background:rgba(53,97,142,.14);color:#35618E}
	.stock.ato{background:rgba(124,92,168,.15);color:#5C4080}
	.stock.pre{background:rgba(168,92,124,.15);color:#8A3F5E}
	.stock.out{background:rgba(120,113,108,.16);color:#5C5450}

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

.hero__content,.hero__media {
	position: relative;
	z-index: 2;
}

.hero__title {
	font-size: 86px;
	margin: 0 0 18px;
	color: var(--mv-ground);
	line-height: 86px;
}

.hero__text {
	font-family: var(--mv-sans);
	font-size: 17px;
	color: #fff;
	max-width: 100%;
	margin: 0 0 28px;
	line-height: 1.7;
	font-weight: 300;
}

.hero__actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.hero__media {
	margin: 0;
}

.hero__media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.hero__media figcaption {
	margin-top: 10px;
	font-family: var(--mv-sans);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--mv-taupe);
	text-align: center;
}

.hero--video .hero__media figcaption {
	color: var(--mv-chalk-dim);
}

.philosophy {
	background: var(--mv-ground);
	text-align: center;
}

.philosophy__text {
	font-family: var(--mv-sans);
	color: var(--mv-ink-soft);
	font-size: 17px;
	max-width: 640px;
	margin: 0 auto;
	line-height: 26px;
}

.featured-estate {
	background: var(--mv-burg);
}

.featured-estate__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.featured-estate__media img {
	width: 100%;
	height: 400px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}

.featured-estate__content .eyebrow--muted {
	padding-left: 0;
}

.featured-estate__content .eyebrow--muted::before {
	content: none;
}

.stat-row {
	list-style: none;
	display: flex;
	gap: 40px;
	margin: 8px 0 24px;
	padding: 20px 0;
	border-top: 1px solid var(--mv-line);
	border-bottom: 1px solid var(--mv-line);
}

.stat-row__item {
	display: flex;
	flex-direction: column;
}

.stat-row__value {
	font-size: 26px;
	color: #a98854;
	font-weight: 500;
	font-family: var(--mv-serif);
}

.stat-row__label {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	margin-top: 2px;
}

.featured-estate__text {
	font-family: var(--mv-sans);
	color: #f2eee6;
	font-size: 17px;
	margin: 0 0 24px;
	line-height: 26px;
	font-weight: 300;
}

.card-grid {
	display: grid;
	gap: 32px;
}

.card-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.card-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.partners {
	background: var(--mv-ground);
}

.estate-card {
	text-decoration: none;
	color: inherit;
	display: block;
}

.estate-card__logo {
	width: 250px;
	height: 250px;
	margin-bottom: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.estate-card__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.estate-card__flip {
	position: relative;
	perspective: 1400px;
	margin: 0 0 16px;
	border-radius: 10px;
	overflow: hidden;
}

.estate-card__face {
	backface-visibility: hidden;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.estate-card__face--front {
	transform: rotateY(0deg);
}

.estate-card__face--front img {
	width: 100%;
	height: 262px;
	object-fit: cover;
	display: block;
}

.estate-card__face--back {
	position: absolute;
	inset: 0;
	transform: rotateY(-180deg);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.estate-card__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.estate-card__ring {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	border: 1px solid rgba(246, 235, 221, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mv-serif);
	font-size: 20px;
	letter-spacing: 0.05em;
	color: #f6ebdd;
	display: none;
}

.estate-card__est {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #a98854;
	display: none;
}

.estate-card:hover .estate-card__face--front {
	transform: rotateY(180deg);
}

.estate-card:hover .estate-card__face--back {
	transform: rotateY(0deg);
}

.estate-card__title {
	font-family: var(--mv-serif);
	font-size: 22px;
	margin: 0 0 6px;
	color: var(--mv-ink);
}

.estate-card__meta {
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-ink-soft);
	margin: 0;
}

.producer-carousel {
	position: relative;
}

.producer-carousel__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 24px;
	scrollbar-width: none;
	flex-wrap: wrap;
}

@media (max-width: 767px) {
	.producer-carousel__track {
		flex-direction: column;
	}
}

.producer-carousel__track::-webkit-scrollbar {
	display: none;
}

.producer-carousel__slide {
	flex: 0 0 calc((100% - 48px) / 3);
	scroll-snap-align: start;
}

.producer-carousel[data-count="1"] .producer-carousel__track,.producer-carousel[data-count="2"] .producer-carousel__track,.producer-carousel[data-count="3"] .producer-carousel__track {
	overflow: visible;
}

.producer-carousel__arrow {
	display: none;
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 22px;
	cursor: pointer;
	z-index: 2;
}

.producer-carousel__arrow--prev {
	left: -22px;
}

.producer-carousel__arrow--next {
	right: -22px;
}

.producer-carousel:not([data-count="1"]):not([data-count="2"]):not( [data-count="3"] ) .producer-carousel__arrow {
	display: block;
}

@media (max-width: 768px) {
	.producer-carousel__slide {
		flex: 0 0 85%;
	}
}

.spotlight {
	background: var(----mv-ground);
	padding-top: 0px;
}

.spotlight__inner {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 64px;
	align-items: center;
}

.spotlight__media {
	margin: 0;
	background: var(--mv-ground);
	border: 1px solid var(--mv-line);
	border-radius: 10px;
	padding: 24px;
}

.spotlight__media img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

.detail-row {
	list-style: none;
	display: flex;
	gap: 32px;
	margin: 0 0 20px;
	padding: 0;
	flex-wrap: wrap;
}

.detail-row li {
	display: flex;
	flex-direction: column;
}

.detail-row__label {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #26312c;
	margin-bottom: 4px;
}

.detail-row__value {
	font-family: var(--mv-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--mv-ink);
}

.spotlight__text {
	font-family: var(--mv-sans);
	color: var(--mv-ink-soft);
	font-size: 17px;
	max-width: 100%;
	margin: 0 0 24px;
	line-height: 26px;
}

.spotlight__row {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.price {
	font-family: var(--mv-serif);
	font-size: 26px;
	color: #a98854;
}

.price__unit {
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #26312c;
}

.spotlight__button {
	margin-top: 25px;
}

.portfolio {
	background: var(--mv-panel);
}

.product-card {
	background: #fff;
	border: 1px solid var(--mv-line);
	border-radius: 5px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s, border-color 0.4s;
	cursor: pointer;
	height: auto !important;
	align-self: stretch;
	padding: 18px;
}

.product-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 40px -26px rgba(23, 37, 31, 0.35);
	border-color: var(--mv-gold-soft);
}

.product-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--mv-burg);
	color: var(--mv-chalk);
	font-family: var(--mv-sans);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 2px;
}

.product-card__media {
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-card__media img {
	height: 200px;
	width: auto;
	object-fit: contain;
	display: block;
}

.product-card__title {
	font-family: var(--mv-serif);
	font-size: 18px;
	margin: 10px 0;
	color: var(--mv-ink);
	text-decoration: none;
}

.product-card__title:hover {
	color: var(--mv-burg);
}

.product-card__category {
	font-family: var(--mv-sans);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mv-gold);
	margin: 0 0 6px;
}

.woocommerce-Price-amount {
	font-size: 24px!important;
	color: var(--mv-burg);
	font-family: var(--mv-serif)!important;
}

.product-card__meta {
	font-family: var(--mv-sans);
	font-size: 12px;
	color: var(--mv-ink-soft);
	margin: 0 0 14px;
}

.product-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.product-card__row .price {
	font-size: 18px;
}

.product-act a {
	width: 100%;
	text-align: center;
	margin-top: 18px;
}

.values {
	background: var(----mv-ground);
}

.values__grid {
	margin-top: 8px;
}

.value-card {
	    background: #fff;
    border: 1px solid var(--mv2-line);
    border-radius: var(--mv2-radius);
    padding: 26px 24px;
    box-shadow: var(--mv2-shadow);
}

.value-card__index {
	    font-family: var(--mv2-serif);
    font-size: 15px;
    letter-spacing: .1em;
    color: var(--mv2-gold);
    margin-bottom: 12px;
}

.value-card__title {
	font-family: var(--mv2-serif);
    font-weight: 400;
    font-size: 22px;
    line-height: 1.25;
    margin: 10px 0 8px;
    color: var(--mv2-ink);
}

.value-card__text {
	font-family: var(--mv2-sans);
    font-size: 14px;
    line-height: 1.7;
    color: var(--mv2-ink-soft);
    margin: 8px 0 0;
}

.journal {
	background: var(--mv-ground);
	padding-top: 0px;
}

.journal-card {
	text-decoration: none;
	color: inherit;
	display: block;
}

.journal-card__media {
	margin: 0 0 16px;
	overflow: hidden;
	border-radius: 10px;
}

.journal-card__media img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.journal-card:hover .journal-card__media img {
	transform: scale(1.04);
}

.journal-card__category {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #a98854;
	margin-bottom: 8px;
}

.journal-card__title {
	font-size: 21px;
	line-height: 1.22;
	margin-bottom: 8px;
	color: #17251f;
}

.journal-card__excerpt {
	font-size: 16px;
	color: var(--mv-ink-soft);
	margin: 0;
	line-height: 26px;
}

.trade {
	background: var(--mv-dark);
	color: var(--mv-chalk);
}

.trade__title {
	color: var(--mv-chalk);
}

.trade__text {
	font-family: var(--mv-sans);
	color: #faf8f3;
	font-size: 16px;
	margin: 0 0 32px;
	line-height: 26px;
}

.trade__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

.section.trade {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #1a1a1a;
}

.section.trade::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 0;
}

.section.trade .container {
	position: relative;
	z-index: 1;
}

/* ===== PROFESSIONAL FADE-UP SCROLL ANIMATION — END ===== */

/* ===== RESPONSIVE — START ===== */

@media (max-width: 1024px) {
	.card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.hero__title {
		font-size: 44px;
		line-height: 45px;
	}
}

@media (max-width: 900px) {
	.hero__inner,.featured-estate__inner,.spotlight__inner {
		grid-template-columns: 1fr;
	}
	.hero__media img {
		height: 360px;
	}
	.hero__content {
		order: 1;
	}
	.hero__media {
		order: 0;
	}
	.card-grid--3 {
		grid-template-columns: repeat(2, 1fr);
	}
	.section__head--split {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

@media (max-width: 640px) {
	.section {
		padding: 64px 0;
	}
	.hero__title {
		font-size: 34px;
		line-height: 35px;
	}
	.section__title {
		font-size: 30px;
	}
	.card-grid--3,.card-grid--4 {
		grid-template-columns: 1fr;
	}
	.stat-row {
		gap: 24px;
		flex-wrap: wrap;
	}
	.detail-row {
		gap: 20px;
	}
	.spotlight__media {
		max-width: 100%;
		margin: 0 auto;
	}
	.hero__actions,.trade__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.btn {
		text-align: center;
	}
}

/* ===== RESPONSIVE — END ===== */

/* ===== SITE HEADER — START ===== */

.mv-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--mv-burg);
	border-bottom: 1px solid var(---mv-burg);
}

.mv-header__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 18px 32px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.mv-header__brand {
	display: flex;
	align-items: center;
	gap: 13px;
	text-decoration: none;
	color: #d4cec4;
	margin-right: auto;
}

.mv-header__crest img {
    width: 24px;
    height: auto;
    display: block;
}

.mv-header__wordmark {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

@media (max-width: 1024px) {
	.mv-header__wordmark {
		display: none;
	}
	.mv-header__inner {
		gap: 15px;
	}
}

.mv-header__name {
	font-family: var(--mv-serif);
    font-size: 14px;
    letter-spacing: 0.26em;
    color: rgb(246, 241, 231);
    font-weight: 400;
	margin-bottom: 5px;
}

.mv-header__place {
	font-family: var(--mv-sans);
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mv-gold-soft);
}

.mv-nav ul,.mv-nav {
	list-style: none;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.mv-nav a {
	font-family: var(--mv-sans);
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mv-panel);
	text-decoration: none;
}

.mv-nav a:hover,.mv-nav a:focus-visible {
	color: var(--mv-gold);
}

.mv-header__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.mv-search {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #ffffff12;
	border: 1px solid #ffffff29;
	border-radius: 10px;
	padding: 8px 16px;
}

.mv-search__icon {
	width: 16px;
	height: 16px;
	color: var(--mv-gold);
	flex: none;
}

.mv-search__input {
	border: 0;
	background: transparent;
	font-family: var(--mv-sans);
	font-size: 0.82rem;
	color: var(--mv-ink);
	width: 140px;
	outline: none;
}

.mv-header__icon {
	position: relative;
	display: inline-flex;
	color: var(--mv-gold);
	width: 22px;
	height: 22px;
}

.mv-header__icon svg {
	width: 100%;
	height: 100%;
}

.mv-header__icon:hover {
	color: var(--mv-ground);
}

.mv-header__cart-count {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--mv-panel);
	color: var(--mv-burg);
	font-family: var(--mv-sans);
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
}

.mv-header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 26px;
	height: 22px;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.mv-header__burger span {
	display: block;
	height: 2px;
	background: var(--mv-ground);
}

.mv-header__mobile-nav {
	display: none;
	border-top: 1px solid var(--mv-line);
	padding: 16px 32px 20px;
}

.mv-header__mobile-nav.is-open {
	display: block;
}

.mv-header__mobile-nav .mv-nav {
	flex-direction: column;
	gap: 14px;
}

@media (max-width: 900px) {
	.mv-header__nav,.mv-search__input {
		display: none;
	}
	.mv-header__burger {
		display: flex;
	}
	.mv-header__inner {
		padding: 16px 20px;
	}
}

/* ===== SITE HEADER — END ===== */

/* ===== SITE FOOTER — START ===== */

.mv-footer {
	padding: 64px 0 32px;
	font-size: 15px;
	background: #17251f;
}

.mv-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.mv-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
	gap: 40px;
	padding-bottom: 48px;
}

@media (max-width: 900px) {
	.mv-footer__grid {
		grid-template-columns: 1fr 1fr;
		row-gap: 40px;
	}
}

@media (max-width: 560px) {
	.mv-footer__grid {
		grid-template-columns: 1fr;
	}
}

.mv-footer__brand {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin-bottom: 16px;
}

.mv-footer__crest {
	flex: 0 0 auto;
}

.mv-footer__crest img {
width: 28px;
    height: auto;
    display: block;
}

.mv-footer__brand-text {
	display: flex;
	flex-direction: column;
}

.mv-footer__name {
	font-family: var(--mv-serif);
    font-size: 19px;
    letter-spacing: 0.26em;
    color: rgb(246, 241, 231);
    font-weight: 400;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.mv-footer__subname {
	font-family: var(--mv-sans);
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mv-gold-soft);
}

.mv-footer__tagline {
	font-family: var(--mv-serif);
	font-style: italic;
	color: var(--mv-gold);
	font-size: 15px;
	margin: 0 0 16px;
}

.mv-footer__desc {
	color: var(--mv-ground);
	line-height: 1.6;
	max-width: 32ch;
	margin: 0;
}

.mv-footer__heading {
	font-family: var(--mv-serif);
    text-transform: none;
    letter-spacing: 0;
    font-size: 19px;
    color: var(--mv-gold-soft);
    font-weight: 400;
}

.mv-footer__heading--serif {
	font-family: var(--mv-serif);
	text-transform: none;
	letter-spacing: 0;
	font-size: 19px;
	color: var(--mv-gold-soft);
	font-weight: 400;
}

.mv-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mv-footer-nav li + li {
	margin-top: 14px;
}

.mv-footer-nav a {
	color: var(--mv-ground);
	text-decoration: none;
	transition: color 0.15s ease;
}

.mv-footer-nav a:hover,.mv-footer-nav a:focus-visible {
	color: var(--mv-gold);
}

.mv-footer__col--newsletter .mv-footer__desc {
	margin-bottom: 20px;
	max-width: 30ch;
}

.mv-newsletter-form__row {
	display: flex;
	gap: 0;
}

.mv-newsletter-form__input {
	flex: 1 1 auto;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-right: none;
	color: var(--mv-text);
	padding: 12px 14px;
	font-size: 14px;
	outline: none;
	min-width: 0;
	border-radius: 10px 0 0 10px;
}

.mv-newsletter-form__input::placeholder {
	color: var(--mv-muted-dim);
}

.mv-newsletter-form__input:focus {
	border-color: var(--mv-gold);
}

.mv-newsletter-form__submit {
	flex: 0 0 auto;
	background: var(--mv-gold);
	color: #14190f;
	border: 1px solid var(--mv-gold);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	padding: 0 20px;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, opacity 0.15s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 0px 10px 10px 0px;
}

.mv-newsletter-form__submit:hover {
	background: #d9b563;
}

.mv-newsletter-form__submit:disabled {
	opacity: 0.6;
	cursor: default;
}

.btn-spinner {
	display: none;
	width: 12px;
	height: 12px;
	border: 2px solid rgba(20, 25, 15, 0.35);
	border-top-color: #14190f;
	border-radius: 50%;
}

.mv-newsletter-form.is-loading .btn-spinner {
	display: inline-block;
	animation: mv-spin 0.6s linear infinite;
}

.mv-newsletter-form.is-loading .btn-text {
	display: none;
}

@keyframes mv-spin {
	to {
		transform: rotate(360deg);
	}
}

.mv-newsletter-form__msg {
	margin: 10px 0 0;
	font-size: 13px;
	min-height: 1em;
}

.mv-newsletter-form__msg[data-state="success"] {
	color: #9fd39a;
}

.mv-newsletter-form__msg[data-state="error"] {
	color: #e08a8a;
}

.mv-footer__bottom {
	border-top: 1px solid var(--mv-line);
	padding-top: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	width: 100%;
}

.mv-footer__copy {
	color: var(--mv-ground);
	font-size: 13px;
	margin: 0;
}

.mv-footer__bottom-right {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}

.mv-footer__social {
	list-style: none;
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
}

.mv-footer__social-item a {
	display: flex;
	color: var(--mv-gold) !important;
	transition: color 0.15s ease;
}

.mv-footer__social-item a:hover,.mv-footer__social-item a:focus-visible {
	color: var(--mv-gold);
}

.mv-footer__social-item svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.mv-footer-legal-nav {
	list-style: none;
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
}

.mv-footer-legal-nav a {
	color: var(--mv-ground);
	font-size: 13px;
	text-decoration: none;
	transition: color 0.15s ease;
}

.mv-footer-legal-nav a:hover,.mv-footer-legal-nav a:focus-visible {
	color: var(--mv-gold);
}

.page-h {
	padding: 8px 0 26px;
}

/* ===== SITE FOOTER — END ===== */

/* ===== SHOP ARCHIVE ("WINE PORTFOLIO") — START ===== */

.shop {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 34px;
}

@media (max-width: 900px) {
	.shop {
		grid-template-columns: 1fr;
	}
	.filters {
		display: none;
	}
}

.filters {
	align-self: start;
	position: sticky;
	top: 90px;
}

.filters .fbox {
	background: #fff;
	border: 1px solid var(--mv-line);
	border-radius: 6px;
	padding: 16px 18px !important;
	margin-bottom: 14px;
}

.filters .fbox h4 {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mv-taupe);
	margin: 0 0 12px;
}

.filters .fbox label {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--mv-sans);
	font-size: 13.5px;
	color: var(--mv-ink-soft);
	padding: 5px 0;
	cursor: pointer;
}

.filters .fbox input[type="checkbox"],.filters .fbox input[type="radio"] {
	accent-color: var(--mv-burg);
	width: 15px;
	height: 15px;
}

.filters .fbox .count {
	margin-left: auto;
	font-size: 11.5px;
	color: var(--mv-taupe);
}

.filters .search {
	display: flex;
	align-items: center;
	background: var(--mv-panel-2);
	border: 1px solid var(--mv-line);
	border-radius: 3px;
	padding: 8px 12px;
	width: 86% !important;
}

.filters .search input {
	border: 0;
	background: transparent;
	font-family: var(--mv-sans);
	font-size: 13px;
	outline: none;
	width: 100%;
}

.filters .frange {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-ink-soft);
}

.filters .frange input[type="range"] {
	flex: 1;
	accent-color: var(--mv-burg);
}

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

.shop-toolbar .cnt {
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-taupe);
}

.sel {
	background: #fff;
	border: 1px solid var(--mv-line);
	border-radius: 3px;
	padding: 9px 12px;
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-ink);
}

.pgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	align-items: start;
}

@media (max-width: 767px) {
	.pgrid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.no-wines {
	grid-column: 1 / -1;
	font-family: var(--mv-sans);
	color: var(--mv-ink-soft);
	padding: 40px 0;
	text-align: center;
}

.pcard {
	background: #fff;
	border: 1px solid var(--mv-line);
	border-radius: 5px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s, border-color 0.4s;
	cursor: pointer;
	height: auto !important;
	align-self: stretch;
}

.pcard:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 40px -26px rgba(23, 37, 31, 0.35);
	border-color: var(--mv-gold-soft);
}

.pcard-media {
	background: #e9e2d6;
	padding: 20px;
	aspect-ratio: 2 / 2;
}

.woocommerce img,.woocommerce-page img {
	height: 100% !important;
	max-width: 100% !important;
	display: block !important;
	margin: 0 auto !important;
}

.card .tag {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	font-family: var(--mv-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mv-burg);
	background: rgba(23, 37, 31, 0.08);
	padding: 4px 9px;
	border-radius: 2px;
}

.card .tag.trade {
	background: var(--mv-gold-soft);
	color: #fff;
}

.card .award {
	position: absolute;
	top: 42px;
	left: 12px;
	z-index: 3;
	font-family: var(--mv-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mv-gold);
	background: rgba(169, 136, 84, 0.12);
	padding: 4px 9px;
	border-radius: 2px;
}

.card .stock {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	font-family: var(--mv-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 2px;
}

.stock.available {
	background: rgba(46, 125, 91, 0.14);
	color: var(--mv-ok);
}

.stock.limited {
	background: rgba(183, 121, 31, 0.16);
	color: var(--mv-warn);
}

.stock.incoming {
	background: rgba(53, 97, 142, 0.14);
	color: #35618e;
}

.stock.alloc {
	background: rgba(169, 136, 84, 0.16);
	color: var(--mv-gold);
}

.stock.out {
	background: rgba(178, 59, 59, 0.12);
	color: var(--mv-crit);
}

.pcard-body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pcard-cat {
	font-family: var(--mv-sans);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mv-gold);
	margin: 0 0 6px;
}

.pcard-title {
	font-size: 18px;
	margin: 10px 0;
}

.pcard-title a {
	color: var(--mv-ink);
	text-decoration: none;
}

.pcard-title a:hover {
	color: var(--mv-burg);
}

.pcard-meta {
	font-family: var(--mv-sans);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--mv-taupe);
	margin: 0 0 14px;
}

.card .trade-note {
	font-family: var(--mv-sans);
	font-size: 12px;
	font-style: italic;
	color: var(--mv-taupe);
	margin: 0 0 14px;
}

.mv-trade-tag {
	font-size: 9px;
	font-style: italic;
	padding: 0;
	background: transparent;
}

.pcard-foot {
	margin-top: auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	flex-direction: column;
}

.pcard-price {
	font-family: var(--mv-serif);
	font-size: 24px;
	color: var(--mv-burg);
	width: 100%;
}

.pcard-price .mv-trade-tag {
	font-size: 9px;
	font-style: italic;
	padding: 0;
	background: transparent;
}

.pcard-price .mv-price-login {
	font-size: 11px;
	padding: 15px 0;
}

.add_to_cart_button,.mv-price-login {
	font-family: var(--mv-sans) !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mv-burg);
	border: 1px solid var(--mv-burg) !important;
	border-radius: 2px;
	padding: 15px 0;
	text-align: center;
	cursor: pointer;
	transition: 0.3s;
	margin-top: 10px;
	background: transparent;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.add_to_cart_button:hover {
	background: var(--mv-burg);
	color: #fff;
}

.added_to_cart {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mv-panel);
	border: 1px solid var(--mv-burg) !important;
	border-radius: 2px;
	padding: 15px 0;
	text-align: center;
	cursor: pointer;
	transition: 0.3s;
	margin-top: 10px;
	background: var(--mv-burg);
	width: 100%;
}

.woocommerce a.added_to_cart {
	padding-top: 15px !important;
}

.added_to_cart:hover {
	background: var(--mv-burg);
	color: #fff;
}

.card .login-mini {
	font-family: var(--mv-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mv-burg);
	border: 1px solid var(--mv-burg);
	border-radius: 2px;
	padding: 8px 12px;
	text-decoration: none;
}

.card .login-mini:hover {
	background: var(--mv-burg);
	color: var(--mv-chalk);
}

.pager {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 34px;
}

.pager a,.pager span {
	width: 38px;
	height: 38px;
	border: 1px solid var(--mv-line);
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mv-sans);
	font-size: 13px;
	background: var(--mv-surface);
	color: var(--mv-ink-soft);
	text-decoration: none;
}

.pager a:hover {
	color: var(--mv-burg);
}

.pager .on,.pager .current {
	background: var(--mv-burg);
	color: var(--mv-chalk);
	border-color: var(--mv-burg);
}

/* ===== SHOP ARCHIVE ("WINE PORTFOLIO") — END ===== */

/* ===== SINGLE PRODUCT — MAISON VINTIQUE — START ===== */

.pdp {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(30px, 5vw, 64px);
	padding-bottom: 50px;
}

@media (max-width: 860px) {
	.pdp {
		grid-template-columns: 1fr;
	}
}

.pdp-media {
	background: var(--mv-panel-2);
	border: 1px solid var(--mv-line);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	position: relative;
}

.pdp-media img,.pdp-media svg {
	height: 340px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.pdp-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 22px;
}

.pdp-thumbs span {
	width: 56px;
	height: 56px;
	border: 1px solid var(--mv-line);
	border-radius: 4px;
	background: var(--mv-panel-2);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	overflow: hidden;
}

.pdp-thumbs span img,.pdp-thumbs span svg {
	height: 38px;
	width: auto;
	object-fit: contain;
}

.pdp-thumbs span.on {
	border-color: var(--mv-burg);
}

.pdp-info .cat {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mv-gold);
	margin-bottom: 10px;
}

.pdp-info h1 {
	font-family: var(--mv-serif);
	font-size: clamp(28px, 3.6vw, 40px);
	color: var(--mv-ink);
	margin-bottom: 22px;
}

.pdp-info .prod {
	font-family: var(--mv-sans);
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mv-taupe);
}

.awards {
	display: flex;
	gap: 8px;
	margin: 16px 0;
	flex-wrap: wrap;
}

.awards span {
	font-family: var(--mv-sans);
	font-size: 11px;
	color: var(--mv-gold);
	border: 1px solid var(--mv-gold-soft);
	border-radius: 20px;
	padding: 4px 11px;
}

.pdp-stockline {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 6px;
}

.stock {
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 20px;
	background: var(--mv-panel);
	color: var(--mv-ink);
}

.stock.available {
	background: rgba(46, 125, 91, 0.14);
	color: #2e7d5b;
}

.stock.out {
	color: #a33;
	background: rgba(163, 51, 51, 0.08);
}

.trade-note {
	font-family: var(--mv-sans);
	font-size: 12px;
	color: var(--mv-taupe);
	letter-spacing: 0.02em;
	font-style: italic;
}

.pdp-price {
	font-family: var(--mv-serif);
	font-size: 32px;
	color: var(--mv-burg);
	margin: 18px 0 4px;
}

.pdp-price small {
	font-family: var(--mv-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mv-taupe);
	margin-left: 8px;
}

.pdp-desc {
	font-family: var(--mv-sans);
	color: var(--mv-ink-soft);
	margin: 16px 0 22px;
	max-width: 52ch;
	line-height: 1.6;
}

.buybar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.qty {
	display: flex;
	align-items: center;
	border: 1px solid var(--mv-line);
	border-radius: 10px;
	background: var(--mv-panel-2);
}

.qty button {
	width: 40px;
	height: 44px;
	border: 0;
	background: none;
	font-size: 18px;
	cursor: pointer;
	color: var(--mv-ink);
}

.qty input,.qty input.qty {
	width: 46px;
	text-align: center;
	border: 0;
	outline: none;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	background: transparent;
	color: var(--mv-ink);
}

.case-note {
	font-family: var(--mv-sans);
	font-size: 12px;
	color: var(--mv-taupe);
	margin-bottom: 22px;
}

.pdp-meta {
	border-top: 1px solid var(--mv-line);
	margin-top: 6px;
	padding-top: 18px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 24px;
	font-size: 13.5px;
	font-family: var(--mv-sans);
}

@media (max-width: 767px) {
	.pdp-meta {
		grid-template-columns: 100%;
	}
}

.pdp-meta div {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dotted var(--mv-line);
	padding: 5px 0;
	column-gap: 15px;
}

.pdp-meta span {
	color: var(--mv-taupe);
}

.pdp-meta b,.pdp-meta b a {
	color: var(--mv-ink);
	font-weight: 600;
	text-decoration: none;
}

.gate {
	background: var(--mv-panel);
	border: 1px solid var(--mv-line);
	border-left: 3px solid var(--mv-burg);
	border-radius: 4px;
	padding: 16px 18px;
	margin: 18px 0;
}

.gate b {
	font-family: var(--mv-serif);
	font-size: 17px;
	color: var(--mv-dark);
}

.gate p {
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-ink-soft);
	margin: 4px 0 12px;
}

.tabs {
	border-top: 1px solid var(--mv-line);
	margin-top: 10px;
	padding-top: 40px;
	padding-bottom: 60px;
}

.tabnav {
	display: flex;
	gap: 26px;
	border-bottom: 1px solid var(--mv-line);
	margin-bottom: 22px;
	flex-wrap: wrap;
}

.mv-register-interest-form .mv-ri-input {
	width: 93%;
	padding: 12px 14px;
	border: 1px solid var(--mv2-line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mv2-sans);
	font-size: 14px;
	color: var(--mv2-ink);
	line-height: 1.5;
	margin-bottom: 15px;
}

@media (max-width: 767px) {
	.tabnav {
		gap: 16px;
	}
}

.tabnav button {
	background: none;
	border: 0;
	padding: 0 0 14px;
	font-family: var(--mv-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mv-taupe);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.tabnav button.on {
	color: var(--mv-burg);
	border-color: var(--mv-burg);
}

.tabpane {
	display: none;
	max-width: 70ch;
	color: var(--mv-ink-soft);
	font-family: var(--mv-sans);
	line-height: 1.7;
}

.tabpane.on {
	display: block;
}

.tabpane b {
	color: var(--mv-ink);
}

.dl {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 0;
	border-bottom: 1px solid var(--mv-line);
	font-family: var(--mv-sans);
	color: var(--mv-ink);
}

.dl b {
	color: var(--mv-dark);
}

.related h2 {
	font-family: var(--mv-serif);
	font-size: 26px;
	color: var(--mv-dark);
	margin-bottom: 24px;
}

.crumb {
	font-family: var(--mv-sans);
	font-size: 12px;
	color: var(--mv-taupe);
	margin: 0px 0 26px;
}

.crumb a {
	color: var(--mv-taupe);
	text-decoration: none;
	cursor: pointer;
}

.crumb a:hover {
	color: var(--mv-burg);
}

.crumb span {
	color: var(--mv-ink);
}

.acct {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 30px;
	padding: 26px 0 80px;
}

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

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
}

.acct-nav {
	align-self: start;
	background: var(--surface, #fff);
	border: 1px solid var(--line, #d6cec1);
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.acct-nav a {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px 18px;
	font-size: 13.5px;
	color: var(--mv-ink-soft);
	border-bottom: 1px solid var(--line, #d6cec1);
	text-decoration: none;
}

.acct-nav a svg {
	width: 17px;
	height: 17px;
	color: var(--taupe, #a6a096);
	flex: none;
}

.acct-nav a:last-child {
	border-bottom: 0;
}

.acct-nav a:hover {
	background: var(--panel-2, #faf8f3);
	color: #17251f;
}

.acct-nav a.on {
	background: var(--burg, #17251f);
	color: #f6ebdd;
}

.acct-nav a.on svg {
	color: #f6ebdd;
}

.acct-welcome {
	background: var(--surface, #fff);
	border: 1px solid var(--line, #e7e0d6);
	border-radius: 8px;
	padding: 24px 26px;
	margin-bottom: 20px;
}

.acct-welcome h2 {
	font-size: 24px;
	margin: 0;
}

.acct-welcome p {
	color: var(--ink-soft, #5b5048);
	margin: 6px 0 0;
	font-size: 14px;
}

.link-accent {
	color: var(--burg, #17251f);
}

.astats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}

.astat {
	background: var(--surface, #fff);
	border: 1px solid var(--line, #e7e0d6);
	border-radius: 8px;
	padding: 16px 18px;
}

.astat .l {
	font-size: 11.5px;
	color: var(--taupe, #8a7d6f);
	letter-spacing: 0.04em;
}

.astat .v {
	font-family: var(--serif, serif);
	font-size: 26px;
	color: var(--ink, #2b2420);
	margin-top: 6px;
}

.astat .v.burg {
	color: var(--burg, #7d2a3a);
}

.apanel {
	background: var(--surface, #fff);
	border: 1px solid var(--line, #e7e0d6);
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 20px;
}

.apanel-h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 20px;
	border-bottom: 1px solid var(--line, #e7e0d6);
}

.apanel-h h3 {
	font-size: 17px;
	margin: 0;
}

.apanel-h a,.link-action {
	font-size: 12.5px;
	color: var(--burg, #17251f);
	font-weight: 600;
	text-decoration: none;
}

.apanel-empty {
	padding: 18px 20px;
	font-size: 13.5px;
	color: var(--taupe, #8a7d6f);
}

.acct table {
	width: 100%;
	border-collapse: collapse;
}

.acct th {
	text-align: left;
	font-size: 10.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--taupe, #8a7d6f);
	font-weight: 600;
	padding: 11px 20px;
	border-bottom: 1px solid var(--line, #e7e0d6);
}

.acct td {
	padding: 13px 20px;
	border-bottom: 1px solid var(--line, #e7e0d6);
	font-size: 13.5px;
}

.acct tr:last-child td {
	border-bottom: 0;
}

.acct td.mono {
	font-variant-numeric: tabular-nums;
}

.pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 14px;
}

.pill::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.p-ok {
	background: #e4f1ea;
	color: var(--ok, #2e7d4f);
}

.p-warn {
	background: #faf0dd;
	color: var(--warn, #b8860b);
}

.p-info {
	background: #e4edf6;
	color: #35618e;
}

.addr-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 18px 20px;
}

@media (max-width: 600px) {
	.addr-grid {
		grid-template-columns: 1fr;
	}
}

.addr {
	border: 1px solid var(--line, #e7e0d6);
	border-radius: 6px;
	padding: 16px;
}

.addr h4 {
	font-family: var(--sans, sans-serif);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--taupe, #8a7d6f);
	margin: 0 0 8px;
}

.addr p {
	margin: 0;
	font-size: 13.5px;
	color: var(--ink-soft, #5b5048);
	line-height: 1.5;
}

/* ===== SINGLE PRODUCT — MAISON VINTIQUE — END ===== */

/* ===== MAISON VINTIQUE — ADDITIONAL CSS — START ===== */

/* ===== MAISON VINTIQUE — ADDITIONAL CSS — END ===== */

/* ===== VARIABLE COMPATIBILITY SHIM — START ===== */

:root {
	--ground: var(--mv-ground);
	--panel: var(--mv-panel);
	--panel-2: var(--mv-panel-2);
	--surface: #fff;
	--ink: var(--mv-ink);
	--ink-soft: var(--mv-ink-soft);
	--burg: var(--mv-burg);
	--gold: var(--mv-gold);
	--taupe: var(--mv-taupe);
	--line: var(--mv-line);
	--serif: var(--mv-serif);
	--sans: var(--mv-sans);
	--ok: #2e7d4f;
	--warn: #b8860b;
	--crit: #b23b3b;
	--mv-ok: #2e7d4f;
	--mv-warn: #b8860b;
	--mv-crit: #b23b3b;
	--mv-surface: #fff;
	--mv-text: var(--mv-ground);
	--mv-muted-dim: var(--mv-taupe);
	--mv-chalk-dim: #c6bbac;
	----mv-ground: var(--mv-ground);
	---mv-burg: var(--mv-burg);
}

/* ===== VARIABLE COMPATIBILITY SHIM — END ===== */

/* ===== TOKENS — START ===== */

:root {
	--mv2-ink: var(--mv-ink, #5e5a51);
	--mv2-ink-soft: var(--mv-ink-soft, #5e5a51);
	--mv2-taupe: var(--mv-taupe, #a6a096);
	--mv2-line: var(--mv-line, #d6cec1);
	--mv2-cream: var(--mv-ground, #f2eee6);
	--mv2-panel: var(--mv-panel, #e9e2d6);
	--mv2-paper: var(--mv-panel-2, #faf8f3);
	--mv2-gold: var(--mv-gold, #a98854);
	--mv2-burgundy: var(--mv-burg, #17251f);
	--mv2-burg-br: var(--mv-burg-bright, #26312c);
	--mv2-dark: var(--mv-dark, #17251f);
	--mv2-chalk: var(--mv-chalk, #faf8f3);
	--mv2-serif: var(--mv-serif, "Cormorant Garamond", Georgia, serif);
	--mv2-sans: var(--mv-sans, "Montserrat", "Helvetica Neue", Arial, sans-serif);
	--mv2-ok-bg: #dfe7dc;
	--mv2-ok-ink: #3c5540;
	--mv2-out-bg: #ece7e1;
	--mv2-out-ink: #7a6f63;
	--mv2-radius: 10px;
	--mv2-shadow: 0 20px 44px -30px rgba(43, 36, 32, .5);
}

.mvcard,.mvcard *,.mvprod,.mvprod *,.mvp-hero,.mvp-hero *,.mvp-sec,.mvp-sec *,.cart-page,.cart-page *,.checkout-page,.checkout-page *,.login-page,.login-page *,.producers-page,.producers-page *,.producer-single,.producer-single *,.woocommerce-account .acct,.woocommerce-account .acct * {
	box-sizing: border-box;
}

/* ===== TOKENS — END ===== */

/* ===== WINE CARD — .MVCARD — START ===== */

.mvcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--mv2-paper);
	border: 1px solid var(--mv2-line);
	border-radius: 2px;
	overflow: hidden;
	transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease;
}

.mvcard:hover {
	border-color: #d3c6b4;
	box-shadow: 0 14px 34px -20px rgba(31, 27, 23, .45);
	transform: translateY(-2px);
}

.mvcard__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
}

.mvcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px 16px 0;
	box-sizing: border-box!important;
	display: block;
	transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

.mvcard:hover .mvcard__media img {
	transform: scale(1.045);
}

.mvcard__badge {
	position: relative;
	display: inline-block;
	width: fit-content;
	align-self: flex-start;
	padding: 5px 10px;
	border-radius: 2px;
	font-family: var(--mv2-sans);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	margin-bottom: 10px;
}

.mvcard__badge--colour {
	left: 12px;
	background: rgba(255, 253, 250, .92);
	color: var(--mv2-ink);
	box-shadow: inset 0 0 0 1px rgba(31, 27, 23, .08);
}

.mvcard__badge--stock {
	right: 0px;
}

.mvcard__badge--stock.is-in {
	background: var(--mv2-ok-bg);
	color: var(--mv2-ok-ink);
}

.mvcard__badge--stock.is-ato {
	background: #6F8F72;
    color: #FFFFFF;
}

.mvcard__badge--stock.is-out {
	background: var(--mv2-out-bg);
	color: var(--mv2-out-ink);
}

.mvcard__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 20px 18px;
	text-align: left;
}

.mvcard__title {
	margin: 0 0 10px;
	font-family: var(--mv2-serif);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: .01em;
	color: var(--mv2-ink);
}

.mvcard__title a {
	color: inherit;
	text-decoration: none;
}

.mvcard__title a:hover {
	color: var(--mv2-burgundy);
}

.mvcard__meta {
	margin: 0 0 12px;
	font-family: var(--mv2-sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .13em;
	text-transform: uppercase;
	line-height: 1.6;
	color: var(--mv2-taupe);
}

.mvcard__price {
	margin: 0 0 16px;
	font-family: var(--mv2-serif);
	font-size: 18px!important;
	color: var(--mv2-ink);
}

.mvcard__price .price,.mvcard__price ins,.mvcard__price bdi {
	text-decoration: none;
	color: var(--mv2-ink);
}

.mvcard__price del {
	opacity: .5;
	margin-right: 6px;
	font-size: 13px;
}

.mvcard__trade {
	font-style: normal;
	font-size: 14px;
	letter-spacing: .01em;
	color: var(--mv-ink);
}

.mvcard__cta {
	display: block;
	margin-top: auto;
	padding: 13px 16px;
	border: 1px solid var(--mv2-burgundy);
	border-radius: 2px;
	background: transparent;
	color: var(--mv2-burgundy);
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	transition: background .22s ease, color .22s ease;
}

.mvcard__cta:hover,.mvcard__cta:focus-visible {
	background: var(--mv2-burgundy);
	color: #fff;
}

.mvcard__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 22px;
	margin-top: 14px;
}

.mvcard__link {
	font-family: var(--mv2-sans);
	font-size: 11.5px;
	letter-spacing: .02em;
	color: var(--mv2-taupe);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color .2s ease;
}

.mvcard__link:hover,.mvcard__link:focus-visible {
	color: var(--mv2-burgundy);
}

/* Wine Card Stock Badge Colors */
.mvcard__badge--stock.is-in {
	background: rgba(46, 125, 91, .14);
	color: #2E7D5B;
}

.mvcard__badge--stock.is-low {
	background: rgba(196, 138, 32, .16);
	color: #8A5E12;
}

.mvcard__badge--stock.is-inc {
	background: rgba(53, 97, 142, .14);
	color: #35618E;
}

.mvcard__badge--stock.is-ato {
	background: rgba(124, 92, 168, .15);
	color: #5C4080;
}

.mvcard__badge--stock.is-pre {
	background: rgba(168, 92, 124, .15);
	color: #8A3F5E;
}

.mvcard__badge--stock.is-out {
	background: rgba(120, 113, 108, .16);
	color: #5C5450;
}

@media (max-width: 1024px) {
	.card-grid--4:has(.mvcard),.pgrid:has(.mvcard) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.card-grid--4:has(.mvcard),.pgrid:has(.mvcard) {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1024px) {
	.mvcard__title {
		font-size: 20px;
	}
	.mvcard__body {
		padding: 18px 17px 16px;
	}
}

@media (max-width: 600px) {
	.mvcard__body {
		padding: 17px 16px 15px;
	}
	.mvcard__title {
		font-size: 19px;
	}
	.mvcard__cta {
		padding: 12px 14px;
		letter-spacing: .14em;
	}
	.mvcard__links {
		gap: 6px 18px;
	}
	.mvcard__badge {
		top: 10px;
		font-size: 9px;
		padding: 4px 8px;
	}
	.mvcard__badge--colour {
		left: 10px;
	}
	.mvcard__badge--stock {
		right: 10px;
	}
}

/* ===== WINE CARD — .MVCARD — END ===== */

/* ===== PRODUCERS GRID — START ===== */

.wrap--producers {
	max-width: 1120px;
	margin-inline: auto;
}

.producers-page .page-h {
	max-width: 62ch;
	margin-bottom: 32px;
}

.mvprod-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
	padding-bottom: 60px;
}

.mvprod {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #faf8f3;
	border: 1px solid var(--mv2-line);
	border-radius: var(--mv2-radius);
	overflow: hidden;
	box-shadow: var(--mv2-shadow);
	transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease;
}

.mvprod:hover {
	border-color: var(--mv2-gold);
	box-shadow: 0 22px 46px -26px rgba(43, 36, 32, .55);
	transform: translateY(-4px);
}

.mvprod__media {
	position: relative;
	display: block;
	height: 262px;
	flex: 0 0 262px;
	overflow: hidden;
	background: var(--mv2-cream);
	text-decoration: none;
}

.mvprod__media {
	perspective: 900px;
}

.mvprod__flip {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform .7s cubic-bezier(.22, .61, .36, 1);
}

.mvprod:hover .mvprod__flip,.mvprod:focus-within .mvprod__flip {
	transform: rotateY(180deg);
}

.mvprod__face {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.mvprod__face--front {
	background: var(--mv2-cream);
	transform: translateZ(1px);
}

.mvprod__face--front img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: none;
}

.mvprod__face--back {
	transform: rotateY(180deg) translateZ(1px);
	background: #fff;
	color: #f2e6d2;
}

.mvprod__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 8px;
}

.mvprod__crest img {
	width: 200px;
    height: auto;
    display: block;
}

.mvprod__ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(242, 230, 210, .5);
	border-radius: 50%;
	font-family: var(--mv2-serif);
	font-size: 13px;
	letter-spacing: .12em;
	text-indent: .12em;
display: none;
}

.mvprod__est-year {
	font-family: var(--mv2-sans);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .85;
	display: none;
}

.mvprod__initials {
	font-family: var(--mv2-serif);
	font-size: 40px;
	letter-spacing: .1em;
	color: rgba(255, 253, 250, .85);
	background: linear-gradient(140deg, var(--mv2-dark) 0%, #2f3d35 100%);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
	.mvprod__flip {
		transition: none;
	}
}

.mvprod__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 22px 22px;
}

.mvprod__title {
	margin: 0 0 8px;
	font-family: var(--mv2-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--mv2-ink);
}
.mvprod__title a {
	color: inherit;
	text-decoration: none;
}

.mvprod__title a:hover {
	color: var(--mv2-burgundy);
}

.mvprod__location {
	margin: 0 0 8px;
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mv2-gold);
}

.mvprod__appellations {
	margin: 0;
	font-family: var(--mv2-sans);
	font-size: 13px;
	line-height: 1.5;
	color: var(--mv2-ink-soft);
}

.mvprod__est {
	margin: 2px 0 0;
	font-family: var(--mv2-sans);
	font-size: 12px;
	line-height: 1.5;
	color: #8a8478;
}

.mvprod__link {
	display: inline-block;
	margin-top: 12px;
	padding-top: 0;
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--mv2-burgundy);
	text-decoration: none;
	transition: color .2s ease;
}

.mvprod__body > .mvprod__link {
	margin-top: auto;
	padding-top: 12px;
}

.mvprod__link span {
	display: inline-block;
	transition: transform .22s ease;
}

.mvprod__link:hover {
	color: var(--mv2-burgundy);
}

.mvprod__link:hover span {
	transform: translateX(4px);
}

@media (max-width: 1024px) {
	.mvprod-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.mvprod__title {
		font-size: 20px;
	}
}

@media (max-width: 640px) {
	.mvprod-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
	.mvprod__body {
		padding: 16px 16px 18px;
	}
	.mvprod__initials {
		font-size: 34px;
	}
	.producers-page .page-h {
		margin-bottom: 24px;
	}
}

/* ===== PRODUCERS GRID — END ===== */

/* ===== MY ACCOUNT — RESPONSIVE — START ===== */

.woocommerce-account .acct,.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 900px) {
	.acct {
		display: block;
	}
	.acct-nav {
		margin-bottom: 24px;
	}
}

@media (max-width: 900px) {
	.acct-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
		border-bottom: 1px solid var(--mv2-line);
	}
	.acct-nav::-webkit-scrollbar {
		display: none;
	}
	.acct-nav a {
		flex: 0 0 auto;
		white-space: nowrap;
		border: 0;
		border-bottom: 2px solid transparent;
		border-radius: 0;
		padding: 10px 12px;
	}
	.acct-nav a.on {
		border-bottom-color: var(--mv2-gold);
		background: transparent;
	}
	.acct-nav a svg {
		width: 15px;
		height: 15px;
		flex: 0 0 auto;
	}
}

@media (max-width: 600px) {
	.acct-welcome h2 {
		font-size: 24px;
		line-height: 1.25;
	}
	.acct-welcome p {
		font-size: 13px;
		line-height: 1.6;
	}
}

@media (max-width: 980px) {
	.astats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.astats {
		grid-template-columns: 1fr;
	}
	.astat {
		padding: 14px 16px;
	}
	.astat .v {
		font-size: 22px;
	}
}

@media (max-width: 600px) {
	.apanel {
		padding: 18px 16px;
	}
	.apanel-h {
		flex-wrap: wrap;
		gap: 6px;
	}
	.apanel-h h3 {
		font-size: 15px;
	}
}

.atable-wrap {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.atable {
	width: 100%;
	border-collapse: collapse;
}

@media (max-width: 720px) {
	.atable-wrap {
		overflow-x: visible;
	}
	.atable,.atable thead,.atable tbody,.atable tr,.atable td {
		display: block;
		width: 100%;
	}
	.atable thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.atable tr {
		border: 1px solid var(--mv2-line);
		border-radius: 2px;
		padding: 6px 14px;
		margin-bottom: 12px;
		background: var(--mv2-paper);
	}
	.atable td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 9px 0;
		border: 0;
		border-bottom: 1px solid rgba(226, 217, 204, .6);
		text-align: right;
		font-size: 13.5px;
	}
	.atable tr td:last-child {
		border-bottom: 0;
	}
	.atable td[data-label]::before {
		content: attr(data-label);
		flex: 0 0 auto;
		font-family: var(--mv2-sans);
		font-size: 10px;
		font-weight: 600;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--mv2-taupe);
		text-align: left;
	}
	.atable td.acell-action {
		justify-content: flex-end;
		padding-top: 10px;
	}
}

@media (max-width: 720px) {
	.addr-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ===== MY ACCOUNT — RESPONSIVE — END ===== */

/* ===== 4B. WOOCOMMERCE CORE ACCOUNT TEMPLATES (NOT OVERRIDDEN BY THE THEME) — START ===== */


.woocommerce-EditAccountForm, .woocommerce-Address{
	background: #fff;
    border: 1px solid var(--mv-line);
    border-radius: 10px;
    padding: 24px;
}

.woocommerce-EditAccountForm .woocommerce-form-row label{
      display: block;
    font-family: var(--mv2-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--mv2-ink-soft);
    margin-bottom: 6px;
}

.woocommerce-EditAccountForm .woocommerce-form-row span, .woocommerce-Address address {
    font-family: var(--mv2-sans);
    font-size: 12px;
    font-weight: 400;
    margin-bottom: 6px;
}

.woocommerce-Address-title .edit{
	    font-family: var(--mv-sans);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--mv-burg);
    border-bottom: 1px solid var(--mv-burg);
    padding-bottom: 4px;
    white-space: nowrap;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.2s ease;
	margin: 10px 0;
}

.woocommerce-Address-title h2{
	   margin: 0px;
}

.woocommerce-info, .woocommerce-info::before {
    border-top-color: var(--mv-burg);
	color: var(--mv-burg);
}

.woocommerce-account .woocommerce-orders-table,.woocommerce-account .woocommerce-table--order-details,.woocommerce-account .woocommerce-table--downloads,.woocommerce-account .shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce table.shop_table {
    background: #fff;
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce-orders-table,.woocommerce-account .woocommerce-table--order-details,.woocommerce-account .woocommerce-table--downloads,.woocommerce-account .shop_table,.woocommerce-account .woocommerce-orders-table tbody,.woocommerce-account .shop_table tbody,.woocommerce-account .woocommerce-orders-table tr,.woocommerce-account .shop_table tr,.woocommerce-account .woocommerce-orders-table td,.woocommerce-account .shop_table td {
		display: block;
		width: 100%;
	}
	.woocommerce-account .woocommerce-orders-table thead,.woocommerce-account .shop_table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.woocommerce-account .woocommerce-orders-table tr,.woocommerce-account .shop_table tr {
		border: 1px solid var(--mv2-line);
		border-radius: 2px;
		padding: 6px 14px;
		margin-bottom: 12px;
		background: var(--mv2-paper);
	}
	.woocommerce-account .woocommerce-orders-table td,.woocommerce-account .shop_table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 9px 0;
		border: 0;
		border-bottom: 1px solid rgba(226, 217, 204, .6);
		text-align: right;
		font-size: 13.5px;
	}
	.woocommerce-account .woocommerce-orders-table tr td:last-child,.woocommerce-account .shop_table tr td:last-child {
		border-bottom: 0;
	}
	.woocommerce-account .woocommerce-orders-table td::before,.woocommerce-account .shop_table td::before {
		content: attr(data-title);
		flex: 0 0 auto;
		font-family: var(--mv2-sans);
		font-size: 10px;
		font-weight: 600;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--mv2-taupe);
		text-align: left;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions {
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
		margin: 4px 0 0 6px;
	}
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce-address-fields .form-row,.woocommerce-account .woocommerce-EditAccountForm .form-row,.woocommerce-account .form-row-first,.woocommerce-account .form-row-last {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2 {
		width: 100%;
		float: none;
	}
	.woocommerce-account .woocommerce-MyAccount-content input[type="text"],.woocommerce-account .woocommerce-MyAccount-content input[type="email"],.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],.woocommerce-account .woocommerce-MyAccount-content input[type="password"],.woocommerce-account .woocommerce-MyAccount-content select,.woocommerce-account .woocommerce-MyAccount-content textarea,.woocommerce-account .woocommerce-MyAccount-content .select2-container {
		width: 100%;
		max-width: 100%;
		font-size: 16px;
	}
	.woocommerce-account .woocommerce-MyAccount-content .button {
		width: 100%;
		text-align: center;
	}
}


@media (max-width: 720px) {
	.woocommerce-account:not(.logged-in) .u-columns.col2-set {
		display: block;
	}
	.woocommerce-account:not(.logged-in) .u-column1,.woocommerce-account:not(.logged-in) .u-column2 {
		width: 100%;
		float: none;
		margin-bottom: 28px;
	}
}

/* ===== 4B. WOOCOMMERCE CORE ACCOUNT TEMPLATES (NOT OVERRIDDEN BY THE THEME) — END ===== */

/* ===== CART — START ===== */

.site-main{
  width: 89%;
    display: block;
    margin: auto;
}

.wc-block-grid__product-title{
	padding: 10px!important;
	text-align: center!important;
}

.wc-block-grid__products{
	margin-bottom: 96px!important;
}

.wc-block-grid__product-image img{
	padding: 18px!important;
}

.alignwide{
	margin-inline: 0px;
}

.wc-block-components-product-name{
	font-family: var(--mv-serif);
    font-size: 18px!important;
    color: var(--mv-ink);
	text-decoration: none!important;
}

.wc-block-formatted-money-amount{
	    font-size: 24px;
    color: var(--mv-burg);
}

.wc-block-components-product-metadata__description{
	display: none;
}

.wp-block-woocommerce-cart-order-summary-block{
	background: #fff!important;
    border: 1px solid var(--mv-line);
    border-radius: 10px;
    padding: 14px;
}

.wc-block-formatted-money-amount {
    font-size: 20px;
    color: var(--mv-burg);
	font-family: var(--mv-serif);
}

.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{
	display: inline-block;
    font-family: var(--mv-sans);
    font-size: 13px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    font-weight: 400;
    padding: 15px 28px;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    border: 1px solid transparent;
	background: var(--mv-burg);
	text-decoration: none!important;
}

/* ===== CART — END ===== */

/* ===== CHECKOUT — START ===== */

.wc-block-checkout__contact-fields, .wc-block-checkout__shipping-fields, .wc-block-checkout__shipping-option, .wc-block-checkout__payment-method{
	    background: #fff!important;
    border: 1px solid var(--mv-line)!important;
    border-radius: 10px!important;
    padding: 14px!important;
}

.wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=tel], .wc-blocks-components-select__select{
	border: 1px solid var(--mv-line)!important;
background:
	#FAF8F3!important;
}

.wp-block-woocommerce-checkout-order-summary-block{
	background: #fff!important;
    border: 1px solid var(--mv-line);
    border-radius: 10px;
    padding: 14px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image{
    width: 80px!important;
    height: fit-content;
}

/* ===== CHECKOUT — END ===== */

/* ===== LOGIN — START ===== */

.page-h--center {
	text-align: center;
	padding-top: 36px;
	max-width: 700px;
	margin: 0 auto;
}

.login-lede {
	font-family: var(--mv2-sans);
	font-size: 12.5px;
	color: var(--mv2-ink-soft);
	margin: 8px 0 0;
	line-height: 1.5;
}

.auth {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	max-width: 940px;
	margin: 40px auto 80px;
	align-items: start;
}

.auth-card {
	background: #fff;
	border: 1px solid var(--mv2-line);
	border-radius: 8px;
	padding: 36px 34px;
}

.auth-card h2 {
	font-family: var(--mv2-serif);
	font-size: 26px;
	font-weight: 400;
	margin: 0 0 6px;
	color: var(--mv2-ink);
}

.auth-card .sub {
	font-family: var(--mv2-sans);
	color: var(--mv2-taupe);
	font-size: 13.5px;
	margin: 0 0 24px;
}

.auth-alt {
	background: var(--mv2-panel);
	border: 1px solid var(--mv2-line);
}

.auth-card .field {
	margin-bottom: 16px;
}

.auth-card .field label {
	display: block;
	font-family: var(--mv2-sans);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mv2-taupe);
	margin-bottom: 6px;
}

.auth-card .field input {
	width: 100%;
	border: 1px solid var(--mv2-line);
	border-radius: 3px;
	background: var(--mv2-paper);
	padding: 12px 14px;
	font-size: 14px;
	font-family: var(--mv2-sans);
	color: var(--mv2-ink);
}

.auth-card .field input:focus {
	outline: none;
	border-color: var(--mv2-burgundy);
}

.auth-card .required {
	color: var(--mv2-burgundy);
	border: 0;
}

.auth-card .rowbtwn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 4px 0 18px;
	font-family: var(--mv2-sans);
	font-size: 13px;
}

.auth-card .rowbtwn label {
	display: flex;
	gap: 7px;
	align-items: center;
	color: var(--mv2-ink-soft);
	text-transform: none;
	letter-spacing: 0;
	font-size: 13px;
	margin: 0;
}

.auth-card .rowbtwn input[type="checkbox"] {
	accent-color: var(--mv2-burgundy);
}

.auth-card .rowbtwn a {
	color: var(--mv2-burgundy);
	text-decoration: none;
}

.auth-card .rowbtwn a:hover {
	text-decoration: underline;
}

.checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
}

.checklist li {
	display: flex;
	gap: 10px;
	font-family: var(--mv2-sans);
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--mv2-ink-soft);
	padding: 6px 0;
}

.checklist li::before {
	content: "";
	flex: 0 0 auto;
	width: 15px;
	height: 8px;
	margin-top: 5px;
	border-left: 2px solid #2e7d5b;
	border-bottom: 2px solid #2e7d5b;
	transform: rotate(-45deg);
}

.auth-note {
	font-family: var(--mv2-sans);
	font-size: 12px;
	color: var(--mv2-taupe);
	margin-top: 14px;
	line-height: 1.6;
}

@media (max-width: 860px) {
	.auth {
		grid-template-columns: 1fr;
		gap: 22px;
		margin: 30px auto 60px;
	}
}

@media (max-width: 620px) {
	.auth-card {
		padding: 26px 20px;
	}
	.auth-card h2 {
		font-size: 23px;
	}
	.auth-card .field input {
		font-size: 16px;
	}
	.page-h--center {
		padding-top: 24px;
	}
}

/* ===== LOGIN — END ===== */

/* ===== SINGLE PRODUCER — START ===== */

.mvest-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: center;
	padding: 8px 0 56px;
}

.mvest-hero__content {
	min-width: 0;
}

.mvest-hero__title {
	font-family: var(--mv2-serif);
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 400;
	line-height: 1.1;
	margin: 6px 0 8px;
	color: var(--mv2-ink);
}

.mvest-hero__location {
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mv2-gold);
	margin: 0 0 22px;
}

.mvest-hero__intro {
	font-family: var(--mv2-sans);
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
	margin-bottom: 26px;
}

.mvest-hero__intro p {
	margin: 0 0 1em;
}

.mvest-hero__intro p:last-child {
	margin-bottom: 0;
}

.mvest-hero__media {
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	background: var(--mv2-cream);
	aspect-ratio: 4 / 3;
}

.mvest-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mvest-facts {
	list-style: none;
	margin: 0 0 26px;
	padding: 18px 0;
	border-top: 1px solid var(--mv2-line);
	border-bottom: 1px solid var(--mv2-line);
	display: flex;
	flex-wrap: wrap;
	gap: 14px 38px;
}

.mvest-facts li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.mvest-facts span {
	font-family: var(--mv2-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mv2-taupe);
}

.mvest-facts b {
	font-family: var(--mv2-serif);
	font-size: 17px;
	font-weight: 400;
	color: var(--mv2-ink);
}

.mvest-story {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 34px 44px;
	padding-bottom: 56px;
}

.mvest-story__block h2,.mvest-gallery h2,.mvest-wines h2 {
	font-family: var(--mv2-serif);
	font-size: 24px;
	font-weight: 400;
	margin: 0 0 12px;
	color: var(--mv2-ink);
}

.mvest-story__body {
	font-family: var(--mv2-sans);
	font-size: 14px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
}

.mvest-story__body p {
	margin: 0 0 1em;
}

.mvest-story__body p:last-child {
	margin-bottom: 0;
}

.mvest-gallery {
	padding-bottom: 56px;
}

.mvest-gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.mvest-gallery__grid figure {
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	background: var(--mv2-cream);
	aspect-ratio: 4 / 3;
}

.mvest-gallery__grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

.mvest-gallery__grid figure:hover img {
	transform: scale(1.045);
}

.mvest-wines {
	padding-bottom: 70px;
}

.mvest-wines .section__head--split {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.mvest-wines .pgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

@media (max-width: 980px) {
	.mvest-hero {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-bottom: 40px;
	}
	.mvest-hero__media {
		order: -1;
		aspect-ratio: 16 / 9;
	}
	.mvest-story {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.mvest-wines .pgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mvest-facts {
		gap: 14px 26px;
	}
	.mvest-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.mvest-wines .pgrid {
		grid-template-columns: minmax(0, 1fr);
	}
	.mvest-hero .btn {
		width: 100%;
	}
}

/* ===== SINGLE PRODUCER — END ===== */

/* ===== HEADER DROPDOWNS — START ===== */

.mv-nav {
	display: flex;
	align-items: center;
	gap: 15px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mv-nav > li {
	position: relative;
}

.mv-nav a {
	text-decoration: none;
	white-space: nowrap;
}

.mv-nav > li.menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: .38em;
	height: .38em;
	margin-left: .5em;
	vertical-align: .12em;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s ease;
}

.mv-nav > li.menu-item-has-children:hover > a::after {
	transform: rotate(225deg);
}

.mv-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 200;
	min-width: 220px;
	display: block;
	margin: 0;
	padding: 5px;
	list-style: none;
	background: var(--mv2-paper, #fffdfa);
	border: 1px solid var(--mv2-line);
	border-radius: 10px;
	box-shadow: 0 20px 44px -24px rgba(20, 26, 22, .55);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.mv-nav > li.menu-item-has-children::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 14px;
}

.mv-nav li:hover > .sub-menu,.mv-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.mv-nav .sub-menu li {
	list-style: none;
	margin: 0;
	border-bottom: 1px solid var(--mv-line);
}

.mv-nav .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-family: var(--mv2-sans);
	font-size: 13px;
	line-height: 1.4;
	color: var(--mv2-ink-soft);
	transition: background .18s ease, color .18s ease;
}

.mv-nav .sub-menu a:hover,.mv-nav .sub-menu a:focus-visible {
	background: var(--mv2-cream);
	color: var(--mv2-burgundy);
}

.mv-nav .sub-menu .sub-menu {
	top: -9px;
	left: 100%;
	transform: translateX(6px);
}

.mv-nav .sub-menu li:hover > .sub-menu,.mv-nav .sub-menu li:focus-within > .sub-menu {
	transform: translateX(0);
}

.mv-nav > li:last-child .sub-menu,.mv-nav > li:nth-last-child(2) .sub-menu {
	left: auto;
	right: 0;
}

.mv-nav > li:last-child .sub-menu .sub-menu,.mv-nav > li:nth-last-child(2) .sub-menu .sub-menu {
	left: auto;
	right: 100%;
	transform: translateX(-6px);
}

.mv-nav--mobile {
	display: block;
}

.mv-nav--mobile > li {
	position: static;
}

.mv-nav--mobile > li.menu-item-has-children > a::after {
	display: none;
}

.mv-nav--mobile > li.menu-item-has-children::after {
	display: none;
}

.mv-nav--mobile > li.menu-item-has-children {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.mv-nav--mobile > li.menu-item-has-children > a {
	flex: 1 1 auto;
}

.mv-subnav-toggle {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
}

.mv-subnav-toggle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	margin: -6px 0 0 -4px;
	border-right: 1.5px solid var(--mv2-gold);
	border-bottom: 1.5px solid var(--mv2-gold);
	transform: rotate(45deg);
	transition: transform .22s ease;
}

.mv-nav--mobile > li.is-open > .mv-subnav-toggle::before {
	transform: rotate(225deg);
	margin-top: -2px;
}

.mv-nav--mobile .sub-menu {
	position: static;
	flex: 1 1 100%;
	min-width: 0;
	margin: 0;
	padding: 0 0 0 16px;
	border: 0;
	border-left: 1px solid rgba(214, 206, 193, .35);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	pointer-events: auto;
	display: block;
	opacity: 0;
	visibility: hidden;
	max-height: 0;
	overflow: hidden;
	transition: max-height .28s ease, opacity .2s ease;
}

.mv-nav--mobile > li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	max-height: 60vh;
	overflow: auto;
	margin: 6px 0 4px;
}

.mv-nav--mobile .sub-menu a {
	padding: 8px 0;
	font-size: 13px;
	color: var(--mv-panel, #e9e2d6);
	background: transparent;
}

.mv-nav--mobile .sub-menu a:hover,.mv-nav--mobile .sub-menu a:focus-visible {
	background: transparent;
	color: var(--mv2-gold);
}

@media (max-width: 900px) {
	.mv-nav {
		gap: 16px;
	}
}

/* ===== HEADER DROPDOWNS — END ===== */

/* ===== LOGIN PAGE — WOOCOMMERCE DEFAULT OVERRIDES — START ===== */

.auth-card form.login,.auth-card form.register,.woocommerce .auth-card form.login,.woocommerce .auth-card form.register,.woocommerce-page .auth-card form.login,.woocommerce-page .auth-card form.register {
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	background: transparent;
}

.auth-card .form-row,.woocommerce .auth-card .form-row {
	padding: 0;
	margin: 0 0 16px;
}

.auth-card .form-row label,.woocommerce .auth-card .form-row label {
	display: block;
	font-family: var(--mv2-sans);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mv2-taupe);
	margin-bottom: 6px;
	line-height: 1.4;
}

.auth-card .form-row input[type="text"],.auth-card .form-row input[type="email"],.auth-card .form-row input[type="password"],.woocommerce .auth-card .form-row input.input-text {
	width: 100%;
	border: 1px solid var(--mv2-line);
	border-radius: 3px;
	background: var(--mv2-paper);
	padding: 12px 14px;
	font-size: 14px;
	font-family: var(--mv2-sans);
	color: var(--mv2-ink);
	box-shadow: none;
}

.auth-card .btn,.woocommerce .auth-card .btn,.woocommerce .auth-card button.button,.woocommerce .auth-card input.button {
	width: 100%;
	border-radius: 2px;
	font-family: var(--mv2-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 13px 22px;
	line-height: 1.2;
}

.auth-card .btn-p,.woocommerce .auth-card button.button {
	background: var(--mv2-burgundy);
	color: #f6ebdd;
	border: 1px solid var(--mv2-burgundy);
}

.auth-card .btn-p:hover,.woocommerce .auth-card button.button:hover {
	background: var(--mv2-burg-br);
	border-color: var(--mv2-burg-br);
	color: #f6ebdd;
}

.auth-card .btn-o {
	background: transparent;
	border: 1px solid var(--mv2-burgundy);
	color: var(--mv2-burgundy);
}

.auth-card .btn-o:hover {
	background: var(--mv2-burgundy);
	color: #f6ebdd;
}

.login-page .woocommerce-notices-wrapper:not(:empty) {
	max-width: 940px;
	margin: 0 auto 20px;
}

.auth,.auth-card {
	min-width: 0;
}

.auth-card form {
	min-width: 0;
}

/* ===== LOGIN PAGE — WOOCOMMERCE DEFAULT OVERRIDES — END ===== */

/* ===== EDITORIAL PAGES — SHARED PRIMITIVES — START ===== */

.mvp-hero {
	background: var(--mv2-dark);
	color: var(--mv2-chalk);
	text-align: center;
	padding: 64px 0 68px;
}

.mvp-hero .eyebrow {
	color: var(--mv2-gold);
	justify-content: center;
}

.mvp-hero h1 {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: clamp(32px, 5.4vw, 58px);
	line-height: 1.12;
	margin: 0;
	color: var(--mv2-chalk);
}

.mvp-hero__intro {
	font-family: var(--mv2-sans);
	max-width: 60ch;
	margin: 18px auto 0;
	font-size: 16px;
	line-height: 1.7;
	color: #cdd4cc;
}

.mvp-hero__intro a {
	color: var(--mv2-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mvp-sec--panel {
	background: var(--mv2-paper);
}

.mvp-sec--cta {
	text-align: center;
}

.mvp-sec__title {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: clamp(26px, 3.4vw, 34px);
	line-height: 1.2;
	text-align: center;
	margin: 0 0 40px;
	color: var(--mv2-ink);
}

.mvp-prose {
	max-width: 760px;
	margin: 0 auto;
	font-family: var(--mv2-sans);
}

.mvp-prose--center,.mvp-sec .mvp-prose {
	text-align: center;
}

.mvp-prose p {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
}

.mvp-prose p:last-child {
	margin-bottom: 0;
}

.mvp-lead {
	font-family: var(--mv2-serif)!important;
	font-size: clamp(20px, 2.4vw, 28px)!important;
	line-height: 1.5!important;
	color: var(--mv2-ink-soft)!important;
	margin: 0 0 22px!important;
}

.mvp-cols3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
	align-items: stretch;
}

.mvp-card {
	background: #fff;
	border: 1px solid var(--mv2-line);
	border-radius: var(--mv2-radius);
	padding: 26px 24px;
	box-shadow: var(--mv2-shadow);
}

.mvp-card__n {
	font-family: var(--mv2-serif);
	font-size: 15px;
	letter-spacing: .1em;
	color: var(--mv2-gold);
	margin-bottom: 12px;
}

.mvp-card h3 {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 8px;
	color: var(--mv2-ink);
}

.mvp-card p {
	font-family: var(--mv2-sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--mv2-ink-soft);
	margin: 8px 0 0;
}

.mvp-done__next li{
	font-size: 14px;
	margin-bottom: 10px;
}

.mvp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 44px;
}

.mvp-btn-ghost {
	background: transparent;
	border: 1px solid var(--mv2-burgundy);
	color: var(--mv2-burgundy);
}

.mvp-btn-ghost:hover,.mvp-btn-ghost:focus-visible {
	background: var(--mv2-burgundy);
	color: var(--mv2-chalk);
}

@media (max-width: 900px) {
	.mvp-cols3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.mvp-hero {
		padding: 48px 0 52px;
	}
}

@media (max-width: 640px) {
	.mvp-cols3 {
		grid-template-columns: minmax(0, 1fr);
	}
	.mvp-card {
		padding: 22px 20px;
	}
	.mvp-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.mvp-actions .btn {
		text-align: center;
		justify-content: center;
	}
	.mvp-sec__title {
		margin-bottom: 28px;
	}
}

/* ===== EDITORIAL PAGES — SHARED PRIMITIVES — END ===== */

/* ===== FAQ — START ===== */

.mvp-faq {
	max-width: 820px;
	margin: 0 auto;
}

.mvp-faq__grp {
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mv2-gold);
	margin: 36px 0 4px;
}

.mvp-faq__grp:first-child {
	margin-top: 0;
}

.mvp-faq details {
	border-bottom: 1px solid var(--mv2-line);
	padding: 6px 0;
}

.mvp-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 0;
	font-family: var(--mv2-serif);
	font-size: 20px;
	line-height: 1.35;
	color: var(--mv2-ink);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.mvp-faq summary::-webkit-details-marker {
	display: none;
}

.mvp-faq summary::marker {
	content: "";
}

.mvp-faq summary::after {
	content: "+";
	flex: 0 0 auto;
	font-family: var(--mv2-sans);
	font-size: 24px;
	line-height: 1;
	color: var(--mv2-gold);
}

.mvp-faq details[open] summary::after {
	content: "\2013";
}

.mvp-faq summary:focus-visible {
	outline: 2px solid var(--mv2-gold);
	outline-offset: 3px;
}

.mvp-faq__a {
	font-family: var(--mv2-sans);
	max-width: 70ch;
	padding-bottom: 8px;
}

.mvp-faq__a p {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
}

@media (max-width: 640px) {
	.mvp-faq summary {
		font-size: 17px;
		padding: 14px 0;
	}
}

/* ===== FAQ — END ===== */

/* ===== CONTACT — START ===== */

.mvp-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: start;
}

.mvp-split__info {
	min-width: 0;
}

.mvp-info-row {
	display: flex;
	gap: 12px;
	margin-bottom: 18px;
	font-family: var(--mv2-sans);
	font-size: 15px;
	color: var(--mv2-ink);
}

.mvp-info-row__k {
	flex: 0 0 auto;
	min-width: 92px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mv2-gold);
	padding-top: 3px;
}

.mvp-info-row__v {
	min-width: 0;
	word-break: break-word;
}

.mvp-info-row a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--mv2-line);
}

.mvp-info-row a:hover {
	color: var(--mv2-burgundy);
}

.mvp-split__note {
	font-family: var(--mv2-sans);
	font-size: 15px;
	line-height: 1.7;
	color: var(--mv2-ink-soft);
	margin: 20px 0;
}

.mvp-form__title {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: 24px;
	margin: 0 0 18px;
	color: var(--mv2-ink);
}

.mvp-field {
	margin-bottom: 16px;
}

.mvp-field label {
	display: block;
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-ink-soft);
	margin-bottom: 6px;
}

.mvp-field input,.mvp-field textarea, .mvp-field select{
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mv2-line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mv2-sans);
	font-size: 14px;
	color: var(--mv2-ink);
	line-height: 1.5;
}

.mvp-field textarea {
	resize: vertical;
	min-height: 110px;
}

.mvp-field input:focus,.mvp-field textarea:focus {
	outline: none;
	border-color: var(--mv2-gold);
}

.mvp-form__submit {
	width: 100%;
	text-align: center;
	border: 0;
	cursor: pointer;
}

.mvp-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.mvp-form__msg {
	font-family: var(--mv2-sans);
	font-size: 14px;
	line-height: 1.6;
	padding: 12px 14px;
	border-radius: 8px;
	margin: 0 0 18px;
}

.mvp-form__msg.is-ok {
	background: var(--mv2-ok-bg);
	color: var(--mv2-ok-ink);
}

.mvp-form__msg.is-error {
	background: #f3e3e3;
	color: #8c3b3b;
}

@media (max-width: 900px) {
	.mvp-split {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

@media (max-width: 640px) {
	.mvp-info-row {
		flex-direction: column;
		gap: 2px;
		margin-bottom: 16px;
	}
	.mvp-info-row__k {
		padding-top: 0;
	}
	.mvp-field input,.mvp-field textarea {
		font-size: 16px;
	}
}

/* ===== CONTACT — END ===== */

/* ===== JOURNAL — START ===== */

.mvp-grid3 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 26px;
	align-items: stretch;
}

.mvp-jcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--mv2-line);
	border-radius: var(--mv2-radius);
	overflow: hidden;
	box-shadow: var(--mv2-shadow);
	text-decoration: none;
	color: inherit;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease;
}

.mvp-jcard:hover {
	transform: translateY(-4px);
	border-color: var(--mv2-gold);
	box-shadow: 0 24px 48px -26px rgba(43, 36, 32, .55);
}

.mvp-jcard__img {
	height: 180px;
	flex: 0 0 180px;
	background-size: cover;
	background-position: center;
	background-color: var(--mv2-cream);
}

.mvp-jcard__img.is-empty {
	background-image: linear-gradient(140deg, var(--mv2-dark) 0%, #2f3d35 100%);
}

.mvp-jcard__body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.mvp-jcard__cat {
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mv2-gold);
	margin-bottom: 8px;
}

.mvp-jcard h3 {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 8px;
	color: var(--mv2-ink);
}

.mvp-jcard p {
	font-family: var(--mv2-sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--mv2-ink-soft);
	margin: 0;
}

.mvp-article__media {
	margin: 0 0 36px;
	border-radius: var(--mv2-radius);
	overflow: hidden;
	background: var(--mv2-cream);
	aspect-ratio: 16 / 9;
}

.mvp-article__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mvp-article,.mvp-sec .mvp-article {
	text-align: left;
}

.mvp-article h2,.mvp-article h3 {
	font-family: var(--mv2-serif);
	font-weight: 400;
	color: var(--mv2-ink);
	margin: 32px 0 12px;
}

.mvp-article h2 {
	font-size: 28px;
}

.mvp-article h3 {
	font-size: 22px;
}

.mvp-article img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}

.mvp-article blockquote {
	margin: 28px 0;
	padding-left: 22px;
	border-left: 2px solid var(--mv2-gold);
	font-family: var(--mv2-serif);
	font-size: 22px;
	line-height: 1.5;
	color: var(--mv2-ink);
}

@media (max-width: 640px) {
	.mvp-grid3 {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
	.mvp-article__media {
		margin-bottom: 24px;
		aspect-ratio: 4 / 3;
	}
	.mvp-article h2 {
		font-size: 24px;
	}
	.mvp-article blockquote {
		font-size: 19px;
	}
}

/* ===== JOURNAL — END ===== */

/* ===== SPOTLIGHT — LOGGED-OUT STATE — START ===== */

.spotlight__trade {
	font-family: var(--mv2-sans);
	font-size: 13px;
	font-style: italic;
	color: var(--mv2-taupe);
}

.spotlight .section__title a {
	color: inherit;
	text-decoration: none;
}

.spotlight .section__title a:hover {
	color: var(--mv2-gold);
}

.spotlight__media a {
	display: block;
	text-decoration: none;
}

/* ===== SPOTLIGHT — LOGGED-OUT STATE — END ===== */

/* ===== PRODUCT GALLERY — START ===== */

.pdp-thumbs span {
	cursor: pointer;
}

@media (hover: none) {
	.pdp-media {
		touch-action: pan-y;
	}
}

/* ===== PRODUCT GALLERY — END ===== */

/* ===== WINE CARD — AWARD MEDALLION, META ROW, SUB LINE — START ===== */

:root {
	--mv2-card-meta: var(--mv2-burgundy);
}

.mvcard__award {
	position: absolute;
	left: 20px;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: #fff;
	border: 4px double var(--mv-gold);
	color: var(--mv2-ink);
	text-align: center;
	pointer-events: none;
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* Remove hover effect */
.mvcard:hover .mvcard__award,
.mvcard:focus-within .mvcard__award {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

.mvcard__award-label {
	font-family: var(--mv2-serif);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .01em;
	color: #000;
}

.mvcard__award-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.mvcard__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 8px;
	padding-top: 2px;
	color: var(--mv2-card-meta);
}

.mvcard__meta-left {
	min-width: 0;
}

.mvcard__meta-right {
	flex: 0 0 auto;
}

.mvcard__sub {
	padding: 0 0 14px;
    font-family: var(--mv2-sans);
    font-size: 13px;
    line-height: 1.55;
    color: var(--mv2-taupe);
    border-bottom: 1px solid var(--mv2-line);
    margin: 0;
}

.mvcard__sub-sep {
	opacity: .7;
}

.mvcard__sub-link {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--mv2-line);
}

.mvcard__sub-link:hover {
	color: var(--mv2-gold);
	border-bottom-color: var(--mv2-gold);
}

@media (max-width: 600px) {
	.mvcard__meta {
		flex-direction: column;
		gap: 2px;
	}
	.mvcard__award {
		left: 12px;
		width: 70px;
		height: 70px;
	}
	.mvcard__award-label {
		font-size: 12px;
	}
}

/* ===== WINE CARD — AWARD MEDALLION, META ROW, SUB LINE — END ===== */

/* ===== PAGE MEDIA — FULL-WIDTH BLOCK, SPLIT SECTION, HERO BACKGROUND — START ===== */

.mvp-media {
	margin: 0;
	max-width: 960px;
	margin-inline: auto;
}

.mvp-media img,.mvp-media__video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--mv2-radius);
	background: var(--mv2-cream);
}

.mvp-media--image img,.mvp-media--video .mvp-media__video {
	box-shadow: var(--mv2-shadow);
}

.mvp-media__embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--mv2-radius);
	overflow: hidden;
	background: var(--mv2-dark);
	box-shadow: var(--mv2-shadow);
}

.mvp-media__embed iframe,.mvp-media__embed object,.mvp-media__embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mvp-media__caption {
	margin-top: 14px;
	font-family: var(--mv2-sans);
	font-size: 12.5px;
	letter-spacing: .04em;
	color: var(--mv2-taupe);
	text-align: center;
}

.mvp-media-sec {
	padding-top: 0;
}

.mvp-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(28px, 5vw, 64px);
}

.mvp-split--single {
	grid-template-columns: 1fr;
}

.mvp-split--single .mvp-split__copy {
	max-width: 72ch;
}

.mvp-split--media-left .mvp-split__copy {
	grid-column: 2;
	grid-row: 1;
}

.mvp-split--media-left .mvp-split__media {
	grid-column: 1;
	grid-row: 1;
}

.mvp-split__title {
	margin: 10px 0 0;
	font-family: var(--mv2-serif);
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 400;
	line-height: 1.2;
	color: var(--mv2-ink);
}

.mvp-split__body {
	margin-top: 16px;
	font-family: var(--mv2-sans);
	font-size: 15px;
	line-height: 1.85;
	color: var(--mv2-ink-soft);
}

.mvp-split__body > *:first-child {
	margin-top: 0;
}

.mvp-split__body > *:last-child {
	margin-bottom: 0;
}

.mvp-split__cta {
	margin-top: 24px;
}

.mvp-split__media .mvp-media {
	max-width: none;
}

@media (max-width: 900px) {
	.mvp-split,.mvp-split--media-left {
		grid-template-columns: 1fr;
	}
	.mvp-split--media-left .mvp-split__copy,.mvp-split--media-left .mvp-split__media {
		grid-column: 1;
		grid-row: auto;
	}
}

.mvp-hero--bg {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.mvp-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--mv2-dark);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.mvp-hero__bg-image,.mvp-hero__bg-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mvp-hero__scrim {
	position: absolute;
	inset: 0;
	display: block;
	background: linear-gradient(180deg, rgba(23, 37, 31, .92) 0%, rgba(23, 37, 31, .74) 45%, rgba(23, 37, 31, .92) 100%);
}

.mvp-hero--bg .wrap {
	position: relative;
	z-index: 1;
}

@media (min-width: 901px) {
	.mvp-hero--bg {
		padding-top: clamp(90px, 9vw, 140px);
		padding-bottom: clamp(90px, 9vw, 140px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mvp-hero__bg-video {
		display: none;
	}
}

@media (max-width: 640px) {
	.mvp-media__caption {
		font-size: 12px;
	}
}

/* ===== PAGE MEDIA — FULL-WIDTH BLOCK, SPLIT SECTION, HERO BACKGROUND — END ===== */

/* ===== SCROLL REVEAL — TIMING FIX — START ===== */

.section {
	transition: opacity .5s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
	transform: translateY(18px);
	will-change: auto;
}

@media (scripting: none) {
	.section {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ===== SCROLL REVEAL — TIMING FIX — END ===== */

.mvcard__media {
	aspect-ratio: 2 / 2;
}

.mvcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 18px;
	box-sizing: border-box;
	display: block;
}

.woocommerce .mvcard__media img,
.woocommerce-page .mvcard__media img {
	height: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
}

.mvcard:hover .mvcard__media img {
	transform: scale(1.02);
}

@media (max-width: 600px) {
	.mvcard__media {
		aspect-ratio: 1 / 1;
	}

	.mvcard__media img {
		padding: 14px;
	}
}


@media (max-width: 600px) {
	.estate-card__logo {
		max-width: 132px;
		height: 42px;
	}

	.mvprod__crest {
		max-width: 140px;
		height: 40px;
	}
}

.mvcard__meta:empty,
.mvcard__sub:empty,
.mvcard__price:empty,
.mvcard__links:empty {
	display: none;
}

.mvcard__body > *:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   RESPONSIVE — CART, CHECKOUT, LOGIN, MY ACCOUNT
   --------------------------------------------------------------------------
   These four pages are rendered by WooCommerce, not by the theme, so they are
   styled by class. Cart and Checkout in particular are the WooCommerce BLOCK
   versions (.wc-block-*), which is why the theme's own cart template has no
   effect on them.

   Desktop is left exactly as it is. Everything below is inside a media query,
   so nothing here can change the desktop layout you have already tuned.
   ========================================================================== */


/* --------------------------------------------------------------------------
   A. THE BLUNT IMAGE RULE
   --------------------------------------------------------------------------
   `.woocommerce img, .woocommerce-page img { height: 100% !important }` earlier
   in this file lands on EVERY image on every WooCommerce page — including cart
   line items, checkout summary thumbnails and account tables, where "fill the
   height of whatever box you happen to be in" squashes or stretches the
   bottle. It is needed for the product cards, so rather than change it, the
   cart and checkout thumbnails are given their proportions back.

   This is not inside a media query on purpose — a stretched thumbnail is wrong
   at every width.
   -------------------------------------------------------------------------- */

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img,
.wc-block-components-order-summary-item__image .wc-block-components-product-image img,
.woocommerce-account .woocommerce-MyAccount-content img {
	height: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
}


/* --------------------------------------------------------------------------
   B. NOTHING MAY PUSH THE PAGE SIDEWAYS
   --------------------------------------------------------------------------
   A single wide element on a phone makes the WHOLE page scroll sideways, which
   reads as "the site is broken" even when everything else is fine. Long order
   numbers, email addresses and product names are the usual culprits.
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.woocommerce-cart,
	.woocommerce-checkout,
	.woocommerce-account,
	.login-page {
		overflow-x: hidden;
	}

	.wc-block-components-product-name,
	.wc-block-components-totals-item__label,
	.woocommerce-account .woocommerce-MyAccount-content,
	.auth-card,
	.woocommerce-error li {
		overflow-wrap: anywhere;
	}

	/* alignwide is pulled flush by a rule above; make sure that cannot spill */
	.alignwide {
		max-width: 100%;
	}
}


/* --------------------------------------------------------------------------
   C. CART (WooCommerce Blocks)
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {

	
	.wp-block-woocommerce-filled-cart-block,
	.wc-block-cart__submit-container {
		display: block !important;
	}

	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wp-block-woocommerce-cart-items-block,
	.wp-block-woocommerce-cart-totals-block {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wc-block-cart__sidebar {
		margin-top: 26px;
	}

	.wc-block-cart-items,
	.wc-block-cart-items tbody,
	.wc-block-cart-items__row {
		display: block !important;
		width: 100% !important;
	}

	.wc-block-cart-items__header {
		display: none !important; 
	}

	.wc-block-cart-items__row {
		position: relative;
		display: grid !important;
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 14px;
		padding: 18px 0;
		border-bottom: 1px solid var(--mv-line);
	}

	.wc-block-cart-items__row > td,
	.wc-block-cart-item__image,
	.wc-block-cart-item__product,
	.wc-block-cart-item__total {
		display: block !important;
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}

	.wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.wc-block-cart-item__image img {
		width: 84px !important;
	}

	.wc-block-cart-item__product {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	.wc-block-cart-item__total {
		grid-column: 2;
		grid-row: 2;
		align-self: end;
		font-family: var(--mv-serif);
		font-size: 20px;
		color: var(--mv-burg);
	}

	/* The tasting note is hidden on desktop already; keep it hidden and give
	   the quantity stepper room to be tappable. */
	.wc-block-cart-item__quantity {
		display: flex;
		align-items: center;
		gap: 14px;
		flex-wrap: wrap;
		margin-top: 10px;
	}

	/* Constrain the WRAPPER only. WooCommerce positions the +/- buttons inside
	   it absolutely, so forcing a size on the buttons themselves breaks the
	   control apart. */
	.wc-block-components-quantity-selector {
		max-width: 140px;
		min-height: 44px;
	}

	.wc-block-components-quantity-selector__input {
		min-height: 44px;
		font-size: 16px;    /* under 16px iOS zooms the page on focus */
	}

	.wc-block-cart-item__remove-link {
		min-height: 32px;
		padding: 6px 0;
	}

	/* Checkout button spans the width — it is the one thing they came for. */
	.wc-block-cart__submit-button,
	.wc-block-cart__submit-container .wc-block-components-button {
		display: block !important;
		width: 100% !important;
		text-align: center;
		min-height: 52px;
	}

	.wp-block-woocommerce-cart-order-summary-block {
		padding: 16px !important;
	}

	/* Label left, amount right — belt and braces in case a theme rule has
	   flattened WooCommerce's own layout for these rows. */
	.wc-block-components-totals-item {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	.wc-block-components-totals-item__label {
		min-width: 0;
	}

	.wc-block-components-totals-item__value {
		flex: 0 0 auto;
		text-align: right;
	}
}

/* Breathing room at the edges. `.alignwide { margin-inline: 0 }` earlier in
   this file pulls these blocks flush, which on a phone puts the text hard
   against the screen edge. */
@media (max-width: 900px) {
	.woocommerce-cart .wp-block-woocommerce-cart,
	.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding-left: 18px;
		padding-right: 18px;
		box-sizing: border-box;
	}
}


/* --------------------------------------------------------------------------
   D. CHECKOUT (WooCommerce Blocks)
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	/* Flex column, NOT block: `order` below only works on a flex/grid parent,
	   and moving the order summary above the form is the whole point. */
	.wc-block-checkout,
	.wp-block-woocommerce-checkout {
		display: flex !important;
		flex-direction: column !important;
	}

	.wc-block-checkout__main,
	.wc-block-checkout__sidebar,
	.wc-block-components-main,
	.wc-block-components-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Order summary FIRST on a phone: people want to see what they are paying
	   before they start typing an address. */
	.wc-block-checkout__sidebar,
	.wc-block-components-sidebar {
		order: -1;
		margin-bottom: 22px;
	}

	.wc-block-checkout__contact-fields,
	.wc-block-checkout__shipping-fields,
	.wc-block-checkout__billing-fields,
	.wc-block-checkout__shipping-option,
	.wc-block-checkout__payment-method,
	.wp-block-woocommerce-checkout-order-summary-block {
		padding: 16px !important;
		margin-bottom: 16px;
	}

	/* Address fields go one per row — two half-width fields at 390px leaves
	   about 160px each, which is not enough for a postcode plus its label. */
	.wc-block-components-address-form .wc-block-components-text-input,
	.wc-block-components-address-form .wc-block-components-country-input,
	.wc-block-components-address-form .wc-block-components-state-input {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.wc-block-components-text-input input,
	.wc-block-components-address-form input,
	.wc-blocks-components-select__select,
	.wc-block-components-textarea {
		width: 100%;
		box-sizing: border-box;
		font-size: 16px !important;   /* stops iOS zooming on focus */
		min-height: 48px;
	}

	/* One delivery/payment choice per line — side by side they wrap mid-label */
	.wc-block-components-radio-control__option {
		display: flex;
		align-items: center;
		gap: 10px;
		padding-top: 14px;
		padding-bottom: 14px;
		min-height: 44px;
	}

	/* Place Order full width, Return to Cart under it rather than beside */
	.wc-block-checkout__actions_row {
		display: flex !important;
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 14px;
	}

	.wc-block-components-checkout-place-order-button {
		display: block !important;
		width: 100% !important;
		text-align: center;
		min-height: 52px;
	}

	.wc-block-components-checkout-return-to-cart-button {
		text-align: center;
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.wc-block-components-order-summary-item {
		gap: 12px;
	}

	.wc-block-components-order-summary-item__image {
		width: 64px !important;
		flex: 0 0 64px;
	}
}


/* --------------------------------------------------------------------------
   E. LOGIN — INCLUDING THE WRONG-PASSWORD ERROR
   --------------------------------------------------------------------------
   The error WooCommerce prints after a wrong password had no styling at all in
   this file, so it fell back to WooCommerce's own grey bar with a tick icon —
   off-brand, and its fixed padding pushed it wide on a phone.
   -------------------------------------------------------------------------- */

.login-page .woocommerce-error,
.woocommerce-account .woocommerce-error,
.login-page .woocommerce-message,
.login-page .woocommerce-info {
	list-style: none;
	margin: 0 auto 22px;
	max-width: 980px;
	padding: 16px 18px;
	border-radius: 8px;
	border: 1px solid var(--mv-line);
	background: var(--mv-panel-2);
	font-family: var(--mv-sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--mv-ink);
}

/* WooCommerce draws a tick/marker with ::before and indents to clear it. */
.login-page .woocommerce-error::before,
.woocommerce-account .woocommerce-error::before,
.login-page .woocommerce-message::before,
.login-page .woocommerce-info::before {
	content: none !important;
}

.login-page .woocommerce-error {
	border-left: 3px solid #9d3b3b;
	background: #fbf2f0;
	color: #6f2a2a;
}

.login-page .woocommerce-error li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.login-page .woocommerce-error a,
.login-page .woocommerce-error strong {
	color: inherit;
}

.login-page .woocommerce-error a {
	text-decoration: underline;
}

@media (max-width: 620px) {
	.login-page .woocommerce-error,
	.login-page .woocommerce-message,
	.login-page .woocommerce-info {
		padding: 14px 16px;
		font-size: 13.5px;
		border-radius: 6px;
	}

	/* Buttons and the remember/forgot row need room to be tapped */
	.auth-card .btn,
	.auth-card .btn-block {
		display: block;
		width: 100%;
		min-height: 50px;
		line-height: 1.2;
		padding: 16px 18px;
	}

	.auth-card .rowbtwn {
		flex-wrap: wrap;
		gap: 10px;
		row-gap: 12px;
	}

	.auth-card .rowbtwn a,
	.auth-card .rowbtwn label {
		min-height: 32px;
		display: flex;
		align-items: center;
	}

	.auth-card .field input {
		min-height: 48px;
	}
}


/* --------------------------------------------------------------------------
   F. MY ACCOUNT — TOP-UPS
   --------------------------------------------------------------------------
   This page already stacks and turns its order table into cards further up the
   file. What was missing: the tab strip could not be scrolled to reveal the
   later tabs, and the links in it were too small to tap reliably.
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.woocommerce-account .acct-nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.woocommerce-account .acct-nav::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-account .acct-nav ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.woocommerce-account .acct-nav li {
		flex: 0 0 auto;
	}

	.woocommerce-account .acct-nav a {
		display: flex;
		align-items: center;
		min-height: 42px;
		padding: 0 14px;
		white-space: nowrap;
	}

	.woocommerce-account .addr-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.woocommerce-account .link-accent,
	.woocommerce-account .link-action {
		display: inline-flex;
		align-items: center;
		min-height: 36px;
	}

	/* Edit-account and address forms are WooCommerce's own markup */
	.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row,
	.woocommerce-account .woocommerce-address-fields .form-row {
		width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
	}

	.woocommerce-account input.input-text,
	.woocommerce-account select,
	.woocommerce-account textarea {
		width: 100%;
		font-size: 16px;   /* stops iOS zooming on focus */
		min-height: 48px;
	}

	.woocommerce-account .woocommerce-Button,
	.woocommerce-account .button {
		width: 100%;
		min-height: 50px;
	}
}


/* --------------------------------------------------------------------------
   G. ACCOUNT STAT TILES — LABEL AND VALUE COLLIDE
   -------------------------------------------------------------------------- */

.astat .l,
.astat .v {
	display: block;
}

.astat .l {
	line-height: 1.4;
}


@media (max-width: 767px) {
	
.page-id-22 .site-main, .page-id-20 .site-main, .page-id-21 .site-main{
   width: 90%!important;
	}	

.wc-block-cart-items__row .wc-block-cart-item__total{
  grid-row-start: 2!important;
}
	
	.wc-block-cart-item__total-price-and-sale-badge-wrapper {
    align-items: flex-start!important;
}
}

/* ==========================================================================
   THIS ROUND
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. HERO — OVERLAY OVER THE VIDEO
   --------------------------------------------------------------------------
   The overlay element already existed but `--hero-bg-opacity` defaults to 0,
   so unless somebody had filled in the opacity field there was no overlay at
   all and the white heading sat straight on the footage — invisible against
   any bright frame.

   The template now sends 0.55 whenever the hero has a video or an image
   background, and sends the colour too. This rule is what lets it use that
   colour; without it the overlay is always the house dark green.
   -------------------------------------------------------------------------- */

.hero::before {
	background: var(--hero-overlay-colour, var(--mv-dark));
}

/* A hero with a background always gets SOME overlay, even on an older page
   whose opacity field was explicitly saved as 0 before this existed. Remove
   this block if you ever want a genuinely un-tinted video. */
.hero--video {
	--hero-bg-opacity: 0.55;
}


/* --------------------------------------------------------------------------
   2. HEADER — "TRADE LOGIN" AS ONE BUTTON
   --------------------------------------------------------------------------
   Icon and words in a single outlined button, so it reads as somewhere to
   click rather than as a profile glyph. The basket sits to its left once
   signed in (that is the markup order in header.php).
   -------------------------------------------------------------------------- */

.mv-header__account {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 9px 16px;
	border: 1px solid var(--mv-gold);
	border-radius: 10px;
	background: transparent;
	color: var(--mv-gold);
	font-family: var(--mv-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mv-header__account:hover,
.mv-header__account:focus-visible {
	background: var(--mv-gold);
	color: var(--mv-burg);
}

.mv-header__account-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

/* Signed in it is a quieter link — they are not looking for it any more. */
.mv-header__account.is-in {
	border-color: rgba(255, 255, 255, 0.28);
	color: var(--mv-panel);
}

.mv-header__account.is-in:hover,
.mv-header__account.is-in:focus-visible {
	border-color: var(--mv-gold);
	background: transparent;
	color: var(--mv-gold);
}

/* Room for the words */
.mv-header__actions {
	gap: 14px;
}

/* On a phone the words would push the burger off the edge, so the button
   shrinks back to just its icon. The label stays in the DOM for screen
   readers. */
@media (max-width: 640px) {
	.mv-header__account {
		padding: 8px 10px;
		gap: 0;
	}

	.mv-header__account-label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}
}


/* --------------------------------------------------------------------------
   4. FULL-WIDTH VIDEO BAND (Our Story)
   --------------------------------------------------------------------------
   Same shape as the homepage hero: video edge to edge, colour laid over it,
   copy centred on top.
   -------------------------------------------------------------------------- */

.mvv-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--mv-dark);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-left: 0;
	padding-right: 0;
}

.mvv-hero--tall {
	min-height: 78vh;
}

.mvv-hero--medium {
	min-height: 56vh;
}

.mvv-hero--short {
	min-height: 38vh;
}

.mvv-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.mvv-hero__video,
.mvv-hero__embed iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	border: 0;
}

/* An embedded player has a fixed aspect ratio, so it is blown up until it
   covers the band rather than letterboxed inside it. */
.mvv-hero__embed iframe {
	min-width: 177.78vh;   /* 16:9 of the height */
	min-height: 56.25vw;   /* 9:16 of the width  */
}

.mvv-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--mvv-overlay-colour, var(--mv-dark));
	opacity: var(--mvv-overlay-opacity, 0.55);
	pointer-events: none;
}

.mvv-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 780px;
}

.mvv-hero__title {
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: clamp(30px, 4.4vw, 52px);
	line-height: 1.14;
	margin: 0 0 16px;
	color: var(--mv-chalk);
}

.mvv-hero__text {
	font-family: var(--mv-sans);
	font-size: 17px;
	font-weight: 300;
	line-height: 1.75;
	margin: 0;
	color: #fff;
}

@media (max-width: 767px) {
	.mvv-hero--tall {
		min-height: 62vh;
	}

	.mvv-hero--medium {
		min-height: 48vh;
	}

	.mvv-hero__text {
		font-size: 15.5px;
	}
}

/* Autoplaying video is motion some people ask not to be shown. The poster
   image set on the the video element stays visible in its place. */
@media (prefers-reduced-motion: reduce) {
	.mvv-hero__video {
		display: none;
	}
}



/* --------------------------------------------------------------------------
   6. SMOOTH SCROLL + FAQ ACCORDION
   --------------------------------------------------------------------------
   The scrolling itself is done in main.js so it can offset for the sticky
   header — `scroll-behavior: smooth` on its own lands the section underneath
   the header. scroll-margin-top below is the no-JS fallback for the same
   thing.
   -------------------------------------------------------------------------- */

:target,
[id] {
	scroll-margin-top: 96px;
}

/* main.js wraps everything after the summary in this so its height can be
   animated. the details element cannot be animated directly — the browser opens it in a
   single frame. */
.mv-accordion__body {
	overflow: hidden;
}

/* The +/- marker turns rather than snapping. */
.mvp-faq summary::after {
	transition: transform 0.26s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.mvp-faq details[open] summary::after {
	transform: rotate(180deg);
}

.mvp-faq summary {
	transition: color 0.2s ease;
}

.mvp-faq summary:hover {
	color: var(--mv-burg);
}


/* --------------------------------------------------------------------------
   7. AWARDS
   --------------------------------------------------------------------------
   Two different treatments of the same ACF field, because the two places have
   very different amounts of room.

   WINE CARD — one round "Award Winning" medallion over the bottle, revealed
   on hover. It cannot show the award text: a card has no room, and a wine
   with four awards would need four badges.

   PRODUCT PAGE — every line in full, each with its own medal.

   If the medallion is not appearing on a card, the field is almost always
   empty for that wine. It is a textarea on the product, General tab, one
   award per line. No text, no medallion.
   -------------------------------------------------------------------------- */

/* --- Card medallion: restated so a later rule cannot quietly bury it ------- */

.mvcard__media {
	position: relative;   /* the medallion is positioned against this */
}



/* --- Product page list ---------------------------------------------------- */

.mv-awards {
	margin: 18px 0;
}

.mv-awards__label {
	margin: 0 0 10px;
	font-family: var(--mv-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mv-taupe);
}

.mv-awards__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.mv-awards__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 11px;
	border: 1px solid var(--mv-gold);
	border-radius: 999px;
	background: rgba(169, 136, 84, 0.08);
	font-family: var(--mv-sans);
	font-size: 12px;
	line-height: 1.3;
	color: var(--mv-ink);
}

.mv-awards__medal {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	color: var(--mv-gold);
}

.mv-awards__text {
	min-width: 0;
}

@media (max-width: 600px) {
	.mv-awards__list {
		flex-direction: column;
		align-items: flex-start;
	}

	.mv-awards__item {
		max-width: 100%;
	}
}

/* ==========================================================================
   THIS ROUND — POPUP, INVOICES, ORDER ACTIONS, POLICY PAGES
   ========================================================================== */


/* --------------------------------------------------------------------------
   TRADE PRICING POPUP
   --------------------------------------------------------------------------
   A native dialog element, so the backdrop, focus trapping and Escape all come
   from the browser. ::backdrop is the browser's own overlay layer.
   -------------------------------------------------------------------------- */

.mv-popup {
	width: min(440px, calc(100vw - 40px));
	max-width: none;
	padding: 0;
	border: 1px solid var(--mv-line);
	border-radius: 12px;
	background: var(--mv-panel-2);
	color: var(--mv-ink);
	box-shadow: 0 40px 90px -40px rgba(23, 37, 31, .55);
	overflow: visible;
}

.mv-popup::backdrop {
	background: rgba(23, 37, 31, .62);
	backdrop-filter: blur(2px);
}

/* Only animate once it is actually open, or it animates on page load too. */
.mv-popup[open] {
	animation: mv-popup-in .32s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes mv-popup-in {
	from { opacity: 0; transform: translateY(14px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.mv-popup[open] {
		animation: none;
	}
}

.mv-popup__inner {
	position: relative;
	padding: 40px 36px 32px;
	text-align: center;
}

.mv-popup__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 36px;
	height: 36px;
	border: 0;
	background: none;
	color: var(--mv-taupe);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
}

.mv-popup__close:hover {
	color: var(--mv-burg);
	background: rgba(23, 37, 31, .06);
}

.mv-popup__eyebrow {
	margin: 0 0 14px;
	font-family: var(--mv-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mv-gold);
}

.mv-popup__title {
	margin: 0 0 12px;
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
	color: var(--mv-burg);
}

.mv-popup__text {
	margin: 0 auto 26px;
	max-width: 32ch;
	font-family: var(--mv-sans);
	font-size: 15px;
	line-height: 1.7;
	color: var(--mv-ink-soft);
}

.mv-popup__cta {
	display: block;
	width: 100%;
	padding: 16px 22px;
	border: 1px solid var(--mv-burg);
	border-radius: 5px;
	background: var(--mv-burg);
	color: var(--mv-chalk);
	font-family: var(--mv-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s ease;
}

.mv-popup__cta:hover {
	background: var(--mv-burg-bright);
	color: var(--mv-chalk);
}

.mv-popup__dismiss {
	margin: 14px 0 0;
	padding: 8px;
	border: 0;
	background: none;
	color: var(--mv-taupe);
	font-family: var(--mv-sans);
	font-size: 12.5px;
	text-decoration: underline;
	cursor: pointer;
}

.mv-popup__dismiss:hover {
	color: var(--mv-burg);
}

@media (max-width: 480px) {
	.mv-popup__inner {
		padding: 34px 22px 26px;
	}

	.mv-popup__title {
		font-size: 25px;
	}
}


/* --------------------------------------------------------------------------
   ORDER + INVOICE ACTIONS
   --------------------------------------------------------------------------
   WooCommerce prints its order actions as plain anchors with a .button class. Three of
   them on one row needs them to look like a set and to wrap on a phone.
   -------------------------------------------------------------------------- */

.mv-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}

.mv-order-action,
.woocommerce-orders-table__cell-order-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 13px;
	border: 1px solid var(--mv-line);
	border-radius: 3px;
	background: #fff;
	color: var(--mv-burg);
	font-family: var(--mv-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.mv-order-action:hover,
.woocommerce-orders-table__cell-order-actions .button:hover {
	border-color: var(--mv-burg);
	background: var(--mv-burg);
	color: #fff;
}

/* The one that actually takes money is the one that should stand out. */
.mv-order-action--pay,
.woocommerce-orders-table__cell-order-actions .button.pay {
	border-color: var(--mv-burg);
	background: var(--mv-burg);
	color: #fff;
}

.mv-order-action--pay:hover,
.woocommerce-orders-table__cell-order-actions .button.pay:hover {
	background: var(--mv-burg-bright);
}

.mv-inv-po {
	display: block;
	margin-top: 3px;
	font-family: var(--mv-sans);
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--mv-taupe);
	text-transform: none;
}

/* Paid / due chips in the invoices table */
.pill.due {
	background: rgba(157, 59, 59, .12);
	color: #9d3b3b;
}

@media (max-width: 720px) {
	.mv-order-actions {
		justify-content: flex-start;
	}

	.woocommerce-orders-table__cell-order-actions .button,
	.mv-order-action {
		flex: 1 1 auto;
	}
}


/* --------------------------------------------------------------------------
   POLICY / LEGAL PAGES
   -------------------------------------------------------------------------- */

.mv-policy__wrap {
	max-width: 860px;
}

.mv-policy__updated {
	margin: 0 0 30px;
	font-family: var(--mv-sans);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mv-taupe);
}

.mv-policy__toc {
	margin: 0 0 42px;
	padding: 24px 28px;
	border: 1px solid var(--mv-line);
	border-radius: 10px;
	background: var(--mv-panel-2);
}

.mv-policy__toc-label {
	margin: 0 0 12px;
	font-family: var(--mv-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mv-gold);
}

.mv-policy__toc ol {
	margin: 0;
	padding-left: 20px;
	columns: 2;
	column-gap: 34px;
}

.mv-policy__toc li {
	margin-bottom: 7px;
	font-family: var(--mv-sans);
	font-size: 14px;
	break-inside: avoid;
}

.mv-policy__toc a {
	color: var(--mv-ink);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.mv-policy__toc a:hover {
	color: var(--mv-burg);
	border-bottom-color: var(--mv-line);
}

.mv-policy__section {
	margin-bottom: 40px;
}

.mv-policy__h {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 14px;
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: clamp(21px, 2.4vw, 27px);
	line-height: 1.25;
	color: var(--mv-burg);
}

.mv-policy__n {
	flex: 0 0 auto;
	font-family: var(--mv-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--mv-gold);
	padding-top: 4px;
}

.mv-policy__prose {
	font-family: var(--mv-sans);
	font-size: 15.5px;
	line-height: 1.85;
	color: var(--mv-ink-soft);
}

.mv-policy__prose p {
	margin: 0 0 16px;
}

.mv-policy__prose ul,
.mv-policy__prose ol {
	margin: 0 0 16px;
	padding-left: 22px;
}

.mv-policy__prose li {
	margin-bottom: 8px;
}

.mv-policy__prose h3,
.mv-policy__prose h4 {
	margin: 26px 0 10px;
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: 19px;
	color: var(--mv-ink);
}

.mv-policy__prose a {
	color: var(--mv-burg);
	text-decoration: underline;
}

.mv-policy__prose strong {
	color: var(--mv-ink);
}

.mv-policy__prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 20px;
	font-size: 14px;
}

.mv-policy__prose th,
.mv-policy__prose td {
	padding: 11px 12px;
	border-bottom: 1px solid var(--mv-line);
	text-align: left;
	vertical-align: top;
}

.mv-policy__prose th {
	font-family: var(--mv-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mv-taupe);
}

.mv-policy__contact {
	margin-top: 8px;
	padding: 26px 28px;
	border-left: 3px solid var(--mv-gold);
	background: var(--mv-panel-2);
	font-family: var(--mv-sans);
	font-size: 15px;
	line-height: 1.8;
	color: var(--mv-ink-soft);
}

.mv-policy__contact p:last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.mv-policy__toc {
		padding: 20px 20px;
	}

	.mv-policy__toc ol {
		columns: 1;
	}

	.mv-policy__h {
		gap: 10px;
	}
}

/* ==========================================================================
   THIS ROUND — POPUP RESTYLE, POLICY, FORMS EVERYWHERE
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. POPUP — THE FRAMED PANEL FROM THE REFERENCE
   --------------------------------------------------------------------------
   Wider, centred, a large serif heading, a hairline frame inset from the
   edge, and the two buttons side by side. Brand colours, not the reference's.

   IF YOU CANNOT SEE IT: it is for logged-OUT visitors, so an administrator
   never gets it. Add ?mv_popup=preview to any URL to force it — that also
   ignores the "already dismissed" flag, so it shows every time.
   -------------------------------------------------------------------------- */

.mv-popup {
	width: min(620px, calc(100vw - 32px));
	border-radius: 4px;
	background: var(--mv-ground);
	border: 1px solid var(--mv-line);
	box-shadow: 0 50px 110px -45px rgba(23, 37, 31, .6);
}

.mv-popup::backdrop {
	background: rgba(23, 37, 31, .72);
}

.mv-popup__inner {
	position: relative;
	padding: 62px 58px 54px;
	text-align: center;
	background-image: var(--mv-popup-decor, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

/* The inset hairline frame. A pseudo-element on its own layer so the
   decorative background can sit behind it. */
.mv-popup__frame {
	position: absolute;
	inset: 14px;
	border: 1px solid var(--mv-gold);
	opacity: .5;
	pointer-events: none;
}

.mv-popup__close {
	top: 14px;
	right: 16px;
	z-index: 2;
}

.mv-popup__eyebrow {
	position: relative;
	z-index: 1;
	margin: 0 0 18px;
	font-size: 11px;
	letter-spacing: .28em;
}

.mv-popup__title {
	position: relative;
	z-index: 1;
	margin: 0 0 18px;
	font-size: clamp(30px, 4.6vw, 46px);
	line-height: 1.12;
	color: var(--mv-burg);
}

.mv-popup__text {
	position: relative;
	z-index: 1;
	max-width: 42ch;
	margin: 0 auto 32px;
	font-size: 16px;
	line-height: 1.75;
}

/* Two buttons side by side, as in the reference, rather than a button with a
   text link under it. */
.mv-popup__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.mv-popup__cta,
.mv-popup__dismiss {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	min-height: 50px;
	padding: 14px 30px;
	border-radius: 3px;
	font-family: var(--mv-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.mv-popup__cta {
	width: auto;
	border: 1px solid var(--mv-burg);
	background: var(--mv-burg);
	color: var(--mv-chalk);
}

.mv-popup__dismiss {
	margin: 0;
	border: 1px solid var(--mv-line);
	background: transparent;
	color: var(--mv-ink-soft);
	text-decoration: none;
}

.mv-popup__dismiss:hover {
	border-color: var(--mv-burg);
	background: var(--mv-burg);
	color: var(--mv-chalk);
}

/* The row that holds them. Flex-wrap so they stack on a narrow screen. */
.mv-popup__inner {
	gap: 0;
}

.mv-popup__cta {
	margin-bottom: 12px;
}

@media (min-width: 520px) {
	.mv-popup__inner {
		display: block;
	}

	.mv-popup__cta,
	.mv-popup__dismiss {
		margin: 0 6px;
	}
}

@media (max-width: 560px) {
	.mv-popup__inner {
		padding: 46px 26px 38px;
	}

	.mv-popup__frame {
		inset: 10px;
	}

	.mv-popup__cta,
	.mv-popup__dismiss {
		width: 100%;
		min-width: 0;
	}
}


/* --------------------------------------------------------------------------
   2. POLICY PAGES — PLAINER
   --------------------------------------------------------------------------
   Contents box gone, headings optional, contact note plain. Pasted formatting
   (bold, lists, links, tables) comes through untouched because the template
   runs the field through wp_kses_post rather than escaping it.
   -------------------------------------------------------------------------- */

.mv-policy__h {
	display: block;      /* was a flex row for the number, which is gone */
	margin: 0 0 14px;
}

.mv-policy__contact {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
}

/* A section with no heading is a plain block of text — no top gap suggesting
   a missing title. */
.mv-policy__section {
	margin-bottom: 34px;
}

.mv-policy__prose strong,
.mv-policy__prose b {
	font-weight: 700;
	color: var(--mv-ink);
}

.mv-policy__prose em,
.mv-policy__prose i {
	font-style: italic;
}


/* --------------------------------------------------------------------------
   4. THE CONTACT FORM TREATMENT, EVERYWHERE
   --------------------------------------------------------------------------
   The contact form's fields are the house style: 12px uppercase-ish label,
   white field, 1px line border, 8px radius, gold on focus. WooCommerce's
   checkout, account details and address forms had the browser default.

   Scoped to WooCommerce forms and the theme's own, so nothing in the admin or
   in a plugin's own UI is touched.
   -------------------------------------------------------------------------- */

.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label,
.woocommerce form.checkout label,
.auth-card .field label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--mv-sans);
	font-size: 12px;
	font-weight: 600;
	color: var(--mv-ink-soft);
	line-height: 1.4;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce-EditAccountForm input.input-text,
.woocommerce-EditAccountForm select,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select,
.woocommerce .select2-container .select2-selection--single,
.auth-card .field input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mv-line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mv-sans);
	font-size: 14px;
	color: var(--mv-ink);
	line-height: 1.5;
	box-sizing: border-box;
	transition: border-color .2s ease;
}

.woocommerce form .form-row textarea,
.woocommerce-page form .form-row textarea {
	min-height: 110px;
	resize: vertical;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.auth-card .field input:focus {
	outline: none;
	border-color: var(--mv-gold);
}

/* Select2 is what WooCommerce swaps country and state dropdowns for; without
   this they keep the plugin's own grey box next to our fields. */
.woocommerce .select2-container .select2-selection--single {
	height: auto;
	display: flex;
	align-items: center;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.5;
	color: var(--mv-ink);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 10px;
}

.woocommerce .select2-dropdown {
	border-color: var(--mv-line);
	border-radius: 8px;
	overflow: hidden;
}

.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--mv-burg);
}

/* Required marker, and the invalid state WooCommerce sets on validation. */
.woocommerce form .form-row .required,
.auth-card .required {
	color: var(--mv-burg);
	text-decoration: none;
	border: 0;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: #9d3b3b;
}

.woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: var(--mv-line);
}

/* WooCommerce Blocks checkout uses different markup again. */
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid var(--mv-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	font-family: var(--mv-sans);
	color: var(--mv-ink);
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-blocks-components-select__select:focus {
	outline: none;
	border-color: var(--mv-gold) !important;
	box-shadow: none;
}

/* Section headings inside the account forms */
.woocommerce-EditAccountForm legend,
.woocommerce-address-fields h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce form.checkout h3 {
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: 22px;
	color: var(--mv-burg);
	margin: 0 0 16px;
}


/* --------------------------------------------------------------------------
   5. INVOICES TAB ICON
   --------------------------------------------------------------------------
   The icon itself is in woocommerce/myaccount/navigation.php — a document
   with a currency mark, instead of the plain circle every unrecognised tab
   fell back to. This only makes sure it is sized like its neighbours.
   -------------------------------------------------------------------------- */

.acct-nav a[href*="invoices"] svg {
	width: 18px;
	height: 18px;
}

/* ===== TRADE ACCOUNT APPLICATION - START ===== */

.mvta-sec-wrap,.mvta-sec-wrap * {
	box-sizing: border-box;
}

.mvta-wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: start;
}

.mvta-aside {
	position: sticky;
	top: 108px;
	font-family: var(--mv2-sans);
}

.mvta-aside__prose {
	font-size: 14px;
	line-height: 1.75;
	color: var(--mv2-ink);
	margin-bottom: 22px;
}

.mvta-steps {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	counter-reset: mvta-step;
}

.mvta-steps__item {
	position: relative;
	counter-increment: mvta-step;
	padding: 0 0 20px 40px;
}

.mvta-steps__item::before {
	content: counter(mvta-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1px;
	font-family: var(--mv2-serif);
	font-size: 15px;
	letter-spacing: .1em;
	color: var(--mv2-gold);
}

.mvta-steps__item::after {
	content: "";
	position: absolute;
	left: 11px;
	top: 24px;
	bottom: 4px;
	width: 1px;
	background: var(--mv2-line);
}

.mvta-steps__item:last-child::after {
	display: none;
}

.mvta-steps__title {
	font-family: var(--mv2-serif);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--mv2-burgundy);
	margin: 0 0 4px;
}

.mvta-steps__text {
	font-size: 13px;
	line-height: 1.7;
	color: var(--mv2-ink-soft);
	margin: 0;
}

.mvta-aside__note {
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--mv2-taupe);
	border-top: 1px solid var(--mv2-line);
	padding-top: 16px;
	margin: 0 0 14px;
}

.mvta-aside__login {
	font-size: 13px;
	color: var(--mv2-ink-soft);
	margin: 0;
}

.mvta-aside__login a {
	color: var(--mv2-gold);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.mvta-sec {
	min-width: 0;
	background: #fff;
	border: 1px solid var(--mv2-line);
	border-radius: 10px;
	box-shadow: var(--mv2-shadow);
	padding: 30px;
	margin-bottom: 30px;
}


.mvta-sec:last-of-type {
	border-bottom: 0;
	margin-bottom: 8px;
}

.mvta-sec__head {
	display: flex;
	align-items: baseline;
	gap: 5px;
	margin-bottom: 6px;
}

.mvta-sec__n {
	font-family: var(--mv2-san);
	font-size: 16px;
	letter-spacing: .12em;
	color: var(--mv2-gold);
}

.mvta-sec__title {
	font-family: var(--mv2-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--mv2-burgundy);
	margin: 0;
}

.mvta-sec__intro {
	font-family: var(--mv2-sans);
	font-size: 13px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
	margin: 0 0 20px;
	max-width: 62ch;
}

.mvta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 22px;
	margin-top: 14px;
}

.mvta-field {
	margin-bottom: 16px;
	min-width: 0;
	grid-column: 1 / -1;
}

.mvta-field--half {
	grid-column: auto;
}

.mvta-field[hidden] {
	display: none;
}

.mvta-label {
	display: block;
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-ink-soft);
	margin-bottom: 6px;
}

.mvta-req {
	color: var(--mv2-gold);
	margin-left: 2px;
}

.mvta-field input[type=text],
.mvta-field input[type=email],
.mvta-field input[type=tel],
.mvta-field input[type=url],
.mvta-field input[type=date],
.mvta-field input[type=number],
.mvta-field select,
.mvta-field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mv2-line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mv2-sans);
	font-size: 14px;
	color: var(--mv2-ink);
	line-height: 1.5;
}

.mvta-field textarea {
	resize: vertical;
	min-height: 92px;
}

.mvta-field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--mv2-taupe) 50%), linear-gradient(135deg, var(--mv2-taupe) 50%, transparent 50%);
	background-position: calc(100% - 19px) 21px, calc(100% - 14px) 21px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 38px;
}

.mvta-field input:focus,
.mvta-field select:focus,
.mvta-field textarea:focus {
	outline: none;
	border-color: var(--mv2-gold);
}

.mvta-field input[type=file] {
	width: 100%;
	font-family: var(--mv2-sans);
	font-size: 13px;
	color: var(--mv2-ink-soft);
	padding: 11px 14px;
	border: 1px dashed var(--mv2-line);
	border-radius: 8px;
	background: var(--mv2-paper);
}

.mvta-field input[type=file]::file-selector-button {
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--mv2-burgundy);
	background: #fff;
	border: 1px solid var(--mv2-line);
	border-radius: 6px;
	padding: 7px 13px;
	margin-right: 12px;
	cursor: pointer;
}

.mvta-hint {
	font-family: var(--mv2-sans);
	font-size: 12px;
	line-height: 1.6;
	color: var(--mv2-taupe);
	margin: 6px 0 0;
}

.mvta-error {
	font-family: var(--mv2-sans);
	font-size: 12px;
	font-weight: 600;
	color: #9d3b3b;
	margin: 6px 0 0;
}

.mvta-field.is-invalid input,
.mvta-field.is-invalid select,
.mvta-field.is-invalid textarea {
	border-color: #9d3b3b;
	background: #fdf7f6;
}

.mvta-opts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
}

.mvta-opt {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--mv2-sans);
	font-size: 13px;
	color: var(--mv2-ink);
	background: var(--mv2-paper);
	border: 1px solid var(--mv2-line);
	border-radius: 999px;
	padding: 8px 15px 8px 12px;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease;
}

.mvta-opt:hover {
	border-color: var(--mv2-gold);
}

.mvta-opt input {
	accent-color: var(--mv2-gold);
	margin: 0;
	width: 14px;
	height: 14px;
}

.mvta-opt:has(input:checked) {
	border-color: var(--mv2-gold);
	background: #fff;
}

.mvta-check {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	align-items: start;
	font-family: var(--mv2-sans);
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--mv2-ink);
	cursor: pointer;
}

.mvta-check input {
	position: absolute;
	opacity: 0;
	width: 18px;
	height: 18px;
	margin: 0;
}

.mvta-check__box {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	border: 1px solid var(--mv2-line);
	border-radius: 4px;
	background: #fff;
	position: relative;
	flex: none;
}

.mvta-check__box::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(.4);
	opacity: 0;
	transition: opacity .14s ease, transform .14s ease;
}

.mvta-check input:checked + .mvta-check__box {
	background: var(--mv2-gold);
	border-color: var(--mv2-gold);
}

.mvta-check input:checked + .mvta-check__box::after {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}

.mvta-check input:focus-visible + .mvta-check__box {
	outline: 2px solid var(--mv2-gold);
	outline-offset: 2px;
}

.mvta-check__label a {
	color: var(--mv2-gold);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.mvta-users {
	border: 1px solid var(--mv2-line);
	border-radius: 8px;
	overflow: hidden;
}

.mvta-users__head {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1.3fr 1fr 88px;
	gap: 10px;
	padding: 11px 14px;
	background: var(--mv2-paper);
	border-bottom: 1px solid var(--mv2-line);
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mv2-taupe);
}

.mvta-users__row {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1.3fr 1fr 88px;
	gap: 10px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--mv2-line);
	align-items: center;
}

.mvta-users__row label {
	display: block;
	min-width: 0;
	margin: 0;
}

.mvta-users__k {
	display: none;
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mv2-taupe);
	margin-bottom: 4px;
}

.mvta-users__row input[type=text],
.mvta-users__row input[type=email],
.mvta-users__row input[type=tel] {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--mv2-line);
	border-radius: 6px;
	background: #fff;
	font-family: var(--mv2-sans);
	font-size: 13px;
	color: var(--mv2-ink);
}

.mvta-users__row input:focus {
	outline: none;
	border-color: var(--mv2-gold);
}

.mvta-users__yes {
	text-align: center;
}

.mvta-users__yes input {
	accent-color: var(--mv2-gold);
	width: 16px;
	height: 16px;
}

.mvta-users__add {
	display: block;
	width: 100%;
	padding: 12px 14px;
	border: 0;
	background: var(--mv2-paper);
	font-family: var(--mv2-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--mv2-gold);
	cursor: pointer;
}

.mvta-users__add:hover {
	background: #fff;
	color: var(--mv2-burgundy);
}

.mvta-alert {
	font-family: var(--mv2-sans);
	font-size: 13.5px;
	line-height: 1.65;
	border-radius: 8px;
	padding: 14px 16px;
	margin: 0 0 26px;
	display: block;
}

.mvta-alert.is-error {
	background: #f6e7e5;
	color: #7a3630;
	border: 1px solid #e0c3bd;
}

.mvta-alert span {
	display: block;
	margin-top: 4px;
	font-weight: 400;
}

.mvta-submit {
	border-top: 1px solid var(--mv2-line);
	padding-top: 26px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.mvta-submit__note {
	font-family: var(--mv2-sans);
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--mv2-taupe);
	margin: 0;
	flex: 1 1 260px;
	max-width: 46ch;
}

.mvta-submit__btn {
	border: 0;
	cursor: pointer;
	flex: 0 0 auto;
	padding-left: 34px;
	padding-right: 34px;
}

.mvta-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.mvta-done {
	text-align: center;
	padding: 40px 10px 30px;
}

.mvta-done__eyebrow {
	font-family: var(--mv2-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mv2-gold);
	margin: 0 0 10px;
}

.mvta-done__title {
	font-family: var(--mv2-serif);
	font-size: 36px;
	font-weight: 500;
	line-height: 1.15;
	color: var(--mv2-burgundy);
	margin: 0 0 12px;
}

.mvta-done__text {
	font-family: var(--mv2-sans);
	font-size: 14px;
	line-height: 1.75;
	color: var(--mv2-ink-soft);
	margin: 0 auto 22px;
	max-width: 52ch;
}

@media (max-width:1024px) {
	.mvta-wrap {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.mvta-aside {
		position: static;
	}

	.mvta-panel {
		padding: 32px 28px 34px;
	}
}

@media (max-width:760px) {
	.mvta-panel {
		padding: 0px;
		border-radius: 8px;
	}

	.mvta-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mvta-field--half {
		grid-column: 1 / -1;
	}

	.mvta-sec__title {
		font-size: 22px;
	}

	.mvta-field input[type=text],
	.mvta-field input[type=email],
	.mvta-field input[type=tel],
	.mvta-field input[type=url],
	.mvta-field input[type=date],
	.mvta-field input[type=number],
	.mvta-field select,
	.mvta-field textarea {
		font-size: 16px;
	}

	.mvta-users__head {
		display: none;
	}

	.mvta-users__row {
		grid-template-columns: 1fr 1fr;
		gap: 10px 12px;
		padding: 14px;
	}

	.mvta-users__row label:nth-child(3) {
		grid-column: 1 / -1;
	}

	.mvta-users__k {
		display: block;
	}

	.mvta-users__row label.mvta-users__yes {
		grid-column: 1 / -1;
		display: flex;
		align-items: center;
		gap: 10px;
		text-align: left;
	}

	.mvta-users__yes .mvta-users__k {
		margin: 0;
		order: 2;
	}

	.mvta-users__row input[type=text],
	.mvta-users__row input[type=email],
	.mvta-users__row input[type=tel] {
		font-size: 16px;
	}

	.mvta-submit {
		flex-direction: column;
		align-items: stretch;
	}

	.mvta-submit__btn {
		width: 100%;
		text-align: center;
	}

	.mvta-done__title {
		font-size: 28px;
	}
}

/* ===== TRADE ACCOUNT APPLICATION - END ===== */

.woocommerce-table--order-details{
       background: #fff;
}

.order-actions-button {
	display: inline-block!important;
	font-family: var(--mv-sans)!important;
	font-size: 13px!important;
	letter-spacing: 0.09em!important;
	text-transform: uppercase!important;
	font-weight: 400!important;
	padding: 15px 28px;!important
	text-align: center!important;
	border-radius: 5px!important;
	text-decoration: none!important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	border: 1px solid transparent;
background: var(--mv-burg)!important;
	color: var(--mv-ground)!important;
}

.woocommerce-columns--addresses address{
   background: var(--surface, #fff);
    border: 1px solid var(--line, #e7e0d6);
    border-radius: 8px;
    padding: 16px 18px;
}


.woocommerce-table__product-name a{
       font-family: var(--mv-serif);
    font-size: 18px !important;
    color: var(--mv-ink);
    text-decoration: none !important;
}

.woocommerce-orders-table__cell-order-actions .woocommerce-button {
	font-family: var(--mv-sans)!important;
	font-size: 10px!important;
	letter-spacing: 0.08em!important;
	text-transform: uppercase!important;
	font-weight: 600!important;
	color: var(--mv-burg)!important;
	padding-bottom: 0px!important;
	background: transparent!important;
	text-decoration: underline!important;
}

/* ===== AGE VERIFICATION - START ===== */

/* The gate is visible BY DEFAULT and JavaScript takes it away, not the other
   way round — so the site stays covered if a script is blocked or slow. */

:root {
	--mv-age-line: #7a1533;
	--mv-age-line-dark: #5d0f27;
}

.mv-age {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: var(--mv-ground, #f2eee6);
	box-sizing: border-box;
	overflow: auto;
}

.mv-age * {
	box-sizing: border-box;
}

/* Answered already: the small script in the page head marks the document
   before it paints. */
.mv-age-ok .mv-age {
	display: none;
}

/* Nothing behind the gate scrolls while the question is open. The class is
   put on by the small script in the page head, never by a plain rule here:
   `html:not(.mv-age-ok)` would leave the whole site unscrollable the moment
   the gate was switched off, because nothing would remain to unlock it. */
html.mv-age-locked,
html.mv-age-locked body {
	overflow: hidden;
}

html.mv-age-ok {
	overflow: visible;
}

.mv-age__inner {
	position: relative;
	width: 100%;
	max-width: 760px;
	min-height: 460px;
	padding: 72px 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.mv-age--decor .mv-age__inner {
	background-image: var(--mv-age-decor);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* The hairline frame: two L-shaped rules, inset, leaving a gap at the top
   right and bottom left the way the artwork does. */
.mv-age__frame {
	position: absolute;
	inset: 18px;
	pointer-events: none;
}

.mv-age__frame::before,
.mv-age__frame::after {
	content: "";
	position: absolute;
	border: 0 solid var(--mv-burg);
	opacity: .5;
}

.mv-age__frame::before {
	left: 0;
	top: 0;
	width: 62%;
	height: 78%;
	border-left-width: 1px;
	border-top-width: 1px;
}

.mv-age__frame::after {
	right: 0;
	bottom: 0;
	width: 62%;
	height: 78%;
	border-right-width: 1px;
	border-bottom-width: 1px;
}

.mv-age__corner {
	position: absolute;
	width: 190px;
	height: 190px;
	color: var(--mv-ink, #5e5a51);
	opacity: .42;
	pointer-events: none;
}

.mv-age__corner svg {
	width: 100%;
	height: 100%;
	display: block;
}

.mv-age__corner--tl {
	top: -10px;
	left: -10px;
}

.mv-age__corner--tr {
	top: -10px;
	right: -10px;
	transform: scaleX(-1);
}

.mv-age__corner--bl {
	bottom: -10px;
	left: -10px;
	transform: scaleY(-1);
}

.mv-age__corner--br {
	bottom: -10px;
	right: -10px;
	transform: scale(-1, -1);
}

.mv-age__panel {
	position: relative;
	z-index: 2;
	max-width: 470px;
}

.mv-age__panel[hidden] {
	display: none;
}

.mv-age__title {
	font-family: var(--mv-serif, "Cormorant Garamond", Georgia, serif);
	font-size: 46px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--mv-ink);
	margin: 0 0 18px;
}

.mv-age__text {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 16px;
	line-height: 1.65;
	color: var(--mv-ink);
	margin: 0 0 22px;
}

.mv-age__legal {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 14px;
	line-height: 1.7;
	color: var(--mv-burg);
	margin: 0 0 30px;
}

.mv-age__legal a {
	color: var(--mv-burg);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mv-age__legal a:hover {
	color: var(--mv-age-line-dark, #5d0f27);
}

.mv-age__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

.mv-age__btn {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .02em;
	min-width: 76px;
	padding: 15px 34px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.mv-age__btn--yes {
	background: var(--mv-burg);
}

.mv-age__btn--no {
	background: var(--mv-gold);
}

.mv-age__btn:hover {
	background: var(--mv-burg);
}

.mv-age__btn:focus-visible {
	outline: 2px solid var(--mv-gold, #a98854);
	outline-offset: 3px;
}

/* After "No" — the site never comes back. */
.mv-age.is-declined .mv-age__title {
	font-size: 38px;
}

.mv-age__panel--bye {
	max-width: 440px;
}

.mv-age__seed {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

@media (max-width:760px) {
	.mv-age {
		padding: 14px;
	}

	.mv-age__inner {
		min-height: 420px;
		padding: 54px 28px;
	}

	.mv-age__frame {
		inset: 10px;
	}

	/* Pushed further into the corners and lightened: on a narrow screen the
	   vine would otherwise sit right behind the question. */
	.mv-age__corner {
		width: 104px;
		height: 104px;
		opacity: .26;
	}

	.mv-age__corner--tl { top: -22px; left: -22px; }
	.mv-age__corner--tr { top: -22px; right: -22px; }
	.mv-age__corner--bl { bottom: -22px; left: -22px; }
	.mv-age__corner--br { bottom: -22px; right: -22px; }

	.mv-age__title {
		font-size: 33px;
	}

	.mv-age.is-declined .mv-age__title {
		font-size: 28px;
	}

	.mv-age__text {
		font-size: 15px;
	}

	.mv-age__legal {
		font-size: 13px;
		margin-bottom: 24px;
	}

	.mv-age__btn {
		padding: 14px 30px;
		min-width: 108px;
	}
}

/* Only stack the two buttons when they genuinely will not sit side by side.
   Two full-width bars for "Yes" and "No" reads as a much heavier decision
   than it is. */
@media (max-width:330px) {
	.mv-age__actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ===== AGE VERIFICATION - END ===== */

/* ===== QUANTITY STEPPER - START ===== */

/* The number field draws its own up/down arrows, which count in whole steps
   and sat right beside the theme's own - and + buttons. Two sets of controls
   doing different things is what made the case quantity look broken. */

.qty input[type=number]::-webkit-outer-spin-button,
.qty input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.qty input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
	text-align: center;
}

.qty-minus[disabled],
.qty-plus[disabled] {
	opacity: .35;
	cursor: default;
}

/* ===== QUANTITY STEPPER - END ===== */

/* ===== WINE ENQUIRY POPUP - START ===== */

.mv-enq,
.mv-enq * {
	box-sizing: border-box;
}

.mv-enq {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.mv-enq[hidden] {
	display: none;
}

html.mv-enq-open,
html.mv-enq-open body {
	overflow: hidden;
}

.mv-enq__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(23, 37, 31, .58);
	backdrop-filter: blur(2px);
}

.mv-enq__dialog {
	position: relative;
	width: 100%;
	max-width: 620px;
	max-height: calc(100vh - 48px);
	overflow: auto;
	background: var(--mv-panel-2, #faf8f3);
	border: 1px solid var(--mv-line, #d6cec1);
	border-radius: 12px;
	box-shadow: 0 40px 80px -40px rgba(23, 37, 31, .7);
	padding: 40px 44px 36px;
}

.mv-enq__close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	color: var(--mv-taupe, #a6a096);
	cursor: pointer;
}

.mv-enq__close:hover {
	background: var(--mv-panel, #e9e2d6);
	color: var(--mv-burg, #17251f);
}

.mv-enq__eyebrow {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mv-gold, #a98854);
	margin: 0 0 8px;
}

.mv-enq__title {
	font-family: var(--mv-serif, "Cormorant Garamond", Georgia, serif);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--mv-burg, #17251f);
	margin: 0 0 6px;
}

.mv-enq__wine {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	line-height: 1.6;
	color: var(--mv-ink-soft, #5e5a51);
	border-left: 2px solid var(--mv-gold, #a98854);
	padding-left: 12px;
	margin: 0 0 22px;
}

.mv-enq__wine[hidden] {
	display: none;
}

.mv-enq__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}

.mv-enq__field {
	margin-bottom: 15px;
	min-width: 0;
	grid-column: 1 / -1;
}

.mv-enq__field--half {
	grid-column: auto;
}

.mv-enq__field label {
	display: block;
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	font-weight: 600;
	color: var(--mv-ink-soft, #5e5a51);
	margin-bottom: 6px;
}

.mv-enq__req {
	color: var(--mv-gold, #a98854);
	margin-left: 2px;
}

.mv-enq__field input,
.mv-enq__field select,
.mv-enq__field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mv-line, #d6cec1);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 14px;
	color: var(--mv-ink, #5e5a51);
	line-height: 1.5;
}

.mv-enq__field textarea {
	resize: vertical;
	min-height: 84px;
}

.mv-enq__field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--mv-taupe, #a6a096) 50%), linear-gradient(135deg, var(--mv-taupe, #a6a096) 50%, transparent 50%);
	background-position: calc(100% - 19px) 21px, calc(100% - 14px) 21px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 38px;
}

.mv-enq__field input:focus,
.mv-enq__field select:focus,
.mv-enq__field textarea:focus {
	outline: none;
	border-color: var(--mv-gold, #a98854);
}

.mv-enq__field input[type=number]::-webkit-outer-spin-button,
.mv-enq__field input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.mv-enq__error {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	line-height: 1.6;
	color: #7a3630;
	background: #f6e7e5;
	border: 1px solid #e0c3bd;
	border-radius: 8px;
	padding: 11px 14px;
	margin: 0 0 14px;
}

.mv-enq__error[hidden] {
	display: none;
}

.mv-enq__submit {
	display: inline-block;
	width: 100%;
	padding: 15px 28px;
	border: 1px solid var(--mv-burg, #17251f);
	border-radius: 6px;
	background: var(--mv-burg, #17251f);
	color: var(--mv-chalk, #faf8f3);
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	letter-spacing: .09em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease;
}

.mv-enq__submit:hover {
	background: var(--mv-burg-bright, #26312c);
}

.mv-enq__submit[disabled] {
	opacity: .6;
	cursor: default;
}

.mv-enq__foot {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	line-height: 1.7;
	color: var(--mv-taupe, #a6a096);
	text-align: center;
	margin: 14px 0 0;
}

.mv-enq__hp {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.mv-enq__done {
	text-align: center;
	padding: 20px 4px 8px;
}

.mv-enq__done[hidden] {
	display: none;
}

.mv-enq__tick {
	color: var(--mv-gold, #a98854);
	margin-bottom: 12px;
}

.mv-enq__text {
	font-family: var(--mv-sans, "Montserrat", Arial, sans-serif);
	font-size: 14px;
	line-height: 1.75;
	color: var(--mv-ink-soft, #5e5a51);
	margin: 0 auto 24px;
	max-width: 40ch;
}

/* The button on a wine card sits in the inline link row, so it has to look
   like a link rather than a button. On the product page it keeps .btn. */
a.mv-enquire {
	cursor: pointer;
}

@media (max-width:760px) {
	.mv-enq {
		padding: 12px;
	}

	.mv-enq__dialog {
		padding: 30px 22px 26px;
		max-height: calc(100vh - 24px);
	}

	.mv-enq__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mv-enq__field--half {
		grid-column: 1 / -1;
	}

	.mv-enq__title {
		font-size: 25px;
	}

	.mv-enq__field input,
	.mv-enq__field select,
	.mv-enq__field textarea {
		font-size: 16px;
	}
}

.woocommerce-orders-table td a{
   font-family: var(--mv-serif);
    font-size: 18px !important;
    color: var(--mv-ink);
    text-decoration: none !important;
}

/* ===== WINE ENQUIRY POPUP - END ===== */


/* === MV 12 Sep review: basket button + empty basket === */

/* The basket now wears the same button as My Account, so the two read as a
   pair. The count sits on the corner, which needs a positioning context the
   account button never had. */
.mv-header__basket {
	position: relative;
}

.mv-header__basket .mv-header__cart-count {
	top: -7px;
	right: -7px;
	background: var(--mv-gold);
	color: var(--mv-burg);
}

.mv-header__cart-count[hidden] {
	display: none;
}

/* The client's Option 2, in place of the grey sad face. */
#mv-empty-basket {
	max-width: 520px;
	margin: 46px auto 64px;
	padding: 0 20px;
	text-align: center;
}

.mv-empty-basket__art {
	width: 120px;
	height: 96px;
	color: var(--mv-gold);
	margin-bottom: 26px;
}

.mv-empty-basket__title {
	font-family: var(--mv-serif);
	font-weight: 400;
	font-size: clamp(1.6rem, 3.4vw, 2.15rem);
	line-height: 1.2;
	margin: 0 0 14px;
}

.mv-empty-basket__copy {
	font-family: var(--mv-sans);
	font-size: 0.95rem;
	line-height: 1.65;
	margin: 0 0 30px;
	opacity: 0.78;
}

.mv-empty-basket__cta {
	display: inline-block;
	padding: 15px 34px;
	border: 1px solid var(--mv-gold);
	border-radius: 10px;
	background: var(--mv-burg);
	color: var(--mv-panel);
	font-family: var(--mv-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.mv-empty-basket__cta:hover,
.mv-empty-basket__cta:focus-visible {
	background: var(--mv-gold);
	color: var(--mv-burg);
}

.mvos-pillars__grid {
	 display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
}

.mvos-pillar {
 background: #fff;
    border: 1px solid var(--mv2-line);
    border-radius: var(--mv2-radius);
    padding: 26px;
    box-shadow: var(--mv2-shadow);
}


.mvos-pillars {
	background: #E9E2D6;
}



/* ---- the number, with its rule running off to the right ---- */
.mvos-pillar__n {
	font-family: var(--mv2-serif);
    font-size: 19px;
    letter-spacing: .1em;
    color: var(--mv2-gold);
    margin-bottom: 10px;
}


.mvos-pillar__title {
	    font-family: var(--mv2-serif);
    font-weight: 400;
    font-size: 22px;
    line-height: 1.25;
    margin: 0;
    color: var(--mv2-ink);
}

.mvos-pillar__text {
	    font-family: var(--mv2-sans);
    font-size: 14px;
    line-height: 1.7;
    color: var(--mv2-ink-soft);
    margin: 8px 0 0;
}

/* A column with no link still needs the same foot as the ones that have one,
   or the links sit at different heights across the row. Columns are a flex
   column so `margin-top:auto` on the link can push it to the bottom.

   align-items:flex-start matters more than it looks: without it every child
   stretches to the full width of the column, and .link-arrow draws its
   underline right across the page instead of under its own words. */
.mvos-pillar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
}

/* .link-arrow already carries the type and the underline. This places it and
   warms it to the gold used by the numbers above, which is what the design
   asks for here - the dark house link is still what every other page uses. */
.mvos-pillar__link {
	margin-top: auto;
	color: var(--mv2-gold, #a98854);
	border-bottom-color: var(--mv2-gold, #a98854);
}

.mvos-pillar__link span {
	margin-left: 6px;
}

@media (max-width: 1024px) {
	.mvos-pillars__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 40px;
	}

	/* Two across: the divider belongs on the second of each pair, not on
	   whichever one happens to be third. */
	.mvos-pillar + .mvos-pillar {
		border-left: 0;
	}

	.mvos-pillar:nth-child(2n) {
		border-left: 1px solid var(--mv2-line, #d6cec1);
	}

	.mvos-pillar:nth-child(2n + 1) {
		padding-left: 0;
	}
}

@media (max-width: 720px) {
	.mvos-pillars__grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 0;
	}

	.mvos-pillar {
		padding: 28px 0;
		border-left: 0;
	}

	/* Stacked, the divider becomes a rule between rows instead. */
	.mvos-pillar:nth-child(2n) {
		border-left: 0;
	}

	.mvos-pillar + .mvos-pillar {
		border-top: 1px solid var(--mv2-line, #d6cec1);
	}
}


/* ==========================================================================
   2. THE FULL-WIDTH BAND - BOTTOM LEFT
   --------------------------------------------------------------------------
   Only when "Text Position" is set to "Bottom left". Left alone, the band
   keeps the centred layout it has always had, so no other page moves.

   The inner is a two-column row: the heading at the bottom left, the small
   corner line at the bottom right.
   ========================================================================== */

/* Pin the copy to the foot of the band. Stated here rather than relied on:
   the centred version sits in the middle, and this variant should not change
   its mind if that base rule is ever edited. */
.mvv-hero--left {
	align-items: flex-end;
}

.mvv-hero--left .mvv-hero__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	text-align: left;
	width: 100%;
}

.mvv-hero--left .mvv-hero__copy {
	max-width: 46ch;
}

.mvv-hero--left .mvv-hero__title {
	text-align: left;
	margin: 0;
}

.mvv-hero--left .mvv-hero__text {
	text-align: left;
	margin: 14px 0 0;
}

/* The two small lines - under the heading, and in the far corner.

   Both drop the short dash the base .eyebrow draws to its left, and the 26px
   it reserves for it: the design sets these as plain lines of type, and on the
   right-hand one the dash would sit stranded away from the words.

   They also go a soft white rather than the house gold. Gold on a photograph
   this busy is barely legible - the heading beside them is white, and these
   are meant to read as quieter members of the same line, not as links. */
.mvv-hero--left .mvv-hero__kicker,
.mvv-hero__aside {
	color: rgba(255, 255, 255, .82);
	padding-left: 0;
	letter-spacing: .2em;
}

.mvv-hero--left .mvv-hero__kicker::before,
.mvv-hero__aside::before {
	content: none;
}

.mvv-hero--left .mvv-hero__kicker {
	margin: 16px 0 0;
}

.mvv-hero__aside {
	margin: 0;
	text-align: right;
	line-height: 1.9;
	flex: 0 0 auto;
	align-self: flex-end;
}



.mvp-prose{
	text-align: center;
}

@media (max-width: 860px) {
	/* Side by side, the two blocks fight for width on a phone. Stacked, the
	   corner line simply follows the heading. */
	.mvv-hero--left .mvv-hero__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
	}

	.mvv-hero__aside {
		text-align: left;
		align-self: flex-start;
	}
}

/* ===== OUR STORY - END ===== */

/* ==========================================================================
   Wine card price restyle — bottle price prominent, case price secondary
   ========================================================================== */

/* Reorder the two price blocks visually (bottle first) without touching PHP.
   Every direct child of .mvcard__body needs an explicit order so the swap
   doesn't scramble the rest of the card. */
.mvcard__body {
	display: flex;
	flex-direction: column;
}

.mvcard__body > .mvcard__badge--stock { order: 1; }
.mvcard__body > .mvcard__meta         { order: 2; }
.mvcard__body > .mvcard__title        { order: 3; }
.mvcard__body > .mvcard__sub          { order: 4; }

/* Bottle price now comes first, visually */
.mvcard__price--bottle {
	order: 5;
}

/* Case price now comes second */
.mvcard__price:not(.mvcard__price--bottle) {
	order: 6;
}

.mvcard__body > .mvcard__cta   { order: 7; }
.mvcard__body > .mvcard__links { order: 8; }

/* --------------------------------------------------------------------------
   Typography — bottle price: big, bold, the hero number
   -------------------------------------------------------------------------- */
.mvcard__price--bottle {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.1;
}

.mvcard__price--bottle .woocommerce-Price-amount,
.mvcard__price--bottle bdi {
	font-size: 35px!important;
	font-weight: 700!important;
	color: var(--mv-burg)!important;
}

.mvcard__price--bottle .mvcard__price-unit {
	display: block;
    padding: 0 0 5px;
    font-family: var(--mv2-sans);
    font-size: 11px;
    line-height: 1.55;
    color: var(--mv2-taupe);
}

/* --------------------------------------------------------------------------
   Typography — case price: small, muted, single line
   -------------------------------------------------------------------------- */
.mvcard__price:not(.mvcard__price--bottle) {
	font-family: var(--mv2-serif)!important;
    font-size: 18px!important;
    line-height: 20px!important;
    color: var(--mv2-taupe)!important;
}

.portfolio .card-grid .mvcard__price--case{
  margin-bottom: 15px!important;
}

.mvcard__price:not(.mvcard__price--bottle) .woocommerce-Price-amount,
.mvcard__price:not(.mvcard__price--bottle) bdi {
	font-family: var(--mv2-serif)!important;
    font-size: 18px!important;
    line-height: 20px!important;
    color: var(--mv2-taupe)!important;
}

.mvcard__price:not(.mvcard__price--bottle) .mvcard__price-unit {
	font-family: var(--mv2-serif)!important;
    font-size: 18px!important;
    line-height: 20px!important;
    color: var(--mv2-taupe)!important;
}

/* === MV 20 Sep: journal hero + gallery === */

/* The journal's main image at the width of the text, not the whole page —
   at full width typical uploads were stretched past their own size and
   came out soft. */
.mvp-article__media.mvj-hero {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

/* The journal gallery: the estate pages' grid, with room above it. */
.mvj-gallery {
	margin-top: 44px;
	padding-bottom: 0;
}

/* === MV 22 Sep: register-interest buttons === */
/* The pull-to-order box used WooCommerce's bare "button" class, which this
   theme never styled, so "Sign in to register interest" showed as a plain
   blue link. Same look as the site's other buttons. */
.mv-poo a.button,
.mv-poo button.button,
.mv-poo a.btn,
.mv-poo button.btn {
	display: inline-block;
	padding: 13px 26px;
	border: 1px solid var(--mv-burg, #17251F);
	border-radius: 10px;
	background: var(--mv-burg, #17251F);
	color: var(--mv-panel, #F4EFE6);
	font-family: var(--mv-sans, inherit);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
.mv-poo a.button:hover,
.mv-poo button.button:hover,
.mv-poo a.btn:hover,
.mv-poo button.btn:hover,
.mv-poo a.button:focus-visible,
.mv-poo button.button:focus-visible,
.mv-poo a.btn:focus-visible {
	background: var(--mv-gold, #A98854);
	border-color: var(--mv-gold, #A98854);
	color: var(--mv-burg, #17251F);
}
/* ===== SHOP FILTERS — COLLAPSIBLE GROUPS + RESET (23 Sep 2026) ===== */

/* Each filter group is a <details>, so the browser opens and closes it. */
.filters details.fbox {
	padding: 0 !important;
	margin-bottom: 10px;
	overflow: hidden;
}

.filters details.fbox > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

/* Hide the browser's own triangle — we draw our own arrow. */
.filters details.fbox > summary::-webkit-details-marker { display: none; }
.filters details.fbox > summary::marker { content: ""; }

.filters details.fbox > summary h4 {
	margin: 0;
	flex: 1;
}

.filters details.fbox[open] > summary h4 {
	color: var(--mv-ink);
}

.filters details.fbox > summary:hover h4,
.filters details.fbox > summary:focus-visible h4 {
	color: var(--mv-burg);
}

.filters details.fbox > summary:focus-visible {
	outline: 2px solid var(--mv-gold);
	outline-offset: -2px;
}

/* The arrow: a chevron drawn from two borders, pointing down when closed. */
.filters .farrow {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid var(--mv-taupe);
	border-bottom: 1.5px solid var(--mv-taupe);
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform 0.18s ease, border-color 0.18s ease;
	flex: none;
}

.filters details.fbox[open] .farrow {
	transform: rotate(-135deg) translate(-2px, -2px);
	border-color: var(--mv-burg);
}

.filters details.fbox > summary:hover .farrow {
	border-color: var(--mv-burg);
}

/* How many boxes are ticked inside a group you cannot see. */
.filters .fon {
	font-family: var(--mv-sans);
	font-size: 10.5px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: var(--mv-burg);
	border-radius: 999px;
	padding: 4px 7px;
	flex: none;
}

.filters details.fbox .fbody {
	padding: 0 18px 14px;
	border-top: 1px solid var(--mv-line);
	padding-top: 10px;
	max-height: 260px;
	overflow-y: auto;
}

.filters details.fbox .fbody::-webkit-scrollbar { width: 6px; }
.filters details.fbox .fbody::-webkit-scrollbar-thumb {
	background: var(--mv-line);
	border-radius: 999px;
}

/* Reset filters */
.filters .freset-row {
	margin: 0 0 14px;
}

.filters a.freset {
	font-family: var(--mv-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--mv-burg);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.filters a.freset:hover,
.filters a.freset:focus-visible {
	color: var(--mv-gold);
}

.filters a.freset[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
	.filters .farrow { transition: none; }
}

/* ===== SHOP FILTERS — COLLAPSIBLE GROUPS + RESET — END ===== */

/* ===== SHOP HEAD — WINES ALIGNED WITH THE FILTERS (23 Sep 2026) =====
   The count and the Sort control now share the breadcrumb line instead of
   sitting on their own row inside the results column, so the first row of
   bottles starts level with the top of the filter sidebar. */
.shop-archive .shop-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin: 0 0 18px;
}

.shop-archive .shop-head .crumb {
	margin: 0;
}

.shop-archive .shop-head .shop-toolbar {
	margin: 0;
	flex: none;
	justify-content: flex-end;
}

@media (max-width: 900px) {
	.shop-archive .shop-head {
		align-items: flex-start;
	}
	.shop-archive .shop-head .shop-toolbar {
		width: 100%;
		justify-content: space-between;
	}
}
/* ===== SHOP HEAD — END ===== */

/* ===== RESET FILTER — ALWAYS ON SHOW (23 Sep 2026) =====
   It was only appearing once something was filtered, so on a clean page there
   was nothing to see. It is now always there, and simply dims when there is
   nothing left to clear. */
.filters .freset-row {
	margin: 0 0 14px;
}

.filters a.freset {
	display: inline-block;
	font-family: var(--mv-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--mv-burg);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.18s ease, opacity 0.18s ease;
}

.filters a.freset[hidden] {
	display: inline-block;
}

.filters a.freset.is-idle {
	color: var(--mv-taupe);
	opacity: 0.75;
}

.filters a.freset:hover,
.filters a.freset:focus-visible {
	color: var(--mv-gold);
	opacity: 1;
}
/* ===== RESET FILTER — END ===== */

/* ===== RESET FILTER ON THE SEARCH HEADING LINE (23 Sep 2026) =====
   On its own row it pushed the whole sidebar down and broke the alignment with
   the wines, so it now shares the Keyword Search heading line. */
.filters .fsearch .fsearch-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
}

.filters .fsearch .fsearch-head h4 {
	margin: 0;
}

.filters .fsearch .fsearch-head a.freset {
	font-size: 12px;
	flex: none;
}

.filters .freset-row { display: none; }
/* ===== RESET FILTER ON THE SEARCH HEADING LINE — END ===== */

/* Keep "KEYWORD SEARCH" on one line beside Reset Filter. */
.filters .fsearch .fsearch-head {
	gap: 10px;
	align-items: center;
}
.filters .fsearch .fsearch-head h4,
.filters .fsearch .fsearch-head a.freset {
	white-space: nowrap;
}
.filters .fsearch .fsearch-head a.freset {
	font-size: 11.5px;
}

/* ===== WINE CARD — BOTTLE PRICE A LITTLE SMALLER (25 Sep 2026) =====
   It was 35px, which sat heavier than the wine's own name. 29px keeps it the
   hero number on the card without shouting over the typography. */
.mvcard__price--bottle .woocommerce-Price-amount,
.mvcard__price--bottle bdi {
	font-size: 29px !important;
}

@media (max-width: 600px) {
	.mvcard__price--bottle .woocommerce-Price-amount,
	.mvcard__price--bottle bdi {
		font-size: 26px !important;
	}
}
/* ===== WINE CARD — BOTTLE PRICE — END ===== */

/* The empty-basket panel now renders inside the Cart block from the page's own
   content, so it no longer picks up the centring that was keyed to the old
   #mv-empty-basket id. Centre it on its class instead. (25 Sep 2026) */
.wp-block-woocommerce-empty-cart-block .mv-empty-basket,
.mv-empty-basket {
	max-width: 520px;
	margin: 0 auto;
	padding: 56px 24px 64px;
	text-align: center;
}

.mv-empty-basket .mv-empty-basket__art {
	display: block;
	margin: 0 auto 26px;
}

.mv-empty-basket .mv-empty-basket__title,
.mv-empty-basket .mv-empty-basket__copy {
	text-align: center;
}

.mv-empty-basket .mv-empty-basket__cta {
	display: inline-flex;
}

@media (max-width: 600px) {
	.wp-block-woocommerce-empty-cart-block .mv-empty-basket,
	.mv-empty-basket { padding: 36px 18px 44px; }
}

/* ===== BASKET FEEDBACK ON THE WINE PAGE (26 Sep 2026) ===== */
.mv-in-basket {
	margin: 10px 0 0;
	font-family: var(--mv-sans);
	font-size: 13px;
	color: var(--mv-ink-soft, #4A4038);
}
.mv-in-basket__n { font-weight: 700; color: var(--mv-burg, #17251F); }
.mv-in-basket a { color: var(--mv-burg, #17251F); text-decoration: underline; text-underline-offset: 3px; }

.woocommerce-message.mv-toast-wrap,
.mv-toast-wrap {
	position: fixed; top: 96px; right: 24px; z-index: 9999;
	max-width: 380px; margin: 0; padding: 14px 18px;
	background: var(--mv-burg, #17251F); color: #F4EFE6;
	border: 1px solid var(--mv-gold, #A98854); border-radius: 8px;
	box-shadow: 0 18px 40px -18px rgba(0,0,0,.45);
	font-family: var(--mv-sans); font-size: 13.5px; line-height: 1.5;
	animation: mvToastIn .3s ease-out;
}
.mv-toast-wrap::before { display: none !important; }
.mv-toast-wrap .mv-toast a { color: var(--mv-gold, #A98854); text-decoration: underline; margin-left: 6px; }
.mv-toast-wrap.is-leaving { opacity: 0; transform: translateY(-8px); transition: opacity .7s ease, transform .7s ease; }
@keyframes mvToastIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { .mv-toast-wrap { left: 16px; right: 16px; top: 80px; max-width: none; } }
/* ===== BASKET FEEDBACK — END ===== */

/* ===== ADDED TO BASKET — the box under the button (26 Sep 2026) ===== */
.mv-added {
	display: flex; align-items: center; gap: 12px;
	margin: 14px 0 0; padding: 14px 18px;
	border: 1.5px solid #17251F; border-radius: 8px; background: #EEF5F0;
	font-family: var(--mv-sans); font-size: 14px; color: #17251F;
}
.mv-added__tick { display: inline-flex; color: #17251F; flex: none; }
.mv-added__link { color: #17251F; text-decoration: underline; text-underline-offset: 3px; margin-left: auto; white-space: nowrap; }
.woocommerce-message .mv-added { margin: 0; }
/* the old top-right toast is retired */
.mv-toast-wrap { position: static; box-shadow: none; animation: none; }
/* ===== ADDED TO BASKET — END ===== */

/* ===== ADDED TO BASKET — printed in its own slot under the button (28 Sep 2026) ===== */
.mv-added-slot { margin: 14px 0 0; }
.mv-added-slot:empty { display: none; }
.mv-added-slot .woocommerce-notices-wrapper,
.mv-added-slot .woocommerce-message { background: none; border: 0; padding: 0; margin: 0; box-shadow: none; }
.mv-added-slot .woocommerce-message::before { display: none; }
.mv-added__tick { width: 22px; height: 22px; border-radius: 50%; background: #17251F; color: #fff; font-size: 13px; font-weight: 700; line-height: 1; align-items: center; justify-content: center; }


/* ===== SHOP FILTERS ON PHONES — toggle button opens the sidebar above the wines (28 Sep 2026) ===== */
.mv-filter-toggle { display: none; align-items: center; gap: 8px; font-family: var(--mv-sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-burg, #17251F); background: #fff; border: 1px solid var(--mv-line, #E7E1D6); border-radius: 4px; padding: 9px 14px; cursor: pointer; }
@media (max-width: 900px) {
	.mv-filter-toggle { display: inline-flex; }
	.shop-toolbar { flex-wrap: wrap; gap: 10px; }
	.filters { position: static; margin-bottom: 20px; }
	.filters.is-open { display: block; }
}

/* ===== WINE DETAILS — right-align the values, narrower right column (29 Sep 2026) =====
   A value long enough to wrap (e.g. "Muscadet Sèvre et Maine") used to fall back to
   left alignment while every other value sat right, so the column looked ragged.
   Right-aligning the value fixes that, and giving the right-hand column less width —
   its values are short — leaves the left column enough room not to wrap at all. */
.pdp-meta b { text-align: right; }

@media (min-width: 768px) {
	.pdp-meta { grid-template-columns: 1.28fr 0.72fr; column-gap: 18px; }
	.pdp-meta div { column-gap: 10px; }
}

/* ===== FILTER HEADINGS: h4 -> h2 for a correct heading order (30 Sep 2026) =====
   The sidebar headings were <h4> directly under the page <h1>, which skips two
   levels. They are now <h2>. These rules repeat the existing h4 styling for h2
   so the sidebar looks exactly as before; the h4 rules stay in place so nothing
   breaks during the change. */
.filters .fbox h2 { font-family: var(--mv-sans); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mv-taupe); margin: 0 0 12px; }
.filters details.fbox > summary h2 { margin: 0; flex: 1; }
.filters details.fbox[open] > summary h2 { color: var(--mv-ink); }
.filters details.fbox > summary:hover h2, .filters details.fbox > summary:focus-visible h2 { color: var(--mv-burg); }
.filters .fsearch .fsearch-head h2 { margin: 0; }
.filters .fsearch .fsearch-head h2, .filters .fsearch .fsearch-head a.freset { white-space: nowrap; }

/* --- Heading levels corrected for a valid document outline (h3 -> h2). --- */
/* The footer headings keep the 19px margin the browser gave them as h3 (1em);
   an h2 default would be 0.83em and would shift the footer. */
.mv-footer__heading,
.mv-footer__heading--serif {
	margin: 19px 0;
}

/* Journal card titles: same declarations the h3 rule carried. */
.mvp-jcard h2 {
	font-family: var(--mv2-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 8px;
	color: var(--mv2-ink);
}
