/* Pure Harmony Clinic — luxury Elementor design system */
@font-face {
	font-family: "PHC Playfair";
	src: url("/wp-content/uploads/elementor/google-fonts/fonts/playfairdisplay-deda8ad3.woff2") format("woff2");
	font-display: swap;
	font-style: normal;
	font-weight: 400 700;
}

@font-face {
	font-family: "PHC Jost";
	src: url("/wp-content/fonts/jost/92zPtBhPNqw79Ij1E865zBUv7myRJTVBNI4un_HKCEk.woff") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 300 700;
}

:root {
	--phc-ink: #24211f;
	--phc-ink-soft: #4a433d;
	--phc-porcelain: #f7f3ee;
	--phc-stone: #e7ded4;
	--phc-champagne: #c7a371;
	--phc-champagne-dark: #9b784b;
	--phc-white: #ffffff;
	--phc-text: #5c5650;
	--phc-line: rgba(55, 47, 40, 0.14);
	--phc-shadow: 0 28px 70px rgba(43, 36, 30, 0.12);
	--phc-container: 1280px;
}

html { scroll-behavior: smooth; }

body,
button,
input,
select,
textarea {
	font-family: "PHC Jost", "Jost", Arial, sans-serif;
}

body {
	background: var(--phc-white);
	color: var(--phc-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
}

h1,
h2,
h3,
h4,
h5,
h6,
.phc-display,
.phc-title {
	color: var(--phc-ink);
	font-family: "PHC Playfair", "Playfair Display", Georgia, serif;
	font-weight: 500;
	letter-spacing: -0.025em;
}

a {
	transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms ease, opacity 220ms ease;
}

.site-content { overflow: clip; }

.phc-shell > .elementor-container,
.phc-shell.elementor-section > .elementor-container {
	max-width: var(--phc-container) !important;
}

.phc-section { padding: 118px 30px; }
.phc-section-sm { padding: 76px 30px; }

.phc-kicker .elementor-heading-title,
.phc-kicker {
	color: var(--phc-champagne-dark) !important;
	font-family: "PHC Jost", "Jost", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.22em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

.phc-display .elementor-heading-title,
.phc-display {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(48px, 5.8vw, 82px) !important;
	font-weight: 500 !important;
	letter-spacing: -0.045em !important;
	line-height: 0.99 !important;
}

.phc-section-title .elementor-heading-title,
.phc-section-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(38px, 4.4vw, 62px) !important;
	font-weight: 500 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.06 !important;
}

.phc-card-title .elementor-heading-title,
.phc-card-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(27px, 2.1vw, 36px) !important;
	font-weight: 500 !important;
	line-height: 1.12 !important;
}

.phc-lead,
.phc-lead p {
	color: #625b54;
	font-size: 19px;
	font-weight: 350;
	line-height: 1.75;
}

.phc-copy,
.phc-copy p {
	color: var(--phc-text);
	font-size: 16px;
	line-height: 1.8;
}

.phc-copy p:last-child,
.phc-lead p:last-child { margin-bottom: 0; }

.phc-button .elementor-button {
	background: var(--phc-ink);
	border: 1px solid var(--phc-ink);
	border-radius: 0;
	color: var(--phc-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	padding: 18px 29px;
	text-transform: uppercase;
}

.phc-button .elementor-button:hover,
.phc-button .elementor-button:focus {
	background: var(--phc-champagne);
	border-color: var(--phc-champagne);
	color: var(--phc-ink);
	transform: translateY(-2px);
}

.phc-button-light .elementor-button {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.62);
	color: var(--phc-white);
}

.phc-button-light .elementor-button:hover,
.phc-button-light .elementor-button:focus {
	background: var(--phc-white);
	border-color: var(--phc-white);
	color: var(--phc-ink);
}

.phc-button-outline .elementor-button {
	background: transparent;
	border-color: var(--phc-ink);
	color: var(--phc-ink);
}

.phc-button-outline .elementor-button:hover,
.phc-button-outline .elementor-button:focus {
	background: var(--phc-ink);
	color: var(--phc-white);
}

.phc-button-ghost-light .elementor-button {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.56);
	color: var(--phc-white);
}

.phc-button-ghost-light .elementor-button:hover,
.phc-button-ghost-light .elementor-button:focus {
	background: var(--phc-white);
	border-color: var(--phc-white);
	color: var(--phc-ink);
}

.phc-button .elementor-button::after {
	content: "→";
	display: inline-block;
	margin-left: 10px;
	transition: transform 220ms ease;
}

.phc-button .elementor-button:hover::after { transform: translateX(4px); }

/* Header */
.site-header .header-main {
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid rgba(55, 47, 40, 0.09);
	box-shadow: 0 8px 28px rgba(43, 36, 30, 0.035);
}

.site-header .header-main .et-container {
	max-width: var(--phc-container);
	padding-left: 28px;
	padding-right: 28px;
}

.site-header .et_b_header-logo img {
	height: auto !important;
	max-height: 74px;
	max-width: 174px !important;
	width: auto !important;
}

.site-header .header-main-menu .menu {
	align-items: center;
	display: flex;
	gap: 27px;
	justify-content: center;
}

.site-header .header-main-menu .menu > li {
	margin: 0 !important;
}

.site-header .header-main-menu .menu > li > a {
	color: var(--phc-ink) !important;
	font-family: "PHC Jost", "Jost", Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.13em;
	padding: 34px 0 !important;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-header .header-main-menu .menu > li > a:hover,
.site-header .header-main-menu .menu > .current-menu-item > a {
	color: var(--phc-champagne-dark) !important;
}

.site-header .et_b_header-cart,
.site-header .et_b_header-wishlist,
.site-header .et_b_header-compare,
.site-header .et_b_header-account {
	color: var(--phc-ink);
}

.phc-topbar {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.82);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	padding: 11px 30px;
	text-transform: uppercase;
}

.phc-topbar .elementor-widget-text-editor,
.phc-topbar .elementor-text-editor,
.phc-topbar p { margin: 0; }

.phc-topbar a { color: var(--phc-white); }
.phc-topbar-right { text-align: right; }

.phc-main-header {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--phc-line);
	padding: 17px 30px;
}

.phc-main-header.elementor-sticky--effects {
	backdrop-filter: blur(14px);
	box-shadow: 0 12px 40px rgba(43, 36, 30, 0.08);
}

.phc-header-logo img {
	height: 68px !important;
	max-width: 230px !important;
	object-fit: contain;
	width: auto !important;
}

.phc-main-nav .elementor-nav-menu,
.phc-desktop-nav {
	align-items: center;
	display: flex;
	justify-content: center;
}

.phc-main-nav .elementor-item,
.phc-desktop-nav a {
	color: var(--phc-ink) !important;
	display: inline-block;
	font-family: "PHC Jost", "Jost", sans-serif;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.13em;
	padding: 16px 13px !important;
	text-transform: uppercase;
}

.phc-main-nav .elementor-item:hover,
.phc-main-nav .elementor-item.elementor-item-active,
.phc-main-nav .current-menu-item > .elementor-item,
.phc-desktop-nav a:hover {
	color: var(--phc-champagne-dark) !important;
}

.phc-mobile-nav { display: none; }

.phc-main-nav .sub-menu {
	background: var(--phc-white) !important;
	border: 0 !important;
	box-shadow: var(--phc-shadow);
	min-width: 245px !important;
	padding: 14px 0;
}

.phc-main-nav .sub-menu .elementor-sub-item {
	border: 0 !important;
	font-size: 11px !important;
	letter-spacing: 0.08em;
	padding: 11px 24px !important;
}

.phc-header-tools .elementor-widget-container { text-align: right; }

.phc-tools {
	align-items: center;
	display: inline-flex;
	gap: 17px;
	justify-content: flex-end;
}

.phc-tools a {
	align-items: center;
	color: var(--phc-ink);
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	gap: 7px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.phc-tools a:hover { color: var(--phc-champagne-dark); }

.phc-tools svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-width: 1.55;
	width: 20px;
}

/* Hero */
.phc-opening-voucher {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.72);
	overflow: hidden;
}

.phc-opening-voucher > .elementor-container { max-width: none !important; }

.phc-opening-voucher-media,
.phc-opening-voucher-media > .elementor-widget-wrap,
.phc-opening-voucher-image,
.phc-opening-voucher-image .elementor-widget-container,
.phc-opening-voucher-image img {
	height: 550px;
	width: 100%;
}

.phc-opening-voucher-image { overflow: hidden; }

.phc-opening-voucher-image img {
	object-fit: cover;
	transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-opening-voucher:hover .phc-opening-voucher-image img { transform: scale(1.035); }

.phc-opening-voucher-copy {
	padding: 72px max(34px, calc((100vw - var(--phc-container)) / 2)) 72px 6vw;
}

.phc-opening-voucher-copy > .elementor-widget-wrap {
	align-content: center;
	max-width: 670px;
}

.phc-opening-voucher .phc-kicker .elementor-heading-title { color: var(--phc-champagne) !important; }
.phc-opening-voucher .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }

.phc-opening-voucher .phc-lead,
.phc-opening-voucher .phc-lead p { color: rgba(255, 255, 255, 0.7); }

