:root {
	--solelia-ink: #2f2721;
	--solelia-espresso: #3b2f27;
	--solelia-mocha: #5b473a;
	--solelia-clay: #8b6f55;
	--solelia-gold: #bda174;
	--solelia-gold-dark: #a88958;
	--solelia-beige: #efe2d2;
	--solelia-sand: #f8efe4;
	--solelia-cream: #fcf6ed;
	--solelia-paper: #fffaf2;
	--solelia-blush: #e9d4c2;
	--solelia-muted: #77685c;
	--solelia-border: rgba(94, 74, 59, .15);
	--solelia-border-strong: rgba(94, 74, 59, .24);
	--solelia-shadow: 0 24px 70px rgba(47, 39, 33, .14);
	--solelia-soft-shadow: 0 12px 36px rgba(47, 39, 33, .09);
	--solelia-radius-sm: 16px;
	--solelia-radius-md: 26px;
	--solelia-radius-lg: 42px;
	--solelia-wrap: min(1140px, calc(100% - 44px));
	--solelia-section-space: clamp(78px, 8.5vw, 140px);
	--solelia-header-offset: 96px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--solelia-header-offset);
}

body {
	background: var(--solelia-cream);
	color: var(--solelia-ink);
}

body.solelia-no-motion *,
body.solelia-no-motion *::before,
body.solelia-no-motion *::after {
	animation-duration: .01ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: .01ms !important;
}

.solelia-skip-link {
	background: var(--solelia-espresso);
	border-radius: 999px;
	color: var(--solelia-paper);
	left: 18px;
	padding: 12px 18px;
	position: fixed;
	top: 18px;
	transform: translateY(-150%);
	transition: transform .2s ease;
	z-index: 999999;
}

.solelia-skip-link:focus {
	transform: translateY(0);
}

.solelia-onepager,
.solelia-page {
	font-family: "Univers LT Std", "Univers", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.72;
	min-height: 100vh;
	overflow-x: clip;
}

.solelia-onepager *,
.solelia-page * {
	box-sizing: border-box;
}

.solelia-onepager h1,
.solelia-onepager h2,
.solelia-onepager h3,
.solelia-page h1,
.solelia-page h2,
.solelia-page h3 {
	color: var(--solelia-espresso);
	font-family: "Cormorant Garamond", "Acier BAT", "Text Solid", Georgia, "Times New Roman", serif;
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: .96;
	margin: 0;
}

.solelia-onepager h1 {
	font-size: clamp(3.6rem, 8.4vw, 8.8rem);
	max-width: 980px;
}

.solelia-onepager h2,
.solelia-page h1 {
	font-size: clamp(2.55rem, 5.2vw, 5.25rem);
}

.solelia-onepager h3,
.solelia-page h2 {
	font-size: clamp(1.35rem, 2.6vw, 2.2rem);
}

.solelia-onepager p,
.solelia-page p {
	margin: 0;
}

.solelia-onepager a,
.solelia-page a {
	color: inherit;
}

.solelia-wrap,
.solelia-page__wrap {
	margin-inline: auto;
	width: var(--solelia-wrap);
}

.solelia-section {
	position: relative;
	scroll-margin-top: var(--solelia-header-offset);
}

.solelia-kicker,
.solelia-eyebrow {
	align-items: center;
	color: var(--solelia-gold-dark);
	display: inline-flex;
	font-size: .76rem;
	font-weight: 800;
	gap: 12px;
	letter-spacing: .22em;
	line-height: 1.2;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.solelia-kicker::before,
.solelia-eyebrow::before,
.solelia-kicker::after,
.solelia-eyebrow::after {
	background: currentColor;
	border-radius: 999px;
	content: "";
	display: inline-block;
	height: 1px;
	opacity: .72;
	width: 42px;
}

.solelia-muted {
	color: var(--solelia-muted);
	font-size: .96rem;
}

.solelia-btn,
.solelia-onepager .solelia-btn,
.solelia-page .solelia-btn {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-size: .9rem;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	letter-spacing: .08em;
	line-height: 1;
	min-height: 54px;
	padding: 18px 28px;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}

.solelia-btn:hover,
.solelia-btn:focus-visible {
	box-shadow: var(--solelia-soft-shadow);
	transform: translateY(-2px);
}

.solelia-btn--primary {
	background: var(--solelia-espresso);
	color: var(--solelia-paper) !important;
}

.solelia-btn--primary:hover,
.solelia-btn--primary:focus-visible {
	background: var(--solelia-mocha);
}

.solelia-btn--ghost {
	background: rgba(255, 250, 242, .62);
	border-color: var(--solelia-border-strong);
	color: var(--solelia-espresso) !important;
}

.solelia-text-link {
	align-items: center;
	color: var(--solelia-espresso);
	display: inline-flex;
	font-weight: 800;
	gap: 8px;
	letter-spacing: .04em;
	margin-top: 30px;
	text-decoration: none;
	text-transform: uppercase;
}

.solelia-text-link::after {
	content: "→";
	transition: transform .2s ease;
}

.solelia-text-link:hover::after,
.solelia-text-link:focus-visible::after {
	transform: translateX(4px);
}

.solelia-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .75s ease, transform .75s ease;
}

.solelia-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.solelia-hero {
	background:
		radial-gradient(circle at 17% 18%, rgba(189, 161, 116, .18), transparent 28%),
		radial-gradient(circle at 82% 12%, rgba(233, 212, 194, .38), transparent 30%),
		linear-gradient(180deg, #fffaf2 0%, var(--solelia-cream) 48%, var(--solelia-sand) 100%);
	isolation: isolate;
	min-height: min(980px, calc(var(--solelia-vh, 1vh) * 100));
	padding: clamp(118px, 13vw, 168px) 0 clamp(72px, 8vw, 110px);
}

.solelia-hero__grain {
	background-image:
		linear-gradient(rgba(94, 74, 59, .028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(94, 74, 59, .028) 1px, transparent 1px);
	background-size: 46px 46px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 82%);
	pointer-events: none;
	position: absolute;
	z-index: -2;
}

.solelia-hero::after {
	background: linear-gradient(90deg, transparent, rgba(189, 161, 116, .46), transparent);
	bottom: 0;
	content: "";
	height: 1px;
	left: 9vw;
	position: absolute;
	right: 9vw;
}

.solelia-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(42px, 7vw, 92px);
	grid-template-columns: minmax(0, 1fr);
	text-align: center;
}

.solelia-hero__brand {
	margin-inline: auto;
	max-width: 980px;
	position: relative;
}

.solelia-logo-mark {
	height: 92px;
	left: 50%;
	position: absolute;
	top: -52px;
	transform: translateX(-50%);
	width: 260px;
}

.solelia-logo-mark::before {
	border: 2px solid var(--solelia-gold-dark);
	border-bottom: 0;
	border-radius: 160px 160px 0 0;
	bottom: 0;
	content: "";
	height: 62px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 124px;
}

