/**
 * Mo's Kitchen customer ordering experience.
 * Intentionally self-contained so host themes cannot easily leak into the UI.
 */

.mkoh-order-hub {
	--mkoh-ink: #21170f;
	--mkoh-ink-soft: #5e5044;
	--mkoh-charcoal: #27221e;
	--mkoh-cream: #fff8ed;
	--mkoh-paper: #fffcf7;
	--mkoh-amber: #e9a03b;
	--mkoh-amber-dark: #b8611f;
	--mkoh-terracotta: #cc622c;
	--mkoh-green: #355c44;
	--mkoh-line: #e8ddcf;
	--mkoh-success: #1f7045;
	--mkoh-error: #9e312d;
	--mkoh-radius-sm: 12px;
	--mkoh-radius: 20px;
	--mkoh-radius-lg: 30px;
	--mkoh-shadow: 0 18px 55px rgba( 56, 34, 14, 0.1 );
	width: 100vw;
	max-width: none;
	margin-right: calc( 50% - 50vw );
	margin-left: calc( 50% - 50vw );
	color: var(--mkoh-ink);
	background: var(--mkoh-paper);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.mkoh-order-hub,
.mkoh-order-hub *,
.mkoh-order-hub *::before,
.mkoh-order-hub *::after {
	box-sizing: border-box;
}

.mkoh-order-hub [hidden] {
	display: none !important;
}

.mkoh-unsubscribe-page {
	display: grid;
	min-height: 100vh;
	padding: 40px 20px;
	place-items: center;
	background:
		radial-gradient( circle at 15% 15%, rgba( 233, 160, 59, 0.18 ), transparent 32% ),
		var(--mkoh-cream);
}

.mkoh-unsubscribe-card {
	width: min( 560px, 100% );
	padding: clamp( 32px, 7vw, 58px );
	border: 1px solid var(--mkoh-line);
	border-radius: var(--mkoh-radius-lg);
	background: var(--mkoh-paper);
	box-shadow: var(--mkoh-shadow);
	text-align: center;
}

.mkoh-unsubscribe-card__mark {
	display: inline-grid;
	width: 58px;
	height: 58px;
	place-items: center;
	margin-bottom: 24px;
	border-radius: 50%;
	color: var(--mkoh-cream);
	background: var(--mkoh-charcoal);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-style: italic;
	font-weight: 700;
}

.mkoh-unsubscribe-card h1 {
	margin-bottom: 16px;
	font-size: clamp( 34px, 7vw, 48px );
	font-weight: 600;
}

.mkoh-unsubscribe-card > p:not(.mkoh-kicker) {
	margin-bottom: 28px;
	color: var(--mkoh-ink-soft);
}

.mkoh-unsubscribe-form {
	display: grid;
	gap: 14px;
}

.mkoh-unsubscribe-cancel {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--mkoh-amber-dark);
	font-size: 13px;
	font-weight: 800;
}

.mkoh-order-hub h1,
.mkoh-order-hub h2,
.mkoh-order-hub h3,
.mkoh-order-hub h4,
.mkoh-order-hub p,
.mkoh-order-hub ul,
.mkoh-order-hub fieldset,
.mkoh-order-hub legend {
	margin-top: 0;
}

.mkoh-order-hub h1,
.mkoh-order-hub h2,
.mkoh-order-hub h3,
.mkoh-order-hub h4 {
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.mkoh-order-hub button,
.mkoh-order-hub input,
.mkoh-order-hub select,
.mkoh-order-hub textarea {
	font: inherit;
}

.mkoh-order-hub button {
	cursor: pointer;
}

.mkoh-order-hub button:disabled {
	cursor: not-allowed;
}

.mkoh-order-hub :where(button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid rgba( 53, 92, 68, 0.48 );
	outline-offset: 3px;
}

.mkoh-hero {
	position: relative;
	min-height: 590px;
	overflow: hidden;
	background: #d8c4a9;
}

.mkoh-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center center;
	filter: saturate( 0.92 ) contrast( 1.02 ) sepia( 0.08 );
}

.mkoh-hero__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient( 90deg, rgba( 255, 248, 237, 0.97 ) 0%, rgba( 255, 248, 237, 0.91 ) 30%, rgba( 255, 248, 237, 0.12 ) 66%, rgba( 33, 23, 15, 0.08 ) 100% ),
		linear-gradient( 180deg, rgba( 255, 255, 255, 0.15 ) 0%, transparent 62%, rgba( 33, 23, 15, 0.22 ) 100% );
}

.mkoh-hero__inner,
.mkoh-shell,
.mkoh-footer__inner {
	position: relative;
	width: min( 1180px, calc( 100% - 48px ) );
	margin: 0 auto;
}

.mkoh-site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 100px;
	border-bottom: 1px solid rgba( 85, 61, 38, 0.17 );
}

