/* =========================================================
   ARCHE PROMOTIONS
   ========================================================= */

.arche-promotion-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;

	display: none;
	align-items: center;
	justify-content: center;

	padding: 24px;
}

.arche-promotion-modal.is-open {
	display: flex;
}

.arche-promotion-modal__backdrop {
	position: absolute;
	inset: 0;

	background: rgba(5, 6, 7, 0.84);

	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

.arche-promotion-modal__dialog {
	position: relative;
	z-index: 1;

	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1.1fr);

	width: min(100%, var(--arche-promo-width, 900px));
	max-height: calc(100vh - 48px);

	overflow: auto;

	color: #f2f1ec;
	background:
		radial-gradient(
			circle at 90% 8%,
			rgba(164, 119, 57, 0.16),
			transparent 35%
		),
		linear-gradient(
			145deg,
			#1d2021 0%,
			#101213 100%
		);

	border: 1px solid rgba(164, 119, 57, 0.55);
	border-radius: 10px;

	box-shadow: 0 32px 100px rgba(0, 0, 0, 0.62);

	outline: none;
}

.arche-promotion-modal__dialog.arche-layout-image-right {
	grid-template-columns: minmax(340px, 1.1fr) minmax(280px, 0.9fr);
}

.arche-promotion-modal__dialog.arche-layout-image-right
.arche-promotion-modal__media {
	order: 2;
}

.arche-promotion-modal__dialog.arche-layout-image-top {
	grid-template-columns: 1fr;
}

.arche-promotion-modal__dialog.arche-layout-content-only {
	display: block;
	max-width: min(100%, 650px);
}

.arche-promotion-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 4;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	padding: 0;

	color: rgba(242, 241, 236, 0.82);
	background: rgba(15, 17, 18, 0.72);

	border: 1px solid rgba(164, 119, 57, 0.45);
	border-radius: 50%;

	font-family: Arial, sans-serif;
	font-size: 27px;
	font-weight: 300;
	line-height: 1;

	cursor: pointer;
}

.arche-promotion-modal__close:hover,
.arche-promotion-modal__close:focus-visible {
	color: #ffffff;
	background: #a47739;
	border-color: #a47739;
}

.arche-promotion-modal__media {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 430px;

	padding: clamp(26px, 5vw, 52px);

	background:
		radial-gradient(
			circle at center,
			rgba(164, 119, 57, 0.18),
			transparent 66%
		),
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.035),
			rgba(255, 255, 255, 0)
		);

	border-right: 1px solid rgba(164, 119, 57, 0.24);
}

.arche-layout-image-right .arche-promotion-modal__media {
	border-right: 0;
	border-left: 1px solid rgba(164, 119, 57, 0.24);
}

.arche-layout-image-top .arche-promotion-modal__media {
	min-height: 280px;
	border-right: 0;
	border-bottom: 1px solid rgba(164, 119, 57, 0.24);
}

.arche-promotion-modal__media img {
	display: block;

	max-width: 100%;
	max-height: 440px;

	width: auto;
	height: auto;

	object-fit: contain;

	filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.42));
}

.arche-promotion-modal__content {
	display: flex;
	flex-direction: column;
	justify-content: center;

	padding: clamp(38px, 6vw, 66px);
}

.arche-promotion-modal__eyebrow {
	margin: 0 0 12px;

	color: #d2b06f;

	font-family: "Raleway", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.arche-promotion-modal h2 {
	margin: 0 0 18px;

	color: #f2f1ec;

	font-family: "Cinzel", serif;
	font-size: clamp(29px, 4.2vw, 46px);
	font-weight: 500;
	line-height: 1.14;
}

.arche-promotion-modal__message {
	margin: 0 0 24px;

	color: rgba(242, 241, 236, 0.74);

	font-family: "Raleway", sans-serif;
	font-size: 15px;
	line-height: 1.72;
}

.arche-promotion-modal__coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;

	overflow: hidden;

	border: 1px dashed rgba(210, 176, 111, 0.76);
	border-radius: 5px;

	background: rgba(255, 255, 255, 0.035);
}

.arche-promotion-modal__coupon > span {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 54px;

	padding: 11px 18px;

	color: #f2f1ec;

	font-family: "Raleway", sans-serif;
	font-size: 17px;
	font-weight: 750;
	letter-spacing: 0.13em;
}

.arche-promotion-modal__coupon button {
	min-width: 112px;

	padding: 10px 15px;

	color: #ffffff;
	background: #a47739;

	border: 0;
	border-left: 1px solid rgba(210, 176, 111, 0.38);

	font-family: "Raleway", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;

	cursor: pointer;
}

.arche-promotion-modal__coupon button:hover,
.arche-promotion-modal__coupon button:focus-visible {
	background: #8d642f;
}

.arche-promotion-modal__status {
	min-height: 20px;
	margin: 7px 0 0;

	color: #d2b06f;

	font-family: "Raleway", sans-serif;
	font-size: 12px;
	font-weight: 600;
}

.arche-promotion-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;

	margin-top: 19px;
}

.arche-promotion-modal__primary,
.arche-promotion-modal__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;

	padding: 11px 19px;

	border-radius: 3px;

	font-family: "Raleway", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.035em;

	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.arche-promotion-modal__primary {
	color: #ffffff;
	background: #a47739;
	border: 1px solid #a47739;
}

.arche-promotion-modal__primary:hover {
	color: #ffffff;
	background: #8d642f;
	border-color: #8d642f;
}

.arche-promotion-modal__secondary {
	color: #d2b06f;
	background: transparent;
	border: 1px solid rgba(164, 119, 57, 0.68);
}

.arche-promotion-modal__secondary:hover {
	color: #ffffff;
	background: rgba(164, 119, 57, 0.14);
}

.arche-promotion-modal__fine-print {
	margin: 22px 0 0;

	color: rgba(242, 241, 236, 0.44);

	font-family: "Raleway", sans-serif;
	font-size: 10px;
	line-height: 1.55;
}

body.arche-promotion-open {
	overflow: hidden;
}

@media (max-width: 760px) {
	.arche-promotion-modal {
		padding: 12px;
	}

	.arche-promotion-modal__dialog,
	.arche-promotion-modal__dialog.arche-layout-image-right {
		grid-template-columns: 1fr;
		max-height: calc(100vh - 24px);
	}

	.arche-promotion-modal__dialog.arche-layout-image-right
	.arche-promotion-modal__media {
		order: 0;
	}

	.arche-promotion-modal__media,
	.arche-layout-image-right .arche-promotion-modal__media {
		min-height: 230px;
		padding: 28px;

		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(164, 119, 57, 0.24);
	}

	.arche-promotion-modal__media img {
		max-height: 270px;
	}

	.arche-promotion-modal__content {
		padding: 34px 22px 28px;
	}

	.arche-promotion-modal__actions {
		flex-direction: column;
	}

	.arche-promotion-modal__primary,
	.arche-promotion-modal__secondary {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.arche-promotion-modal__coupon {
		grid-template-columns: 1fr;
	}

	.arche-promotion-modal__coupon button {
		min-height: 42px;

		border-left: 0;
		border-top: 1px solid rgba(210, 176, 111, 0.32);
	}
}

@media (prefers-reduced-motion: reduce) {
	.arche-promotion-modal *,
	.arche-promotion-modal *::before,
	.arche-promotion-modal *::after {
		transition: none !important;
	}
}
