/**
 * 2026 design layer (ported from the Base44 design in ~/Sites/base44-design).
 * Everything is scoped to body.em26 so legacy pages and the legacy Additional CSS are unaffected.
 * Colors read the "2026 / …" global colors from Elementor Site Settings (hex values are fallbacks).
 */

body.em26 {
	--em-cream: var(--e-global-color-em26cream, #FFEFD6);
	--em-background: var(--e-global-color-em26bg, #F7F4ED);
	--em-foreground: var(--e-global-color-em26text, #313229);
	--em-plum: var(--e-global-color-em26plum, #3B3159);
	--em-plum-soft: var(--e-global-color-em26plumsoft, #6D5C8A);
	--em-peach: var(--e-global-color-em26peach, #FFC2A8);
	--em-beige: var(--e-global-color-em26beige, #E2DBCA);
	--em-muted: var(--e-global-color-em26muted, #727463);
	--em-ease: cubic-bezier(0.87, 0, 0.13, 1);

	background-color: var(--em-background);
	color: var(--em-foreground);
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-feature-settings: "kern", "liga";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Override the legacy Additional CSS rule that forces the old heading font on h1–h6. */
.em26 h1,
.em26 h2,
.em26 h3,
.em26 h4,
.em26 h5,
.em26 h6 {
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-weight: 400;
	text-wrap: balance;
}

.em26 ::selection {
	background-color: var(--em-peach);
	color: var(--em-foreground);
}

/* Small uppercase label ("tracking-meta" in the design). Add the class `em-label` to a Heading/Text widget. */
.em26 .em-label,
.em26 .em-label .elementor-heading-title {
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Underlined text link with arrow (CTA variants "plum"/"bronze"). Add `em-link` to a Button widget. */
.em26 .em-link .elementor-button {
	background: none;
	padding: 0 0 4px;
	border-radius: 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 40%, transparent);
	transition: border-color 500ms ease;
}

.em26 .em-link .elementor-button:hover {
	border-bottom-color: currentColor;
}

/* Hairline divider ("rule-line"). */
.em26 .em-rule {
	height: 0.5px;
	background-color: var(--em-beige);
}

/* Entrance animations: the design's slower fade-up with its signature easing. */
.em26 .animated.fadeInUp {
	animation-name: em26-fade-up;
	animation-duration: 800ms;
	animation-timing-function: var(--em-ease);
}

@keyframes em26-fade-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

html:has(body.em26) {
	scroll-behavior: smooth;
}

html:has(body.em26)::-webkit-scrollbar {
	width: 8px;
}

html:has(body.em26)::-webkit-scrollbar-track {
	background: #F7F4ED;
}

html:has(body.em26)::-webkit-scrollbar-thumb {
	background: #E2DBCA;
	border-radius: 0;
}

/* ------------------------------------------------------------------------
 * Header (template "2026 Header"): fixed, transparent at the top, solid blurred bar once scrolled.
 * The scrolled state is toggled by assets/js/em26.js.
 * ------------------------------------------------------------------------ */

.em26 .em-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	border-bottom: 1px solid transparent;
	transition: background-color 800ms var(--em-ease), border-color 800ms var(--em-ease), backdrop-filter 800ms var(--em-ease);
}

.em26.admin-bar .em-header {
	top: 32px;
}

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

.em26.em26-scrolled .em-header {
	background-color: color-mix(in srgb, var(--em-background) 90%, transparent);
	border-bottom-color: color-mix(in srgb, var(--em-beige) 40%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.em26 .em-burger a {
	display: inline-flex;
	padding: 8px;
	color: var(--em-foreground);
}

/* ------------------------------------------------------------------------
 * Mobile menu popup (template "2026 Mobile menu").
 * ------------------------------------------------------------------------ */

.em26 .em-menu-panel .em-menu-contact {
	margin-top: 32px;
}

.em26 .em-menu-panel .elementor-nav-menu .em-menu-contact > a.elementor-item {
	color: var(--em-peach);
}

.em26 .em-menu-panel .elementor-nav-menu .em-menu-contact > a.elementor-item:hover {
	color: var(--em-cream);
}

/* ------------------------------------------------------------------------
 * Footer (template "2026 Footer").
 * ------------------------------------------------------------------------ */

.em26 .em-footer .em-legal a {
	color: inherit;
	transition: color 300ms ease;
}

.em26 .em-footer .em-legal a:hover {
	color: var(--em-peach);
}

/* Containers that should shrink to their content (Elementor child containers default to 100% width). */
.em26 .e-con.em-auto {
	--width: auto;
}

/* ------------------------------------------------------------------------
 * Hero (Home): full-bleed portrait behind the text, cream glow under the header.
 * The portrait and its fade are the background + gradient overlay of the .em-hero-media container.
 * ------------------------------------------------------------------------ */

.em26 .em-hero {
	position: relative;
	overflow: hidden;
}

.em26 .em-hero .em-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.em26 .em-hero::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 128px;
	background: linear-gradient(to bottom, var(--em-cream), transparent);
	filter: blur(24px);
	opacity: 0.9;
	pointer-events: none;
	z-index: 0;
}

.em26 .em-hero .em-hero-content {
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.em26 .em-hero .em-hero-media {
		bottom: auto;
		height: 55vh;
	}

	/* Elementor's overlay gradient has no per-device colors/angle: on phones the portrait fades out at the bottom
	   (Base44: bg-gradient-to-t from-background via-background/10 to-transparent). */
	.em26 .em-hero .em-hero-media::before {
		background-image: linear-gradient(to top, var(--em-background) 0%, color-mix(in srgb, var(--em-background) 10%, transparent) 50%, transparent 100%) !important;
	}

	.em26 .em-hero::after {
		height: 96px;
	}
}

/* Images cropped to a fixed ratio (Base44 aspect-[4/5], aspect-[4/3]). Add the class to an Image widget. */
.em26 .em-ratio-4-5 img,
.em26 .em-ratio-4-3 img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.em26 .em-ratio-4-3 img {
	aspect-ratio: 4 / 3;
}

/* ------------------------------------------------------------------------
 * Forms (Contact Form 7, html_class "em-form"): underline-only fields, uppercase labels.
 * `em-form--dark` = on plum backgrounds.
 * ------------------------------------------------------------------------ */

.em26 .em-form {
	--em-form-ink: var(--em-foreground);
}

.em26 .em-form--dark {
	--em-form-ink: var(--em-cream);
}

.em26 .em-form .em-field {
	margin-bottom: 32px;
}

.em26 .em-form label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-form-ink) 40%, transparent);
}

.em26 .em-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 12px;
}

.em26 .em-form input[type="text"],
.em26 .em-form input[type="email"],
.em26 .em-form input[type="tel"],
.em26 .em-form textarea {
	width: 100%;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--em-form-ink) 30%, transparent);
	border-radius: 0;
	background: transparent;
	color: var(--em-form-ink);
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
	outline: none;
	transition: border-color 300ms ease;
}

.em26 .em-form textarea {
	resize: none;
}

.em26 .em-form input::placeholder,
.em26 .em-form textarea::placeholder {
	color: color-mix(in srgb, var(--em-form-ink) 30%, transparent);
}

.em26 .em-form input:focus,
.em26 .em-form textarea:focus {
	border-bottom-color: var(--em-peach);
}

.em26 .em-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	border: 0;
	border-radius: 0;
	background: var(--em-peach);
	color: var(--em-foreground);
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 300ms ease;
}

.em26 .em-form .wpcf7-submit:hover {
	background: var(--em-cream);
}

.em26 .em-form .wpcf7-submit:disabled {
	opacity: 0.5;
}

.em26 .em-form .wpcf7-spinner {
	display: none;
}

.em26 .em-form .wpcf7-not-valid-tip {
	margin-top: 8px;
	font-size: 12px;
	color: var(--em-peach);
}

.em26 .em-form .wpcf7-response-output {
	margin: 32px 0 0;
	padding: 0 0 16px;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--em-peach) 40%, transparent);
	color: color-mix(in srgb, var(--em-form-ink) 70%, transparent);
	font-size: 14px;
}