.solelia-logo-mark::after {
	background: var(--solelia-gold-dark);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.solelia-logo-mark span {
	background: var(--solelia-gold-dark);
	bottom: 28px;
	height: 64px;
	left: 50%;
	position: absolute;
	transform-origin: 50% 100%;
	width: 2px;
}

.solelia-logo-mark span:nth-child(1) { transform: translateX(-50%) rotate(-54deg); }
.solelia-logo-mark span:nth-child(2) { transform: translateX(-50%) rotate(-36deg); }
.solelia-logo-mark span:nth-child(3) { transform: translateX(-50%) rotate(-18deg); }
.solelia-logo-mark span:nth-child(4) { transform: translateX(-50%) rotate(0deg); }
.solelia-logo-mark span:nth-child(5) { transform: translateX(-50%) rotate(18deg); }
.solelia-logo-mark span:nth-child(6) { transform: translateX(-50%) rotate(36deg); }
.solelia-logo-mark span:nth-child(7) { transform: translateX(-50%) rotate(54deg); }

.solelia-hero__logo {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0 auto clamp(22px, 3vw, 34px);
	max-width: min(640px, 86vw);
}

.solelia-hero__logo-img {
	display: block;
	height: auto;
	max-height: 230px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.solelia-hero__lead {
	color: var(--solelia-muted);
	font-size: clamp(1.08rem, 1.55vw, 1.28rem);
	line-height: 1.78;
	margin: 26px auto 0;
	max-width: 760px;
}

.solelia-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 36px;
}

.solelia-hero-gallery {
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr 1.25fr 1fr;
	min-height: 360px;
	position: relative;
}

.solelia-gallery-card {
	background:
		linear-gradient(135deg, rgba(255, 250, 242, .36), rgba(47, 39, 33, .05)),
		linear-gradient(145deg, #dcc3a7 0%, #f8efe4 48%, #a88958 100%);
	border: 13px solid rgba(255, 250, 242, .76);
	box-shadow: var(--solelia-soft-shadow);
	min-height: 270px;
	overflow: hidden;
	position: relative;
}

.solelia-gallery-card::before,
.solelia-gallery-card::after {
	background: rgba(255, 250, 242, .34);
	border: 1px solid rgba(255, 250, 242, .38);
	border-radius: 999px;
	content: "";
	position: absolute;
}

.solelia-gallery-card::before {
	height: 180px;
	left: 20%;
	top: 20%;
	transform: rotate(18deg);
	width: 70px;
}

.solelia-gallery-card::after {
	bottom: 16%;
	height: 120px;
	right: 18%;
	transform: rotate(-18deg);
	width: 120px;
}

.solelia-gallery-card--one {
	border-radius: 48% 48% 24px 24px;
	margin-top: 34px;
}

.solelia-gallery-card--two {
	background:
		linear-gradient(135deg, rgba(255, 250, 242, .24), rgba(47, 39, 33, .08)),
		linear-gradient(145deg, #a88958 0%, #f4e6d3 54%, #6f5a47 100%);
	border-radius: 50% 50% 30px 30px;
	min-height: 360px;
}

.solelia-gallery-card--three {
	background:
		linear-gradient(135deg, rgba(255, 250, 242, .32), rgba(47, 39, 33, .06)),
		linear-gradient(145deg, #ead7c1 0%, #bda174 54%, #f8efe4 100%);
	border-radius: 24px 24px 48% 48%;
	margin-top: 58px;
}

.solelia-hero-gallery__note {
	backdrop-filter: blur(16px);
	background: rgba(255, 250, 242, .76);
	border: 1px solid rgba(255,255,255,.72);
	border-radius: 999px;
	box-shadow: var(--solelia-soft-shadow);
	color: var(--solelia-espresso);
	font-size: .86rem;
	font-weight: 800;
	left: 50%;
	letter-spacing: .16em;
	padding: 13px 20px;
	position: absolute;
	text-transform: uppercase;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.solelia-about,
.solelia-services,
.solelia-salon,
.solelia-pricing,
.solelia-hours,
.solelia-reviews {
	padding-block: var(--solelia-section-space);
}

.solelia-about {
	background: linear-gradient(180deg, var(--solelia-cream), #f8eee3);
}

.solelia-grid {
	display: grid;
	gap: clamp(34px, 6vw, 88px);
}

.solelia-grid--about,
.solelia-grid--salon,
.solelia-grid--hours {
	align-items: center;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.solelia-about__content p,
.solelia-salon__content p,
.solelia-section-head p {
	color: var(--solelia-muted);
	margin-top: 22px;
	max-width: 760px;
}

.solelia-portrait-frame {
	background:
		linear-gradient(160deg, rgba(47, 39, 33, .08), rgba(255, 250, 242, .22)),
		linear-gradient(135deg, #d8bea3, #f9f0e5 52%, #bda174);
	border: 14px solid rgba(255, 250, 242, .82);
	border-radius: 52% 52% var(--solelia-radius-lg) var(--solelia-radius-lg);
	box-shadow: var(--solelia-shadow);
	height: min(560px, 72vw);
	position: relative;
}

.solelia-portrait-frame::before {
	border: 1px solid rgba(94, 74, 59, .16);
	border-radius: inherit;
	content: "";
	inset: 22px;
	position: absolute;
}

.solelia-portrait-frame::after {
	background: rgba(255, 250, 242, .42);
	border-radius: 999px;
	bottom: 38px;
	content: "";
	height: 126px;
	right: 34px;
	width: 126px;
}

.solelia-portrait-frame__line {
	background: var(--solelia-gold-dark);
	bottom: 70px;
	height: 1px;
	left: 54px;
	position: absolute;
	right: 54px;
}

.solelia-checklist {
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
}

.solelia-checklist li {
	align-items: flex-start;
	background: rgba(255, 250, 242, .68);
	border: 1px solid var(--solelia-border);
	border-radius: 999px;
	display: flex;
	gap: 12px;
	padding: 13px 18px;
}

.solelia-checklist li::before {
	background: var(--solelia-gold-dark);
	border-radius: 999px;
	color: var(--solelia-paper);
	content: "✓";
	display: inline-grid;
	flex: 0 0 24px;
	font-size: .78rem;
	height: 24px;
	line-height: 1;
	place-items: center;
	width: 24px;
}

.solelia-services {
	background:
		linear-gradient(180deg, var(--solelia-sand), #f6e9dc),
		var(--solelia-sand);
}

.solelia-section-head {
	margin-bottom: clamp(34px, 5vw, 62px);
	max-width: 900px;
}

.solelia-card-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.solelia-service-card {
	background: rgba(255, 250, 242, .76);
	border: 1px solid rgba(94, 74, 59, .12);
	border-radius: var(--solelia-radius-md);
	box-shadow: 0 12px 34px rgba(47, 39, 33, .06);
	min-height: 244px;
	overflow: hidden;
	padding: clamp(24px, 3vw, 34px);
	position: relative;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.solelia-service-card::after {
	background: linear-gradient(135deg, transparent, rgba(189, 161, 116, .20));
	border-radius: inherit;
	content: "";
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity .3s ease;
}

.solelia-service-card:hover,
.solelia-service-card:focus-within {
	box-shadow: var(--solelia-shadow);
	transform: translateY(-6px);
}

.solelia-service-card:hover::after,
.solelia-service-card:focus-within::after {
	opacity: 1;
}

.solelia-service-card__number {
	color: var(--solelia-gold-dark);
	display: block;
	font-family: Georgia, serif;
	font-size: 2.55rem;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 28px;
	opacity: .82;
}

.solelia-service-card h3,
.solelia-service-card p {
	position: relative;
	z-index: 1;
}

.solelia-service-card p {
	color: var(--solelia-muted);
	margin-top: 16px;
}

.solelia-salon {
	background:
		radial-gradient(circle at 12% 8%, rgba(189, 161, 116, .22), transparent 28%),
		linear-gradient(180deg, #faf3e9, var(--solelia-paper));
}

.solelia-grid--salon {
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.solelia-salon-bento {
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 230px 190px;
}

.solelia-salon-bento__item {
	background:
		linear-gradient(145deg, rgba(255, 250, 242, .20), rgba(47, 39, 33, .08)),
		linear-gradient(135deg, #6f5a47, #bda174 52%, #f2e4d2);
	border: 12px solid rgba(255, 250, 242, .72);
	border-radius: 34px;
	box-shadow: var(--solelia-soft-shadow);
	min-height: 180px;
	position: relative;
}

.solelia-salon-bento__item::before {
	border: 1px solid rgba(255, 250, 242, .46);
	border-radius: 24px;
	content: "";
	inset: 18px;
	position: absolute;
}

.solelia-salon-bento__item--large {
	background:
		linear-gradient(135deg, rgba(255, 250, 242, .22), rgba(47, 39, 33, .08)),
		linear-gradient(135deg, #d8bea3, #f7ecdf 54%, #a88958);
	grid-row: span 2;
}

.solelia-salon-bento__item--soft {
	background: linear-gradient(135deg, #f4e6d7, #c9ad83);
}

.solelia-pricing {
	background:
		radial-gradient(circle at 82% 8%, rgba(189, 161, 116, .18), transparent 26%),
		linear-gradient(180deg, #352a23, #2b221d);
	color: rgba(255, 250, 242, .84);
}

.solelia-pricing .solelia-kicker,
.solelia-pricing h2 {
	color: var(--solelia-paper);
}

.solelia-pricing .solelia-section-head p {
	color: rgba(255, 250, 242, .72);
}

.solelia-price-board {
	background: rgba(255, 250, 242, .07);
	border: 1px solid rgba(255, 250, 242, .16);
	border-radius: var(--solelia-radius-lg);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
	overflow: hidden;
}

.solelia-price-row {
	align-items: center;
	border-bottom: 1px solid rgba(255, 250, 242, .14);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: clamp(18px, 2.4vw, 28px) clamp(20px, 3.4vw, 42px);
}

.solelia-price-row:last-child {
	border-bottom: 0;
}

.solelia-price-row span {
	color: var(--solelia-paper);
	font-weight: 700;
}

.solelia-price-row strong {
	color: var(--solelia-gold);
	font-size: 1.05rem;
	white-space: nowrap;
}

.solelia-hours {
	background: linear-gradient(180deg, var(--solelia-sand), var(--solelia-cream));
}

.solelia-grid--hours {
	grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
}

.solelia-hours__card,
.solelia-contact-card,
.solelia-review-card,
.solelia-page-card {
	background: rgba(255, 250, 242, .80);
	border: 1px solid rgba(94, 74, 59, .14);
	border-radius: var(--solelia-radius-lg);
	box-shadow: var(--solelia-soft-shadow);
}

.solelia-hours__card,
.solelia-contact-card {
	padding: clamp(28px, 4vw, 48px);
}

.solelia-hours-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 30px 0 20px;
	padding: 0;
}

.solelia-hours-list li {
	align-items: center;
	border-bottom: 1px solid var(--solelia-border);
	display: flex;
	font-weight: 800;
	justify-content: space-between;
	padding: 0 0 12px;
}

.solelia-contact-card h3 {
	margin-bottom: 18px;
}

.solelia-contact-card p {
	color: var(--solelia-muted);
	margin-bottom: 14px;
}

.solelia-contact-card .solelia-btn {
	margin-top: 18px;
}

.solelia-reviews {
	background:
		radial-gradient(circle at 50% 0%, rgba(189, 161, 116, .22), transparent 33%),
		var(--solelia-paper);
}

.solelia-review-card {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: clamp(30px, 5vw, 62px);
}

.solelia-review-card p:not(.solelia-kicker) {
	color: var(--solelia-muted);
	margin-top: 20px;
}

.solelia-rating-lockup {
	align-items: center;
	background: rgba(248, 239, 228, .72);
	border: 1px solid var(--solelia-border);
	border-radius: 24px;
	display: grid;
	gap: 4px;
	justify-items: center;
	padding: 18px 20px;
	text-align: center;
	white-space: nowrap;
}

.solelia-rating-lockup strong {
	color: var(--solelia-espresso);
	font-family: Georgia, serif;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1;
}

.solelia-rating-lockup small {
	color: var(--solelia-muted);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.solelia-stars {
	color: var(--solelia-gold-dark);
	font-size: clamp(1.15rem, 2vw, 1.6rem);
	letter-spacing: .06em;
	line-height: 1;
	white-space: nowrap;
}

/* Royal Addons / Elementor helper classes.
 * Add class "solelia-header" to the Royal Addons header container and
 * class "solelia-menu" to the Royal Addons nav/menu widget for polished styling.
 */
.elementor-location-header .solelia-header,
.solelia-header {
	backdrop-filter: blur(18px);
	background: rgba(255, 250, 242, .78);
	border-bottom: 1px solid rgba(94, 74, 59, .10);
	transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.is-scrolled .elementor-location-header .solelia-header,
body.is-scrolled .solelia-header {
	background: rgba(255, 250, 242, .94);
	border-bottom-color: rgba(94, 74, 59, .14);
	box-shadow: 0 12px 34px rgba(47, 39, 33, .08);
}

.solelia-menu a,
.elementor-location-header .solelia-menu a {
	border-radius: 999px;
	color: var(--solelia-espresso);
	font-weight: 800;
	letter-spacing: .04em;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.solelia-menu a:hover,
.solelia-menu a:focus-visible,
.elementor-location-header .solelia-menu a:hover,
.elementor-location-header .solelia-menu a:focus-visible {
	background: rgba(189, 161, 116, .14);
	color: var(--solelia-gold-dark);
}

.solelia-header .custom-logo,
.elementor-location-header .solelia-header .custom-logo {
	max-height: 78px;
	width: auto;
}

.solelia-header__inner,
.elementor-location-header .solelia-header__inner {
	align-items: center;
	display: flex;
	gap: clamp(18px, 3vw, 42px);
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--solelia-wrap);
	padding: 12px var(--solelia-gutter);
	width: 100%;
}

.solelia-header__brand,
.elementor-location-header .solelia-header__brand {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	line-height: 0;
	min-width: 0;
}

.solelia-header__logo,
.elementor-location-header .solelia-header__logo {
	align-items: center;
	display: inline-flex;
	line-height: 0;
	max-width: min(220px, 44vw);
	text-decoration: none;
}

.solelia-header__logo-img,
.solelia-header__logo img,
.elementor-location-header .solelia-header__logo-img,
.elementor-location-header .solelia-header__logo img {
	display: block;
	height: auto;
	max-height: 58px;
	max-width: 100%;
	object-fit: contain;
	transition: max-height .25s ease, transform .25s ease;
	width: auto;
}

body.is-scrolled .solelia-header__logo-img,
body.is-scrolled .solelia-header__logo img,
body.is-scrolled .elementor-location-header .solelia-header__logo-img,
body.is-scrolled .elementor-location-header .solelia-header__logo img {
	max-height: 46px;
}

.solelia-header__logo:hover .solelia-header__logo-img,
.solelia-header__logo:focus-visible .solelia-header__logo-img {
	transform: translateY(-1px);
}

/* Legal and standard pages. */
.solelia-page {
	background:
		radial-gradient(circle at 10% 10%, rgba(189, 161, 116, .18), transparent 26%),
		linear-gradient(180deg, var(--solelia-sand), var(--solelia-cream));
	padding-block: clamp(112px, 12vw, 172px) clamp(78px, 8vw, 120px);
}

.solelia-page__wrap {
	max-width: 980px;
}

.solelia-page-card {
	padding: clamp(30px, 6vw, 76px);
}

.solelia-page-header {
	border-bottom: 1px solid var(--solelia-border);
	margin-bottom: clamp(28px, 4vw, 46px);
	padding-bottom: clamp(22px, 3vw, 34px);
}

.solelia-page-content :where(p, ul, ol, table, blockquote) {
	margin-bottom: 1.2em;
}

.solelia-page-content :where(h2, h3, h4) {
	margin: 1.3em 0 .55em;
}

.solelia-page-content a {
	color: var(--solelia-gold-dark);
	font-weight: 800;
}

.solelia-page-content table {
	border-collapse: collapse;
	width: 100%;
}

.solelia-page-content th,
.solelia-page-content td {
	border: 1px solid var(--solelia-border);
	padding: 12px 14px;
	text-align: left;
}

.solelia-page--legal .solelia-page__wrap {
	max-width: 1040px;
}

.solelia-legal-content {
	color: #40322b;
	font-size: 1rem;
}

/* Defensive WooCommerce styling, kept light and scoped. */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--solelia-espresso);
	border-radius: 999px;
	color: var(--solelia-paper);
	font-weight: 800;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--solelia-gold-dark);
	color: var(--solelia-paper);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border-radius: var(--solelia-radius-sm);
}

:where(.solelia-onepager, .solelia-page) :focus-visible,
.solelia-menu a:focus-visible {
	outline: 3px solid rgba(189, 161, 116, .48);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	:root {
		--solelia-wrap: min(100% - 32px, 920px);
		--solelia-header-offset: 82px;
	}

	.solelia-grid--about,
	.solelia-grid--salon,
	.solelia-grid--hours {
		grid-template-columns: 1fr;
	}

	.solelia-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.solelia-review-card {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	:root {
		--solelia-wrap: min(100% - 26px, 620px);
		--solelia-section-space: 76px;
	}

	.solelia-onepager {
		font-size: 16px;
	}

	.solelia-hero {
		min-height: auto;
		padding-top: 118px;
	}

	.solelia-logo-mark {
		height: 70px;
		top: -40px;
		width: 190px;
	}

	.solelia-logo-mark::before {
		height: 48px;
		width: 98px;
	}

	.solelia-logo-mark span {
		height: 48px;
	}

	.solelia-hero__logo-img {
		max-height: 170px;
	}

	.solelia-hero__actions,
	.solelia-hero__actions .solelia-btn {
		width: 100%;
	}

	.solelia-hero-gallery {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.solelia-gallery-card,
	.solelia-gallery-card--one,
	.solelia-gallery-card--two,
	.solelia-gallery-card--three {
		border-radius: 32px;
		margin-top: 0;
		min-height: 230px;
	}

	.solelia-gallery-card--two {
		min-height: 270px;
	}

	.solelia-hero-gallery__note {
		position: static;
		transform: none;
		width: max-content;
		justify-self: center;
	}

	.solelia-card-grid,
	.solelia-salon-bento {
		grid-template-columns: 1fr;
	}

	.solelia-salon-bento {
		grid-template-rows: auto;
	}

	.solelia-salon-bento__item,
	.solelia-salon-bento__item--large {
		grid-row: auto;
		min-height: 220px;
	}

	.solelia-price-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.solelia-checklist li {
		border-radius: 22px;
	}

	.solelia-page {
		padding-top: 104px;
	}

	.solelia-page-card {
		border-radius: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.solelia-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.solelia-logo-mark span,
	.solelia-gallery-card {
		animation: none;
	}
}

@media (max-width: 767px) {
	.solelia-header__inner,
	.elementor-location-header .solelia-header__inner {
		gap: 14px;
		padding-block: 10px;
	}

	.solelia-header__logo,
	.elementor-location-header .solelia-header__logo {
		max-width: min(176px, 48vw);
	}

	.solelia-header__logo-img,
	.solelia-header__logo img,
	.elementor-location-header .solelia-header__logo-img,
	.elementor-location-header .solelia-header__logo img {
		max-height: 44px;
	}

	body.is-scrolled .solelia-header__logo-img,
	body.is-scrolled .solelia-header__logo img,
	body.is-scrolled .elementor-location-header .solelia-header__logo-img,
	body.is-scrolled .elementor-location-header .solelia-header__logo img {
		max-height: 38px;
	}
}

/* v1.2.1: Elementor page + Royal Addons header hardening.
 * Elementor-built pages must not be visually boxed by the default page layout.
 * The Legal Page template keeps the card layout intentionally.
 */
.solelia-elementor-page {
	background: var(--solelia-cream);
	color: var(--solelia-ink);
	font-family: "Univers LT Std", "Univers", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.72;
	min-height: 100vh;
	overflow-x: clip;
}

.solelia-elementor-page *,
.solelia-elementor-page *::before,
.solelia-elementor-page *::after {
	box-sizing: border-box;
}

.solelia-elementor-page > .elementor,
.solelia-elementor-page .elementor-section-wrap,
.solelia-elementor-page .elementor-inner {
	max-width: none;
	width: 100%;
}

/* Keep the Royal Addons header independent from Elementor/page width settings. */
.elementor-location-header,
.elementor-location-header > .elementor,
.elementor-location-header .elementor-section-wrap {
	max-width: none !important;
	width: 100% !important;
}

.elementor-location-header .solelia-header,
.solelia-header {
	--solelia-header-inner: min(1180px, calc(100% - 44px));
	left: 0;
	margin-inline: 0 !important;
	max-width: none !important;
	position: sticky;
	right: 0;
	top: 0;
	width: 100% !important;
	z-index: 9990;
}

/* Elementor boxed containers place the real children inside .e-con-inner. */
.solelia-header__inner,
.elementor-location-header .solelia-header__inner {
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.solelia-header__inner > .e-con-inner,
.elementor-location-header .solelia-header__inner > .e-con-inner,
.solelia-header__inner:not(.e-con-boxed),
.elementor-location-header .solelia-header__inner:not(.e-con-boxed) {
	align-items: center !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: clamp(18px, 3vw, 42px) !important;
	justify-content: space-between !important;
	margin-inline: auto !important;
	max-width: var(--solelia-header-inner) !important;
	min-height: 86px;
	padding: 10px 0 !important;
	width: var(--solelia-header-inner) !important;
}

.solelia-header__brand,
.elementor-location-header .solelia-header__brand {
	align-items: center !important;
	display: flex !important;
	flex: 0 0 auto !important;
	justify-content: flex-start !important;
	max-width: min(230px, 42vw) !important;
	width: auto !important;
}

.solelia-header__brand .elementor-widget-wpr-logo,
.solelia-header__brand .elementor-widget-container,
.solelia-header__brand .wpr-logo,
.solelia-header__brand picture,
.solelia-header__brand a,
.elementor-location-header .solelia-header__brand .elementor-widget-wpr-logo,
.elementor-location-header .solelia-header__brand .elementor-widget-container,
.elementor-location-header .solelia-header__brand .wpr-logo,
.elementor-location-header .solelia-header__brand picture,
.elementor-location-header .solelia-header__brand a {
	line-height: 0;
}

.solelia-header__brand img,
.solelia-header__logo-img,
.solelia-header__logo img,
.elementor-location-header .solelia-header__brand img,
.elementor-location-header .solelia-header__logo-img,
.elementor-location-header .solelia-header__logo img {
	display: block !important;
	height: auto !important;
	max-height: 66px !important;
	max-width: min(190px, 42vw) !important;
	object-fit: contain;
	width: auto !important;
}

body.is-scrolled .solelia-header__brand img,
body.is-scrolled .solelia-header__logo-img,
body.is-scrolled .solelia-header__logo img,
body.is-scrolled .elementor-location-header .solelia-header__brand img,
body.is-scrolled .elementor-location-header .solelia-header__logo-img,
body.is-scrolled .elementor-location-header .solelia-header__logo img {
	max-height: 54px !important;
}

.solelia-menu,
.elementor-location-header .solelia-menu {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
	width: auto !important;
}

.solelia-menu > .elementor-widget-wpr-nav-menu,
.elementor-location-header .solelia-menu > .elementor-widget-wpr-nav-menu {
	max-width: 100%;
	width: auto !important;
}

.solelia-menu .wpr-nav-menu-container,
.elementor-location-header .solelia-menu .wpr-nav-menu-container {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100%;
}

.solelia-menu .wpr-nav-menu,
.elementor-location-header .solelia-menu .wpr-nav-menu {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	justify-content: flex-end;
}

.solelia-menu .wpr-menu-item,
.solelia-menu .wpr-mobile-menu-item,
.elementor-location-header .solelia-menu .wpr-menu-item,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item {
	background: transparent !important;
	border-radius: 999px;
	color: var(--solelia-espresso) !important;
	font-weight: 800;
	letter-spacing: .04em;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.solelia-menu .wpr-menu-item:hover,
.solelia-menu .wpr-menu-item:focus-visible,
.solelia-menu .wpr-menu-item.wpr-active-menu-item,
.solelia-menu .current-menu-item > .wpr-menu-item,
.solelia-menu .wpr-mobile-menu-item:hover,
.solelia-menu .wpr-mobile-menu-item:focus-visible,
.elementor-location-header .solelia-menu .wpr-menu-item:hover,
.elementor-location-header .solelia-menu .wpr-menu-item:focus-visible,
.elementor-location-header .solelia-menu .wpr-menu-item.wpr-active-menu-item,
.elementor-location-header .solelia-menu .current-menu-item > .wpr-menu-item,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item:hover,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item:focus-visible {
	background: rgba(189, 161, 116, .15) !important;
	color: var(--solelia-gold-dark) !important;
}

/* Royal Addons pointer/underline effect: remove default purple and use Solelia gold. */
.solelia-menu .wpr-pointer-item::before,
.solelia-menu .wpr-pointer-item::after,
.solelia-menu .wpr-menu-item::before,
.solelia-menu .wpr-menu-item::after,
.elementor-location-header .solelia-menu .wpr-pointer-item::before,
.elementor-location-header .solelia-menu .wpr-pointer-item::after,
.elementor-location-header .solelia-menu .wpr-menu-item::before,
.elementor-location-header .solelia-menu .wpr-menu-item::after {
	background-color: var(--solelia-gold-dark) !important;
	border-color: var(--solelia-gold-dark) !important;
}

.solelia-menu .wpr-mobile-toggle-wrap,
.elementor-location-header .solelia-menu .wpr-mobile-toggle-wrap {
	display: flex;
	justify-content: flex-end;
}

.solelia-menu .wpr-mobile-toggle,
.elementor-location-header .solelia-menu .wpr-mobile-toggle {
	background: rgba(189, 161, 116, .12) !important;
	border: 1px solid rgba(94, 74, 59, .15) !important;
	border-radius: 999px;
	color: var(--solelia-espresso) !important;
}

.solelia-menu .wpr-mobile-toggle-line,
.elementor-location-header .solelia-menu .wpr-mobile-toggle-line {
	background-color: var(--solelia-espresso) !important;
}

.solelia-menu .wpr-mobile-nav-menu,
.elementor-location-header .solelia-menu .wpr-mobile-nav-menu {
	background: rgba(255, 250, 242, .98) !important;
	border-top: 1px solid rgba(94, 74, 59, .12);
	box-shadow: 0 22px 44px rgba(47, 39, 33, .10);
}

@media (max-width: 767px) {
	.elementor-location-header .solelia-header,
	.solelia-header {
		--solelia-header-inner: min(100% - 26px, 620px);
	}

	.solelia-header__inner > .e-con-inner,
	.elementor-location-header .solelia-header__inner > .e-con-inner,
	.solelia-header__inner:not(.e-con-boxed),
	.elementor-location-header .solelia-header__inner:not(.e-con-boxed) {
		gap: 14px !important;
		min-height: 72px;
		padding-block: 8px !important;
	}

	.solelia-header__brand img,
	.solelia-header__logo-img,
	.solelia-header__logo img,
	.elementor-location-header .solelia-header__brand img,
	.elementor-location-header .solelia-header__logo-img,
	.elementor-location-header .solelia-header__logo img {
		max-height: 48px !important;
		max-width: min(154px, 48vw) !important;
	}

	body.is-scrolled .solelia-header__brand img,
	body.is-scrolled .solelia-header__logo-img,
	body.is-scrolled .solelia-header__logo img,
	body.is-scrolled .elementor-location-header .solelia-header__brand img,
	body.is-scrolled .elementor-location-header .solelia-header__logo-img,
	body.is-scrolled .elementor-location-header .solelia-header__logo img {
		max-height: 42px !important;
	}
}


/* v1.2.2: Sticky Royal Addons header + Elementor-built OnePager hardening.
 * Fixes:
 * - Header stays visible at the top as a full-width sticky/fixed bar.
 * - Elementor page content receives the same Solelia typography as the PHP OnePager.
 * - Elementor preview/editor never hides reveal elements.
 * - Hero logo/text are constrained even when the class is placed on an Elementor container/widget.
 */
:root {
	--solelia-header-height: 86px;
	--solelia-header-top: 0px;
	--solelia-header-offset: 104px;
}

body.admin-bar {
	--solelia-header-top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar {
		--solelia-header-top: 46px;
	}
}

@media (max-width: 767px) {
	:root {
		--solelia-header-height: 72px;
		--solelia-header-offset: 88px;
	}
}

/* Make the Royal Addons header independent from any parent/container width. */
.elementor-location-header,
.elementor-location-header > .elementor,
.elementor-location-header .elementor-section-wrap,
.elementor-location-header .elementor-element,
.elementor-location-header .e-con,
.elementor-location-header .e-con-boxed,
.elementor-location-header .e-con-full {
	max-width: none;
}

.elementor-location-header .solelia-header,
.solelia-header {
	--solelia-header-inner: min(1180px, calc(100% - 44px));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	background: rgba(255, 250, 242, .91) !important;
	border-bottom: 1px solid rgba(94, 74, 59, .12) !important;
	box-shadow: 0 12px 34px rgba(47, 39, 33, .075);
	inset-inline: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: var(--solelia-header-height);
	position: fixed !important;
	top: var(--solelia-header-top) !important;
	width: 100% !important;
	z-index: 99990 !important;
}

body.is-scrolled .elementor-location-header .solelia-header,
body.is-scrolled .solelia-header {
	background: rgba(255, 250, 242, .97) !important;
	box-shadow: 0 14px 38px rgba(47, 39, 33, .105);
}

/* Keep the header editable in Elementor while still resembling the frontend. */
body.elementor-editor-active .elementor-location-header .solelia-header,
body.elementor-editor-active .solelia-header,
body.elementor-editor-preview .elementor-location-header .solelia-header,
body.elementor-editor-preview .solelia-header {
	position: sticky !important;
	top: var(--solelia-header-top) !important;
}

.solelia-header.e-con,
.elementor-location-header .solelia-header.e-con,
.solelia-header.e-con-full,
.elementor-location-header .solelia-header.e-con-full {
	--width: 100% !important;
	--max-width: 100% !important;
	--content-width: 100% !important;
}

.solelia-header__inner,
.elementor-location-header .solelia-header__inner,
.solelia-header__inner.e-con,
.elementor-location-header .solelia-header__inner.e-con {
	--width: 100% !important;
	--max-width: 100% !important;
	--content-width: var(--solelia-header-inner) !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.solelia-header__inner > .e-con-inner,
.elementor-location-header .solelia-header__inner > .e-con-inner,
.solelia-header__inner:not(.e-con-boxed),
.elementor-location-header .solelia-header__inner:not(.e-con-boxed) {
	align-items: center !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: clamp(18px, 3vw, 42px) !important;
	justify-content: space-between !important;
	margin-inline: auto !important;
	max-width: var(--solelia-header-inner) !important;
	min-height: var(--solelia-header-height) !important;
	padding: 8px 0 !important;
	width: var(--solelia-header-inner) !important;
}

.solelia-header__brand,
.elementor-location-header .solelia-header__brand {
	align-items: center !important;
	display: flex !important;
	flex: 0 0 auto !important;
	justify-content: flex-start !important;
	max-width: min(230px, 42vw) !important;
	min-width: 0 !important;
	width: auto !important;
}

.solelia-header__brand .e-con-inner,
.elementor-location-header .solelia-header__brand .e-con-inner {
	align-items: center !important;
	display: flex !important;
	justify-content: flex-start !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.solelia-header__brand img,
.solelia-header__logo-img,
.solelia-header__logo img,
.elementor-location-header .solelia-header__brand img,
.elementor-location-header .solelia-header__logo-img,
.elementor-location-header .solelia-header__logo img {
	display: block !important;
	height: auto !important;
	max-height: 64px !important;
	max-width: min(190px, 42vw) !important;
	object-fit: contain !important;
	width: auto !important;
}

body.is-scrolled .solelia-header__brand img,
body.is-scrolled .solelia-header__logo-img,
body.is-scrolled .solelia-header__logo img,
body.is-scrolled .elementor-location-header .solelia-header__brand img,
body.is-scrolled .elementor-location-header .solelia-header__logo-img,
body.is-scrolled .elementor-location-header .solelia-header__logo img {
	max-height: 52px !important;
}

.solelia-menu,
.elementor-location-header .solelia-menu {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
	width: auto !important;
}

.solelia-menu > .e-con-inner,
.elementor-location-header .solelia-menu > .e-con-inner {
	align-items: center !important;
	display: flex !important;
	justify-content: flex-end !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.solelia-menu .elementor-widget-wpr-nav-menu,
.elementor-location-header .solelia-menu .elementor-widget-wpr-nav-menu,
.solelia-menu .wpr-nav-menu-container,
.elementor-location-header .solelia-menu .wpr-nav-menu-container {
	width: auto !important;
}

.solelia-menu .wpr-nav-menu,
.elementor-location-header .solelia-menu .wpr-nav-menu {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px 8px !important;
	justify-content: flex-end !important;
}

/* Solelia menu colors, including Royal Addons hover/pointer states. */
.solelia-menu .wpr-menu-item,
.solelia-menu .wpr-mobile-menu-item,
.elementor-location-header .solelia-menu .wpr-menu-item,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item {
	background: transparent !important;
	border-radius: 999px !important;
	color: var(--solelia-espresso) !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	text-decoration: none !important;
}

.solelia-menu .wpr-menu-item:hover,
.solelia-menu .wpr-menu-item:focus-visible,
.solelia-menu .wpr-menu-item.wpr-active-menu-item,
.solelia-menu .current-menu-item > .wpr-menu-item,
.solelia-menu .wpr-mobile-menu-item:hover,
.solelia-menu .wpr-mobile-menu-item:focus-visible,
.elementor-location-header .solelia-menu .wpr-menu-item:hover,
.elementor-location-header .solelia-menu .wpr-menu-item:focus-visible,
.elementor-location-header .solelia-menu .wpr-menu-item.wpr-active-menu-item,
.elementor-location-header .solelia-menu .current-menu-item > .wpr-menu-item,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item:hover,
.elementor-location-header .solelia-menu .wpr-mobile-menu-item:focus-visible {
	background: rgba(189, 161, 116, .15) !important;
	color: var(--solelia-gold-dark) !important;
}

.solelia-menu .wpr-pointer-item::before,
.solelia-menu .wpr-pointer-item::after,
.solelia-menu .wpr-menu-item::before,
.solelia-menu .wpr-menu-item::after,
.elementor-location-header .solelia-menu .wpr-pointer-item::before,
.elementor-location-header .solelia-menu .wpr-pointer-item::after,
.elementor-location-header .solelia-menu .wpr-menu-item::before,
.elementor-location-header .solelia-menu .wpr-menu-item::after {
	background-color: var(--solelia-gold-dark) !important;
	border-color: var(--solelia-gold-dark) !important;
}

.solelia-menu .wpr-mobile-toggle,
.elementor-location-header .solelia-menu .wpr-mobile-toggle {
	background: rgba(189, 161, 116, .12) !important;
	border: 1px solid rgba(94, 74, 59, .16) !important;
	border-radius: 999px !important;
	color: var(--solelia-espresso) !important;
}

.solelia-menu .wpr-mobile-toggle-line,
.elementor-location-header .solelia-menu .wpr-mobile-toggle-line {
	background-color: var(--solelia-espresso) !important;
}

.solelia-menu .wpr-mobile-nav-menu,
.elementor-location-header .solelia-menu .wpr-mobile-nav-menu {
	background: rgba(255, 250, 242, .98) !important;
	border-top: 1px solid rgba(94, 74, 59, .12) !important;
	box-shadow: 0 22px 44px rgba(47, 39, 33, .10) !important;
}

/* Elementor-built pages should look like the native Solelia OnePager. */
.solelia-elementor-page {
	background: var(--solelia-cream);
	color: var(--solelia-ink);
	font-family: "Univers LT Std", "Univers", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.72;
	min-height: 100vh;
	overflow-x: clip;
}

.solelia-elementor-page h1,
.solelia-elementor-page h2,
.solelia-elementor-page h3,
.solelia-elementor-page .elementor-heading-title {
	color: var(--solelia-espresso) !important;
	font-family: "Cormorant Garamond", "Acier BAT", "Text Solid", Georgia, "Times New Roman", serif !important;
	font-weight: 500 !important;
	letter-spacing: -.045em !important;
	line-height: .96 !important;
	margin: 0;
}

.solelia-elementor-page h1,
.solelia-elementor-page .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(3.15rem, 7vw, 7.6rem) !important;
	max-width: 980px;
}

.solelia-elementor-page h2,
.solelia-elementor-page .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(2.35rem, 5vw, 5rem) !important;
}

.solelia-elementor-page h3,
.solelia-elementor-page .elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(1.35rem, 2.6vw, 2.2rem) !important;
}

.solelia-elementor-page p {
	color: inherit;
	margin: 0;
}

.solelia-elementor-page .solelia-section {
	overflow: hidden;
	position: relative;
	scroll-margin-top: var(--solelia-header-offset);
}

.solelia-elementor-page .solelia-wrap.e-con,
.solelia-elementor-page .solelia-wrap.e-con-boxed,
.solelia-elementor-page .solelia-wrap.e-con-full {
	--content-width: var(--solelia-wrap) !important;
	margin-inline: auto !important;
	width: 100% !important;
}

.solelia-elementor-page .solelia-wrap > .e-con-inner {
	max-width: var(--solelia-wrap) !important;
	width: var(--solelia-wrap) !important;
}

.solelia-elementor-page .solelia-hero {
	background:
		radial-gradient(circle at 17% 18%, rgba(189, 161, 116, .18), transparent 28%),
		radial-gradient(circle at 82% 12%, rgba(233, 212, 194, .38), transparent 30%),
		linear-gradient(180deg, #fffaf2 0%, var(--solelia-cream) 48%, var(--solelia-sand) 100%);
	min-height: max(720px, calc((var(--solelia-vh, 1vh) * 100) - var(--solelia-header-height)));
	padding: clamp(126px, 12vw, 168px) 0 clamp(82px, 8vw, 118px) !important;
}

.solelia-elementor-page .solelia-hero__inner,
.solelia-hero__inner > .e-con-inner {
	align-items: center !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	text-align: center !important;
}

.solelia-elementor-page .solelia-hero__brand,
.solelia-elementor-page .solelia-hero__brand > .e-con-inner {
	align-items: center !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	margin-inline: auto !important;
	max-width: 980px !important;
	text-align: center !important;
}

/* The user may place this class on an Elementor container, image widget, or the image itself. */
.solelia-elementor-page .solelia-hero__logo,
.solelia-elementor-page .solelia-hero__logo-img,
.solelia-elementor-page .solelia-hero__logo-img > .e-con-inner,
.solelia-elementor-page .solelia-hero .elementor-widget-image,
.solelia-elementor-page .solelia-hero .elementor-widget-image .elementor-widget-container {
	align-items: center !important;
	display: flex !important;
	justify-content: center !important;
	margin-inline: auto !important;
	max-width: min(620px, 88vw) !important;
	width: 100% !important;
}

.solelia-elementor-page .solelia-hero__logo-img img,
.solelia-elementor-page .solelia-hero__logo img,
.solelia-elementor-page .solelia-hero .elementor-widget-image img {
	display: block !important;
	height: auto !important;
	max-height: clamp(240px, 36vw, 420px) !important;
	max-width: min(620px, 88vw) !important;
	object-fit: contain !important;
	width: auto !important;
}

.solelia-elementor-page .solelia-eyebrow,
.solelia-elementor-page .solelia-kicker {
	align-items: center !important;
	display: inline-flex !important;
	justify-content: center !important;
	margin: clamp(20px, 3vw, 34px) auto 18px !important;
}

.solelia-elementor-page .solelia-eyebrow .elementor-heading-title,
.solelia-elementor-page .solelia-kicker .elementor-heading-title,
.solelia-elementor-page .solelia-eyebrow,
.solelia-elementor-page .solelia-kicker {
	color: var(--solelia-gold-dark) !important;
	font-family: "Univers LT Std", "Univers", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: .82rem !important;
	font-weight: 800 !important;
	letter-spacing: .22em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

.solelia-elementor-page .solelia-hero__lead,
.solelia-elementor-page .solelia-hero__lead .elementor-widget-container,
.solelia-elementor-page .solelia-hero__lead p {
	color: var(--solelia-muted) !important;
	font-size: clamp(1.06rem, 1.45vw, 1.24rem) !important;
	line-height: 1.78 !important;
	margin-inline: auto !important;
	max-width: 760px !important;
	text-align: center !important;
}

.solelia-elementor-page .solelia-hero__lead p + p {
	margin-top: .8em !important;
}

/* Elementor editor/preview: never hide sections because IntersectionObserver may not run there. */
body.elementor-editor-active .solelia-reveal,
body.elementor-editor-preview .solelia-reveal,
.elementor-editor-active .solelia-reveal,
.elementor-editor-preview .solelia-reveal,
.elementor-editor-active .solelia-reveal:not(.is-visible),
.elementor-editor-preview .solelia-reveal:not(.is-visible) {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

@media (max-width: 767px) {
	.elementor-location-header .solelia-header,
	.solelia-header {
		--solelia-header-inner: min(100% - 26px, 620px);
	}

	.solelia-elementor-page .solelia-hero {
		min-height: auto;
		padding: 112px 0 72px !important;
	}

	.solelia-elementor-page .solelia-hero__logo-img img,
	.solelia-elementor-page .solelia-hero__logo img,
	.solelia-elementor-page .solelia-hero .elementor-widget-image img {
		max-height: 245px !important;
		max-width: min(430px, 88vw) !important;
	}

	.solelia-elementor-page h1,
	.solelia-elementor-page .elementor-widget-heading h1.elementor-heading-title {
		font-size: clamp(2.85rem, 12vw, 4.55rem) !important;
	}
}

/* v1.2.3: Hero logo offset + Elementor/Royal Addons footer helper classes.
 * Fixes large Elementor hero-logo containers being clipped/overlapped by the fixed header.
 * Adds a stable footer class system for a custom Elementor/Royal Addons footer.
 */
.solelia-elementor-page .solelia-hero {
	padding-top: calc(var(--solelia-header-height) + clamp(82px, 9vw, 132px)) !important;
}

/* If .solelia-hero__logo-img is placed on an Elementor container, it must not inherit image max-height rules. */
.solelia-elementor-page .solelia-hero__logo-img.e-con,
.solelia-elementor-page .solelia-hero__logo-img.e-con-boxed,
.solelia-elementor-page .solelia-hero__logo-img.e-con-full,
.solelia-elementor-page .solelia-hero__logo-img.elementor-element,
.solelia-elementor-page .solelia-hero__logo-img:not(img) {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

.solelia-elementor-page .solelia-hero__logo-img > .e-con-inner {
	align-items: center !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	justify-content: center !important;
	max-height: none !important;
	max-width: min(760px, 92vw) !important;
	overflow: visible !important;
	text-align: center !important;
	width: min(760px, 92vw) !important;
}

.solelia-elementor-page .solelia-hero .elementor-widget-image {
	margin-bottom: clamp(18px, 3vw, 34px) !important;
}

.solelia-elementor-page .solelia-hero__logo-img img,
.solelia-elementor-page .solelia-hero__logo img,
.solelia-elementor-page .solelia-hero .elementor-widget-image img {
	max-height: clamp(210px, 32vw, 360px) !important;
}

/* Footer helpers for Elementor/Royal Addons footer templates. */
.elementor-location-footer,
.elementor-location-footer > .elementor,
.elementor-location-footer .elementor-section-wrap {
	max-width: none !important;
	width: 100% !important;
}

.solelia-footer {
	background:
		radial-gradient(circle at 12% 18%, rgba(189, 161, 116, .18), transparent 26%),
		linear-gradient(180deg, #fffaf2 0%, #f3e4d2 100%);
	border-top: 1px solid rgba(94, 74, 59, .13);
	color: var(--solelia-espresso);
	font-family: "Univers LT Std", "Univers", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	padding: clamp(54px, 6vw, 82px) 0 0;
	position: relative;
}

.solelia-footer::before {
	background: linear-gradient(90deg, transparent, rgba(189, 161, 116, .54), transparent);
	content: "";
	height: 1px;
	left: 8vw;
	position: absolute;
	right: 8vw;
	top: 0;
}

.solelia-footer__inner,
.elementor-location-footer .solelia-footer__inner {
	margin-inline: auto !important;
	max-width: min(1180px, calc(100% - 44px)) !important;
	width: min(1180px, calc(100% - 44px)) !important;
}

.solelia-footer__inner > .e-con-inner,
.elementor-location-footer .solelia-footer__inner > .e-con-inner {
	max-width: min(1180px, calc(100% - 44px)) !important;
	width: min(1180px, calc(100% - 44px)) !important;
}

.solelia-footer__top,
.solelia-footer__top > .e-con-inner,
.elementor-location-footer .solelia-footer__top,
.elementor-location-footer .solelia-footer__top > .e-con-inner {
	align-items: flex-start !important;
	display: grid !important;
	gap: clamp(28px, 5vw, 70px) !important;
	grid-template-columns: minmax(260px, 1.25fr) minmax(180px, .7fr) minmax(220px, .85fr) !important;
}

.solelia-footer__brand,
.solelia-footer__nav,
.solelia-footer__contact {
	min-width: 0;
}

.solelia-footer__logo img,
.solelia-footer .custom-logo,
.elementor-location-footer .solelia-footer__logo img,
.elementor-location-footer .solelia-footer .custom-logo {
	display: block !important;
	height: auto !important;
	max-height: 112px !important;
	max-width: min(240px, 72vw) !important;
	object-fit: contain !important;
	width: auto !important;
}

.solelia-footer__claim,
.solelia-footer__text,
.solelia-footer__contact p,
.solelia-footer__bottom {
	color: var(--solelia-muted);
	font-size: .98rem;
	line-height: 1.75;
}

.solelia-footer__claim,
.solelia-footer__text {
	margin-top: 18px;
	max-width: 430px;
}

.solelia-footer h2,
.solelia-footer h3,
.solelia-footer .elementor-heading-title {
	color: var(--solelia-espresso) !important;
	font-family: "Cormorant Garamond", "Acier BAT", "Text Solid", Georgia, "Times New Roman", serif !important;
	font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
	font-weight: 500 !important;
	letter-spacing: -.035em !important;
	line-height: 1.05 !important;
	margin: 0 0 18px !important;
}

.solelia-footer__nav a,
.solelia-footer__legal a,
.solelia-footer__contact a,
.elementor-location-footer .solelia-footer a {
	color: var(--solelia-espresso) !important;
	font-weight: 800;
	text-decoration: none !important;
	transition: color .2s ease, opacity .2s ease;
}

.solelia-footer__nav a:hover,
.solelia-footer__nav a:focus-visible,
.solelia-footer__legal a:hover,
.solelia-footer__legal a:focus-visible,
.solelia-footer__contact a:hover,
.solelia-footer__contact a:focus-visible,
.elementor-location-footer .solelia-footer a:hover,
.elementor-location-footer .solelia-footer a:focus-visible {
	color: var(--solelia-gold-dark) !important;
}

.solelia-footer__nav ul,
.solelia-footer__legal ul,
.solelia-footer .elementor-icon-list-items {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.solelia-footer__nav li,
.solelia-footer__legal li,
.solelia-footer .elementor-icon-list-item {
	margin: 0 0 10px !important;
}

.solelia-footer__bottom,
.solelia-footer__bottom > .e-con-inner,
.elementor-location-footer .solelia-footer__bottom,
.elementor-location-footer .solelia-footer__bottom > .e-con-inner {
	align-items: center !important;
	border-top: 1px solid rgba(94, 74, 59, .13);
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 12px 22px !important;
	justify-content: space-between !important;
	margin-top: clamp(38px, 5vw, 62px) !important;
	padding: 20px 0 !important;
}

.solelia-footer__legal,
.solelia-footer__legal > .e-con-inner,
.elementor-location-footer .solelia-footer__legal,
.elementor-location-footer .solelia-footer__legal > .e-con-inner {
	align-items: center !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 10px 18px !important;
	justify-content: flex-end !important;
}

@media (max-width: 1024px) {
	.solelia-footer__top,
	.solelia-footer__top > .e-con-inner,
	.elementor-location-footer .solelia-footer__top,
	.elementor-location-footer .solelia-footer__top > .e-con-inner {
		grid-template-columns: 1fr 1fr !important;
	}

	.solelia-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.solelia-elementor-page .solelia-hero {
		padding-top: calc(var(--solelia-header-height) + 58px) !important;
	}

	.solelia-elementor-page .solelia-hero__logo-img img,
	.solelia-elementor-page .solelia-hero__logo img,
	.solelia-elementor-page .solelia-hero .elementor-widget-image img {
		max-height: 220px !important;
	}

	.solelia-footer {
		padding-top: 48px;
	}

	.solelia-footer__inner,
	.solelia-footer__inner > .e-con-inner,
	.elementor-location-footer .solelia-footer__inner,
	.elementor-location-footer .solelia-footer__inner > .e-con-inner {
		max-width: min(100% - 26px, 620px) !important;
		width: min(100% - 26px, 620px) !important;
	}

	.solelia-footer__top,
	.solelia-footer__top > .e-con-inner,
	.elementor-location-footer .solelia-footer__top,
	.elementor-location-footer .solelia-footer__top > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	.solelia-footer__bottom,
	.solelia-footer__bottom > .e-con-inner,
	.elementor-location-footer .solelia-footer__bottom,
	.elementor-location-footer .solelia-footer__bottom > .e-con-inner,
	.solelia-footer__legal,
	.solelia-footer__legal > .e-con-inner,
	.elementor-location-footer .solelia-footer__legal,
	.elementor-location-footer .solelia-footer__legal > .e-con-inner {
		align-items: flex-start !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
	}
}


/* --------------------------------------------------------------------------
   v1.2.4 – Portrait frame stabilization for Elementor image widgets
   -------------------------------------------------------------------------- */
.solelia-about__media {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 0;
	position: relative;
}

.solelia-about__media .solelia-portrait-frame {
	aspect-ratio: 4 / 5.35;
	border-width: clamp(10px, 1.5vw, 14px);
	display: block;
	height: auto;
	isolation: isolate;
	margin-inline: auto;
	max-width: 100%;
	overflow: hidden;
	padding: 0;
	width: min(440px, 100%);
}

.solelia-about__media .solelia-portrait-frame::before {
	inset: clamp(14px, 2.4vw, 22px);
	pointer-events: none;
	z-index: 3;
}

.solelia-about__media .solelia-portrait-frame::after {
	bottom: clamp(22px, 5vw, 44px);
	height: clamp(74px, 12vw, 126px);
	opacity: .34;
	pointer-events: none;
	position: absolute;
	right: clamp(20px, 4vw, 42px);
	width: clamp(74px, 12vw, 126px);
	z-index: 1;
}

.solelia-about__media .solelia-portrait-frame img {
	border-radius: 47% 47% calc(var(--solelia-radius-lg) - 12px) calc(var(--solelia-radius-lg) - 12px);
	box-shadow: 0 18px 55px rgba(47, 39, 33, .18);
	display: block;
	height: calc(100% - clamp(28px, 4.8vw, 44px));
	inset: clamp(14px, 2.4vw, 22px);
	max-width: none;
	object-fit: cover;
	object-position: center top;
	position: absolute;
	width: calc(100% - clamp(28px, 4.8vw, 44px));
	z-index: 2;
}

.solelia-about__media .solelia-portrait-frame .elementor-widget-container {
	height: 100%;
	position: static;
}

@media (max-width: 720px) {
	.solelia-about__media .solelia-portrait-frame {
		aspect-ratio: 4 / 5.2;
		width: min(360px, 100%);
	}
}

/* --------------------------------------------------------------------------
   v1.2.5 – Footer line cleanup, overflow hardening and portrait final crop
   -------------------------------------------------------------------------- */

/* Prevent accidental horizontal page scroll from Royal Addons inline mobile-menu
   measurements and Elementor full-width helper containers. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html,
    body,
    .solelia-onepager,
    .solelia-elementor-page,
    .elementor-location-header,
    .elementor-location-footer,
    .solelia-footer,
    .solelia-footer__bottom {
        overflow-x: clip;
    }
}

.elementor,
.elementor-location-header,
.elementor-location-footer,
.solelia-elementor-page,
.solelia-onepager,
.solelia-footer,
.solelia-footer__bottom {
    max-width: 100% !important;
}

/* Footer nav should not render Royal Addons' calculated mobile menu width in the
   footer. Footer navigation remains visible as normal links and does not create
   a 1920px wide hidden element that causes horizontal scrolling. */
.solelia-footer .wpr-mobile-nav-menu-container,
.elementor-location-footer .solelia-footer .wpr-mobile-nav-menu-container {
    display: none !important;
}

.solelia-footer .wpr-nav-menu-container,
.elementor-location-footer .solelia-footer .wpr-nav-menu-container {
    display: flex !important;
    width: auto !important;
}

.solelia-footer .wpr-nav-menu,
.elementor-location-footer .solelia-footer .wpr-nav-menu {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.solelia-footer .wpr-nav-menu .menu-item,
.elementor-location-footer .solelia-footer .wpr-nav-menu .menu-item {
    margin: 0 !important;
}

/* Header mobile menu may still be full width, but must not create body overflow. */
.solelia-header .wpr-mobile-nav-menu,
.elementor-location-header .solelia-header .wpr-mobile-nav-menu {
    box-sizing: border-box !important;
    left: 50% !important;
    margin-inline: 0 !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
}

/* Footer bottom: the former selector applied a border to the boxed Elementor
   container and to its .e-con-inner, which created the visible double line. */
.solelia-footer__bottom,
.elementor-location-footer .solelia-footer__bottom {
    background: linear-gradient(180deg, #f3e4d2 0%, #fffaf2 100%);
    border-top: 0 !important;
    color: var(--solelia-muted);
    margin-top: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.solelia-footer__bottom > .e-con-inner,
.elementor-location-footer .solelia-footer__bottom > .e-con-inner {
    border-top: 1px solid rgba(94, 74, 59, .13) !important;
    margin: 0 auto !important;
    max-width: min(1180px, calc(100% - 44px)) !important;
    padding: 20px 0 !important;
    width: min(1180px, calc(100% - 44px)) !important;
}

/* If the bottom row is correctly placed inside the main footer container, keep a
   calm spacing, but still only one single separator line. */
.solelia-footer .solelia-footer__bottom {
    background: transparent;
    margin-top: clamp(34px, 4.5vw, 56px) !important;
}

/* Portrait: final robust version for an Elementor Image widget with the class
   .solelia-portrait-frame. The photo fills the arch instead of floating as a
   small rectangle on top of the decorative background. */
.solelia-about__media .solelia-portrait-frame.elementor-widget-image,
.solelia-about__media .elementor-widget-image.solelia-portrait-frame {
    aspect-ratio: 4 / 5.35 !important;
    background: linear-gradient(135deg, #d8bea3, #f9f0e5 52%, #bda174) !important;
    border: clamp(10px, 1.5vw, 14px) solid rgba(255, 250, 242, .86) !important;
    border-radius: 52% 52% var(--solelia-radius-lg) var(--solelia-radius-lg) !important;
    box-shadow: var(--solelia-shadow) !important;
    display: block !important;
    height: auto !important;
    isolation: isolate !important;
    margin-inline: auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: min(440px, 100%) !important;
}

.solelia-about__media .solelia-portrait-frame.elementor-widget-image .elementor-widget-container,
.solelia-about__media .elementor-widget-image.solelia-portrait-frame .elementor-widget-container {
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 1 !important;
}

.solelia-about__media .solelia-portrait-frame.elementor-widget-image img,
.solelia-about__media .elementor-widget-image.solelia-portrait-frame img {
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 1 !important;
}

.solelia-about__media .solelia-portrait-frame.elementor-widget-image::before,
.solelia-about__media .elementor-widget-image.solelia-portrait-frame::before {
    border: 1px solid rgba(255, 250, 242, .46) !important;
    border-radius: inherit !important;
    content: "" !important;
    inset: clamp(16px, 2.4vw, 24px) !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 2 !important;
}

.solelia-about__media .solelia-portrait-frame.elementor-widget-image::after,
.solelia-about__media .elementor-widget-image.solelia-portrait-frame::after {
    display: none !important;
}

@media (max-width: 767px) {
    .solelia-footer__bottom > .e-con-inner,
    .elementor-location-footer .solelia-footer__bottom > .e-con-inner {
        max-width: min(100% - 26px, 620px) !important;
        width: min(100% - 26px, 620px) !important;
    }

    .solelia-about__media .solelia-portrait-frame.elementor-widget-image,
    .solelia-about__media .elementor-widget-image.solelia-portrait-frame {
        width: min(360px, 100%) !important;
    }
}


/* --------------------------------------------------------------------------
   v1.2.6 – Mobile Royal Addons header fix
   --------------------------------------------------------------------------
   Fixes mobile header where Royal Addons rendered the desktop menu and mobile
   toggle at the same time. This made the fixed header very tall and covered the
   OnePager content. On mobile we now show only the burger toggle, keep it
   vertically centered, and position the mobile flyout as an overlay below the
   fixed header so it cannot push the page content away.
 */
@media (max-width: 767px) {
    :root {
        --solelia-header-height: 76px;
        --solelia-header-offset: 92px;
    }

    .elementor-location-header .solelia-header,
    .solelia-header {
        min-height: var(--solelia-header-height) !important;
        overflow: visible !important;
    }

    .solelia-header__inner > .e-con-inner,
    .elementor-location-header .solelia-header__inner > .e-con-inner,
    .solelia-header__inner:not(.e-con-boxed),
    .elementor-location-header .solelia-header__inner:not(.e-con-boxed) {
        align-items: center !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        min-height: var(--solelia-header-height) !important;
        padding: 8px 0 !important;
    }

    /* Mobile must not show the horizontal/desktop nav next to the burger. */
    .solelia-header .solelia-menu .wpr-nav-menu-container,
    .elementor-location-header .solelia-header .solelia-menu .wpr-nav-menu-container {
        display: none !important;
        height: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
    }

    .solelia-header .solelia-menu,
    .elementor-location-header .solelia-header .solelia-menu {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        justify-content: center !important;
        min-height: 56px !important;
        overflow: visible !important;
        width: auto !important;
    }

    .solelia-header .solelia-menu > .e-con-inner,
    .elementor-location-header .solelia-header .solelia-menu > .e-con-inner,
    .solelia-header .solelia-menu .elementor-widget-wpr-nav-menu,
    .elementor-location-header .solelia-header .solelia-menu .elementor-widget-wpr-nav-menu {
        align-items: center !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 56px !important;
        overflow: visible !important;
        padding: 0 !important;
        width: auto !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-nav-menu-container,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-nav-menu-container {
        align-items: center !important;
        display: flex !important;
        justify-content: center !important;
        line-height: 1 !important;
        margin: 0 !important;
        min-height: 56px !important;
        overflow: visible !important;
        padding: 0 !important;
        position: static !important;
        width: auto !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-toggle-wrap,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-toggle-wrap {
        align-items: center !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 56px !important;
        padding: 0 !important;
        width: auto !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-toggle,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-toggle {
        align-items: center !important;
        display: inline-flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        height: 54px !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 54px !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-toggle-line,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-toggle-line {
        display: block !important;
        flex: 0 0 auto !important;
        height: 3px !important;
        margin: 0 !important;
        width: 28px !important;
    }

    /* The opened mobile menu must overlay the page below the sticky header and
       never increase the fixed header height or create horizontal overflow. */
    .solelia-header .solelia-menu .wpr-mobile-nav-menu,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-nav-menu {
        background: rgba(255, 250, 242, .985) !important;
        border-top: 1px solid rgba(94, 74, 59, .12) !important;
        box-shadow: 0 22px 44px rgba(47, 39, 33, .12) !important;
        box-sizing: border-box !important;
        left: 0 !important;
        margin: 0 !important;
        max-height: calc((var(--solelia-vh, 1vh) * 100) - var(--solelia-header-height)) !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 18px 16px 22px !important;
        position: fixed !important;
        right: auto !important;
        top: calc(var(--solelia-header-top) + var(--solelia-header-height)) !important;
        transform: none !important;
        width: 100vw !important;
        z-index: 99980 !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-nav-menu .menu-item,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-nav-menu .menu-item {
        margin: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .solelia-header .solelia-menu .wpr-mobile-menu-item,
    .elementor-location-header .solelia-header .solelia-menu .wpr-mobile-menu-item {
        align-items: center !important;
        display: flex !important;
        justify-content: center !important;
        min-height: 48px !important;
        padding: 12px 18px !important;
        text-align: center !important;
        width: 100% !important;
    }

    /* Prevent a failed/missed IntersectionObserver from leaving the mobile page
       visually empty. The reveal animation is nice-to-have; readable content is
       more important on mobile. */
    .solelia-reveal,
    .solelia-reveal:not(.is-visible),
    .solelia-elementor-page .solelia-reveal,
    .solelia-elementor-page .solelia-reveal:not(.is-visible) {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .solelia-elementor-page .solelia-hero {
        min-height: auto !important;
        overflow: visible !important;
        padding-top: calc(var(--solelia-header-height) + 44px) !important;
    }

    .solelia-elementor-page .solelia-section {
        overflow: visible !important;
    }
}
