/**
 * Majestic custom-template compatibility.
 * Loaded after Kadence's global styles to protect the site's bespoke controls.
 */

/* Claude's page templates expect a transparent, unclipped outer shell. */
body.majestic-standalone-template {
	overflow-x: hidden;
}

body.majestic-standalone-template #wrapper {
	overflow: visible;
}

body.majestic-standalone-template #inner-wrap {
	min-height: 0;
}

/* Keep the fixed cream, lilac and champagne background inside its own layer. */
body.majestic-template-tarifs,
body.majestic-template-tarifs #wrapper,
body.majestic-template-tarifs #inner-wrap {
	background-color: #f4efe6;
}

body.majestic-template-tarifs .tf-tarifs {
	isolation: isolate;
	min-width: 0;
	position: relative;
}

body.majestic-template-tarifs .tf-tarifs > .tf-bg {
	z-index: -1;
}

/* Kadence's generic button padding collapses fixed-size SVG controls. */
body.majestic-template-biens .msg-hero__arrow,
body.majestic-template-biens .msg-biens__scroll-btn,
body.majestic-template-biens .msg-bien-card__fav,
body.majestic-template-tarifs .tf-favorite-btn,
body.majestic-template-tarifs .tf-scroll-btn,
body.majestic-template-tarifs .tf-cards-dot,
body.majestic-template-tarifs .tf-mj-t-dot,
body .mj-close-btn,
body .mj-scrolltop {
	font-size: inherit;
	line-height: 1;
	padding: 0;
}

body.majestic-template-biens .msg-bien-card__fav,
body.majestic-template-tarifs .tf-favorite-btn {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 50%;
	color: var(--msg-gray, var(--tf-gray, #717171));
	display: flex;
	justify-content: center;
}

body.majestic-template-biens .msg-bien-card__fav:hover,
body.majestic-template-biens .msg-bien-card__fav:focus,
body.majestic-template-biens .msg-bien-card__fav:active,
body.majestic-template-tarifs .tf-favorite-btn:hover,
body.majestic-template-tarifs .tf-favorite-btn:focus,
body.majestic-template-tarifs .tf-favorite-btn:active {
	background: #fff;
	color: var(--msg-gray, var(--tf-gray, #717171));
}

body.majestic-template-biens .msg-bien-card__fav {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	height: 36px;
	width: 36px;
}

body.majestic-template-biens .msg-bien-card__fav svg {
	flex: 0 0 18px;
	height: 18px;
	width: 18px;
}

body.majestic-template-tarifs .tf-favorite-btn svg {
	flex: 0 0 16px;
	height: 16px;
	width: 16px;
}

body.majestic-template-tarifs .tf-favorite-btn {
	height: 26px;
	width: 26px;
}

body.majestic-template-biens .msg-bien-card__fav.active,
body.majestic-template-biens .msg-bien-card__fav.active:hover,
body.majestic-template-tarifs .tf-favorite-btn.active,
body.majestic-template-tarifs .tf-favorite-btn.active:hover {
	color: #ef4444;
}

body.majestic-template-biens .msg-bien-card__fav.active svg,
body.majestic-template-tarifs .tf-favorite-btn.active svg {
	fill: #ef4444;
}

/* Preserve the exact compact geometry of the pricing sliders. */
body.majestic-template-tarifs .tf-cards-dot {
	background: rgba(255, 255, 255, 0.32);
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	height: 7px;
	width: 7px;
}

body.majestic-template-tarifs .tf-cards-dot.tf-on {
	background: var(--tf-gold, #e4b864);
	border-radius: 4px;
	width: 22px;
}

body.majestic-template-tarifs .tf-mj-t-dot {
	background: rgba(30, 35, 100, 0.22);
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	height: 5px;
	width: 5px;
}

body.majestic-template-tarifs .tf-mj-t-dot.tf-on {
	background: #ff3c00;
	border-radius: 3px;
	width: 20px;
}

body.majestic-template-biens .msg-hero__arrow,
body.majestic-template-biens .msg-biens__scroll-btn,
body.majestic-template-tarifs .tf-scroll-btn {
	align-items: center;
	border-radius: 50%;
	display: flex;
	justify-content: center;
}

body.majestic-template-biens .msg-hero__arrow,
body.majestic-template-biens .msg-biens__scroll-btn {
	height: 48px;
	width: 48px;
}

body.majestic-template-tarifs .tf-scroll-btn {
	height: 40px;
	width: 40px;
}

body.majestic-template-biens .msg-hero__arrow svg,
body.majestic-template-tarifs .tf-scroll-btn svg {
	flex: 0 0 20px;
	height: 20px;
	width: 20px;
}

body.majestic-template-biens .msg-biens__scroll-btn svg {
	flex: 0 0 20px;
	height: 20px;
	width: 20px;
}

body.majestic-template-biens .msg-hero__arrow:focus-visible,
body.majestic-template-biens .msg-biens__scroll-btn:focus-visible,
body.majestic-template-biens .msg-bien-card__fav:focus-visible,
body.majestic-template-tarifs .tf-favorite-btn:focus-visible,
body.majestic-template-tarifs .tf-scroll-btn:focus-visible,
body.majestic-template-tarifs .tf-cards-dot:focus-visible,
body.majestic-template-tarifs .tf-mj-t-dot:focus-visible {
	outline: 2px solid var(--msg-gold, var(--tf-gold, #e4b864));
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.majestic-template-biens .msg-bien-card__fav,
	body.majestic-template-tarifs .tf-bg__blob,
	body.majestic-template-tarifs .tf-favorite-btn {
		animation: none;
		transition: none;
	}
}