.em26 .em-form form.sent .em-field,
.em26 .em-form form.sent .wpcf7-submit {
	display: none;
}

.em26 .em-form form.sent .wpcf7-response-output {
	margin-top: 0;
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 24px;
	color: var(--em-peach);
}

/* ------------------------------------------------------------------------
 * Testimonials carousel (class em-quotes): centered quote, line-shaped pagination.
 * ------------------------------------------------------------------------ */

.em26 .em-quotes {
	max-width: 896px;
	margin-inline: auto;
}

.em26 .em-quotes .elementor-testimonial__content {
	min-height: 0;
}

.em26 .em-quotes .elementor-testimonial__text {
	text-wrap: balance;
}

.em26 .em-quotes .elementor-testimonial__cite {
	gap: 4px;
}

.em26 .em-quotes .swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 48px;
}

.em26 .em-quotes .swiper-pagination-bullet {
	width: 24px;
	height: 1px;
	padding: 8px 0;
	box-sizing: content-box;
	background-clip: content-box !important;
	margin: 0 !important;
	border-radius: 0;
	opacity: 1;
	background: var(--em-beige);
	transition: width 500ms ease, background-color 500ms ease;
}

.em26 .em-quotes .swiper-pagination-bullet-active {
	width: 48px;
	background: var(--em-foreground);
}