.phc-hero {
	background: var(--phc-porcelain);
	min-height: 760px;
	overflow: hidden;
}

.phc-hero > .elementor-container {
	max-width: none !important;
	min-height: 760px;
}

.phc-hero-copy {
	padding: 88px max(40px, calc((100vw - var(--phc-container)) / 2)) 86px 30px;
}

.phc-hero-copy > .elementor-widget-wrap {
	align-content: center;
	margin-left: auto;
	max-width: 650px;
}

.phc-hero .phc-kicker { margin-bottom: 22px; }
.phc-hero .phc-display { margin-bottom: 30px; }

.phc-hero .phc-lead {
	margin-bottom: 34px;
	max-width: 570px;
}

.phc-hero-actions .elementor-widget-button {
	display: inline-block;
	margin: 0 10px 10px 0;
	width: auto;
}

.phc-hero-media,
.phc-hero-media > .elementor-widget-wrap { min-height: 760px; }

.phc-hero-image,
.phc-hero-image .elementor-widget-container,
.phc-hero-image img {
	height: 100%;
	min-height: 760px;
	width: 100%;
}

.phc-hero-image img {
	object-fit: cover;
	object-position: 50% 25%;
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-welcome-hero:hover .phc-hero-image img { transform: scale(1.018); }

.phc-hero-signature {
	border-left: 1px solid var(--phc-champagne);
	color: var(--phc-ink-soft);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 17px;
	font-style: italic;
	margin-top: 18px;
	padding: 3px 0 3px 18px;
}

/* Trust strip */
.phc-trust {
	background: var(--phc-ink);
	padding: 0 30px;
}

.phc-trust > .elementor-container { max-width: var(--phc-container) !important; }

.phc-trust-item {
	border-right: 1px solid rgba(255, 255, 255, 0.13);
	padding: 31px 22px 29px;
	text-align: center;
}

.phc-trust-item:last-child { border-right: 0; }

.phc-trust-number .elementor-heading-title {
	color: var(--phc-champagne) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 29px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

.phc-trust-label,
.phc-trust-label p {
	color: rgba(255, 255, 255, 0.7);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.35;
	margin: 8px 0 0;
	text-transform: uppercase;
}

/* Homepage category direction */
.phc-home-categories,
.phc-shop-category-intro,
.phc-shop-categories {
	background: var(--phc-white);
}

.phc-category-intro {
	margin: 0 auto;
	max-width: 810px;
	text-align: center;
}

.phc-category-intro .phc-kicker,
.phc-category-intro .phc-section-title { margin-bottom: 22px; }

.phc-category-grid > .elementor-container {
	align-items: stretch;
}

.phc-category-card {
	background: var(--phc-porcelain);
	box-shadow: 0 18px 54px rgba(43, 36, 30, 0.07);
	margin: 0 15px;
	overflow: hidden;
	padding-bottom: 34px;
	position: relative;
	transition: box-shadow 420ms ease, transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-category-card:hover {
	box-shadow: 0 30px 75px rgba(43, 36, 30, 0.14);
	transform: translateY(-9px);
}

.phc-category-image,
.phc-category-image .elementor-widget-container {
	overflow: hidden;
}

.phc-category-image img {
	aspect-ratio: 4 / 3.35;
	object-fit: cover;
	transition: transform 750ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 450ms ease;
	width: 100%;
}

.phc-category-card:hover .phc-category-image img {
	filter: saturate(1.05);
	transform: scale(1.055);
}

.phc-category-number {
	background: var(--phc-ink);
	color: var(--phc-champagne);
	display: inline-flex;
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 18px;
	height: 50px;
	justify-content: center;
	line-height: 50px;
	margin: -25px 0 21px 30px;
	position: relative;
	width: 50px;
	z-index: 2;
}

.phc-category-title,
.phc-category-copy,
.phc-category-link {
	margin-left: 31px;
	margin-right: 31px;
}

.phc-category-title .elementor-heading-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 30px !important;
	font-weight: 500 !important;
}

.phc-category-copy,
.phc-category-copy p {
	color: var(--phc-text);
	font-size: 14px;
	line-height: 1.7;
}

/* Editorial blocks */
.phc-intro { background: var(--phc-white); }
.phc-editorial-image { padding-right: 50px; }

.phc-editorial-image img {
	aspect-ratio: 4 / 5;
	box-shadow: 25px 25px 0 var(--phc-porcelain);
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.phc-editorial-copy { padding-left: 58px; }

.phc-editorial-copy .phc-kicker,
.phc-editorial-copy .phc-section-title,
.phc-editorial-copy .phc-copy { margin-bottom: 23px; }

.phc-pathways { background: var(--phc-porcelain); }

.phc-pathways-head {
	margin: 0 auto 58px;
	max-width: 760px;
	text-align: center;
}

.phc-path-card {
	background: var(--phc-white);
	box-shadow: 0 20px 55px rgba(43, 36, 30, 0.06);
	margin: 0 15px;
	overflow: hidden;
}

.phc-path-card img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
	width: 100%;
}

.phc-path-card:hover img { transform: scale(1.035); }

.phc-path-card .phc-card-body { padding: 36px 40px 42px; }
.phc-path-card .phc-card-title { margin-bottom: 16px; }
.phc-path-card .phc-copy { margin-bottom: 24px; }

.phc-text-link,
.phc-text-link a {
	color: var(--phc-ink) !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
}

.phc-text-link a::after {
	color: var(--phc-champagne-dark);
	content: "  →";
}

.phc-text-link a:hover { color: var(--phc-champagne-dark) !important; }

/* Product and treatment sections */
.phc-commerce { background: var(--phc-white); }
.phc-commerce-alt { background: var(--phc-porcelain); }
.phc-section-head { margin-bottom: 48px; }
.phc-section-head .phc-section-title { margin-bottom: 0; }
.phc-section-head-link { text-align: right; }

.phc-product-grid .etheme-product-grid-item {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	transition: transform 400ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-product-grid .etheme-product-grid-item:hover { transform: translateY(-7px); }

.phc-product-grid .etheme-product-grid-image {
	background: #f2ece5;
	margin-bottom: 20px;
	overflow: hidden;
}

.phc-product-grid .etheme-product-grid-image img {
	aspect-ratio: 1 / 1.08;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
	width: 100%;
}

.phc-product-grid .etheme-product-grid-item:hover .etheme-product-grid-image img {
	transform: scale(1.055);
}

/* Original-homepage editorial journey */
.phc-transformation {
	background: var(--phc-ink);
	text-align: center;
}

.phc-transformation .phc-kicker .elementor-heading-title { color: var(--phc-champagne) !important; }
.phc-transformation .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }

.phc-transformation .phc-lead,
.phc-transformation .phc-lead p {
	color: rgba(255, 255, 255, 0.7);
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
}

.phc-treatment-story { background: var(--phc-white); }
.phc-skincare-story { background: var(--phc-porcelain); }

.phc-story-media { overflow: hidden; }

.phc-story-image,
.phc-story-image .elementor-widget-container,
.phc-story-image img {
	height: 650px;
	width: 100%;
}

.phc-story-image img {
	object-fit: cover;
	transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-story-media:hover .phc-story-image img { transform: scale(1.035); }

.phc-story-copy,
.phc-skincare-copy { padding: 60px 6vw; }

.phc-story-copy .phc-kicker,
.phc-story-copy .phc-section-title,
.phc-story-copy .phc-copy,
.phc-skincare-copy .phc-kicker,
.phc-skincare-copy .phc-section-title,
.phc-skincare-copy .phc-copy { margin-bottom: 23px; }

.phc-skincare-copy {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.72);
}

.phc-skincare-copy .phc-kicker .elementor-heading-title { color: var(--phc-champagne) !important; }
.phc-skincare-copy .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }

.phc-skincare-copy .phc-copy,
.phc-skincare-copy .phc-copy p { color: rgba(255, 255, 255, 0.7); }

.phc-signup {
	background: #e8ded3;
	position: relative;
}

.phc-signup::before {
	border: 1px solid rgba(155, 120, 75, 0.32);
	content: "";
	inset: 20px;
	pointer-events: none;
	position: absolute;
}

.phc-signup-copy { padding-right: 60px; }
.phc-signup-form { padding-left: 55px; }

.phc-registration-form form {
	background: var(--phc-white);
	box-shadow: var(--phc-shadow);
	padding: 38px;
}

.phc-registration-form input,
.phc-registration-form select {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--phc-line) !important;
	border-radius: 0 !important;
	color: var(--phc-ink) !important;
	min-height: 48px;
}

.phc-registration-form button,
.phc-registration-form input[type="submit"] {
	background: var(--phc-ink) !important;
	border: 1px solid var(--phc-ink) !important;
	border-radius: 0 !important;
	color: var(--phc-white) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	min-height: 50px;
	text-transform: uppercase;
}

.phc-product-grid .etheme-product-grid-content {
	padding: 0 4px 6px !important;
	text-align: left !important;
}

.phc-product-grid .etheme-product-grid-categories,
.phc-product-grid .category {
	color: var(--phc-champagne-dark) !important;
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.phc-product-grid .etheme-product-grid-title,
.phc-product-grid .woocommerce-loop-product__title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 21px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
}