.mkoh-brand {
	display: inline-flex;
	gap: 13px;
	align-items: center;
}

.mkoh-brand__mark {
	display: inline-grid;
	width: 48px;
	height: 48px;
	place-items: center;
	flex: 0 0 48px;
	border-radius: 50%;
	color: var(--mkoh-cream);
	background: var(--mkoh-charcoal);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 29px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	box-shadow: inset 0 0 0 2px rgba( 255, 255, 255, 0.13 );
}

.mkoh-brand__words {
	display: flex;
	flex-direction: column;
	line-height: 1.12;
}

.mkoh-brand__words strong {
	color: var(--mkoh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	letter-spacing: -0.02em;
}

.mkoh-brand__words small {
	margin-top: 4px;
	color: var(--mkoh-ink-soft);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.mkoh-location-pill {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 9px 14px;
	border: 1px solid rgba( 33, 23, 15, 0.16 );
	border-radius: 999px;
	color: var(--mkoh-ink);
	background: rgba( 255, 252, 247, 0.77 );
	font-size: 13px;
	font-weight: 750;
	backdrop-filter: blur( 12px );
}

.mkoh-location-pill svg {
	width: 16px;
	height: 16px;
	fill: var(--mkoh-terracotta);
}

.mkoh-hero__content {
	width: min( 560px, 58% );
	padding: 78px 0 125px;
}

.mkoh-eyebrow,
.mkoh-kicker {
	margin-bottom: 14px;
	color: var(--mkoh-terracotta);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.mkoh-hero h1 {
	max-width: 600px;
	margin-bottom: 22px;
	font-size: clamp( 48px, 6.4vw, 82px );
	font-weight: 600;
}

.mkoh-hero__lead {
	max-width: 510px;
	margin-bottom: 30px;
	color: #4c3e33;
	font-size: clamp( 17px, 1.7vw, 20px );
	line-height: 1.55;
}

.mkoh-proof-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
	padding: 0;
	margin-bottom: 0;
	list-style: none;
}

.mkoh-proof-list li {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--mkoh-ink);
	font-size: 13px;
	font-weight: 750;
}

.mkoh-proof-list li span {
	display: inline-grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 50%;
	color: white;
	background: var(--mkoh-green);
	font-size: 11px;
}

.mkoh-shell {
	padding: 0 0 96px;
}

.mkoh-mode-switch {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: min( 600px, calc( 100% - 32px ) );
	padding: 6px;
	margin: -34px auto 68px;
	border: 1px solid rgba( 61, 40, 22, 0.11 );
	border-radius: 999px;
	background: rgba( 255, 252, 247, 0.94 );
	box-shadow: 0 13px 38px rgba( 52, 32, 13, 0.16 );
	backdrop-filter: blur( 15px );
}

.mkoh-mode-switch__button {
	display: inline-flex;
	min-height: 56px;
	gap: 10px;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 0;
	border-radius: 999px;
	color: #66574c;
	background: transparent;
	font-size: 14px;
	font-weight: 800;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.mkoh-mode-switch__button svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.mkoh-mode-switch__button.is-active {
	color: #fff9f0;
	background: var(--mkoh-charcoal);
	box-shadow: 0 7px 18px rgba( 31, 25, 20, 0.21 );
}

.mkoh-mode-switch__button:not(.is-active):hover {
	color: var(--mkoh-ink);
	background: #f4ebde;
}

.mkoh-menu-intro {
	display: flex;
	gap: 28px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 34px;
}

.mkoh-menu-intro h2,
.mkoh-join-card h2,
.mkoh-order-success h2 {
	margin-bottom: 8px;
	font-size: clamp( 34px, 4vw, 50px );
	font-weight: 600;
}

.mkoh-muted {
	margin-bottom: 0;
	color: var(--mkoh-ink-soft);
	font-size: 14px;
}

.mkoh-cutoff {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	padding: 10px 14px;
	margin-bottom: 8px;
	border: 1px solid #ecd5b6;
	border-radius: 999px;
	color: #6d431d;
	background: #fff2dc;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.mkoh-cutoff > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--mkoh-terracotta);
	box-shadow: 0 0 0 4px rgba( 204, 98, 44, 0.14 );
}

.mkoh-notice {
	display: flex;
	gap: 10px 18px;
	align-items: center;
	padding: 18px 20px;
	margin-bottom: 32px;
	border: 1px solid #dfceb9;
	border-radius: var(--mkoh-radius-sm);
	background: #fbf0df;
}

.mkoh-notice strong {
	font-size: 15px;
}

.mkoh-notice span {
	color: var(--mkoh-ink-soft);
	font-size: 14px;
}

.mkoh-notice--closed {
	border-color: #e9c4b5;
	background: #fff0ea;
}

.mkoh-text-button {
	padding: 4px 0;
	margin-left: auto;
	border: 0;
	color: var(--mkoh-amber-dark);
	background: transparent;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.mkoh-order-layout {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 345px, 405px );
	gap: 54px;
	align-items: start;
}

.mkoh-menu-group + .mkoh-menu-group {
	margin-top: 50px;
}

.mkoh-menu-group__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--mkoh-line);
}