.em26 .em-quotes .swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

.em26 .em-quotes .swiper-autoheight .swiper-slide {
	height: auto;
}

.em26 .em-ratio-16-9 img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* ------------------------------------------------------------------------
 * Lists. `em-dash-list` = short line before each item ("The work combines"),
 * `em-rule-list` = "—" items between hairlines ("You may begin to notice").
 * ------------------------------------------------------------------------ */

.em26 .em-dash-list,
.em26 .em-rule-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em26 .em-dash-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
}

.em26 .em-dash-list li::before {
	content: "";
	flex: none;
	width: 16px;
	height: 1px;
	background: var(--em-peach);
}

.em26 .em-dash-list--plum li::before {
	background: var(--em-plum);
}

.em26 .em-rule-list li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-rule-list li:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-rule-list li::before {
	content: "—";
	flex: none;
	margin-top: 2px;
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 18px;
	line-height: 1.4;
	color: color-mix(in srgb, var(--em-peach) 50%, transparent);
}

/* ------------------------------------------------------------------------
 * Numbered accordion (class em-acc; Base44 ProgramJourney / ProgramFAQ).
 * Titles are "<span class=em-acc-num>01</span><span class=em-acc-title>…</span>".
 * ------------------------------------------------------------------------ */

.em26 .em-acc .elementor-accordion-item {
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-acc .elementor-accordion-item:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-acc .elementor-tab-title {
	display: flex;
	align-items: center;
	padding: 40px 0;
	border: 0;
}

.em26 .em-acc .elementor-accordion-icon {
	order: 2;
	float: none;
	margin-left: 24px;
	width: auto;
}

.em26 .em-acc .elementor-accordion-icon i {
	font-size: 16px;
}

.em26 .em-acc .elementor-accordion-icon svg {
	width: 16px;
}

.em26 .em-acc .elementor-accordion-title {
	display: flex;
	align-items: center;
	gap: 48px;
	flex: 1;
	color: var(--em-foreground);
}

.em26 .em-acc .em-acc-num {
	min-width: 48px;
	font-size: 48px;
	line-height: 1;
	color: color-mix(in srgb, var(--em-peach) 50%, transparent);
	transition: color 500ms ease;
}

.em26 .em-acc .elementor-tab-title:hover .em-acc-num {
	color: var(--em-peach);
}

.em26 .em-acc .em-acc-title {
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.em26 .em-acc .elementor-tab-content {
	max-width: 956px;
	padding: 0 0 40px 96px;
	border: 0;
}

@media (max-width: 767px) {
	.em26 .em-acc .elementor-tab-title {
		padding: 32px 0;
	}

	.em26 .em-acc .elementor-accordion-title {
		gap: 24px;
	}

	.em26 .em-acc .em-acc-num {
		min-width: 30px;
		font-size: 30px;
	}

	.em26 .em-acc .em-acc-title {
		font-size: 24px;
	}

	.em26 .em-acc .elementor-tab-content {
		padding: 0 0 32px 54px;
	}
}

/* FAQ accordion: smaller numbered questions (Base44 ProgramFAQ). */
.em26 .em-acc--faq .elementor-tab-title {
	padding: 24px 0;
}

.em26 .em-acc--faq .elementor-accordion-title {
	gap: 24px;
}

.em26 .em-acc--faq .em-acc-num {
	min-width: 16px;
	font-size: 14px;
	color: color-mix(in srgb, var(--em-foreground) 30%, transparent);
}

.em26 .em-acc--faq .elementor-tab-title:hover .em-acc-num {
	color: color-mix(in srgb, var(--em-foreground) 30%, transparent);
}

.em26 .em-acc--faq .em-acc-title {
	font-size: 20px;
	line-height: 1.4;
}

.em26 .em-acc--faq .elementor-tab-content {
	padding: 0 0 24px 40px;
}

@media (max-width: 767px) {
	.em26 .em-acc--faq .elementor-tab-title {
		padding: 24px 0;
	}

	.em26 .em-acc--faq .em-acc-num {
		min-width: 16px;
		font-size: 14px;
	}

	.em26 .em-acc--faq .em-acc-title {
		font-size: 18px;
	}

	.em26 .em-acc--faq .elementor-tab-content {
		padding: 0 0 24px 40px;
	}
}

/* "What's Inside" rows: label left, value right, between hairlines (Base44 ProgramDetails). */
.em26 .em-spec-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em26 .em-spec-list li {
	display: flex;
	justify-content: space-between;
	gap: 32px;
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-spec-list li:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-spec-list li span:last-child {
	color: var(--em-foreground);
	text-align: right;
}

/* "This Is" (+) / "This Isn't" (—) lists (Base44 IsThisForYou). */
.em26 .em-mark-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em26 .em-mark-list li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-mark-list li:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

.em26 .em-mark-list li::before {
	flex: none;
	margin-top: 2px;
	font-size: 14px;
}

.em26 .em-mark-list--is li::before {
	content: "+";
	color: var(--em-peach);
}

.em26 .em-mark-list--isnt li::before {
	content: "—";
	color: color-mix(in srgb, var(--em-foreground) 30%, transparent);
}

/* Program testimonials keep the quote's paragraph breaks. */
.em26 .em-quotes--pre .elementor-testimonial__text {
	white-space: pre-line;
}

/* Stacked form (program waitlists): tighter fields, full-width button. */
.em26 .em-form--stacked .em-field {
	margin-bottom: 24px;
}

.em26 .em-form--stacked label {
	color: color-mix(in srgb, var(--em-form-ink) 50%, transparent);
}

.em26 .em-form--stacked .wpcf7-form-control-wrap {
	margin-top: 8px;
}

.em26 .em-form--stacked input[type="text"],
.em26 .em-form--stacked input[type="email"],
.em26 .em-form--stacked textarea {
	padding: 12px 0;
	font-size: 14px;
}

.em26 .em-form--stacked .wpcf7-submit {
	width: 100%;
	transition: background-color 500ms ease;
}

.em26 .em-form .em-optional {
	opacity: 0.5;
	text-transform: none;
}

/* "Explore More" cards. */
.em26 .em-card {
	transition: border-color 500ms ease;
}

.em26 .em-card .em-card-link .elementor-heading-title {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 1px solid color-mix(in srgb, var(--em-peach) 40%, transparent);
	transition: border-color 500ms ease;
}

.em26 .em-card:hover .em-card-link .elementor-heading-title {
	border-bottom-color: var(--em-peach);
}

/* About: portrait stays in view while the text scrolls (Base44 sticky top-28). */
@media (min-width: 768px) {
	.em26 .e-con.em-sticky {
		position: sticky;
		top: 112px;
		align-self: start;
	}
}

.em26 .em-prose p {
	margin: 0 0 24px;
}

.em26 .em-prose p:last-child {
	margin-bottom: 0;
}

/* About: discipline tags (bordered pills on soft plum). */
.em26 .em-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.em26 .em-tags li {
	margin: 0;
	padding: 12px 24px;
	border: 1px solid color-mix(in srgb, var(--em-cream) 20%, transparent);
}

/* Press: magazine covers, whole cover visible in a 3:4 frame. */
.em26 .em-cover .elementor-widget-container,
.em26 .em-cover {
	overflow: hidden;
}

.em26 .em-cover img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: contain;
	background: color-mix(in srgb, var(--em-beige) 10%, transparent);
	transition: transform 700ms ease;
}

.em26 .em-cover a:hover img {
	transform: scale(1.03);
}

/* Home clients: logos in one color (#32332A) via the SVG filter printed by em26_logo_filter(). */
.em26 .em-logo img {
	width: auto;
	height: auto;
	max-width: min(100%, 180px);
	max-height: 56px;
	filter: url(#em26-logo-ink);
}

/* ==========================================================================
 * Shop (WooCommerce). Base44 only designs the product grid (pages/Shop.jsx);
 * product, cart, checkout and account pages follow the same tokens.
 * Selectors start with "html body.em26" to out-rank the legacy Additional CSS, which has many
 * WooCommerce rules (some !important) and loads after this file.
 * ========================================================================== */

/* Header cart icon: only visible once something is in the cart. */
html body.em26 .em-cart:has(.elementor-button-icon-qty[data-counter="0"]) {
	display: none;
}

html body.em26 .em-cart .elementor-menu-cart__main {
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__product-name a {
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 16px;
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__subtotal {
	font-size: 16px;
	font-weight: 500;
	border-color: var(--em-beige);
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button {
	padding: 16px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	border: 1px solid color-mix(in srgb, var(--em-foreground) 30%, transparent);
}

/* --- Product grid (Base44: grid-cols-1 sm:2 lg:3, gap-x-8 gap-y-16) --- */

html body.em26 .em-products ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 64px 32px;
	margin: 0;
	padding: 0;
}

html body.em26 .em-products ul.products::before,
html body.em26 .em-products ul.products::after {
	display: none;
}

@media (max-width: 1024px) {
	html body.em26 .em-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	html body.em26 .em-products ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

html body.em26 .em-products ul.products li.product {
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	text-align: left;
}

html body.em26 .em-products ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	color: var(--em-foreground);
}

html body.em26 .em-products ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 20px;
	object-fit: cover;
	background: color-mix(in srgb, var(--em-beige) 30%, transparent);
	transition: transform 700ms ease;
}

html body.em26 .em-products ul.products li.product a:hover img {
	transform: scale(1.03);
}

/* Clip the hover zoom to the square (the image is the link's first child). */
html body.em26 .em-products ul.products li.product a.woocommerce-LoopProduct-link {
	overflow: hidden;
}

html body.em26 .em-products ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 8px;
	padding: 0;
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.375;
	color: var(--em-foreground);
}

html body.em26 .em-products ul.products li.product .price {
	display: block;
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 400;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

html body.em26 .em-products ul.products li.product .price del {
	opacity: 0.6;
}

html body.em26 .em-products ul.products li.product .price ins {
	text-decoration: none;
}

html body.em26 .em-shop-link {
	display: inline-flex;
	padding-bottom: 4px;
	border-bottom: 1px solid color-mix(in srgb, var(--em-plum) 40%, transparent);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--em-plum);
	transition: border-color 500ms ease;
}

html body.em26 .em-products ul.products li.product a:hover .em-shop-link {
	border-bottom-color: var(--em-plum);
}

html body.em26 .em-products ul.products li.product .onsale,
html body.em26.woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	padding: 6px 12px;
	border-radius: 0;
	background: var(--em-peach);
	color: var(--em-foreground);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* --- Page frame for WooCommerce templates (product, cart, checkout, account) --- */

html body.em26 #primary .site-main,
html body.em26.woocommerce-cart .site-main,
html body.em26.woocommerce-checkout .site-main,
html body.em26.woocommerce-account .site-main {
	max-width: 1496px;
	margin-inline: auto;
	padding: 160px 48px 128px;
}

@media (max-width: 767px) {
	html body.em26 #primary .site-main,
html body.em26.woocommerce-cart .site-main,
html body.em26.woocommerce-checkout .site-main,
html body.em26.woocommerce-account .site-main {
		padding: 128px 24px 80px;
	}
}

html body.em26.woocommerce-cart .page-header,
html body.em26.woocommerce-checkout .page-header,
html body.em26.woocommerce-account .page-header {
	max-width: none;
	padding: 0;
	margin: 0 0 48px;
}

html body.em26.woocommerce-cart .page-header .entry-title,
html body.em26.woocommerce-checkout .page-header .entry-title,
html body.em26.woocommerce-account .page-header .entry-title {
	font-size: 60px;
	line-height: 1.05;
	letter-spacing: -0.025em;
}

@media (max-width: 767px) {
	html body.em26.woocommerce-cart .page-header .entry-title,
html body.em26.woocommerce-checkout .page-header .entry-title,
html body.em26.woocommerce-account .page-header .entry-title {
		font-size: 36px;
	}
}

html body.em26 .woocommerce-breadcrumb {
	margin: 0 0 40px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-foreground) 50%, transparent);
}

html body.em26 .woocommerce-breadcrumb a {
	color: var(--em-foreground);
}

html body.em26.woocommerce a,
html body.em26.woocommerce-page a {
	color: var(--em-plum);
}

/* --- Buttons --- */

html body.em26.woocommerce #respond input#submit,
html body.em26.woocommerce a.button,
html body.em26.woocommerce button.button,
html body.em26.woocommerce input.button,
html body.em26.woocommerce-page a.button,
html body.em26.woocommerce-page button.button,
html body.em26 .woocommerce a.button,
html body.em26 .woocommerce button.button,
html body.em26 .wc-proceed-to-checkout a.checkout-button,
html body.em26 #place_order {
	padding: 16px 32px;
	border: 0;
	border-radius: 0;
	background: var(--em-peach);
	color: var(--em-foreground);
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: background-color 500ms ease;
}

