/*
 * Majestic Native Cart Page
 * v0.11.0
 */

.majestic-cart-page {
	--majestic-cart-border: color-mix(in srgb, var(--majestic-color-text, #222) 14%, transparent);
	--majestic-cart-muted: color-mix(in srgb, var(--majestic-color-text, #222) 64%, transparent);
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 24px 76px;
	color: var(--majestic-color-text, #222);
	font-family: var(--majestic-font-body, inherit);
}

.majestic-cart-page *,
.majestic-cart-page *::before,
.majestic-cart-page *::after {
	box-sizing: border-box;
}

.majestic-cart-page__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
	gap: 42px;
	align-items: end;
	margin-bottom: 22px;
}

.majestic-cart-page h1.majestic-cart-page__heading,
.elementor .majestic-cart-page h1.majestic-cart-page__heading {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--majestic-color-text, #222) !important;
	font-family: var(--e-global-typography-primary-font-family, Georgia, serif) !important;
	font-weight: var(--e-global-typography-primary-font-weight, 400) !important;
	font-style: var(--e-global-typography-primary-font-style, normal) !important;
	font-size: 46px !important;
	line-height: 1.05 !important;
	letter-spacing: var(--e-global-typography-primary-letter-spacing, 0) !important;
	text-transform: var(--e-global-typography-primary-text-transform, none) !important;
}

.majestic-cart-page__goal {
	text-align: right;
}

.majestic-cart-page__goal-message {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
}

.majestic-cart-page__goal-message strong {
	font-weight: 700;
}

.majestic-cart-page__progress {
	position: relative;
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(34, 34, 34, .14);
}

.majestic-cart-page__progress-fill {
	display: block;
	width: var(--majestic-cart-progress, 0%);
	height: 100%;
	border-radius: inherit;
	background: var(--majestic-color-text, #222);
	transition: width .25s ease;
}

.majestic-cart-page__rule {
	height: 1px;
	margin: 0 0 34px;
	background: var(--majestic-cart-border);
}

.majestic-cart-page__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.majestic-cart-page__item {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid var(--majestic-cart-border);
}

.majestic-cart-page__item-media {
	width: 110px;
	height: 110px;
	overflow: hidden;
	background: color-mix(in srgb, var(--majestic-color-secondary, #f7f3ed) 60%, #fff);
}

.majestic-cart-page__item-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.majestic-cart-page__item-content {
	min-width: 0;
}

.majestic-cart-page__item-title {
	margin: 0 0 7px !important;
	padding: 0 !important;
	color: var(--majestic-color-text, #222) !important;
	font-family: inherit !important;
	font-size: 17px !important;
	font-weight: 650 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.majestic-cart-page__item-title a {
	color: inherit !important;
	font: inherit !important;
	text-decoration: none !important;
}

.majestic-cart-page__variation {
	margin: 0 0 15px;
	color: var(--majestic-cart-muted);
	font-size: 12px;
	line-height: 1.45;
}

.majestic-cart-page__variation dl,
.majestic-cart-page__variation dt,
.majestic-cart-page__variation dd,
.majestic-cart-page__variation p {
	display: inline;
	margin: 0;
	padding: 0;
}

.majestic-cart-page__variation dt {
	font-weight: 500;
}

.majestic-cart-page__variation dt::after {
	content: ": ";
}

.majestic-cart-page__variation dd::after {
	content: " · ";
}

.majestic-cart-page__variation dd:last-child::after {
	content: "";
}

.majestic-cart-page__qty-row {
	display: flex;
	align-items: center;
	gap: 16px;
}

.majestic-cart-page__qty-label {
	font-size: 12px;
	font-weight: 600;
}

.majestic-cart-page__qty {
	display: inline-grid;
	grid-template-columns: 38px 48px 38px;
	height: 40px;
	overflow: hidden;
	border: 1px solid rgba(34,34,34,.22);
	border-radius: 7px;
}

.elementor .majestic-cart-page__qty-button,
.majestic-cart-page__qty-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--majestic-color-text, #222) !important;
	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
}

.majestic-cart-page__qty-value {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

.majestic-cart-page__item-side {
	display: flex;
	min-width: 125px;
	flex-direction: column;
	align-items: flex-end;
	gap: 20px;
}

.majestic-cart-page__item-price {
	font-size: 15px;
	font-weight: 650;
	white-space: nowrap;
}

.elementor .majestic-cart-page__remove,
.majestic-cart-page__remove {
	display: inline-block !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--majestic-cart-muted) !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.majestic-cart-page__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
	gap: 56px;
	align-items: start;
	padding-top: 30px;
}

.majestic-cart-page__coupon-toggle {
	display: inline-block;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: var(--majestic-color-text, #222);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
}

.majestic-cart-page__coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	max-width: 420px;
}

.majestic-cart-page__coupon[hidden] {
	display: none !important;
}

.majestic-cart-page__coupon input {
	width: 100%;
	height: 44px;
	padding: 10px 12px;
	border: 1px solid rgba(34,34,34,.22);
	border-radius: 0;
	background: transparent;
	color: var(--majestic-color-text, #222);
	font-family: inherit;
	font-size: 13px;
	box-shadow: none;
}

.elementor .majestic-cart-page__coupon-button,
.majestic-cart-page__coupon-button {
	min-width: 88px;
	height: 44px;
	padding: 8px 16px !important;
	border: 1px solid var(--majestic-color-text, #222) !important;
	border-radius: 0 !important;
	background: var(--majestic-color-text, #222) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
}

.majestic-cart-page__coupon-status {
	margin-top: 8px;
	min-height: 16px;
	font-size: 11px;
	line-height: 1.4;
}

.majestic-cart-page__coupon-status.is-error {
	color: #b42318;
}

.majestic-cart-page__summary {
	padding-top: 3px;
}

.majestic-cart-page__summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	font-size: 15px;
	line-height: 1.4;
}

.majestic-cart-page__summary-row strong {
	font-weight: 700;
}

.majestic-cart-page__summary-note {
	margin: 7px 0 18px;
	color: var(--majestic-cart-muted);
	font-size: 12px;
	line-height: 1.45;
}

.elementor .majestic-cart-page__checkout,
.majestic-cart-page__checkout {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 12px 18px !important;
	border: 1px solid var(--majestic-color-text, #222) !important;
	border-radius: 0 !important;
	background: var(--majestic-color-text, #222) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: .01em !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
}

.majestic-cart-page__reassurance {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin-top: 18px;
}

.majestic-cart-page__reassurance-item {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--majestic-cart-muted);
	font-size: 10px;
	line-height: 1.3;
}

.majestic-cart-page__reassurance-icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	color: var(--majestic-color-accent, #aa7f79);
}

.majestic-cart-page__reassurance-icon svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.majestic-cart-page__recommendations {
	margin-top: 72px;
}

.majestic-cart-page h2.majestic-cart-page__recommendations-heading,
.elementor .majestic-cart-page h2.majestic-cart-page__recommendations-heading {
	margin: 0 0 28px !important;
	padding: 0 !important;
	color: var(--majestic-color-text, #222) !important;
	font-family: var(--e-global-typography-primary-font-family, Georgia, serif) !important;
	font-weight: var(--e-global-typography-primary-font-weight, 400) !important;
	font-style: var(--e-global-typography-primary-font-style, normal) !important;
	font-size: 34px !important;
	line-height: 1.1 !important;
	letter-spacing: var(--e-global-typography-primary-letter-spacing, 0) !important;
	text-align: center;
	text-transform: var(--e-global-typography-primary-text-transform, none) !important;
}

.majestic-cart-page__empty {
	padding: 70px 20px;
	text-align: center;
}

.majestic-cart-page h1.majestic-cart-page__empty-title,
.elementor .majestic-cart-page h1.majestic-cart-page__empty-title {
	margin: 0 0 10px !important;
	font-family: var(--e-global-typography-primary-font-family, Georgia, serif) !important;
	font-weight: var(--e-global-typography-primary-font-weight, 400) !important;
	font-style: var(--e-global-typography-primary-font-style, normal) !important;
	font-size: 34px !important;
	line-height: 1.15 !important;
	letter-spacing: var(--e-global-typography-primary-letter-spacing, 0) !important;
	text-transform: var(--e-global-typography-primary-text-transform, none) !important;
}

.majestic-cart-page__empty-copy {
	margin: 0 auto 24px;
	max-width: 520px;
	color: var(--majestic-cart-muted);
	font-size: 14px;
	line-height: 1.6;
}

.majestic-cart-page__shop-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	min-height: 48px;
	padding: 11px 20px;
	border: 1px solid var(--majestic-color-text, #222);
	background: var(--majestic-color-text, #222);
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

.majestic-cart-page.is-busy {
	opacity: .62;
	pointer-events: none;
	cursor: wait;
}

@media (max-width: 1024px) {
	.majestic-cart-page {
		padding-left: 22px;
		padding-right: 22px;
	}

	.majestic-cart-page h1.majestic-cart-page__heading,
	.elementor .majestic-cart-page h1.majestic-cart-page__heading {
		font-size: 40px !important;
	}

	.majestic-cart-page__bottom {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.majestic-cart-page {
		padding: 24px 18px 56px;
	}

	.majestic-cart-page__top {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 18px;
	}

	.majestic-cart-page h1.majestic-cart-page__heading,
	.elementor .majestic-cart-page h1.majestic-cart-page__heading {
		font-size: 34px !important;
	}

	.majestic-cart-page__goal {
		text-align: left;
	}

	.majestic-cart-page__rule {
		margin-bottom: 18px;
	}

	.majestic-cart-page__item {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 14px;
		padding: 20px 0;
	}

	.majestic-cart-page__item-media {
		width: 86px;
		height: 86px;
	}

	.majestic-cart-page__item-title {
		font-size: 15px !important;
	}

	.majestic-cart-page__item-side {
		grid-column: 2;
		min-width: 0;
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
	}

	.majestic-cart-page__bottom {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 24px;
	}

	.majestic-cart-page__summary {
		order: -1;
	}

	.majestic-cart-page__coupon {
		max-width: none;
	}

	.majestic-cart-page__recommendations {
		margin-top: 52px;
	}

	.majestic-cart-page h2.majestic-cart-page__recommendations-heading,
	.elementor .majestic-cart-page h2.majestic-cart-page__recommendations-heading {
		margin-bottom: 22px !important;
		font-size: 30px !important;
	}
}


/* Cart recommendations reuse the approved New In mobile carousel system. */
@media (max-width: 767px) {
	.majestic-cart-page__recommendations.majestic-new-in {
		overflow: hidden;
	}

	.majestic-cart-page__recommendations.majestic-new-in .majestic-product-grid {
		margin: 0;
	}

	.majestic-cart-page__recommendations.majestic-new-in .majestic-new-in__mobile-nav {
		margin-top: 18px;
	}
}