.phc-product-grid .price {
	color: var(--phc-text) !important;
	font-size: 15px !important;
	font-weight: 500;
}

.phc-product-grid .etheme-product-grid-button {
	background: var(--phc-ink) !important;
	border: 1px solid var(--phc-ink) !important;
	border-radius: 0 !important;
	color: var(--phc-white) !important;
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.13em;
	margin-top: 12px;
	padding: 13px 16px !important;
	text-transform: uppercase;
}

.phc-product-grid .etheme-product-grid-button:hover {
	background: var(--phc-champagne) !important;
	border-color: var(--phc-champagne) !important;
	color: var(--phc-ink) !important;
}

/* About */
.phc-about {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.75);
	overflow: hidden;
}

.phc-about-image img {
	height: 690px;
	object-fit: cover;
	object-position: 50% 18%;
	width: 100%;
}

.phc-about-copy { padding: 80px 7vw; }
.phc-about .phc-kicker .elementor-heading-title { color: var(--phc-champagne) !important; }
.phc-about .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }

.phc-about .phc-copy,
.phc-about .phc-copy p { color: rgba(255, 255, 255, 0.72); }

.phc-about-quote,
.phc-about-quote p {
	color: var(--phc-white);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 23px;
	font-style: italic;
	line-height: 1.5;
}

/* Testimonials */
.phc-testimonials { background: var(--phc-white); }

.phc-testimonials > .elementor-container,
.phc-review-grid > .elementor-container {
	flex-wrap: wrap;
}

.phc-testimonial-card {
	background: var(--phc-porcelain);
	border-top: 2px solid var(--phc-champagne);
	box-shadow: 0 16px 42px rgba(43, 36, 30, 0.05);
	margin: 12px;
	padding: 36px 34px 32px;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.phc-testimonial-card:hover {
	box-shadow: 0 22px 55px rgba(43, 36, 30, 0.09);
	transform: translateY(-4px);
}

.phc-testimonial-avatar {
	margin-bottom: 18px;
}

.phc-testimonial-avatar img {
	border: 3px solid var(--phc-white);
	border-radius: 50%;
	box-shadow: 0 8px 25px rgba(43, 36, 30, 0.14);
	height: 76px;
	object-fit: cover;
	width: 76px;
}

.phc-stars {
	color: var(--phc-champagne-dark);
	font-size: 12px;
	letter-spacing: 0.24em;
	margin-bottom: 20px;
}

.phc-review,
.phc-review p {
	color: var(--phc-ink-soft);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 20px;
	font-style: italic;
	line-height: 1.55;
}

.phc-review-name,
.phc-review-name p {
	color: var(--phc-text);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.15em;
	margin-top: 24px;
	text-transform: uppercase;
}

/* Voucher and visit */
.phc-voucher { background: var(--phc-porcelain); }

.phc-voucher-image img {
	aspect-ratio: 16 / 11;
	object-fit: cover;
	width: 100%;
}

.phc-voucher-copy { padding: 50px 0 50px 70px; }
.phc-visit { background: var(--phc-white); }

.phc-visit-panel {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.75);
	padding: 62px;
}

.phc-visit-panel .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }
.phc-visit-panel a { color: var(--phc-white); }

.phc-contact-list {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	margin-top: 28px;
	padding-top: 25px;
}

.phc-contact-row {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 20px;
	grid-template-columns: 120px 1fr;
	padding: 13px 0;
}

.phc-contact-row strong {
	color: var(--phc-champagne);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.phc-map-placeholder { min-height: 540px; }

.phc-map-placeholder .elementor-widget-container,
.phc-map-placeholder iframe {
	height: 100%;
	min-height: 540px;
	width: 100%;
}

/* Footer */
.phc-footer-main {
	background: #1c1917;
	color: rgba(255, 255, 255, 0.62);
	padding: 78px 30px 62px;
}

.phc-footer-main > .elementor-container { max-width: var(--phc-container) !important; }

.phc-footer-wordmark {
	color: var(--phc-white) !important;
	display: inline-flex;
	flex-direction: column;
	margin-bottom: 24px;
	text-decoration: none !important;
}

.phc-footer-wordmark span {
	font-family: "PHC Playfair", "Playfair Display", Georgia, serif;
	font-size: 34px;
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1;
}

.phc-footer-wordmark small {
	color: var(--phc-champagne);
	font-family: "PHC Jost", "Jost", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.28em;
	margin-top: 10px;
	text-transform: uppercase;
}

.phc-footer-copy,
.phc-footer-copy p {
	color: rgba(255, 255, 255, 0.58);
	font-size: 14px;
	line-height: 1.75;
}

.phc-footer-title .elementor-heading-title {
	color: var(--phc-white) !important;
	font-family: "PHC Jost", "Jost", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase;
}

.phc-footer-links,
.phc-footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phc-footer-links li { margin-bottom: 9px; }

.phc-footer-links a {
	color: rgba(255, 255, 255, 0.62);
	font-size: 14px;
}

.phc-footer-links a:hover { color: var(--phc-champagne); }

.phc-footer-bottom {
	background: #1c1917;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.42);
	font-size: 10px;
	letter-spacing: 0.11em;
	padding: 20px 30px;
	text-transform: uppercase;
}

.phc-footer-bottom a { color: rgba(255, 255, 255, 0.62); }
.phc-footer-bottom-right { text-align: right; }

/* WooCommerce base styling */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.etheme-elementor-button {
	border-radius: 0 !important;
	font-family: "PHC Jost", "Jost", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-radius: 0; }

.et-mobile-panel-wrapper { display: none !important; }

/* Inner pages */
.phc-inner-hero {
	background: var(--phc-porcelain);
	overflow: hidden;
}

.phc-inner-hero > .elementor-container { min-height: 570px; }

.phc-inner-hero-copy {
	padding: 80px 7vw 80px max(30px, calc((100vw - var(--phc-container)) / 2));
}

.phc-inner-hero-copy .phc-kicker,
.phc-inner-hero-copy .phc-section-title,
.phc-inner-hero-copy .phc-lead { margin-bottom: 24px; }

.phc-inner-hero-image,
.phc-inner-hero-image .elementor-widget-container,
.phc-inner-hero-image img {
	height: 570px;
	width: 100%;
}

.phc-inner-hero-image img {
	object-fit: cover;
	object-position: center top;
}

.phc-centred-intro {
	margin: 0 auto;
	max-width: 850px;
	text-align: center;
}

.phc-centred-intro .phc-kicker,
.phc-centred-intro .phc-section-title { margin-bottom: 23px; }

.phc-timeline {
	background: var(--phc-porcelain);
}

.phc-timeline-row {
	border-top: 1px solid var(--phc-line);
	padding: 42px 0;
}

.phc-timeline-year .elementor-heading-title {
	color: var(--phc-champagne-dark) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 38px !important;
	font-weight: 500 !important;
}

.phc-timeline-title .elementor-heading-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 28px !important;
	font-weight: 500 !important;
}

.phc-values-card {
	border-left: 1px solid var(--phc-champagne);
	margin: 0 18px;
	padding: 12px 26px 10px;
}

.phc-values-card .phc-card-title .elementor-heading-title {
	font-size: 28px !important;
}

.phc-dark-cta {
	background: var(--phc-ink);
	text-align: center;
}

.phc-dark-cta .phc-kicker .elementor-heading-title { color: var(--phc-champagne) !important; }
.phc-dark-cta .phc-section-title .elementor-heading-title { color: var(--phc-white) !important; }

.phc-dark-cta .phc-lead,
.phc-dark-cta .phc-lead p {
	color: rgba(255, 255, 255, 0.68);
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
}

/* Contact and forms */
.phc-contact-page { background: var(--phc-white); }
.phc-contact-form-wrap { padding: 10px 65px 10px 0; }

.phc-contact-card {
	background: var(--phc-ink);
	color: rgba(255, 255, 255, 0.72);
	padding: 50px;
}

.phc-contact-card .phc-card-title .elementor-heading-title { color: var(--phc-white) !important; }
.phc-contact-card a { color: var(--phc-white); }

.phc-contact-card .phc-footer-links li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	margin: 0;
	padding: 13px 0;
}

.phc-contact-page .wpcf7 label {
	color: var(--phc-ink);
	display: block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	margin-bottom: 19px;
	text-transform: uppercase;
}

.phc-contact-page .wpcf7 input:not([type="submit"]),
.phc-contact-page .wpcf7 textarea,
.phc-contact-page .wpcf7 select {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--phc-line);
	border-radius: 0;
	color: var(--phc-ink);
	font-family: "PHC Jost", sans-serif;
	font-size: 16px;
	font-weight: 400;
	margin-top: 6px;
	padding: 12px 0;
	width: 100%;
}

.phc-contact-page .wpcf7 textarea {
	height: 130px;
	resize: vertical;
}

.phc-contact-page .wpcf7 input[type="submit"] {
	background: var(--phc-ink);
	border: 1px solid var(--phc-ink);
	border-radius: 0;
	color: var(--phc-white);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	padding: 17px 28px;
	text-transform: uppercase;
}