html body.em26.woocommerce #respond input#submit:hover,
html body.em26.woocommerce a.button:hover,
html body.em26.woocommerce button.button:hover,
html body.em26.woocommerce input.button:hover,
html body.em26.woocommerce-page a.button:hover,
html body.em26.woocommerce-page button.button:hover,
html body.em26 .woocommerce a.button:hover,
html body.em26 .woocommerce button.button:hover,
html body.em26 .wc-proceed-to-checkout a.checkout-button:hover,
html body.em26 #place_order:hover {
	background: var(--em-cream);
	color: var(--em-foreground);
}

html body.em26.woocommerce button.button:disabled,
html body.em26.woocommerce button.button:disabled[disabled] {
	padding: 16px 32px;
	opacity: 0.5;
}

/* --- Form fields (quantity, coupon, checkout) --- */

html body.em26.woocommerce .quantity .qty,
html body.em26.woocommerce-page .quantity .qty,
html body.em26 .woocommerce form .form-row .input-text,
html body.em26 .woocommerce form .form-row select,
html body.em26 .woocommerce-page form .form-row .input-text,
html body.em26 #coupon_code,
html body.em26 .select2-container--default .select2-selection--single {
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--em-beige);
	border-radius: 0;
	background: #fff;
	color: var(--em-foreground);
	font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
	font-size: 14px;
}

