/* Majestic Core frontend components */

.majestic-announcement {
	position: relative;
	z-index: 50;
	background: var(--majestic-announcement-bg, var(--majestic-color-text, #222));
	color: var(--majestic-announcement-text, #fff);
	font-family: var(--majestic-font-body, inherit);
}

.majestic-announcement__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	width: min(calc(100% - 48px), var(--majestic-wide-width, 1320px));
	min-height: 38px;
	margin: 0 auto;
	padding: 7px 36px;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .02em;
}

.majestic-align-left .majestic-announcement__inner { justify-content: flex-start; }
.majestic-align-right .majestic-announcement__inner { justify-content: flex-end; }

.majestic-announcement__link {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.majestic-announcement__close {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 22px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}

.majestic-benefits {
	background: var(--majestic-color-text, #222);
	color: var(--majestic-color-background, #fff);
	font-family: var(--majestic-font-body, inherit);
}

.majestic-benefits__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-x: auto;
	scroll-snap-type: x proximity;
}

.majestic-benefits__item {
	flex: 0 0 auto;
	padding: 8px 24px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	white-space: nowrap;
	scroll-snap-align: center;
}

.majestic-benefits__item + .majestic-benefits__item::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 12px;
	margin-right: 24px;
	vertical-align: -2px;
	background: currentColor;
	opacity: .28;
}

.majestic-promises {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.majestic-promise {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	color: var(--majestic-color-text, #222);
	text-decoration: none;
}

.majestic-promise__icon {
	display: inline-flex;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	color: var(--majestic-color-accent, #aa7f79);
}

.majestic-promise__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.majestic-promise__content {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	font-family: var(--majestic-font-body, inherit);
}

.majestic-promise__content strong {
	font-family: var(--majestic-font-heading, inherit);
	font-size: 14px;
	line-height: 1.3;
}

.majestic-promise__content > span {
	font-size: 12px;
	line-height: 1.45;
	opacity: .78;
}

@media (min-width: 1025px) {
	.majestic-hide-desktop { display: none !important; }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.majestic-hide-tablet { display: none !important; }
	.majestic-promises { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.majestic-hide-mobile { display: none !important; }

	.majestic-announcement__inner {
		width: 100%;
		padding: 7px 42px 7px 16px;
		font-size: 11px;
	}

	.majestic-benefits__inner {
		justify-content: flex-start;
	}

	.majestic-promises {
		grid-template-columns: 1fr 1fr;
		gap: 20px 14px;
	}
}