.phc-contact-page .wpcf7 input[type="submit"]:hover {
	background: var(--phc-champagne);
	border-color: var(--phc-champagne);
	color: var(--phc-ink);
}

.phc-contact-page .wpcf7-spinner { vertical-align: middle; }

/* FAQ */
.phc-faq-wrap { background: var(--phc-white); }

.phc-faq .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid var(--phc-line) !important;
}

.phc-faq .elementor-tab-title {
	color: var(--phc-ink);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 23px;
	font-weight: 500;
	padding: 25px 4px !important;
}

.phc-faq .elementor-tab-content {
	border: 0 !important;
	color: var(--phc-text);
	font-size: 16px;
	line-height: 1.8;
	padding: 0 44px 28px 4px !important;
}

.phc-faq .elementor-accordion-icon { color: var(--phc-champagne-dark) !important; }

/* Testimonial archive */
.phc-review-grid { background: var(--phc-porcelain); }

.phc-review-grid-card {
	background: var(--phc-white);
	box-shadow: 0 16px 45px rgba(43, 36, 30, 0.05);
	margin: 12px;
	min-height: 310px;
	padding: 38px;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.phc-review-grid-card:hover {
	box-shadow: 0 24px 60px rgba(43, 36, 30, 0.1);
	transform: translateY(-4px);
}

.phc-review-grid-card .phc-review,
.phc-review-grid-card .phc-review p { font-size: 18px; }

.phc-testimonial-avatar-large img {
	height: 88px;
	width: 88px;
}

.phc-featured-testimonial {
	background: var(--phc-white);
	padding-bottom: 110px;
}

.phc-testimonial-transformation,
.phc-testimonial-transformation .elementor-widget-container,
.phc-testimonial-transformation img {
	height: 100%;
}

.phc-testimonial-transformation img {
	aspect-ratio: 5 / 4;
	object-fit: cover;
	width: 100%;
}

.phc-featured-testimonial-copy {
	background: var(--phc-ink);
	color: var(--phc-white);
	padding: 58px 62px;
}

.phc-featured-testimonial-copy .phc-review,
.phc-featured-testimonial-copy .phc-review p,
.phc-featured-testimonial-copy .phc-review-name,
.phc-featured-testimonial-copy .phc-review-name p {
	color: var(--phc-white);
}

.phc-featured-testimonial-copy .phc-review,
.phc-featured-testimonial-copy .phc-review p {
	font-size: 19px;
}

.phc-testimonial-avatar-featured img {
	border-color: rgba(255, 255, 255, 0.75);
	height: 92px;
	width: 92px;
}

.phc-review-links-wrap {
	background: var(--phc-porcelain);
	padding-bottom: 105px;
	padding-top: 25px;
}

.phc-review-links > .elementor-widget-wrap {
	gap: 12px;
	justify-content: center;
}

/* Terms and policies */
.phc-terms {
	background: var(--phc-porcelain);
	padding-bottom: 120px;
	padding-top: 80px;
}

.phc-legal-document {
	color: var(--phc-text);
	font-size: 16px;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 980px;
}

.phc-legal-company,
.phc-legal-policy {
	background: var(--phc-white);
	box-shadow: 0 16px 45px rgba(43, 36, 30, 0.05);
	margin-bottom: 28px;
	padding: 48px 56px;
}

.phc-legal-company {
	border-left: 3px solid var(--phc-champagne);
}

.phc-legal-document h2,
.phc-legal-document h3,
.phc-legal-document h4 {
	color: var(--phc-ink);
	font-family: "PHC Playfair", Georgia, serif;
	font-weight: 500;
}

.phc-legal-document h2 {
	border-bottom: 1px solid rgba(43, 36, 30, 0.12);
	font-size: 34px;
	margin: 0 0 34px;
	padding-bottom: 22px;
}

.phc-legal-document h3 {
	font-size: 24px;
	margin: 42px 0 16px;
}

.phc-legal-document h4 {
	font-size: 20px;
	margin: 32px 0 14px;
}

.phc-legal-document p { margin-bottom: 16px; }

.phc-legal-document ul {
	margin: 0 0 24px 20px;
	padding: 0;
}

.phc-legal-document li { margin-bottom: 9px; }

.phc-legal-document a {
	color: var(--phc-champagne-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.phc-legal-notice {
	background: var(--phc-porcelain);
	border-left: 3px solid var(--phc-champagne);
	margin: 25px 0 35px;
	padding: 24px 28px 10px;
}

/* Product archive */
.phc-shop-hero {
	background: var(--phc-ink);
	color: var(--phc-white);
	padding: 76px 30px 70px;
	text-align: center;
}

.phc-shop-hero .elementor-heading-title {
	color: var(--phc-white) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(44px, 5vw, 68px) !important;
	font-weight: 500 !important;
}

.phc-shop-hero .woocommerce-breadcrumb,
.phc-shop-hero .woocommerce-breadcrumb a {
	color: rgba(255, 255, 255, 0.58) !important;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.phc-shop-results-title .elementor-heading-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 31px !important;
	font-weight: 500 !important;
}

.phc-shop-toolbar {
	background: var(--phc-white);
	border-bottom: 1px solid var(--phc-line);
	border-top: 1px solid var(--phc-line);
	padding: 24px 30px;
}

.phc-shop-controls > .elementor-widget-wrap {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: flex-end;
}

.phc-shop-products {
	background: var(--phc-porcelain);
	padding: 70px 30px 105px;
}

.phc-shop-catalog {
	background: var(--phc-porcelain);
	padding: 72px 30px 110px;
}

.phc-shop-sidebar { padding-right: 34px; }
.phc-shop-main { padding-left: 18px; }

.phc-filter-desktop {
	position: sticky;
	top: 122px;
}

.phc-filter-mobile { display: none; }

.phc-filter-panel {
	background: var(--phc-white);
	border-top: 3px solid var(--phc-ink);
	box-shadow: 0 18px 48px rgba(43, 36, 30, 0.07);
	padding: 34px 28px 29px;
}

.phc-filter-heading > span {
	color: var(--phc-champagne-dark);
	display: block;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.17em;
	margin-bottom: 9px;
	text-transform: uppercase;
}

.phc-filter-heading h2 {
	color: var(--phc-ink);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 31px;
	font-weight: 500;
	line-height: 1.07;
	margin: 0 0 13px;
}

.phc-filter-heading p {
	color: var(--phc-text);
	font-size: 13px;
	line-height: 1.65;
	margin: 0 0 24px;
}

.phc-filter-search {
	align-items: center;
	border: 1px solid var(--phc-line);
	display: flex;
	margin-bottom: 28px;
}

.phc-filter-search input {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--phc-ink);
	font-size: 13px;
	height: 48px;
	min-width: 0;
	padding: 0 13px;
	width: 100%;
}

.phc-filter-search input:focus { box-shadow: none; outline: none; }

.phc-filter-search button {
	background: transparent;
	border: 0;
	color: var(--phc-ink);
	font-family: Georgia, serif;
	font-size: 25px;
	height: 48px;
	padding: 0 14px;
}

.phc-filter-group {
	border-top: 1px solid var(--phc-line);
	padding: 0;
}

.phc-filter-group summary {
	align-items: center;
	color: var(--phc-ink);
	cursor: pointer;
	display: flex;
	font-size: 11px;
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 0.13em;
	list-style: none;
	padding: 22px 0 18px;
	text-transform: uppercase;
}

.phc-filter-group summary::-webkit-details-marker { display: none; }

.phc-filter-group summary::after {
	content: "+";
	font-family: "PHC Jost", Arial, sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
}

.phc-filter-group[open] summary::after { content: "−"; }

.phc-treatment-categories,
.phc-filter-simple-links {
	list-style: none;
	margin: 0;
	padding: 0 0 19px;
}

.phc-treatment-categories li { margin: 0; }

.phc-treatment-categories a {
	align-items: center;
	color: var(--phc-text);
	display: grid;
	font-size: 13px;
	gap: 9px;
	grid-template-columns: 14px 1fr auto;
	line-height: 1.35;
	padding: 7px 0;
}

.phc-treatment-categories a:hover,
.phc-treatment-categories .is-active a { color: var(--phc-ink); }

.phc-filter-check {
	border: 1px solid rgba(43, 36, 30, 0.25);
	height: 12px;
	position: relative;
	width: 12px;
}

.phc-treatment-categories .is-active .phc-filter-check {
	background: var(--phc-ink);
	border-color: var(--phc-ink);
	box-shadow: inset 0 0 0 3px var(--phc-white);
}

.phc-treatment-categories small {
	color: #8b928f;
	font-size: 10px;
}

.phc-price-filter {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr;
	padding-bottom: 22px;
}

.phc-price-filter label span {
	color: var(--phc-text);
	display: block;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.11em;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.phc-price-filter input {
	background: var(--phc-porcelain);
	border: 1px solid transparent;
	border-radius: 0;
	color: var(--phc-ink);
	font-size: 13px;
	height: 44px;
	padding: 0 10px;
	width: 100%;
}

.phc-price-filter button {
	background: var(--phc-ink);
	border: 1px solid var(--phc-ink);
	border-radius: 0;
	color: var(--phc-white);
	font-size: 9px;
	font-weight: 600;
	grid-column: 1 / -1;
	letter-spacing: 0.13em;
	min-height: 44px;
	text-transform: uppercase;
}

.phc-price-filter button:hover {
	background: var(--phc-champagne);
	border-color: var(--phc-champagne);
	color: var(--phc-ink);
}

.phc-filter-simple-links li { border-bottom: 1px solid rgba(43, 36, 30, 0.08); }

.phc-filter-simple-links a {
	color: var(--phc-text);
	display: block;
	font-size: 13px;
	padding: 9px 0;
}

.phc-filter-simple-links a::after {
	color: var(--phc-champagne-dark);
	content: "→";
	float: right;
}

.phc-clear-filters {
	color: var(--phc-ink) !important;
	display: inline-block;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.13em;
	margin-top: 20px;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

.phc-shop-toolbar-inline {
	border-bottom: 1px solid var(--phc-line);
	margin-bottom: 28px;
	padding-bottom: 22px;
}

.phc-shop-toolbar-inline .elementor-container { align-items: center; }

.phc-archive-grid .etheme-product-grid-item {
	background: var(--phc-white) !important;
	border-radius: 0 !important;
	box-shadow: 0 12px 34px rgba(43, 36, 30, 0.055);
	overflow: hidden;
	transition: box-shadow 400ms ease, transform 400ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.phc-archive-grid .etheme-product-grid-item:hover {
	box-shadow: 0 24px 60px rgba(43, 36, 30, 0.13);
	transform: translateY(-7px);
}

.phc-archive-grid .etheme-product-grid-content {
	padding: 0 22px 24px !important;
}

.phc-archive-grid .etheme-product-grid-image img {
	aspect-ratio: 1 / 1.08;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
	width: 100%;
}

.phc-archive-grid .etheme-product-grid-item:hover .etheme-product-grid-image img {
	transform: scale(1.055);
}

.phc-archive-grid .etheme-product-grid-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
}

.phc-archive-grid .etheme-product-grid-categories {
	color: var(--phc-champagne-dark) !important;
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.phc-archive-grid .etheme-product-grid-button {
	background: var(--phc-ink) !important;
	border: 1px solid var(--phc-ink) !important;
	border-radius: 0 !important;
	color: var(--phc-white) !important;
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	padding: 13px !important;
	text-transform: uppercase;
}

/* Single product */
.phc-product-breadcrumb {
	background: var(--phc-porcelain);
	border-bottom: 1px solid var(--phc-line);
	padding: 20px 30px;
}

.phc-product-breadcrumb .woocommerce-breadcrumb,
.phc-product-breadcrumb .woocommerce-breadcrumb a {
	color: var(--phc-text) !important;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.phc-product-main {
	background: var(--phc-white);
	padding: 80px 30px 100px;
}

.phc-product-gallery { padding-right: 55px; }
.phc-product-summary { padding: 20px 0 0 48px; }

.phc-product-summary .product_title,
.phc-product-summary .elementor-heading-title {
	color: var(--phc-ink) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(38px, 4vw, 56px) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

.phc-product-summary .price {
	color: var(--phc-ink) !important;
	font-size: 20px !important;
}

.phc-product-summary .woocommerce-product-details__short-description {
	color: var(--phc-text);
	font-size: 16px;
	line-height: 1.8;
}

.phc-product-summary .single_add_to_cart_button,
.phc-product-summary .etheme-elementor-button {
	background: var(--phc-ink) !important;
	border-radius: 0 !important;
	color: var(--phc-white) !important;
	min-height: 52px;
}

.phc-product-summary .single_add_to_cart_button:hover {
	background: var(--phc-champagne) !important;
	color: var(--phc-ink) !important;
}

.phc-product-assurance {
	border-bottom: 1px solid var(--phc-line);
	border-top: 1px solid var(--phc-line);
	color: var(--phc-text);
	display: grid;
	font-size: 11px;
	font-weight: 600;
	gap: 12px;
	grid-template-columns: repeat(3, 1fr);
	letter-spacing: 0.08em;
	margin-top: 28px;
	padding: 20px 0;
	text-align: center;
	text-transform: uppercase;
}

.phc-product-assurance span + span { border-left: 1px solid var(--phc-line); }

.phc-product-tabs {
	background: var(--phc-porcelain);
	padding: 80px 30px;
}

.phc-product-tabs .wc-tabs {
	border-bottom: 1px solid var(--phc-line) !important;
}

.phc-product-tabs .wc-tabs a {
	color: var(--phc-ink) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.phc-related {
	background: var(--phc-white);
	padding: 95px 30px;
}

.phc-related h2 {
	font-size: clamp(36px, 4vw, 54px) !important;
	text-align: center;
}

/* Cart, checkout and account */
.phc-commerce-page-hero {
	background: var(--phc-porcelain);
	text-align: center;
}

.phc-commerce-page {
	background: var(--phc-white);
}

.phc-commerce-page .e-cart__column,
.phc-commerce-page .e-checkout__column,
.phc-commerce-page .woocommerce-MyAccount-content,
.phc-commerce-page .woocommerce-MyAccount-navigation {
	border-radius: 0 !important;
}

.phc-commerce-page .shop_table,
.phc-commerce-page .e-cart__column,
.phc-commerce-page .e-checkout__column {
	border-color: var(--phc-line) !important;
}

.phc-commerce-page input,
.phc-commerce-page select,
.phc-commerce-page textarea {
	border-radius: 0 !important;
}

.phc-commerce-page .button,
.phc-commerce-page button {
	background: var(--phc-ink) !important;
	border-radius: 0 !important;
	color: var(--phc-white) !important;
}

.phc-commerce-page .button:hover,
.phc-commerce-page button:hover {
	background: var(--phc-champagne) !important;
	color: var(--phc-ink) !important;
}

.phc-commerce-page .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phc-commerce-page .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--phc-line);
}

.phc-commerce-page .woocommerce-MyAccount-navigation a {
	color: var(--phc-ink);
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	padding: 13px 0;
	text-transform: uppercase;
}

/* Journal */
.phc-blog-archive { background: var(--phc-white); }

.phc-blog-grid .elementor-post {
	border: 0 !important;
	box-shadow: none !important;
}

.phc-blog-grid .elementor-post__thumbnail__link {
	margin-bottom: 24px !important;
}

.phc-blog-grid .elementor-post__thumbnail img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.phc-blog-grid .elementor-post__title {
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: 27px !important;
	font-weight: 500 !important;
	line-height: 1.2;
}

.phc-blog-grid .elementor-post__title a { color: var(--phc-ink) !important; }

.phc-blog-grid .elementor-post__meta-data {
	color: var(--phc-champagne-dark) !important;
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.phc-blog-grid .elementor-post__excerpt {
	color: var(--phc-text);
	font-size: 15px;
	line-height: 1.7;
}

.phc-blog-grid .elementor-post__read-more {
	color: var(--phc-ink) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.phc-post-hero {
	background: var(--phc-porcelain);
	text-align: center;
}

.phc-post-info {
	color: var(--phc-champagne-dark);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.phc-post-image { background: var(--phc-porcelain); }

.phc-post-featured img {
	display: block;
	max-height: 720px;
	object-fit: cover;
	width: 100%;
}

.phc-post-body { background: var(--phc-white); }

.phc-post-content {
	margin: 0 auto;
	max-width: 820px;
}

.phc-post-content,
.phc-post-content p,
.phc-post-content li {
	color: var(--phc-text);
	font-size: 18px;
	line-height: 1.9;
}

.phc-post-content h2 {
	font-size: 44px;
	margin-top: 1.6em;
}

.phc-post-content h3 {
	font-size: 32px;
	margin-top: 1.5em;
}

.phc-post-content blockquote {
	border-left: 2px solid var(--phc-champagne);
	color: var(--phc-ink);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 25px;
	font-style: italic;
	margin: 2em 0;
	padding: 10px 0 10px 28px;
}

/* 404 */
.phc-404 {
	background: var(--phc-porcelain);
	min-height: 720px;
}

.phc-404 > .elementor-container {
	align-items: center;
	min-height: 720px;
}

.phc-404-number .elementor-heading-title {
	color: var(--phc-champagne) !important;
	font-family: "PHC Playfair", Georgia, serif !important;
	font-size: clamp(100px, 15vw, 210px) !important;
	font-weight: 500 !important;
	letter-spacing: -0.07em;
	line-height: 0.7 !important;
	opacity: 0.65;
}

@media (max-width: 767px) {
	.phc-inner-hero > .elementor-container { min-height: auto; }

	.phc-inner-hero-copy {
		order: 2;
		padding: 54px 22px 65px;
	}

	.phc-inner-hero-image { order: 1; }

	.phc-inner-hero-image,
	.phc-inner-hero-image .elementor-widget-container,
	.phc-inner-hero-image img { height: 420px; }

	.phc-values-card {
		margin: 0 0 30px;
	}

	.phc-timeline-row { padding: 31px 0; }

	.phc-contact-form-wrap {
		padding: 0 0 52px;
	}

	.phc-contact-card { padding: 38px 25px; }
	.phc-review-grid-card { margin: 8px 0; min-height: 0; padding: 30px 25px; }

	.phc-shop-hero { padding: 58px 20px; }
	.phc-shop-products { padding: 48px 14px 75px; }
	.phc-shop-toolbar { padding: 19px 18px; }

	.phc-product-main { padding: 45px 20px 70px; }
	.phc-product-gallery { padding: 0 0 35px; }
	.phc-product-summary { padding: 0; }
	.phc-product-assurance { grid-template-columns: 1fr; text-align: left; }
	.phc-product-assurance span { padding: 5px 0; }
	.phc-product-assurance span + span { border-left: 0; }
	.phc-product-tabs,
	.phc-related { padding: 62px 20px; }

	.phc-commerce-page { padding-left: 16px; padding-right: 16px; }

	.phc-post-content,
	.phc-post-content p,
	.phc-post-content li { font-size: 17px; }

	.phc-post-content h2 { font-size: 35px; }
	.phc-post-content h3 { font-size: 27px; }
}

@media (max-width: 1024px) {
	.site-header .header-main-menu .menu { gap: 14px; }

	.site-header .header-main-menu .menu > li > a {
		font-size: 9px;
		letter-spacing: 0.08em;
	}

	.site-header .et_b_header-logo img { max-width: 148px !important; }

	.phc-section { padding: 90px 30px; }

	.phc-main-nav .elementor-item,
	.phc-desktop-nav a {
		font-size: 10px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.phc-tools span { display: none; }

	.phc-hero,
	.phc-hero > .elementor-container,
	.phc-hero-media,
	.phc-hero-media > .elementor-widget-wrap,
	.phc-hero-image,
	.phc-hero-image .elementor-widget-container,
	.phc-hero-image img { min-height: 650px; }

	.phc-hero-copy { padding: 65px 36px; }
	.phc-editorial-copy { padding-left: 30px; }
	.phc-about-copy { padding: 60px 50px; }
	.phc-voucher-copy { padding-left: 45px; }
	.phc-opening-voucher-copy { padding: 55px 38px; }
	.phc-category-title,
	.phc-category-copy,
	.phc-category-link {
		margin-left: 23px;
		margin-right: 23px;
	}
	.phc-category-number { margin-left: 23px; }
	.phc-category-title .elementor-heading-title { font-size: 26px !important; }
	.phc-story-copy,
	.phc-skincare-copy { padding: 50px 42px; }
	.phc-signup-copy { padding-right: 30px; }
	.phc-signup-form { padding-left: 30px; }
	.phc-shop-sidebar { padding-right: 22px; }
	.phc-shop-main { padding-left: 8px; }
	.phc-filter-panel { padding: 27px 20px 24px; }
	.phc-filter-heading h2 { font-size: 27px; }
	.phc-treatment-categories a { font-size: 12px; }
}

@media (max-width: 767px) {
	.site-header .mobile-header-wrapper .header-main .et-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.site-header .mobile-header-wrapper .et_b_header-logo img {
		max-height: 54px;
		max-width: 126px !important;
	}

	.phc-section { padding: 72px 20px; }
	.phc-section-sm { padding: 54px 20px; }

	.phc-topbar {
		padding: 9px 16px;
		text-align: center;
	}

	.phc-topbar-right { display: none; }
	.phc-main-header { padding: 12px 18px; }

	.phc-header-logo img {
		height: 48px !important;
		max-width: 162px !important;
	}

	.phc-main-nav { order: 3; }

	.phc-desktop-nav { display: none; }

	.phc-mobile-nav {
		display: block;
		position: relative;
		text-align: right;
	}

	.phc-mobile-nav summary {
		color: var(--phc-ink);
		cursor: pointer;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.14em;
		list-style: none;
		padding: 13px 4px;
		text-transform: uppercase;
	}

	.phc-mobile-nav summary::-webkit-details-marker { display: none; }

	.phc-mobile-nav summary::before {
		content: "☰";
		font-size: 18px;
		margin-right: 7px;
		vertical-align: -1px;
	}

	.phc-mobile-nav[open] summary::before { content: "×"; }

	.phc-mobile-nav > div {
		background: var(--phc-white);
		box-shadow: 0 18px 35px rgba(43, 36, 30, 0.12);
		min-width: 220px;
		padding: 10px 0;
		position: absolute;
		right: -54px;
		top: 52px;
		z-index: 1000;
	}

	.phc-mobile-nav a {
		color: var(--phc-ink);
		display: block;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.12em;
		padding: 12px 22px;
		text-align: left;
		text-transform: uppercase;
	}

	.phc-main-nav .elementor-menu-toggle {
		background: transparent !important;
		color: var(--phc-ink) !important;
		font-size: 25px;
		margin-left: auto;
		padding: 7px;
	}

	.phc-main-nav .elementor-nav-menu--dropdown {
		background: var(--phc-white);
		box-shadow: 0 18px 35px rgba(43, 36, 30, 0.12);
		margin-top: 14px !important;
	}

	.phc-main-nav .elementor-nav-menu--dropdown .elementor-item {
		border: 0 !important;
		font-size: 11px !important;
		padding: 14px 22px !important;
	}

	.phc-header-tools .phc-tools a:not(.phc-cart-link) { display: none; }

	.phc-hero,
	.phc-hero > .elementor-container { min-height: auto; }

	.phc-hero-copy {
		order: 2;
		padding: 58px 22px 68px;
	}

	.phc-hero-media { order: 1; }

	.phc-hero-media,
	.phc-hero-media > .elementor-widget-wrap,
	.phc-hero-image,
	.phc-hero-image .elementor-widget-container,
	.phc-hero-image img {
		height: 460px;
		min-height: 460px;
	}

	.phc-hero-image img { object-position: 50% 18%; }

	.phc-opening-voucher-media,
	.phc-opening-voucher-media > .elementor-widget-wrap,
	.phc-opening-voucher-image,
	.phc-opening-voucher-image .elementor-widget-container,
	.phc-opening-voucher-image img {
		height: 350px;
	}

	.phc-opening-voucher-copy { padding: 54px 22px 64px; }

	.phc-display .elementor-heading-title,
	.phc-display { font-size: 46px !important; }

	.phc-section-title .elementor-heading-title,
	.phc-section-title { font-size: 39px !important; }

	.phc-lead,
	.phc-lead p { font-size: 17px; }

	.phc-hero-actions .elementor-widget-button {
		display: block;
		margin-right: 0;
		width: 100%;
	}

	.phc-hero-actions .elementor-button { width: 100%; }
	.phc-trust { padding: 0 16px; }

	.phc-trust-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		border-right: 0;
		padding: 24px 10px;
		width: 50% !important;
	}

	.phc-editorial-image { padding: 0 16px 54px 0; }
	.phc-editorial-copy { padding: 0; }
	.phc-pathways-head { margin-bottom: 38px; }

	.phc-path-card {
		margin: 0 0 24px;
	}

	.phc-path-card .phc-card-body { padding: 28px 25px 34px; }

	.phc-category-card {
		margin: 0 0 26px;
		padding-bottom: 31px;
	}

	.phc-category-image img { aspect-ratio: 16 / 11; }

	.phc-story-media { order: 1; }
	.phc-story-copy,
	.phc-skincare-copy {
		order: 2;
		padding: 54px 22px 64px;
	}

	.phc-story-image,
	.phc-story-image .elementor-widget-container,
	.phc-story-image img { height: 410px; }

	.phc-signup-copy,
	.phc-signup-form {
		padding-left: 0;
		padding-right: 0;
	}

	.phc-signup-copy { padding-bottom: 34px; }
	.phc-registration-form form { padding: 27px 22px; }
	.phc-signup::before { inset: 10px; }

	.phc-section-head-link {
		margin-top: 17px;
		text-align: left;
	}

	.phc-product-grid .etheme-product-grid-title,
	.phc-product-grid .woocommerce-loop-product__title { font-size: 18px !important; }

	.phc-about-image img { height: 480px; }
	.phc-about-copy { padding: 58px 22px 66px; }

	.phc-testimonial-card {
		margin: 0 0 25px;
	}

	.phc-voucher-copy { padding: 42px 0 0; }
	.phc-visit-panel { padding: 48px 24px; }

	.phc-contact-row {
		gap: 5px;
		grid-template-columns: 1fr;
	}

	.phc-footer-main { padding: 62px 22px 45px; }

	.phc-footer-main .elementor-column { margin-bottom: 34px; }

	.phc-footer-bottom,
	.phc-footer-bottom-right { text-align: center; }

	.phc-shop-controls > .elementor-widget-wrap {
		justify-content: flex-start;
		margin-top: 15px;
	}

	.phc-shop-catalog { padding: 44px 14px 74px; }
	.phc-shop-sidebar,
	.phc-shop-main {
		padding-left: 0;
		padding-right: 0;
	}

	.phc-shop-sidebar { margin-bottom: 30px; }
	.phc-filter-desktop { display: none; }
	.phc-filter-mobile { display: block; }

	.phc-filter-mobile > summary {
		align-items: center;
		background: var(--phc-ink);
		color: var(--phc-white);
		cursor: pointer;
		display: flex;
		font-size: 11px;
		font-weight: 600;
		justify-content: space-between;
		letter-spacing: 0.14em;
		list-style: none;
		padding: 18px 20px;
		text-transform: uppercase;
	}

	.phc-filter-mobile > summary::-webkit-details-marker { display: none; }
	.phc-filter-mobile[open] > summary span:last-child { transform: rotate(45deg); }
	.phc-filter-mobile .phc-filter-panel { box-shadow: none; }
	.phc-shop-toolbar-inline { margin-bottom: 22px; }
}

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

	.phc-button .elementor-button,
	.phc-button .elementor-button::after,
	.phc-category-card,
	.phc-category-image img,
	.phc-product-grid .etheme-product-grid-item,
	.phc-product-grid .etheme-product-grid-image img,
	.phc-archive-grid .etheme-product-grid-item,
	.phc-archive-grid .etheme-product-grid-image img,
	.phc-opening-voucher-image img,
	.phc-hero-image img,
	.phc-story-image img {
		animation: none !important;
		transition: none !important;
	}
}

/* XStore-native WooCommerce archive banners
 *
 * Only the banner presentation is custom. The surrounding XStore archive,
 * filters, toolbar, product cards and AJAX/PJAX behaviour remain untouched.
 */
.woocommerce .phc-archive-banner {
	align-items: center;
	background: #ddd0c4;
	display: flex;
	isolation: isolate;
	margin: 0 0 28px;
	min-height: 342px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.woocommerce .main-products-loop > .category-description:has(.phc-archive-banner) {
	margin: 0;
	padding: 0;
}

.phc-archive-banner__media,
.phc-archive-banner__wash {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.phc-archive-banner__media {
	background-image: var(--phc-archive-banner-image);
	background-position: 68% center;
	background-repeat: no-repeat;
	background-size: cover;
	left: auto;
	transform: scale(1.015);
	transition: transform 1200ms cubic-bezier(0.2, 0.75, 0.2, 1);
	width: 54%;
	z-index: -3;
}

.phc-archive-banner:hover .phc-archive-banner__media {
	transform: scale(1.045);
}

.phc-archive-banner__wash {
	background:
		linear-gradient(90deg, rgba(247, 243, 238, 0.99) 0%, rgba(247, 243, 238, 0.95) 38%, rgba(247, 243, 238, 0.42) 63%, rgba(247, 243, 238, 0.06) 100%),
		linear-gradient(180deg, rgba(181, 139, 85, 0.04), rgba(36, 33, 31, 0.05));
	z-index: -2;
}

.phc-archive-banner__content {
	animation: phc-archive-banner-copy-in 700ms cubic-bezier(0.2, 0.75, 0.2, 1) both;
	max-width: 610px;
	padding: 54px 48px 58px;
	position: relative;
	width: 58%;
	z-index: 2;
}

.phc-archive-banner__eyebrow {
	color: var(--phc-champagne-dark);
	font-family: "PHC Jost", "Jost", Arial, sans-serif;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.22em;
	line-height: 1.4;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.woocommerce .phc-archive-banner h2 {
	color: var(--phc-ink);
	font-family: "PHC Playfair", "Playfair Display", Georgia, serif;
	font-size: clamp(34px, 3.25vw, 52px);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1.04;
	margin: 0 0 20px;
	max-width: 520px;
}

.phc-archive-banner__copy {
	color: #4f4842;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	margin: 0;
	max-width: 480px;
}

.phc-archive-banner__monogram {
	border: 1px solid rgba(181, 139, 85, 0.62);
	bottom: 24px;
	color: rgba(155, 120, 75, 0.9);
	font-family: "PHC Playfair", "Playfair Display", Georgia, serif;
	font-size: 13px;
	letter-spacing: 0.12em;
	line-height: 38px;
	position: absolute;
	right: 24px;
	text-align: center;
	width: 40px;
	z-index: 3;
}

.phc-archive-banner--treatments {
	background: #eadfd6;
}

.phc-archive-banner--treatments .phc-archive-banner__media {
	background-position: 52% 43%;
}

.phc-archive-banner--treatments .phc-archive-banner__wash {
	background:
		linear-gradient(90deg, rgba(250, 246, 242, 0.99) 0%, rgba(250, 246, 242, 0.96) 42%, rgba(241, 224, 216, 0.53) 66%, rgba(196, 147, 131, 0.08) 100%),
		linear-gradient(180deg, rgba(181, 139, 85, 0.04), rgba(73, 51, 44, 0.08));
}

.phc-archive-banner--skincare {
	background: #302824;
}

.phc-archive-banner--skincare .phc-archive-banner__media {
	background-position: 52% 50%;
}

.phc-archive-banner--skincare .phc-archive-banner__wash {
	background:
		linear-gradient(90deg, rgba(36, 31, 28, 0.98) 0%, rgba(45, 37, 33, 0.92) 40%, rgba(56, 43, 37, 0.48) 66%, rgba(56, 43, 37, 0.08) 100%),
		linear-gradient(180deg, rgba(181, 139, 85, 0.12), rgba(22, 19, 18, 0.14));
}

.phc-archive-banner--skincare .phc-archive-banner__eyebrow {
	color: #ddbf94;
}

.woocommerce .phc-archive-banner--skincare h2 {
	color: #fffaf4;
}

.phc-archive-banner--skincare .phc-archive-banner__copy {
	color: rgba(255, 250, 244, 0.82);
}

.phc-archive-banner--skincare .phc-archive-banner__monogram {
	border-color: rgba(221, 191, 148, 0.58);
	color: #ddbf94;
}

.phc-archive-banner--shop {
	background: #dfd4c9;
}

.phc-archive-banner--shop .phc-archive-banner__media {
	background-position: 52% 50%;
}

@keyframes phc-archive-banner-copy-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 991px) {
	.woocommerce .phc-archive-banner {
		min-height: 310px;
	}

	.phc-archive-banner__content {
		padding: 44px 34px 48px;
		width: 68%;
	}

	.woocommerce .phc-archive-banner h2 {
		font-size: clamp(32px, 4.8vw, 43px);
	}
}

@media (max-width: 767px) {
	.woocommerce .phc-archive-banner {
		align-items: flex-end;
		min-height: 440px;
	}

	.phc-archive-banner__media,
	.phc-archive-banner--treatments .phc-archive-banner__media,
	.phc-archive-banner--skincare .phc-archive-banner__media,
	.phc-archive-banner--shop .phc-archive-banner__media {
		background-position: center 28%;
		left: 0;
		width: 100%;
	}

	.phc-archive-banner__wash,
	.phc-archive-banner--treatments .phc-archive-banner__wash {
		background: linear-gradient(0deg, rgba(249, 245, 240, 0.99) 0%, rgba(249, 245, 240, 0.96) 43%, rgba(249, 245, 240, 0.26) 73%, rgba(249, 245, 240, 0.04) 100%);
	}

	.phc-archive-banner--skincare .phc-archive-banner__wash {
		background: linear-gradient(0deg, rgba(36, 31, 28, 0.99) 0%, rgba(39, 33, 30, 0.95) 43%, rgba(39, 33, 30, 0.28) 74%, rgba(39, 33, 30, 0.04) 100%);
	}

	.phc-archive-banner__content {
		max-width: none;
		padding: 185px 24px 34px;
		width: 100%;
	}

	.phc-archive-banner__eyebrow {
		font-size: 10px;
		margin-bottom: 12px;
	}

	.woocommerce .phc-archive-banner h2 {
		font-size: 34px;
		margin-bottom: 14px;
		max-width: 530px;
	}

	.phc-archive-banner__copy {
		font-size: 15px;
		line-height: 1.6;
		padding-right: 42px;
	}

	.phc-archive-banner__monogram {
		bottom: 20px;
		right: 18px;
	}
}

@media (max-width: 420px) {
	.woocommerce .phc-archive-banner {
		min-height: 414px;
	}

	.phc-archive-banner__content {
		padding: 168px 20px 30px;
	}

	.woocommerce .phc-archive-banner h2 {
		font-size: 30px;
	}

	.phc-archive-banner__copy {
		padding-right: 24px;
	}

	.phc-archive-banner__monogram {
		display: none;
	}
}

/* Persistent mobile access to XStore's native WooCommerce filters. */
.phc-mobile-filter-trigger {
	display: none;
}

@media (max-width: 991px) {
	body.woocommerce .phc-mobile-filter-trigger {
		display: block !important;
		margin: 0 0 18px;
		position: static;
		width: 100%;
	}

	body.woocommerce .phc-mobile-filter-trigger .phc-mobile-filter-trigger__button {
		align-items: center;
		appearance: none;
		background: #24211f;
		border: 1px solid #24211f;
		border-radius: 1px;
		box-shadow: 0 8px 22px rgba(30, 25, 22, 0.14);
		color: #fff;
		cursor: pointer;
		display: flex;
		font-family: inherit;
		font-size: 12px;
		font-weight: 600;
		gap: 8px;
		justify-content: center;
		letter-spacing: 0.12em;
		line-height: 1;
		min-height: 52px;
		padding: 0 20px;
		text-transform: uppercase;
		transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
		width: 100%;
	}

	body.woocommerce .phc-mobile-filter-trigger .phc-mobile-filter-trigger__button:focus-visible {
		box-shadow: 0 0 0 3px rgba(199, 158, 94, 0.42), 0 12px 28px rgba(30, 25, 22, 0.22);
		outline: none;
	}

	body.woocommerce .phc-mobile-filter-trigger .phc-mobile-filter-trigger__button:active {
		background: #9b7440;
		border-color: #9b7440;
		transform: translateY(1px);
	}

	.phc-mobile-filter-trigger__icon {
		display: inline-flex;
		height: 18px;
		width: 18px;
	}

	.phc-mobile-filter-trigger__icon svg {
		fill: none;
		height: 100%;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 1.6;
		width: 100%;
	}
}

/* The category finder is intentionally single-choice, so it reads as radio controls. */
.woocommerce .etheme_widget_cats_filter li a:before {
	border-radius: 50% !important;
}

.woocommerce .etheme_widget_cats_filter li a:after {
	background: #b58b55;
	border-radius: 50%;
	color: transparent !important;
	content: "" !important;
	font-family: inherit !important;
	font-size: 0 !important;
	height: 6px;
	left: calc(var(--widget-checkbox-size, 14px) / 2 - 3px);
	opacity: 0;
	position: absolute;
	top: calc(50% - 3px);
	width: 6px;
}

.woocommerce .etheme_widget_cats_filter li.current-item a:after {
	opacity: 1;
}

.woocommerce .etheme_widget_cats_filter li:not(.current-item) a:hover:after {
	opacity: 0.35;
}

@media (max-width: 1024px) {
	.phc-featured-testimonial-copy {
		padding: 44px 38px;
	}

	.phc-legal-company,
	.phc-legal-policy {
		padding: 42px;
	}
}

@media (max-width: 767px) {
	.phc-testimonial-card {
		margin: 9px 0;
		padding: 30px 24px;
	}

	.phc-testimonial-card .phc-review,
	.phc-testimonial-card .phc-review p {
		font-size: 17px;
	}

	.phc-featured-testimonial {
		padding-bottom: 72px;
	}

	.phc-testimonial-transformation,
	.phc-testimonial-transformation .elementor-widget-container,
	.phc-testimonial-transformation img {
		height: auto;
	}

	.phc-featured-testimonial-copy {
		padding: 42px 25px 48px;
	}

	.phc-review-links > .elementor-widget-wrap {
		align-items: stretch;
		flex-direction: column;
	}

	.phc-review-links .elementor-button-wrapper {
		text-align: center;
	}

	.phc-terms {
		padding: 55px 16px 80px;
	}

	.phc-legal-company,
	.phc-legal-policy {
		margin-bottom: 20px;
		padding: 30px 22px;
	}

	.phc-legal-document {
		font-size: 15px;
		line-height: 1.7;
	}

	.phc-legal-document h2 {
		font-size: 29px;
	}

	.phc-legal-document h3 {
		font-size: 22px;
		margin-top: 34px;
	}

	.phc-legal-document h4 {
		font-size: 19px;
	}

	.phc-legal-notice {
		padding: 21px 20px 8px;
	}
}

/* 1 Hour Total Transformation campaign */
.phc-campaign-section {
	background: #fff;
	padding-bottom: 118px;
	padding-top: 118px;
}

.phc-total-transformation-promo {
	align-items: center;
	background-color: #eee5dc;
	background-image:
		linear-gradient(90deg, rgba(248, 244, 239, 0.99) 0%, rgba(248, 244, 239, 0.96) 36%, rgba(248, 244, 239, 0.48) 57%, rgba(248, 244, 239, 0.02) 78%),
		var(--phc-campaign-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: var(--phc-shadow);
	display: flex;
	min-height: 620px;
	overflow: hidden;
	position: relative;
}

.phc-total-transformation-promo__copy {
	padding: 68px 7%;
	position: relative;
	width: 58%;
	z-index: 2;
}

.phc-total-transformation-promo__kicker {
	color: var(--phc-champagne-dark);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.2em;
	margin: 0 0 24px;
	text-transform: uppercase;
}

.phc-total-transformation-promo h2 {
	font-size: clamp(49px, 5vw, 76px);
	line-height: 0.98;
	margin: 0 0 27px;
}

.phc-total-transformation-promo__lead {
	color: var(--phc-ink-soft);
	font-size: 18px;
	line-height: 1.7;
	margin: 0 0 22px;
	max-width: 610px;
}

.phc-total-transformation-promo__price {
	align-items: baseline;
	display: flex;
	gap: 19px;
	margin: 0 0 17px;
}

.phc-total-transformation-promo__price del {
	color: #8b837c;
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 29px;
}

.phc-total-transformation-promo__price strong {
	color: var(--phc-ink);
	font-family: "PHC Playfair", Georgia, serif;
	font-size: 66px;
	font-weight: 500;
	line-height: 1;
}

.phc-total-transformation-promo__dates {
	color: var(--phc-text);
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 29px;
}

.phc-total-transformation-promo__button {
	background: var(--phc-ink);
	border: 1px solid var(--phc-ink);
	color: #fff !important;
	display: inline-block;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.15em;
	padding: 17px 28px;
	text-transform: uppercase;
}

.phc-total-transformation-promo__button:hover,
.phc-total-transformation-promo__button:focus {
	background: var(--phc-champagne);
	border-color: var(--phc-champagne);
	color: var(--phc-ink) !important;
	transform: translateY(-2px);
}

.phc-limited-offer-notice {
	background: var(--phc-porcelain);
	border-left: 3px solid var(--phc-champagne);
	color: var(--phc-ink-soft);
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 24px;
	padding: 15px 18px;
}

.phc-premium-voucher-option {
	align-items: flex-start;
	background: #fbf8f4;
	border: 1px solid var(--phc-stone);
	color: var(--phc-text);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	gap: 12px;
	line-height: 1.5;
	margin: 18px 0 22px;
	padding: 17px 18px;
}

.phc-premium-voucher-option input {
	accent-color: var(--phc-champagne-dark);
	height: 18px;
	margin: 2px 0 0;
	width: 18px;
}

.phc-premium-voucher-option strong {
	color: var(--phc-ink);
	display: block;
	font-size: 15px;
	margin-bottom: 2px;
}

.phc-offer-closed {
	color: var(--phc-ink);
	font-family: "PHC Jost", "Jost", sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.phc-campaign-description {
	color: var(--phc-text);
	line-height: 1.75;
}

.phc-campaign-description h2 {
	font-size: clamp(31px, 3vw, 43px);
	margin: 54px 0 22px;
}

.phc-campaign-description h3 {
	font-size: 29px;
	margin: 0 0 4px;
}

.phc-campaign-lead {
	color: var(--phc-ink-soft);
	font-size: 19px;
	max-width: 900px;
}

.phc-package-comparison {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.phc-package-comparison section {
	background: var(--phc-porcelain);
	border: 1px solid var(--phc-stone);
	padding: 34px 38px;
}

.phc-package-tagline {
	color: var(--phc-champagne-dark);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.17em;
	margin: 0 0 21px;
	text-transform: uppercase;
}

.phc-package-comparison ul,
.phc-campaign-inclusions,
.phc-campaign-terms ul {
	margin-bottom: 0;
}

.phc-campaign-inclusions {
	display: grid;
	gap: 12px 32px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.phc-campaign-terms {
	background: #fbf8f4;
	border-left: 3px solid var(--phc-champagne);
	margin-top: 48px;
	padding: 2px 34px 30px;
}

@media (max-width: 900px) {
	.phc-total-transformation-promo {
		background-image:
			linear-gradient(90deg, rgba(248, 244, 239, 0.99) 0%, rgba(248, 244, 239, 0.91) 50%, rgba(248, 244, 239, 0.14) 85%),
			var(--phc-campaign-image);
	}

	.phc-total-transformation-promo__copy {
		padding-left: 6%;
		width: 66%;
	}
}

@media (max-width: 767px) {
	.phc-campaign-section {
		padding: 72px 15px;
	}

	.phc-total-transformation-promo {
		align-items: flex-end;
		background-image:
			linear-gradient(0deg, rgba(248, 244, 239, 1) 0%, rgba(248, 244, 239, 0.98) 50%, rgba(248, 244, 239, 0.22) 75%, rgba(248, 244, 239, 0.04) 100%),
			var(--phc-campaign-image);
		background-position: 76% top;
		min-height: 780px;
	}

	.phc-total-transformation-promo__copy {
		padding: 330px 25px 40px;
		width: 100%;
	}

	.phc-total-transformation-promo h2 {
		font-size: 45px;
	}

	.phc-total-transformation-promo__lead {
		font-size: 16px;
	}

	.phc-total-transformation-promo__price strong {
		font-size: 55px;
	}

	.phc-package-comparison,
	.phc-campaign-inclusions {
		grid-template-columns: 1fr;
	}

	.phc-package-comparison section {
		padding: 28px 24px;
	}

	.phc-campaign-terms {
		padding: 2px 22px 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.phc-archive-banner__content,
	.phc-archive-banner__media,
	.phc-mobile-filter-trigger__button,
	.phc-testimonial-card,
	.phc-review-grid-card,
	.phc-total-transformation-promo__button {
		animation: none !important;
		transition: none !important;
	}
}