html body.em26 .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 22px;
	color: var(--em-foreground);
}

html body.em26 .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

html body.em26 .woocommerce form .form-row label,
html body.em26 .woocommerce-page form .form-row label {
	margin-bottom: 6px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

html body.em26 .woocommerce form .form-row .input-text:focus,
html body.em26 #coupon_code:focus {
	border-color: var(--em-peach);
	outline: none;
}

/* --- Notices --- */

html body.em26 .woocommerce-message,
html body.em26 .woocommerce-info,
html body.em26 .woocommerce-error {
	padding: 20px 24px 20px 56px;
	border: 0;
	border-left: 2px solid var(--em-peach);
	background: color-mix(in srgb, var(--em-beige) 35%, transparent);
	color: var(--em-foreground);
	font-size: 14px;
}

html body.em26 .woocommerce-message::before,
html body.em26 .woocommerce-info::before {
	color: var(--em-plum);
}

html body.em26 .woocommerce-error {
	border-left-color: #b4534a;
}

html body.em26 .woocommerce-message .button,
html body.em26 .woocommerce-info .button {
	padding: 10px 20px;
}

/* --- Single product --- */

html body.em26.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px 64px;
	align-items: start;
}

html body.em26.single-product div.product > * {
	grid-column: 1 / -1;
}

