:root {
	--mbc-ivory: #fff9f2;
	--mbc-blush: #ead4cf;
	--mbc-champagne: #d6b56d;
	--mbc-espresso: #17120f;
	--mbc-rose: #9a7534;
	--mbc-white: #fff;
}

.mbc-nco-offer,
.mbc-nco-dialog,
.mbc-nco-claim {
	box-sizing: border-box;
	color: var(--mbc-espresso);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mbc-nco-offer {
	background: var(--mbc-ivory);
	border: 1px solid #d6b56d;
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(23, 18, 15, .12);
	color: #17120f;
	margin: 2rem auto;
	max-width: 980px;
	padding: clamp(2rem, 7vw, 5rem);
	text-align: center;
}

.mbc-nco-offer > p:not(.mbc-nco-eyebrow):not(.mbc-nco-terms) {
	color: #2a2420;
	line-height: 1.7;
	margin-left: auto;
	margin-right: auto;
	max-width: 44rem;
}

.mbc-nco-offer h2,
.mbc-nco-dialog h2,
.mbc-nco-claim h1,
.mbc-nco-success-copy h3 {
	color: #17120f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 7vw, 3.6rem);
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1.05;
	margin: .45em 0;
	text-wrap: balance;
}
.mbc-nco-nowrap { white-space: nowrap; }

.mbc-nco-eyebrow {
	color: #9a7534;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.mbc-nco-offer a.mbc-nco-button,
.mbc-nco-offer a.mbc-nco-button:visited,
.mbc-nco-dialog .mbc-nco-button,
.mbc-nco-dialog .mbc-nco-button:visited,
.mbc-nco-claim .mbc-nco-button,
.mbc-nco-claim .mbc-nco-button:visited {
	align-items: center;
	background: #17120f !important;
	border: 1px solid #17120f !important;
	border-radius: 8px;
	color: #fff9f2 !important;
	cursor: pointer;
	display: inline-flex;
	font-size: .85rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .08em;
	margin: 1rem 0;
	min-height: 54px;
	padding: .85rem 1.5rem;
	text-decoration: none;
	text-transform: uppercase;
}

.mbc-nco-offer a.mbc-nco-button:hover,
.mbc-nco-offer a.mbc-nco-button:focus-visible,
.mbc-nco-offer a.mbc-nco-button:active,
.mbc-nco-dialog .mbc-nco-button:hover,
.mbc-nco-dialog .mbc-nco-button:focus-visible,
.mbc-nco-dialog .mbc-nco-button:active,
.mbc-nco-claim .mbc-nco-button:hover,
.mbc-nco-claim .mbc-nco-button:focus-visible,
.mbc-nco-claim .mbc-nco-button:active {
	background: #b8924f !important;
	border-color: #b8924f !important;
	color: #17120f !important;
}

.mbc-nco-button:focus-visible,
.mbc-nco-close:focus-visible,
.mbc-nco-dialog input:focus-visible,
.mbc-nco-dialog a:focus-visible {
	outline: 3px solid var(--mbc-champagne);
	outline-offset: 3px;
}

.mbc-nco-terms {
	color: #4c433d;
	font-size: .875rem;
	line-height: 1.5;
	margin: .75rem auto 0;
	max-width: 52rem;
}

.mbc-nco-modal[hidden] { display: none; }
.mbc-nco-modal {
	align-items: center;
	justify-content: center;
	inset: 0;
	position: fixed;
	z-index: 2147483000;
}
.mbc-nco-backdrop {
	background: rgba(35, 23, 20, .66);
	inset: 0;
	position: absolute;
}
.mbc-nco-dialog {
	background: var(--mbc-ivory);
	border: 1px solid #d6b56d;
	border-radius: 12px;
	bottom: max(12px, env(safe-area-inset-bottom));
	box-shadow: 0 24px 80px rgba(30, 20, 18, .28);
	left: 12px;
	max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)));
	overflow: auto;
	position: absolute;
	right: 12px;
}
.mbc-nco-content { padding: 2rem 1.25rem max(1.5rem, env(safe-area-inset-bottom)); }
.mbc-nco-close {
	align-items: center;
	background: var(--mbc-espresso);
	border: 1px solid rgba(52, 35, 31, .25);
	border-radius: 50%;
	color: var(--mbc-ivory);
	cursor: pointer;
	display: flex;
	font-size: 1.65rem;
	height: 44px;
	justify-content: center;
	position: absolute;
	right: 12px;
	top: 12px;
	width: 44px;
	z-index: 2;
}
.mbc-nco-media { max-height: 180px; overflow: hidden; }
.mbc-nco-image { height: 180px; object-fit: cover; width: 100%; }
.mbc-nco-dialog label { display: block; font-size: .85rem; font-weight: 600; margin: .75rem 0; }
.mbc-nco-dialog input:not([type="checkbox"]),
.mbc-nco-claim input:not([type="checkbox"]) {
	background: var(--mbc-white);
	border: 1px solid #8e7d76;
	border-radius: 0;
	box-sizing: border-box;
	color: var(--mbc-espresso);
	font: inherit;
	min-height: 48px;
	padding: .7rem;
	width: 100%;
}
.mbc-nco-check { align-items: flex-start; display: flex !important; font-size: .76rem !important; font-weight: 400 !important; gap: .65rem; line-height: 1.45; }
.mbc-nco-check input { flex: 0 0 auto; height: 20px; margin-top: 2px; width: 20px; }
.mbc-nco-hp { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 0; }
.mbc-nco-status { color: #8a1f18; font-size: .85rem; min-height: 1.4em; }
.mbc-nco-code { background: var(--mbc-blush); font-size: 1rem; padding: 1rem; }
.mbc-nco-code strong { font-size: 1.4rem; letter-spacing: .12em; }
body.mbc-nco-open { overflow: hidden; }

.mbc-nco-claim {
	background: linear-gradient(145deg, var(--mbc-ivory), #f7ece7);
	padding: clamp(2rem, 7vw, 5rem) 1rem;
}
.mbc-nco-claim-inner {
	background: var(--mbc-white);
	border: 1px solid rgba(200, 168, 117, .55);
	margin: 0 auto;
	max-width: 760px;
	padding: clamp(1.5rem, 6vw, 3.5rem);
}
.mbc-nco-claim label { display: block; font-size: .85rem; font-weight: 600; margin: .75rem 0; }

@media (min-width: 700px) {
	.mbc-nco-dialog { bottom: auto; left: 50%; max-width: 620px; right: auto; top: 50%; transform: translate(-50%, -50%); width: calc(100% - 48px); }
	.mbc-nco-dialog:has(.mbc-nco-media) { display: grid; grid-template-columns: minmax(220px, .8fr) 1.2fr; }
	.mbc-nco-media, .mbc-nco-image { height: 100%; max-height: none; min-height: 100%; }
	.mbc-nco-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
	.mbc-nco-dialog { animation: mbc-nco-enter .22s ease-out; }
	@keyframes mbc-nco-enter { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
	@media (min-width: 700px) { @keyframes mbc-nco-enter { from { opacity: 0; transform: translate(-50%, calc(-50% + 15px)); } to { opacity: 1; transform: translate(-50%, -50%); } } }
}