.mkoh-menu-group__heading h3 {
	margin-bottom: 0;
	font-size: 27px;
	font-weight: 600;
}

.mkoh-menu-group__heading > span {
	color: #8a7b6d;
	font-size: 12px;
	font-weight: 700;
}

.mkoh-product-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 22px;
}

.mkoh-product-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--mkoh-line);
	border-radius: var(--mkoh-radius);
	background: #fff;
	box-shadow: 0 4px 20px rgba( 58, 37, 18, 0.035 );
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mkoh-product-card:hover {
	border-color: #d5bea1;
	box-shadow: 0 14px 32px rgba( 58, 37, 18, 0.09 );
	transform: translateY( -2px );
}

.mkoh-product-card.is-in-cart {
	border-color: rgba( 53, 92, 68, 0.64 );
	box-shadow: 0 0 0 2px rgba( 53, 92, 68, 0.1 ), 0 14px 32px rgba( 58, 37, 18, 0.08 );
}

.mkoh-product-card.is-unavailable {
	opacity: 0.67;
}

.mkoh-product-card__image {
	position: relative;
	height: 210px;
	overflow: hidden;
	background: #ede4d8;
}

.mkoh-product-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform 400ms ease;
}

.mkoh-product-card:hover .mkoh-product-card__image img {
	transform: scale( 1.025 );
}

.mkoh-sold-out {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 7px 11px;
	border-radius: 999px;
	color: white;
	background: rgba( 33, 23, 15, 0.86 );
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur( 5px );
}