html body.em26.single-product div.product .woocommerce-product-gallery,
html body.em26.single-product div.product .summary {
	float: none;
	width: auto;
	margin: 0;
}

html body.em26.single-product div.product .woocommerce-product-gallery {
	grid-column: 1;
}

html body.em26.single-product div.product .summary {
	grid-column: 2;
}

@media (max-width: 767px) {
	html body.em26.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
	}

	html body.em26.single-product div.product .woocommerce-product-gallery,
html body.em26.single-product div.product .summary {
		grid-column: 1;
	}
}

html body.em26.single-product div.product .woocommerce-product-gallery img {
	background: color-mix(in srgb, var(--em-beige) 30%, transparent);
}

html body.em26.single-product div.product .product_title {
	margin: 0 0 16px;
	font-size: 48px;
	line-height: 1.1;
	letter-spacing: -0.025em;
}

@media (max-width: 767px) {
	html body.em26.single-product div.product .product_title {
		font-size: 32px;
	}
}

html body.em26.single-product div.product p.price,
html body.em26.single-product div.product span.price {
	margin: 0 0 32px;
	font-size: 18px;
	color: var(--em-foreground);
}

html body.em26.single-product div.product .woocommerce-product-details__short-description {
	margin: 32px 0 0;
	font-size: 16px;
	line-height: 1.625;
	color: color-mix(in srgb, var(--em-foreground) 70%, transparent);
}

