/*
 * Reforma mobile home canonical layer.
 *
 * This file is loaded after pattern-decorations.css and owns the mobile-only
 * home-page corrections that used to be from prior iterations.
 * Desktop/tablet webview at 1145px+ is intentionally untouched.
 */

.reforma-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 3px;
	border: 1px solid oklch(100% 0 0 / 0.24);
	border-radius: 999px;
	background: oklch(100% 0 0 / 0.08);
}

.reforma-language-switcher__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: 999px;
	color: oklch(100% 0 0 / 0.9);
	text-decoration: none;
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1;
	transition: background-color 160ms ease, color 160ms ease;
}

.reforma-language-switcher__link img {
	width: 18px;
	height: 12px;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px oklch(0% 0 0 / 0.1);
}

.reforma-language-switcher__link:hover,
.reforma-language-switcher__link:focus-visible {
	background: var(--wp--preset--color--page, #f4faff);
	color: var(--wp--preset--color--brand-gold, #a07c42);
}

.reforma-site-footer .reforma-footer-links {
	list-style: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.reforma-site-footer .reforma-footer-links li + li {
	margin-top: 0.6rem !important;
}

.reforma-site-footer .reforma-footer-links a {
	color: inherit !important;
	text-decoration: none !important;
}

.reforma-news-insights .reforma-news-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: var(--wp--preset--spacing--50, 24px) !important;
	overflow-x: auto !important;
	overflow-y: visible !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: 10px !important;
	scrollbar-width: none !important;
}

.reforma-news-insights .reforma-news-carousel::-webkit-scrollbar {
	display: none !important;
}

.reforma-news-insights .reforma-news-carousel > .reforma-news-card {
	box-sizing: border-box !important;
	flex: 0 0 clamp(300px, 31vw, 360px) !important;
	width: clamp(300px, 31vw, 360px) !important;
	max-width: 360px !important;
	scroll-snap-align: start !important;
}

@media (max-width: 1149px) {
	.wp-site-blocks > header.wp-block-template-part,
	body > .wp-site-blocks > header.wp-block-template-part:first-child,
	.reforma-site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 1000 !important;
	}

	.reforma-site-header > .wp-block-group {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		gap: 16px !important;
		direction: ltr !important;
	}

	.reforma-site-header .reforma-site-logo {
		order: 1 !important;
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	.reforma-site-header .reforma-header-email {
		display: none !important;
	}

	.reforma-site-header .reforma-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.reforma-site-header .wp-block-woocommerce-customer-account,
	.reforma-site-header .wc-block-customer-account {
		order: 8 !important;
		flex: 0 0 auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.reforma-site-header .reforma-primary-nav {
		order: 9 !important;
		flex: 0 0 auto !important;
		margin-left: 8px !important;
		margin-right: 0 !important;
	}

	.reforma-primary-nav .wp-block-navigation__responsive-container-open {
		width: 40px !important;
		height: 40px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-left: 0 !important;
	}

	/*
	 * FIX 1 — Header actions (search + Book CTA) overflow at tablet.
	 * At ≤1149px the nav collapses to a hamburger. The .reforma-header-actions
	 * div still renders between logo and hamburger, but the CTA link text at
	 * sizes below ~900px wraps and pushes the hamburger off-screen.
	 * Hide the CTA link text; keep the search icon visible until ≤781px.
	 */
	.reforma-site-header .reforma-header-actions .reforma-header-cta-link span {
		display: none !important;
	}
	.reforma-site-header .reforma-header-actions .reforma-header-cta-link svg {
		display: none !important;
	}
	.reforma-site-header .reforma-header-actions .reforma-header-cta-link {
		/* Collapse to icon-only pill — Book button becomes a small icon target */
		width: 44px !important;
		height: 44px !important;
		min-width: 0 !important;
		padding: 0 !important;
		justify-content: center !important;
		border: 1px solid currentColor !important;
		border-radius: 50% !important;
		opacity: 0.8 !important;
		background: transparent !important;
	}
	/* Show a calendar icon via content so the tap target is still meaningful */
	.reforma-site-header .reforma-header-actions .reforma-header-cta-link::after {
		content: "" !important;
		display: block !important;
		width: 20px !important;
		height: 20px !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
	}

	/* Push header actions to order:2 so layout is: Logo | Actions | [space] | Hamburger */
	.reforma-site-header .reforma-header-actions {
		order: 2 !important;
		flex: 0 0 auto !important;
		margin-left: auto !important;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
	}
	/* Logo pulls left edge */
	.reforma-site-header .reforma-logo {
		order: 1 !important;
		flex: 0 0 auto !important;
		margin-right: 0 !important;
	}

	body.home .reforma-stats-bar .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 0 !important;
		align-items: stretch !important;
	}

	body.home .reforma-stats-bar .wp-block-columns > .wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: auto !important;
		height: 176px !important;
		min-height: 176px !important;
		margin: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}
}

@media (max-width: 781px) {
	.wp-site-blocks {
		padding-top: 62px !important;
	}

	.wp-site-blocks > header.wp-block-template-part,
	body > .wp-site-blocks > header.wp-block-template-part:first-child {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 1000 !important;
	}

	body.admin-bar .wp-site-blocks > header.wp-block-template-part,
	body.admin-bar > .wp-site-blocks > header.wp-block-template-part:first-child {
		top: 46px !important;
	}

	section.reforma-hero-band {
		position: relative !important;
		isolation: isolate !important;
		overflow: hidden !important;
		min-height: calc(100svh - 62px) !important;
		background-color: var(--wp--preset--color--ink, #0d2538) !important;
	}

	section.reforma-hero-band::before {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: 2 !important;
		pointer-events: none !important;
		background:
			linear-gradient(180deg, oklch(8% 0.03 245 / 0.22) 0%, oklch(8% 0.03 245 / 0.5) 48%, oklch(8% 0.03 245 / 0.78) 100%),
			linear-gradient(90deg, oklch(8% 0.03 245 / 0.76) 0%, oklch(8% 0.03 245 / 0.34) 62%, oklch(8% 0.03 245 / 0.56) 100%) !important;
	}

	section.reforma-hero-band > .wp-block-columns {
		position: relative !important;
		z-index: auto !important;
		display: block !important;
		min-height: calc(100svh - 62px) !important;
		height: auto !important;
		overflow: hidden !important;
	}

	section.reforma-hero-band > .wp-block-columns > .wp-block-column:first-child {
		position: relative !important;
		z-index: 4 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 0 !important;
		min-height: calc(100svh - 62px) !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		padding: clamp(88px, 11svh, 116px) 22px clamp(76px, 11svh, 112px) !important;
	}

	section.reforma-hero-band .wp-block-columns > .wp-block-column.is-vertically-aligned-center:first-child {
		margin-top: 0 !important;
	}

	section.reforma-hero-band .reforma-hero-title,
	section.reforma-hero-band .reforma-hero-title + p {
		position: relative !important;
		z-index: 5 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: min(calc(100vw - 44px), 470px) !important;
		color: var(--wp--preset--color--white, #fff) !important;
		text-shadow: 0 3px 22px oklch(0% 0 0 / 0.62) !important;
	}

	section.reforma-hero-band .reforma-hero-title {
		margin-bottom: 14px !important;
	}

	section.reforma-hero-band .reforma-hero-title + p {
		margin-bottom: 22px !important;
	}

	section.reforma-hero-band .wp-block-buttons {
		position: relative !important;
		z-index: 5 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: min(calc(100vw - 44px), 470px) !important;
		gap: 10px !important;
		margin-top: 0 !important;
	}

	section.reforma-hero-band .reforma-hero-title .has-brand-gold-color {
		color: oklch(86% 0.12 202) !important;
	}

	section.reforma-hero-band .reforma-hero-cta-secondary .wp-block-button__link {
		background: oklch(100% 0 0 / 0.1) !important;
		border-color: oklch(100% 0 0 / 0.72) !important;
		color: var(--wp--preset--color--white, #fff) !important;
		backdrop-filter: blur(10px) !important;
	}

	section.reforma-hero-band .reforma-hero-image-col {
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		display: block !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		opacity: 1 !important;
	}

	section.reforma-hero-band .reforma-hero-image-col::before {
		content: none !important;
		display: none !important;
	}

	section.reforma-hero-band .reforma-hero-image-col .wp-block-image,
	section.reforma-hero-band .reforma-hero-image-col figure {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}

	section.reforma-hero-band .reforma-hero-image-col img {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		object-fit: cover !important;
		object-position: 20% 50% !important;
		filter: saturate(1.04) contrast(1.03) !important;
	}

	section.reforma-hero-band .reforma-hero-decoration {
		display: block !important;
		position: absolute !important;
		top: clamp(86px, 14svh, 132px) !important;
		right: -24vw !important;
		left: auto !important;
		width: min(78vw, 360px) !important;
		height: min(66svh, 560px) !important;
		margin: 0 !important;
		opacity: 0.48 !important;
		background-image: none;
		background-repeat: no-repeat !important;
		background-position: center right !important;
		background-size: contain !important;
		mix-blend-mode: soft-light !important;
		pointer-events: none !important;
		transform: none !important;
		z-index: 3 !important;
	}

	html[dir="rtl"] section.reforma-hero-band .reforma-hero-decoration {
		right: auto !important;
		left: -24vw !important;
		background-position: center left !important;
		transform: scaleX(-1) !important;
	}

	html[dir="rtl"] section.reforma-hero-band::before {
		background:
			linear-gradient(180deg, oklch(8% 0.03 245 / 0.22) 0%, oklch(8% 0.03 245 / 0.5) 48%, oklch(8% 0.03 245 / 0.78) 100%),
			linear-gradient(270deg, oklch(8% 0.03 245 / 0.76) 0%, oklch(8% 0.03 245 / 0.34) 62%, oklch(8% 0.03 245 / 0.56) 100%) !important;
	}

	html[dir="rtl"] section.reforma-hero-band .reforma-hero-image-col img {
		object-position: 72% 50% !important;
	}

	.reforma-stats-bar .wp-block-columns > .wp-block-column {
		min-height: 180px !important;
	}

	.reforma-premium-products .reforma-product-tabs::before,
	.reforma-premium-products .reforma-product-tabs::after,
	.reforma-premium-products .reforma-product-panel::before,
	.reforma-premium-products .reforma-product-ctas::before {
		content: none !important;
		display: none !important;
	}

	.reforma-premium-products .reforma-product-panel.is-active::after,
	.reforma-news-insights::after,
	.reforma-visionary-leadership .wp-block-buttons::before {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		font-size: 0.68rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.12em !important;
		line-height: 1.2 !important;
		color: var(--wp--preset--color--ink-soft, #656565) !important;
		opacity: 0.72 !important;
		text-transform: uppercase !important;
	}

	.reforma-premium-products .reforma-product-panel.is-active::after {
		content: "SWIPE TO BROWSE" !important;
		padding: 14px 0 2px !important;
	}

	.reforma-news-insights::after {
		content: "SWIPE TO EXPLORE" !important;
		padding: 18px 0 14px !important;
	}

	.reforma-visionary-leadership::before,
	.reforma-visionary-leadership::after {
		content: none !important;
		display: none !important;
	}

	.reforma-visionary-leadership .wp-block-buttons {
		flex-wrap: wrap !important;
		margin-top: 20px !important;
	}

	.reforma-visionary-leadership .wp-block-buttons::before {
		content: "SWIPE TO MEET THE TEAM" !important;
		flex: 0 0 100% !important;
		order: -1 !important;
		padding: 0 0 14px !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel,
	.reforma-treatment-cards .wp-block-columns,
	.reforma-news-insights > .wp-block-columns,
	.reforma-news-insights .reforma-news-carousel,
	.reforma-visionary-leadership > .wp-block-columns {
		-webkit-mask-image: linear-gradient(to right, black 0%, black 85%, transparent 100%) !important;
		mask-image: linear-gradient(to right, black 0%, black 85%, transparent 100%) !important;
	}

	html[dir="rtl"] .reforma-premium-products .reforma-product-panel .wp-block-columns,
	html[dir="rtl"] .reforma-premium-products .wp-block-columns.reforma-product-carousel,
	html[dir="rtl"] .reforma-treatment-cards .wp-block-columns,
	html[dir="rtl"] .reforma-news-insights > .wp-block-columns,
	html[dir="rtl"] .reforma-news-insights .reforma-news-carousel,
	html[dir="rtl"] .reforma-visionary-leadership > .wp-block-columns {
		-webkit-mask-image: linear-gradient(to left, black 0%, black 85%, transparent 100%) !important;
		mask-image: linear-gradient(to left, black 0%, black 85%, transparent 100%) !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel,
	.reforma-treatment-cards .wp-block-columns,
	.reforma-visionary-leadership > .wp-block-columns {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: var(--wp--preset--spacing--50, 24px) !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 10px !important;
		scrollbar-width: none !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns::-webkit-scrollbar,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel::-webkit-scrollbar,
	.reforma-treatment-cards .wp-block-columns::-webkit-scrollbar,
	.reforma-visionary-leadership > .wp-block-columns::-webkit-scrollbar {
		display: none !important;
	}

	.reforma-premium-products .reforma-product-tab:first-child:not(.reforma-product-tab--active) .wp-block-button__link {
		background: transparent !important;
		border-color: oklch(0% 0 0 / 0.12) !important;
		color: var(--wp--preset--color--ink, #1b1b1b) !important;
	}

	.reforma-premium-products .reforma-product-tab.reforma-product-tab--active .wp-block-button__link {
		background: var(--wp--preset--color--brand-gold, #a07c42) !important;
		border-color: var(--wp--preset--color--brand-gold, #a07c42) !important;
		color: var(--wp--preset--color--white, #fff) !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns > .wp-block-column.reforma-product-card,
	.reforma-premium-products .reforma-product-card {
		box-sizing: border-box !important;
		flex: 0 0 clamp(286px, 76vw, 330px) !important;
		width: clamp(286px, 76vw, 330px) !important;
		max-width: clamp(286px, 76vw, 330px) !important;
		height: auto !important;
		min-height: 510px !important;
		max-height: none !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.reforma-premium-products .reforma-product-card-image,
	.reforma-premium-products .reforma-product-card .wp-block-image {
		height: 168px !important;
		min-height: 168px !important;
		margin-bottom: 18px !important;
		overflow: hidden !important;
	}

	.reforma-premium-products .reforma-product-card-image img,
	.reforma-premium-products .reforma-product-card .wp-block-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.reforma-premium-products .reforma-product-card > .wp-block-group {
		min-height: 0 !important;
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
		padding-right: 22px !important;
		padding-left: 22px !important;
	}

	.reforma-premium-products .reforma-product-card > .wp-block-group > p:not(.has-xs-font-size),
	.reforma-premium-products .reforma-product-card h3.wp-block-heading {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	.reforma-premium-products .reforma-product-card > .wp-block-group > p:not(.has-xs-font-size) {
		-webkit-line-clamp: 3 !important;
	}

	.reforma-premium-products .reforma-product-card h3.wp-block-heading {
		-webkit-line-clamp: 2 !important;
	}

	.reforma-premium-products .reforma-card-footer {
		flex-shrink: 0 !important;
		margin-top: auto !important;
	}

	.reforma-premium-products .reforma-product-card.is-snap-active .reforma-card-arrow > .wp-block-button__link,
	.reforma-premium-products .reforma-product-card:hover .reforma-card-arrow > .wp-block-button__link {
		background-color: var(--wp--preset--color--brand-gold) !important;
		color: var(--wp--preset--color--white) !important;
	}

	.reforma-premium-products .reforma-card-footer .wp-block-button:not(.reforma-card-arrow) .wp-block-button__link {
		transform: none !important;
	}

	.reforma-news-insights .wp-block-columns > .wp-block-column,
	.reforma-news-insights .reforma-news-card {
		flex-basis: clamp(286px, 76vw, 340px) !important;
		width: clamp(286px, 76vw, 340px) !important;
		max-width: clamp(286px, 76vw, 340px) !important;
		height: 580px !important;
		min-height: 580px !important;
	}

	.reforma-treatment-cards .wp-block-columns > .wp-block-column,
	.reforma-visionary-leadership > .wp-block-columns > .wp-block-column {
		flex: 0 0 clamp(286px, 76vw, 340px) !important;
		width: clamp(286px, 76vw, 340px) !important;
		max-width: clamp(286px, 76vw, 340px) !important;
	}

	.reforma-contact-band .reforma-contact-band-left .reforma-contact-image {
		display: block !important;
		height: 188px !important;
		min-height: 188px !important;
		max-height: none !important;
		width: 100% !important;
		margin: 16px 0 0 !important;
		overflow: hidden !important;
		border-radius: 18px 18px 0 0 !important;
	}

	.reforma-contact-band .reforma-contact-band-left .reforma-contact-image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 188px !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center 30% !important;
		border-radius: inherit !important;
	}

	html[dir="rtl"] .reforma-contact-band .reforma-contact-band-left .reforma-contact-image,
	html[dir="rtl"] .reforma-contact-band .reforma-contact-band-left .reforma-contact-image img {
		border-radius: 0 0 0 42px !important;
	}

	html[dir="rtl"] .reforma-contact-band .reforma-contact-booking-card,
	html[dir="rtl"] .reforma-contact-form-card {
		border-radius: 0 0 42px 0 !important;
	}

	.reforma-contact-band,
	.reforma-contact-band > .wp-block-group,
	.reforma-contact-band > .wp-block-columns,
	.reforma-contact-band .wp-block-column,
	.reforma-contact-band .reforma-contact-band-left,
	.reforma-contact-band .reforma-contact-booking-card,
	.reforma-contact-band .reforma-contact-card,
	.reforma-contact-hero,
	.reforma-contact-hero-form,
	.reforma-contact-form-card {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.reforma-contact-band .reforma-contact-booking-card,
	.reforma-contact-band .reforma-contact-card,
	.reforma-contact-form-card {
		position: relative !important;
		z-index: 3 !important;
		margin-top: 0 !important;
	}

	.reforma-visionary-leadership .reforma-leadership-portrait,
	.reforma-visionary-leadership .reforma-leadership-portrait img {
		overflow: hidden !important;
		object-fit: cover !important;
	}

	.reforma-visionary-leadership .reforma-leadership-portrait--1,
	.reforma-visionary-leadership .reforma-leadership-portrait--1 img {
		border-radius: 0 0 100px 0 !important;
	}

	.reforma-visionary-leadership .reforma-leadership-portrait--2,
	.reforma-visionary-leadership .reforma-leadership-portrait--2 img {
		border-radius: 100px 100px 100px 0 !important;
	}

	.reforma-visionary-leadership .reforma-leadership-portrait--3,
	.reforma-visionary-leadership .reforma-leadership-portrait--3 img {
		border-radius: 100px 0 0 0 !important;
	}

	html[lang^="ar"] .reforma-premium-products .reforma-product-panel.is-active::after {
		content: "اسحب للتصفح" !important;
		letter-spacing: 0 !important;
	}

	html[lang^="ar"] .reforma-news-insights::after {
		content: "اسحب للاستكشاف" !important;
		letter-spacing: 0 !important;
	}

	html[lang^="ar"] .reforma-visionary-leadership .wp-block-buttons::before {
		content: "اسحب للتعرّف على الفريق" !important;
		letter-spacing: 0 !important;
	}

	html[lang^="ar"] .reforma-treatment-cards::after,
	html[lang^="ar"] .reforma-treatment-header::after,
	html[lang^="ar"] .reforma-treatment-cream-header::after {
		content: "اسحب للاستكشاف" !important;
		letter-spacing: 0 !important;
	}
}

.reforma-news-insights .reforma-button-link-flush > .wp-block-button__link,
.reforma-news-insights .reforma-button-link-flush > .wp-block-button__link:hover,
.reforma-news-insights .reforma-button-link-flush > .wp-block-button__link:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	color: var(--wp--preset--color--accent-purple, #29514c) !important;
	text-decoration: none !important;
}

html[dir="rtl"] .reforma-premium-products .reforma-product-card .reforma-card-arrow,
html[dir="rtl"] .reforma-news-insights .reforma-news-card.is-featured .reforma-news-card-arrow {
	right: auto !important;
	left: 0 !important;
}

html[dir="rtl"] .reforma-premium-products .reforma-product-card .reforma-card-arrow > .wp-block-button__link {
	border-radius: 0 20px 0 20px !important;
}

html[dir="rtl"] .reforma-news-insights .reforma-news-card.is-featured .reforma-news-card-arrow > .wp-block-button__link {
	border-radius: 0 22px 0 20px !important;
}

html[dir="rtl"] .reforma-premium-products .reforma-card-arrow > .wp-block-button__link,
html[dir="rtl"] .reforma-news-insights .reforma-news-card-arrow > .wp-block-button__link {
	transform: scaleX(-1) !important;
}

html[dir="rtl"] .reforma-news-insights .reforma-news-card.is-featured .reforma-news-card-footer {
	padding-right: 24px !important;
	padding-left: 116px !important;
}

.reforma-contact-booking-card .reforma-contact-submit-btn,
.reforma-contact-form-card .reforma-contact-submit-btn,
.reforma-booking-form .reforma-contact-submit-btn {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
}

@media (max-width: 781px) {
	.reforma-research-purity .reforma-pillar-row.wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.reforma-research-purity .reforma-pillar-row .reforma-pillar-cell.wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: auto !important;
		padding: 20px 16px !important;
	}

	.reforma-research-purity .reforma-pillar-row .reforma-pillar-cell h3,
	.reforma-research-purity .reforma-pillar-row .reforma-pillar-cell .wp-block-heading {
		font-size: 1.08rem !important;
		line-height: 1.18 !important;
	}

	.reforma-research-purity .reforma-pillar-row .reforma-pillar-cell p {
		font-size: 0.86rem !important;
		line-height: 1.45 !important;
	}

	.reforma-research-purity .reforma-pillar-row .reforma-pillar-cell:first-child {
		border-right: 1px solid oklch(0.457 0.085 169 / 0.55) !important;
	}

	html[dir="rtl"] .reforma-research-purity .reforma-pillar-row .reforma-pillar-cell:first-child {
		border-right: 0 !important;
		border-left: 1px solid oklch(0.457 0.085 169 / 0.55) !important;
	}

	.reforma-rooted-image-col .reforma-rooted-bottles,
	#reforma-rooted .reforma-rooted-bottles {
		max-width: min(74vw, 286px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.reforma-site-footer a[href^="tel:"],
.reforma-contact-bubbles [data-tel],
.reforma-bubble-popover-number {
	direction: ltr !important;
	unicode-bidi: isolate !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
}

@media (min-width: 600px) and (max-width: 781px) {
	.reforma-premium-products .reforma-product-panel .wp-block-columns > .wp-block-column.reforma-product-card,
	.reforma-premium-products .reforma-product-card {
		height: 620px !important;
		min-height: 620px !important;
		max-height: 620px !important;
	}

	.reforma-treatment-cards .wp-block-columns > .wp-block-column,
	.reforma-news-insights .reforma-news-card,
	.reforma-visionary-leadership > .wp-block-columns > .wp-block-column {
		flex-basis: 340px !important;
		width: 340px !important;
		max-width: 340px !important;
	}
}

@media (min-width: 782px) and (max-width: 1149px) {
	.reforma-premium-products .reforma-product-panel .wp-block-columns,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel,
	.reforma-treatment-cards .wp-block-columns,
	.reforma-news-insights > .wp-block-columns,
	.reforma-news-insights .reforma-news-carousel,
	.reforma-visionary-leadership > .wp-block-columns {
		-webkit-mask-image: linear-gradient(to right, black 0%, black 88%, transparent 100%) !important;
		mask-image: linear-gradient(to right, black 0%, black 88%, transparent 100%) !important;
	}

	html[dir="rtl"] .reforma-premium-products .reforma-product-panel .wp-block-columns,
	html[dir="rtl"] .reforma-premium-products .wp-block-columns.reforma-product-carousel,
	html[dir="rtl"] .reforma-treatment-cards .wp-block-columns,
	html[dir="rtl"] .reforma-news-insights > .wp-block-columns,
	html[dir="rtl"] .reforma-news-insights .reforma-news-carousel,
	html[dir="rtl"] .reforma-visionary-leadership > .wp-block-columns {
		-webkit-mask-image: linear-gradient(to left, black 0%, black 88%, transparent 100%) !important;
		mask-image: linear-gradient(to left, black 0%, black 88%, transparent 100%) !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel,
	.reforma-treatment-cards .wp-block-columns,
	.reforma-news-insights > .wp-block-columns,
	.reforma-news-insights .reforma-news-carousel,
	.reforma-visionary-leadership > .wp-block-columns {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: var(--wp--preset--spacing--50, 24px) !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 12px !important;
		scrollbar-width: none !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns::-webkit-scrollbar,
	.reforma-premium-products .wp-block-columns.reforma-product-carousel::-webkit-scrollbar,
	.reforma-treatment-cards .wp-block-columns::-webkit-scrollbar,
	.reforma-news-insights > .wp-block-columns::-webkit-scrollbar,
	.reforma-news-insights .reforma-news-carousel::-webkit-scrollbar,
	.reforma-visionary-leadership > .wp-block-columns::-webkit-scrollbar {
		display: none !important;
	}

	.reforma-premium-products .reforma-product-panel .wp-block-columns > .wp-block-column.reforma-product-card,
	.reforma-premium-products .reforma-product-card,
	.reforma-treatment-cards .wp-block-columns > .wp-block-column,
	.reforma-news-insights .reforma-news-card,
	.reforma-visionary-leadership > .wp-block-columns > .wp-block-column {
		flex: 0 0 clamp(330px, 42vw, 390px) !important;
		width: clamp(330px, 42vw, 390px) !important;
		max-width: clamp(330px, 42vw, 390px) !important;
		scroll-snap-align: start !important;
	}

	.reforma-premium-products .reforma-product-card {
		min-height: 560px !important;
	}

	.reforma-news-insights .reforma-news-card {
		height: 610px !important;
		min-height: 610px !important;
	}
}

@media (max-width: 781px) {
	body.home .reforma-rooted,
	body.home .reforma-premium-products,
	body.home .reforma-treatment-cream-header,
	body.home .reforma-treatment-header,
	body.home .reforma-treatment-cards,
	body.home .reforma-research-purity,
	body.home .reforma-news-insights,
	body.home .reforma-visionary-leadership,
	body.home .reforma-contact-band,
	body.home .reforma-logo-wall {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		zoom: 1 !important;
	}

	body.home .reforma-stats-bar {
		margin-top: 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.home .reforma-stats-bar .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-rows: 162px !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		align-items: stretch !important;
		background: var(--wp--preset--color--accent-purple, #29514c) !important;
	}

	body.home .reforma-stats-bar .wp-block-columns > .wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 162px !important;
		min-height: 162px !important;
		padding: 28px 14px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		margin: 0 !important;
		border: 0 !important;
		align-self: stretch !important;
	}

	body.home .reforma-stats-bar h2.wp-block-heading {
		font-size: clamp(2.25rem, 10.5vw, 2.95rem) !important;
		line-height: 1 !important;
	}

	body.home .reforma-stats-bar p {
		font-size: clamp(0.82rem, 3.55vw, 0.98rem) !important;
		line-height: 1.25 !important;
	}

	body.home #reforma-rooted {
		padding: 48px 22px !important;
		overflow: hidden !important;
	}

	body.home #reforma-rooted > .wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
	}

	body.home #reforma-rooted .wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}

	body.home #reforma-rooted .reforma-rooted-image-col {
		order: 2 !important;
		position: relative !important;
		min-height: 426px !important;
		display: block !important;
		padding-top: 6px !important;
	}

	body.home #reforma-rooted .reforma-rooted-image {
		display: block !important;
		width: 100% !important;
		height: 340px !important;
		margin: 0 !important;
		overflow: hidden !important;
		border-radius: 0 72px 0 0 !important;
	}

	body.home #reforma-rooted .reforma-rooted-image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
		border-radius: 0 72px 0 0 !important;
	}

	body.home #reforma-rooted .reforma-rooted-bottles,
	body.home #reforma-rooted .reforma-rooted-bottles img {
		display: block !important;
		width: min(94vw, 380px) !important;
		max-width: min(94vw, 380px) !important;
		height: auto !important;
		margin: 0 auto !important;
		z-index: 2 !important;
	}

	body.home #reforma-rooted .reforma-rooted-bottles {
		position: absolute !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		bottom: -34px !important;
	}

	body.home #reforma-rooted .reforma-rooted-bottles img {
		position: static !important;
	}

	body.home #reforma-rooted .wp-block-column:not(.reforma-rooted-image-col) {
		order: 1 !important;
	}

	body.home #reforma-rooted .reforma-rooted-stats.wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		width: 100% !important;
		margin: 26px 0 28px !important;
		border: 1px solid var(--wp--preset--color--accent-purple, #29514c) !important;
	}

	body.home #reforma-rooted .reforma-rooted-stat-chip.wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 104px !important;
		padding: 18px 10px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		border: 0 !important;
		border-right: 1px solid var(--wp--preset--color--accent-purple, #29514c) !important;
		border-bottom: 1px solid var(--wp--preset--color--accent-purple, #29514c) !important;
	}

	body.home #reforma-rooted .reforma-rooted-stat-chip:nth-child(2n) {
		border-right: 0 !important;
	}

	body.home #reforma-rooted .reforma-rooted-stat-chip:nth-last-child(-n+2) {
		border-bottom: 0 !important;
	}

	body.home .reforma-treatment-cream-header {
		padding: 52px 22px 34px !important;
	}

	body.home .reforma-treatment-cream-header > .wp-block-group,
	body.home .reforma-treatment-cream-header .wp-block-group.is-content-justification-space-between {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 20px !important;
	}

	body.home .reforma-treatment-cream-header .wp-block-buttons {
		width: auto !important;
		margin: 4px 0 0 !important;
		justify-content: flex-start !important;
	}

	body.home .reforma-treatment-cream-header .wp-block-button__link {
		width: auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		padding: 12px 22px !important;
	}

	body.home .reforma-treatment-header {
		padding: 48px 22px !important;
		border-radius: 0 42px 42px 0 !important;
	}

	body.home .reforma-treatment-header > .wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 26px !important;
		margin-bottom: 0 !important;
	}

	body.home .reforma-treatment-header > .wp-block-columns > .wp-block-column:first-child {
		display: contents !important;
	}

	body.home .reforma-treatment-header > .wp-block-columns > .wp-block-column:last-child {
		order: 4 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.home .reforma-treatment-header .wp-block-buttons {
		order: 5 !important;
		margin-top: 0 !important;
	}

	body.home .reforma-treatment-header .wp-block-buttons .wp-block-button__link {
		width: auto !important;
		padding: 13px 24px !important;
	}

	body.home .reforma-treatment-header .reforma-plan-chip {
		box-sizing: border-box !important;
		width: 100% !important;
		margin-left: 0 !important;
	}

	body.home .reforma-contact-booking-card .reforma-contact-submit-btn .wp-block-button__link,
	body.home .reforma-contact-form-card .reforma-contact-submit-btn .wp-block-button__link,
	body.home .reforma-booking-form .reforma-contact-submit-btn .wp-block-button__link,
	body.home .reforma-contact-booking-card .reforma-contact-submit-btn button,
	body.home .reforma-contact-form-card .reforma-contact-submit-btn button,
	body.home .reforma-booking-form .reforma-contact-submit-btn button {
		width: auto !important;
		min-width: 0 !important;
		padding: 10px 24px !important;
	}

	body.home .reforma-contact-booking-card h3.wp-block-heading,
	body.home .reforma-contact-form-card h3.wp-block-heading {
		font-size: clamp(1.8rem, 9vw, 2.1rem) !important;
		line-height: 1.08 !important;
		max-width: 100% !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	body.home .reforma-logo-wall {
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.home .reforma-logo-wall .wp-block-columns.alignfull {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.home .reforma-logo-wall .reforma-partner-col.wp-block-column {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: auto !important;
	}

	body.home .reforma-logo-wall .reforma-partner-photo,
	body.home .reforma-logo-wall .reforma-partner-photo img {
		width: 100% !important;
		height: 168px !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
	}

	body.home .reforma-logo-wall .reforma-ig-cta-overlay {
		position: absolute !important;
		inset: 0 !important;
		min-height: 168px !important;
	}

	/* Each tile = its image height (168px) — kills the aspect-ratio gap that left
	   gray space under images on mobile (esp. the full-width last tile). */
	body.home .reforma-logo-wall .reforma-partner-col,
	body.home .reforma-logo-wall .reforma-ig-cta {
		aspect-ratio: auto !important;
		height: auto !important;
		min-height: 0 !important;
	}

	/* When the last partner tile is alone on its row, span full width so there
	   is no empty (gray) trailing cell on mobile. */
	body.home .reforma-logo-wall .reforma-partner-col:last-child:nth-child(odd) {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		grid-column: 1 / -1 !important;
	}
}

/* ============================================================
 * MOBILE AUDIT FIXES — 2026-05-28
 * Issues 1–5 identified across all 7 pages at 375px + 768px.
 * Desktop (≥1150px) layout is intentionally untouched.
 * ============================================================ */

/*
 * FIX 2 — Header: hide header-actions entirely at ≤781px.
 * The hamburger button is rendered inside the WP Navigation block
 * and is correctly positioned when header-actions is gone.
 * This collapses: Logo | [space] | Hamburger — clean 3-item strip.
 */
@media (max-width: 781px) {
	.reforma-site-header .reforma-header-actions {
		display: none !important;
	}

	/* Hamburger receives correct colour on non-home pages (forest header) */
	.reforma-primary-nav .wp-block-navigation__responsive-container-open svg {
		stroke: #ffffff !important;
		fill: #ffffff !important;
	}

	/* On home page (transparent header before scroll) keep it ink-plum */
	body.home .reforma-site-header:not(.is-scrolled) .reforma-primary-nav .wp-block-navigation__responsive-container-open svg {
		stroke: var(--reforma-ink-plum, #3e273b) !important;
		fill: var(--reforma-ink-plum, #3e273b) !important;
	}

	/* Ensure hamburger tap target ≥ 44×44px (a11y) */
	.reforma-primary-nav .wp-block-navigation__responsive-container-open {
		min-width: 44px !important;
		min-height: 44px !important;
	}
}

/*
 * FIX 3 — Contact hero banner text: stop center-aligning body copy
 * (>2 lines). Left-align subtitle at mobile. Also tighten inner padding.
 */
@media (max-width: 640px) {
	.reforma-contact-banner__inner {
		padding: 40px 20px !important;
		border-radius: 20px !important;
	}
	.reforma-contact-banner__subtitle {
		text-align: left !important;
		max-width: 100% !important;
	}
	.reforma-contact-banner__title {
		text-align: center !important;
	}
}

/*
 * FIX 4 — Footer CTA band on all pages: 100px corner radius causes
 * content overflow at narrow widths. Reduce to 40px at ≤781px, 24px at ≤480px.
 * Also fix botanical decoration clipping on mobile.
 * FIX 4b — Footer CTA body copy: left-align at mobile (>2 lines centered = slop).
 */
@media (max-width: 781px) {
	.reforma-footer-cta-band {
		border-top-right-radius: 40px !important;
		margin-top: 40px !important;
		padding: 56px 24px 56px !important;
	}
	/* Left-align multi-line body copy in footer CTA */
	.reforma-footer-cta-body {
		text-align: left !important;
		max-width: 100% !important;
	}
	/* Footer main tagline: left-align */
	.reforma-footer-tagline {
		text-align: left !important;
	}
	.reforma-footer-cta-botanical {
		width: 160px !important;
		opacity: 0.35 !important;
		bottom: 0 !important;
		right: -20px !important;
		top: auto !important;
		transform: none !important;
	}
	.reforma-footer-cta-title {
		font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
		line-height: 1.1 !important;
	}
	.reforma-footer-cta-body {
		font-size: 0.9375rem !important;
		line-height: 1.6 !important;
	}
	.reforma-footer-main {
		padding: 0 20px !important;
	}
}

@media (max-width: 480px) {
	.reforma-footer-cta-band {
		border-top-right-radius: 24px !important;
		padding: 40px 16px 40px !important;
	}
}

/*
 * FIX 5 — Treatments page: treatment card grid should stack to single column
 * at ≤640px rather than forcing a 2-column layout that overflows narrow screens.
 * The .reforma-treatment-cards .wp-block-columns is already a horizontal
 * scroll carousel at ≤781px (from the existing rules above) but on the
 * /treatments/ page the grid is direct-post-content columns, not a carousel.
 */
@media (max-width: 640px) {
	/* Treatments listing page — post-content grid collapses to 1 col */
	.page-template-page-treatments .reforma-treatments-grid,
	.post-type-archive-treatments .reforma-treatments-grid,
	.page-id-23 .wp-block-columns:not([class*="reforma-"]) {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
	}
	/* Prevent any unconstrained grid/columns from causing horizontal scroll */
	.wp-block-columns:not([class*="reforma-"]):not(.is-layout-flex) {
		flex-direction: column !important;
	}
}

/*
 * FIX 5b — About page: stat chips grid overflows on 375px.
 * Force 2-col grid for stat rows that don't already have a class.
 */
@media (max-width: 640px) {
	/* About page stat figures: prevent overflow on narrow */
	.page-id-20 .wp-block-columns.reforma-stats-row,
	.page-id-20 [class*="stat-row"] {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
	}
}

/* Prevent body overflow-x globally on mobile — defensive catch-all */
@media (max-width: 781px) {
	html, body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
	}
	.wp-site-blocks {
		overflow-x: hidden !important;
		max-width: 100% !important;
	}
}