.mkoh-product-card__body {
	display: flex;
	min-height: 204px;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.mkoh-product-card__title-row {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	gap: 12px;
	align-items: start;
}

.mkoh-product-card h4 {
	margin-bottom: 9px;
	font-size: 21px;
	font-weight: 600;
}

.mkoh-product-card__price,
.mkoh-product-card__price .amount {
	color: var(--mkoh-ink);
	font-size: 15px;
	font-weight: 850;
	white-space: nowrap;
}

.mkoh-product-card__price del {
	display: block;
	color: #9c8d80;
	font-size: 11px;
}

.mkoh-product-card__price ins {
	text-decoration: none;
}

.mkoh-product-card__body > p {
	margin-bottom: 20px;
	color: #75675b;
	font-size: 13px;
	line-height: 1.55;
}

.mkoh-quantity {
	display: inline-grid;
	grid-template-columns: 38px 40px 38px;
	align-items: center;
	align-self: flex-start;
	margin-top: auto;
	border: 1px solid #dfd2c3;
	border-radius: 999px;
	background: #fdf8f1;
}

.mkoh-quantity button {
	display: grid;
	width: 38px;
	height: 38px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	color: var(--mkoh-ink);
	background: transparent;
	font-size: 21px;
	line-height: 1;
}

.mkoh-quantity button:hover:not(:disabled) {
	color: white;
	background: var(--mkoh-green);
}

.mkoh-quantity button:disabled {
	opacity: 0.28;
}

.mkoh-quantity output {
	min-width: 30px;
	color: var(--mkoh-ink);
	font-size: 14px;
	font-weight: 850;
	text-align: center;
}

.mkoh-empty-menu {
	padding: 64px 28px;
	border: 1px dashed #d8c5ad;
	border-radius: var(--mkoh-radius);
	background: #fff9f0;
	text-align: center;
}

.mkoh-empty-menu__icon {
	display: block;
	margin-bottom: 14px;
	font-size: 42px;
}

.mkoh-empty-menu h3 {
	margin-bottom: 9px;
	font-size: 26px;
}

.mkoh-empty-menu p {
	margin-bottom: 0;
	color: var(--mkoh-ink-soft);
}

.mkoh-checkout {
	position: sticky;
	top: 24px;
}

.mkoh-checkout__card {
	padding: 28px;
	border: 1px solid #dfd2c3;
	border-radius: var(--mkoh-radius-lg);
	background: #fff;
	box-shadow: var(--mkoh-shadow);
}

.mkoh-checkout__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.mkoh-step-label {
	margin-bottom: 4px;
	color: var(--mkoh-terracotta);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.mkoh-checkout__heading h3 {
	margin-bottom: 0;
	font-size: 29px;
	font-weight: 600;
}

.mkoh-cart-count {
	display: grid;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	place-items: center;
	border-radius: 999px;
	color: white;
	background: var(--mkoh-charcoal);
	font-size: 12px;
	font-weight: 800;
}

.mkoh-cart-items {
	max-height: 245px;
	overflow: auto;
	padding-right: 3px;
	overscroll-behavior: contain;
}

.mkoh-cart-empty {
	padding: 20px;
	margin-bottom: 0;
	border-radius: var(--mkoh-radius-sm);
	color: #8a7a6c;
	background: #fbf6ee;
	font-size: 13px;
	text-align: center;
}

.mkoh-cart-line {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	gap: 5px 14px;
	padding: 11px 0;
	border-bottom: 1px solid #eee5d9;
}

.mkoh-cart-line:first-child {
	padding-top: 0;
}

.mkoh-cart-line__name {
	min-width: 0;
	overflow: hidden;
	font-size: 13px;
	font-weight: 750;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mkoh-cart-line__price {
	font-size: 13px;
	font-weight: 800;
}

.mkoh-cart-line__meta {
	color: #88796c;
	font-size: 11px;
}

.mkoh-cart-line__remove {
	justify-self: end;
	padding: 0;
	border: 0;
	color: #8a5140;
	background: transparent;
	font-size: 11px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mkoh-cart-total {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	justify-content: space-between;
	padding-top: 18px;
	margin-top: 3px;
}

.mkoh-cart-total > span {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	font-weight: 800;
}

.mkoh-cart-total small {
	margin-top: 2px;
	color: #938477;
	font-size: 9px;
	font-weight: 550;
}

.mkoh-cart-total > strong,
.mkoh-cart-total > strong .amount {
	color: var(--mkoh-ink);
	font-size: 20px;
	font-weight: 850;
}

.mkoh-minimum-order {
	padding: 8px 10px;
	margin: 10px 0 0;
	border-radius: 8px;
	color: #2d6849;
	background: #edf7f1;
	font-size: 10px;
	font-weight: 700;
}

.mkoh-minimum-order.is-unmet {
	color: #7a481c;
	background: #fff2df;
}

.mkoh-checkout hr {
	height: 1px;
	margin: 24px 0;
	border: 0;
	background: var(--mkoh-line);
}

.mkoh-fieldset {
	min-width: 0;
	padding: 0;
	margin: 0 0 18px;
	border: 0;
}

.mkoh-fieldset legend {
	display: flex;
	width: 100%;
	gap: 10px;
	align-items: center;
	padding: 0;
	margin-bottom: 14px;
	color: var(--mkoh-ink);
	font-family: inherit;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0;
}

.mkoh-fieldset legend > span {
	display: inline-grid;
	width: 23px;
	height: 23px;
	place-items: center;
	border-radius: 50%;
	color: white;
	background: var(--mkoh-terracotta);
	font-size: 10px;
}

.mkoh-choice-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 9px;
}

.mkoh-choice-card,
.mkoh-payment-choice {
	position: relative;
	display: flex;
	min-width: 0;
	gap: 10px;
	align-items: center;
	padding: 13px;
	border: 1px solid #dfd5c9;
	border-radius: var(--mkoh-radius-sm);
	background: #fff;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.mkoh-choice-card:hover,
.mkoh-payment-choice:hover {
	border-color: #bfa78b;
}

.mkoh-choice-card.is-selected,
.mkoh-payment-choice.is-selected {
	border-color: var(--mkoh-green);
	background: #f0f6f1;
	box-shadow: 0 0 0 1px rgba( 53, 92, 68, 0.13 );
}

.mkoh-choice-card input,
.mkoh-payment-choice input {
	position: absolute;
	width: 1px;
	height: 1px;
	top: 50%;
	left: 50%;
	overflow: hidden;
	opacity: 0;
}

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

.mkoh-choice-card:has(input:focus-visible),
.mkoh-payment-choice:has(input:focus-visible) {
	outline: 3px solid rgba( 53, 92, 68, 0.42 );
	outline-offset: 2px;
}

.mkoh-choice-card__icon {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	flex: 0 0 34px;
	border-radius: 50%;
	color: var(--mkoh-terracotta);
	background: #f9ead8;
}

.mkoh-choice-card__icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.mkoh-choice-card > span:last-child,
.mkoh-payment-choice > span:last-child {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.mkoh-choice-card strong,
.mkoh-payment-choice strong {
	font-size: 12px;
	line-height: 1.25;
}

.mkoh-choice-card small,
.mkoh-payment-choice small {
	margin-top: 3px;
	color: #7c6c60;
	font-size: 9px;
	line-height: 1.25;
}

.mkoh-fulfilment-details {
	margin-top: 9px;
	color: #75675c;
	font-size: 10px;
	line-height: 1.45;
}

.mkoh-fulfilment-details p {
	padding: 8px 10px;
	margin: 0;
	border-radius: 8px;
	background: #f8f3ed;
}

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

.mkoh-field {
	min-width: 0;
	margin-bottom: 12px;
}

.mkoh-field > label {
	display: block;
	margin-bottom: 6px;
	color: #4f4238;
	font-size: 11px;
	font-weight: 750;
}

.mkoh-field label > span {
	margin-left: 2px;
	color: var(--mkoh-error);
}

.mkoh-field label small {
	color: #8a7a6c;
	font-size: 9px;
	font-weight: 500;
}

.mkoh-field input,
.mkoh-field select,
.mkoh-field textarea,
.mkoh-order-hub select {
	width: 100%;
	min-height: 45px;
	padding: 10px 12px;
	border: 1px solid #d9cdbf;
	border-radius: 10px;
	color: var(--mkoh-ink);
	background: #fffcf8;
	box-shadow: none;
	font-size: 13px;
	line-height: 1.3;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.mkoh-field textarea {
	min-height: 78px;
	resize: vertical;
}

.mkoh-field input::placeholder,
.mkoh-field textarea::placeholder {
	color: #a4978b;
	opacity: 1;
}

.mkoh-field input:hover,
.mkoh-field select:hover,
.mkoh-field textarea:hover,
.mkoh-order-hub select:hover {
	border-color: #bea991;
}

.mkoh-field input:focus,
.mkoh-field select:focus,
.mkoh-field textarea:focus,
.mkoh-order-hub select:focus {
	border-color: var(--mkoh-green);
	outline: 0;
	background: #fff;
	box-shadow: 0 0 0 3px rgba( 53, 92, 68, 0.12 );
}

.mkoh-field input[aria-invalid="true"],
.mkoh-field select[aria-invalid="true"],
.mkoh-field textarea[aria-invalid="true"],
.mkoh-order-hub select[aria-invalid="true"] {
	border-color: var(--mkoh-error);
	box-shadow: 0 0 0 3px rgba( 158, 49, 45, 0.09 );
}

.mkoh-field__hint {
	margin: 6px 0 0;
	color: #8c7d70;
	font-size: 9px;
	line-height: 1.45;
}

.mkoh-payment-choice + .mkoh-payment-choice {
	margin-top: 8px;
}

.mkoh-payment-choice.is-disabled {
	display: none;
}

.mkoh-radio-dot {
	position: relative;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border: 2px solid #b8aa9c;
	border-radius: 50%;
	background: white;
}

.mkoh-payment-choice.is-selected .mkoh-radio-dot {
	border-color: var(--mkoh-green);
}

.mkoh-payment-choice.is-selected .mkoh-radio-dot::after {
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--mkoh-green);
	content: "";
}

.mkoh-form-message {
	padding: 11px 13px;
	margin: 14px 0;
	border: 1px solid #e3b6b3;
	border-radius: 10px;
	color: #75211f;
	background: #fff1f0;
	font-size: 12px;
}

.mkoh-form-message.is-success {
	border-color: #afd0bb;
	color: #175d38;
	background: #edf8f1;
}

.mkoh-primary-button {
	display: flex;
	width: 100%;
	min-height: 52px;
	gap: 12px;
	align-items: center;
	justify-content: center;
	padding: 13px 18px;
	border: 0;
	border-radius: 999px;
	color: #fffaf2;
	background: var(--mkoh-charcoal);
	box-shadow: 0 9px 23px rgba( 33, 23, 15, 0.18 );
	font-size: 13px;
	font-weight: 850;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mkoh-primary-button svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	transition: transform 160ms ease;
}

.mkoh-primary-button:hover:not(:disabled) {
	background: #3b322b;
	box-shadow: 0 13px 26px rgba( 33, 23, 15, 0.25 );
	transform: translateY( -1px );
}

.mkoh-primary-button:hover:not(:disabled) svg {
	transform: translateX( 3px );
}

.mkoh-primary-button:disabled {
	box-shadow: none;
	opacity: 0.42;
}

.mkoh-primary-button.is-loading {
	position: relative;
	color: transparent;
}

.mkoh-primary-button.is-loading::after {
	position: absolute;
	width: 19px;
	height: 19px;
	border: 2px solid rgba( 255, 255, 255, 0.4 );
	border-top-color: white;
	border-radius: 50%;
	content: "";
	animation: mkoh-spin 650ms linear infinite;
}

.mkoh-secure-note {
	display: flex;
	gap: 6px;
	align-items: center;
	justify-content: center;
	margin: 10px 0 0;
	color: #8b7c70;
	font-size: 9px;
	text-align: center;
}

.mkoh-secure-note svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.mkoh-mobile-cart-bar {
	display: none;
}

.mkoh-order-success {
	max-width: 650px;
	padding: 64px 40px;
	margin: 30px auto 0;
	border: 1px solid #c5dbc9;
	border-radius: var(--mkoh-radius-lg);
	background: #f2faf4;
	box-shadow: var(--mkoh-shadow);
	text-align: center;
}

.mkoh-order-success__icon {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin: 0 auto 20px;
	border-radius: 50%;
	color: white;
	background: var(--mkoh-success);
	font-size: 27px;
	box-shadow: 0 0 0 9px rgba( 31, 112, 69, 0.1 );
}

.mkoh-order-success > p:not(.mkoh-kicker):not(.mkoh-order-number) {
	color: var(--mkoh-ink-soft);
}

.mkoh-order-number {
	display: inline-flex;
	gap: 6px;
	padding: 9px 15px;
	margin: 14px 0 0;
	border-radius: 999px;
	background: white;
	font-size: 13px;
}

.mkoh-join-panel {
	max-width: 930px;
	margin: 0 auto;
}

.mkoh-join-card {
	display: grid;
	grid-template-columns: minmax( 0, 0.9fr ) minmax( 0, 1.1fr );
	min-height: 590px;
	overflow: hidden;
	border-radius: 34px;
	color: #fff9ef;
	background: var(--mkoh-charcoal);
	box-shadow: 0 25px 70px rgba( 38, 28, 19, 0.2 );
}

.mkoh-join-card__visual {
	position: relative;
	min-height: 460px;
	overflow: hidden;
	background:
		radial-gradient( circle at 33% 28%, rgba( 255, 244, 213, 0.18 ), transparent 23% ),
		linear-gradient( 145deg, #de8d32, #b8522d 75% );
}

.mkoh-join-card__visual::before,
.mkoh-join-card__visual::after {
	position: absolute;
	border: 1px solid rgba( 255, 248, 230, 0.23 );
	border-radius: 50%;
	content: "";
}

.mkoh-join-card__visual::before {
	width: 290px;
	height: 290px;
	top: -95px;
	left: -105px;
}

.mkoh-join-card__visual::after {
	width: 430px;
	height: 430px;
	right: -240px;
	bottom: -230px;
}

.mkoh-join-card__visual > svg {
	position: absolute;
	width: min( 82%, 330px );
	top: 50%;
	left: 50%;
	fill: rgba( 255, 248, 230, 0.1 );
	stroke: rgba( 255, 248, 230, 0.85 );
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	transform: translate( -50%, -50% );
}

.mkoh-join-card__sun {
	position: absolute;
	width: 135px;
	height: 135px;
	top: 55px;
	right: 35px;
	border-radius: 50%;
	background: rgba( 255, 225, 152, 0.2 );
	box-shadow: 0 0 65px rgba( 255, 211, 116, 0.28 );
}

.mkoh-join-card__stamp {
	position: absolute;
	right: 28px;
	bottom: 30px;
	display: grid;
	width: 96px;
	height: 96px;
	place-items: center;
	border: 1px solid rgba( 255, 250, 238, 0.65 );
	border-radius: 50%;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
	font-style: italic;
	line-height: 1.2;
	text-align: center;
	transform: rotate( 8deg );
}

.mkoh-join-card__content {
	padding: clamp( 44px, 6vw, 76px );
}

.mkoh-join-card__content .mkoh-kicker {
	color: #f0ae59;
}

.mkoh-join-card h2 {
	max-width: 450px;
	margin-bottom: 18px;
	color: #fff9ef;
}

.mkoh-join-card__content > p:not(.mkoh-kicker) {
	max-width: 440px;
	margin-bottom: 30px;
	color: rgba( 255, 249, 239, 0.7 );
	font-size: 15px;
}

.mkoh-join-form .mkoh-field > label {
	color: rgba( 255, 249, 239, 0.87 );
}

.mkoh-join-form .mkoh-field input {
	min-height: 50px;
	border-color: rgba( 255, 255, 255, 0.18 );
	color: white;
	background: rgba( 255, 255, 255, 0.075 );
}

.mkoh-join-form .mkoh-field input::placeholder {
	color: rgba( 255, 249, 239, 0.38 );
}

.mkoh-join-form .mkoh-field input:focus {
	border-color: #eeb367;
	background: rgba( 255, 255, 255, 0.11 );
	box-shadow: 0 0 0 3px rgba( 238, 179, 103, 0.15 );
}

.mkoh-consent {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	align-items: start;
	margin: 17px 0 22px;
	color: rgba( 255, 249, 239, 0.63 );
	font-size: 10px;
	line-height: 1.45;
	cursor: pointer;
}

.mkoh-consent input {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--mkoh-amber);
}

.mkoh-primary-button--light {
	color: var(--mkoh-charcoal);
	background: var(--mkoh-amber);
	box-shadow: 0 10px 25px rgba( 0, 0, 0, 0.2 );
}

.mkoh-primary-button--light:hover:not(:disabled) {
	color: var(--mkoh-charcoal);
	background: #f1b35e;
}

.mkoh-subscribe-success {
	display: grid;
	grid-template-columns: 45px 1fr;
	gap: 13px;
	align-items: center;
	padding: 17px;
	border: 1px solid rgba( 164, 221, 178, 0.35 );
	border-radius: var(--mkoh-radius-sm);
	background: rgba( 90, 157, 107, 0.14 );
}

.mkoh-subscribe-success > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	color: white;
	background: var(--mkoh-success);
	font-weight: 900;
}

.mkoh-subscribe-success strong {
	display: block;
	font-size: 14px;
}

.mkoh-subscribe-success p {
	margin: 3px 0 0;
	color: rgba( 255, 249, 239, 0.65 );
	font-size: 11px;
}

.mkoh-footer {
	padding: 40px 0;
	color: rgba( 255, 249, 239, 0.8 );
	background: #181411;
}

.mkoh-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mkoh-brand--footer .mkoh-brand__mark {
	color: var(--mkoh-charcoal);
	background: var(--mkoh-amber);
}

.mkoh-brand--footer .mkoh-brand__words strong,
.mkoh-brand--footer .mkoh-brand__words small {
	color: #fff9ef;
}

.mkoh-footer__inner > p {
	margin-bottom: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
	font-style: italic;
}

.mkoh-footer a {
	color: #fff9ef;
	text-underline-offset: 3px;
}

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

@media ( max-width: 1040px ) {
	.mkoh-order-layout {
		grid-template-columns: minmax( 0, 1fr ) 350px;
		gap: 32px;
	}

	.mkoh-product-grid {
		grid-template-columns: 1fr;
	}

	.mkoh-product-card {
		display: grid;
		grid-template-columns: 165px minmax( 0, 1fr );
	}

	.mkoh-product-card__image {
		height: 100%;
		min-height: 190px;
	}

	.mkoh-product-card__body {
		min-height: 190px;
	}
}

@media ( max-width: 820px ) {
	.mkoh-hero {
		min-height: 545px;
	}

	.mkoh-hero__shade {
		background:
			linear-gradient( 90deg, rgba( 255, 248, 237, 0.97 ) 0%, rgba( 255, 248, 237, 0.82 ) 54%, rgba( 255, 248, 237, 0.2 ) 100% ),
			linear-gradient( 180deg, rgba( 255, 255, 255, 0.15 ) 0%, transparent 62%, rgba( 33, 23, 15, 0.2 ) 100% );
	}

	.mkoh-hero__content {
		width: 70%;
		padding-top: 66px;
	}

	.mkoh-shell {
		padding-bottom: 72px;
	}

	.mkoh-mode-switch {
		margin-bottom: 52px;
	}

	.mkoh-order-layout {
		display: block;
	}

	.mkoh-checkout {
		position: static;
		margin-top: 52px;
	}

	.mkoh-checkout__card {
		max-width: 620px;
		margin: 0 auto;
	}

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

	.mkoh-product-card {
		display: flex;
	}

	.mkoh-product-card__image {
		height: 220px;
		min-height: 0;
	}

	.mkoh-product-card__body {
		min-height: 210px;
	}

	.mkoh-mobile-cart-bar:not([hidden]) {
		position: fixed;
		z-index: 9999;
		right: 16px;
		bottom: max( 14px, env( safe-area-inset-bottom ) );
		left: 16px;
		display: flex;
		min-height: 64px;
		align-items: center;
		justify-content: space-between;
		padding: 10px 17px;
		border: 1px solid rgba( 255, 255, 255, 0.13 );
		border-radius: 18px;
		color: white;
		background: rgba( 33, 23, 15, 0.95 );
		box-shadow: 0 15px 45px rgba( 23, 17, 12, 0.32 );
		backdrop-filter: blur( 14px );
	}

	.mkoh-mobile-cart-bar > span {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.mkoh-mobile-cart-bar strong,
	.mkoh-mobile-cart-bar .amount {
		color: white;
		font-size: 14px;
	}

	.mkoh-mobile-cart-bar small {
		margin-top: 2px;
		color: rgba( 255, 255, 255, 0.62 );
		font-size: 9px;
	}

	.mkoh-join-card {
		grid-template-columns: 0.72fr 1.28fr;
	}
}

@media ( max-width: 640px ) {
	.mkoh-order-hub {
		font-size: 15px;
	}

	.mkoh-hero {
		min-height: 620px;
	}

	.mkoh-hero__image {
		object-position: 69% center;
	}

	.mkoh-hero__shade {
		background:
			linear-gradient( 180deg, rgba( 255, 248, 237, 0.99 ) 0%, rgba( 255, 248, 237, 0.93 ) 45%, rgba( 255, 248, 237, 0.42 ) 74%, rgba( 33, 23, 15, 0.16 ) 100% );
	}

	.mkoh-hero__inner,
	.mkoh-shell,
	.mkoh-footer__inner {
		width: min( 100% - 32px, 1180px );
	}

	.mkoh-site-header {
		min-height: 84px;
	}

	.mkoh-brand__mark {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
		font-size: 25px;
	}

	.mkoh-brand__words strong {
		font-size: 17px;
	}

	.mkoh-brand__words small {
		font-size: 8px;
	}

	.mkoh-location-pill {
		padding: 8px 10px;
		font-size: 11px;
	}

	.mkoh-location-pill svg {
		width: 14px;
	}

	.mkoh-hero__content {
		width: 100%;
		padding: 58px 0 180px;
	}

	.mkoh-hero h1 {
		max-width: 420px;
		margin-bottom: 17px;
		font-size: clamp( 45px, 14vw, 63px );
	}

	.mkoh-hero__lead {
		max-width: 410px;
		font-size: 16px;
	}

	.mkoh-proof-list {
		gap: 9px 14px;
	}

	.mkoh-proof-list li {
		font-size: 11px;
	}

	.mkoh-mode-switch {
		width: calc( 100% - 8px );
		margin-top: -31px;
		margin-bottom: 44px;
	}

	.mkoh-mode-switch__button {
		min-height: 50px;
		gap: 7px;
		padding: 9px 10px;
		font-size: 12px;
	}

	.mkoh-mode-switch__button svg {
		width: 17px;
	}

	.mkoh-menu-intro {
		display: block;
		margin-bottom: 25px;
	}

	.mkoh-menu-intro h2 {
		font-size: 37px;
	}

	.mkoh-cutoff {
		margin: 15px 0 0;
	}

	.mkoh-notice {
		align-items: flex-start;
		flex-direction: column;
	}

	.mkoh-text-button {
		margin-left: 0;
	}

	.mkoh-menu-group + .mkoh-menu-group {
		margin-top: 38px;
	}

	.mkoh-menu-group__heading h3 {
		font-size: 24px;
	}

	.mkoh-product-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.mkoh-product-card {
		display: grid;
		grid-template-columns: 128px minmax( 0, 1fr );
		border-radius: 17px;
	}

	.mkoh-product-card:hover {
		transform: none;
	}

	.mkoh-product-card__image {
		height: 100%;
		min-height: 165px;
	}

	.mkoh-product-card__body {
		min-height: 165px;
		padding: 15px;
	}

	.mkoh-product-card__title-row {
		display: block;
	}

	.mkoh-product-card h4 {
		padding-right: 0;
		margin-bottom: 3px;
		font-size: 18px;
	}

	.mkoh-product-card__price {
		margin-bottom: 7px;
	}

	.mkoh-product-card__body > p {
		display: -webkit-box;
		overflow: hidden;
		margin-bottom: 12px;
		font-size: 11px;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.mkoh-quantity {
		grid-template-columns: 32px 32px 32px;
	}

	.mkoh-quantity button {
		width: 32px;
		height: 32px;
	}

	.mkoh-checkout {
		margin-top: 40px;
	}

	.mkoh-checkout__card {
		padding: 22px 18px;
		border-radius: 22px;
	}

	.mkoh-checkout__heading h3 {
		font-size: 27px;
	}

	.mkoh-fields-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mkoh-choice-card {
		padding: 11px 9px;
	}

	.mkoh-choice-card__icon {
		width: 31px;
		height: 31px;
		flex-basis: 31px;
	}

	.mkoh-choice-card small {
		display: none;
	}

	.mkoh-join-card {
		display: block;
		border-radius: 25px;
	}

	.mkoh-join-card__visual {
		min-height: 235px;
	}

	.mkoh-join-card__visual > svg {
		width: 245px;
	}

	.mkoh-join-card__stamp {
		width: 75px;
		height: 75px;
		right: 18px;
		bottom: 17px;
		font-size: 10px;
	}

	.mkoh-join-card__content {
		padding: 36px 24px 40px;
	}

	.mkoh-join-card h2 {
		font-size: 38px;
	}

	.mkoh-order-success {
		padding: 48px 22px;
	}

	.mkoh-footer__inner {
		gap: 30px;
		align-items: flex-start;
		flex-direction: column;
	}
}

@media ( max-width: 390px ) {
	.mkoh-location-pill {
		display: none;
	}

	.mkoh-product-card {
		grid-template-columns: 112px minmax( 0, 1fr );
	}

	.mkoh-product-card__body {
		padding: 13px;
	}

	.mkoh-choice-grid {
		grid-template-columns: 1fr;
	}

	.mkoh-choice-card small {
		display: block;
	}
}

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

@media print {
	.mkoh-mode-switch,
	.mkoh-quantity,
	.mkoh-checkout,
	.mkoh-mobile-cart-bar,
	.mkoh-join-panel,
	.mkoh-footer {
		display: none !important;
	}

	.mkoh-hero {
		min-height: 280px;
	}

	.mkoh-product-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}
body.mkoh-standalone-page {
	margin: 0;
	background: #0b0b0b;
}

.mkoh-standalone-main {
	min-height: 100vh;
}