html body.em26.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 8px;
}

html body.em26.single-product div.product form.cart .quantity {
	float: none;
	margin: 0;
}

html body.em26.single-product div.product form.cart .quantity .qty {
	width: 72px;
	height: 100%;
}

html body.em26.single-product div.product form.cart .button {
	float: none;
}

html body.em26.single-product div.product .woocommerce-tabs {
	margin-top: 48px;
	padding-top: 48px;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 50%, transparent);
}

html body.em26.single-product div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 32px;
	padding: 0;
}

html body.em26.single-product div.product .woocommerce-tabs ul.tabs::before,
html body.em26.single-product div.product .woocommerce-tabs ul.tabs li::before,
html body.em26.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

html body.em26.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0 32px 0 0;
	padding: 0;
	border: 0;
	background: none;
}

html body.em26.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding: 0 0 6px;
	border-bottom: 1px solid transparent;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-foreground) 50%, transparent);
}

html body.em26.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--em-foreground);
	color: var(--em-foreground);
}

html body.em26.single-product div.product .woocommerce-tabs .panel {
	max-width: 860px;
	font-size: 16px;
	line-height: 1.625;
	color: color-mix(in srgb, var(--em-foreground) 70%, transparent);
}

html body.em26.single-product div.product .woocommerce-tabs .panel > h2:first-child {
	display: none;
}

html body.em26.single-product .related > h2,
html body.em26.single-product .upsells > h2 {
	margin: 0 0 32px;
	font-size: 36px;
	letter-spacing: -0.025em;
}

/* Up-sells / related products reuse the shop card look. */
html body.em26.single-product ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 48px 32px;
}

html body.em26.single-product ul.products::before,
html body.em26.single-product ul.products::after {
	display: none;
}

html body.em26.single-product ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
}

html body.em26.single-product ul.products li.product img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

html body.em26.single-product ul.products li.product .woocommerce-loop-product__title {
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 18px;
	font-weight: 400;
	color: var(--em-foreground);
}

html body.em26.single-product ul.products li.product .price {
	font-size: 14px;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

@media (max-width: 767px) {
	html body.em26.single-product ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --- Cart & checkout tables --- */

html body.em26 .woocommerce table.shop_table {
	border: 0;
	border-top: 1px solid var(--em-beige);
	border-radius: 0;
	border-collapse: collapse;
	font-size: 14px;
}

html body.em26 .woocommerce table.shop_table th {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

html body.em26 .woocommerce table.shop_table th,
html body.em26 .woocommerce table.shop_table td {
	padding: 20px 12px;
	border-top: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 70%, transparent);
	background: transparent;
}

html body.em26 .woocommerce table.shop_table td.product-name a {
	font-family: "DM Serif Display", ui-serif, Georgia, serif;
	font-size: 18px;
	color: var(--em-foreground);
}

html body.em26 .woocommerce table.cart img {
	width: 80px;
}

html body.em26 .woocommerce a.remove {
	color: var(--em-muted) !important;
	font-weight: 300;
}

html body.em26 .woocommerce a.remove:hover {
	background: var(--em-beige);
	color: var(--em-foreground) !important;
}

html body.em26 .woocommerce .cart-collaterals .cart_totals h2,
html body.em26 .woocommerce-checkout h3,
html body.em26 #order_review_heading {
	margin: 0 0 24px;
	font-size: 30px;
	letter-spacing: -0.025em;
}

html body.em26 .woocommerce-checkout #payment {
	border-radius: 0;
	background: color-mix(in srgb, var(--em-beige) 35%, transparent);
}

html body.em26 .woocommerce-checkout #payment div.payment_box {
	border-radius: 0;
	background: #fff;
}

html body.em26 .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #fff;
}

/* --- My account --- */

html body.em26 .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid color-mix(in srgb, var(--em-beige) 70%, transparent);
}

html body.em26 .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 70%, transparent);
}

html body.em26 .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 0;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

html body.em26 .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--em-foreground);
}


/* Legacy Additional CSS overrides that need !important (it uses !important or would otherwise win). */
html body.em26 .wc-proceed-to-checkout a.checkout-button,
html body.em26 #place_order {
	background-color: var(--em-peach) !important;
	color: var(--em-foreground) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

html body.em26 .wc-proceed-to-checkout a.checkout-button:hover,
html body.em26 #place_order:hover {
	background-color: var(--em-cream) !important;
}

html body.em26 .woocommerce table.shop_table th,
html body.em26 .woocommerce table.shop_table td {
	border-bottom: 1px solid color-mix(in srgb, var(--em-beige) 70%, transparent) !important;
}

html body.em26 .woocommerce table.shop_table {
	border-top: 1px solid var(--em-beige) !important;
}

html body.em26 button:hover,
html body.em26 [type="submit"]:hover,
html body.em26 .em-products ul.products li.product:hover {
	opacity: 1;
}

html body.em26 .em-products ul.products li.product .price,
html body.em26 .em-products ul.products li.product .price span {
	margin-bottom: 0;
	font-size: 14px;
	letter-spacing: 0;
	color: color-mix(in srgb, var(--em-foreground) 60%, transparent);
}

html body.em26 .em-products ul.products li.product .price {
	margin-bottom: 16px;
}

html body.em26 .em-products ul.products li.product span.em-shop-link {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--em-plum);
}

html body.em26.woocommerce .quantity .qty {
	height: 48px;
}

/* Cart icon toggle: plain bag icon (the legacy kit button style would otherwise paint it peach). */
html body.em26 .em-cart .elementor-menu-cart__toggle .elementor-button {
	gap: 0;
	padding: 8px;
	border: 0;
	background: transparent;
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__toggle .elementor-button-text {
	display: none;
}

html body.em26 .em-cart .elementor-menu-cart__toggle .elementor-button-icon {
	font-size: 20px;
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter] {
	font-size: 10px;
	color: var(--em-foreground);
	background: var(--em-peach);
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	border: 1px solid color-mix(in srgb, var(--em-foreground) 30%, transparent);
	background: transparent;
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
	border-color: var(--em-foreground);
	background: var(--em-foreground);
	color: var(--em-background);
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: var(--em-peach);
	color: var(--em-foreground);
}

html body.em26 .em-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
	background: var(--em-cream);
}

/* Page titles on cart/checkout/account: align with the content (Hello gives .entry-title its own width). */
html body.em26 .page-header .entry-title {
	max-width: none;
	margin: 0;
	padding: 0;
}

html body.em26 .woocommerce form.login,
html body.em26 .woocommerce form.register,
html body.em26 .woocommerce form.checkout_coupon,
html body.em26 .woocommerce form.lost_reset_password {
	border: 1px solid var(--em-beige);
	border-radius: 0;
	padding: 32px;
}
