/*
Theme Name: EstHome Theme
Theme URI: https://esthome.pl
Author: Nexuromedia
Author URI: https://nexuromedia.pl
Description: Autorski motyw e-commerce EstHome - Warm Japandi / Warm Minimal. WooCommerce + Tailwind CSS.
Version: 2.9.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: esthome
Tags: e-commerce, woocommerce, custom-menu, custom-logo, responsive-layout
*/

/*
 * Warm Japandi / Warm Minimal:
 * Sand #F7F4EE | Bone #FAF8F5 | Ink #2A2421 | Espresso #2E2520
 * Typography: Cormorant Garamond + Outfit
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
}

.custom-logo-link,
.esthome-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.custom-logo,
.esthome-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: min(100%, 11.5rem);
	object-fit: contain;
}

.esthome-logo--header,
.esthome-logo--search {
	max-height: 2.15rem;
}

@media (min-width: 640px) {
	.esthome-logo--header,
	.esthome-logo--search {
		max-height: 2.45rem;
		max-width: 12.75rem;
	}
}

.esthome-logo--drawer {
	max-height: 2rem;
	max-width: 10.5rem;
}

.esthome-logo--footer {
	max-height: 4.85rem;
	max-width: 8.75rem;
}

.esthome-footer-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.esthome-footer-brand .esthome-logo-link--footer {
	margin: 0 auto;
}

.esthome-footer-brand-lead,
.esthome-footer-brand-note {
	margin-left: auto;
	margin-right: auto;
	font-weight: 300;
	line-height: 1.6;
}

.esthome-footer-brand-lead {
	margin-top: 0.85rem;
	max-width: 16rem;
	font-size: 0.875rem;
	color: #a89f93;
}

.esthome-footer-brand-note {
	margin-top: 1.15rem;
	max-width: 14rem;
	font-size: 0.75rem;
	color: #8c827a;
}

.esthome-footer-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
}

.esthome-footer-by {
	font-size: 0.65rem;
	line-height: 1.3;
	color: #6b645c;
}

.esthome-footer-credit {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.esthome-footer-credit:hover,
.esthome-footer-credit:focus-visible {
	color: #3498db;
}

@media (min-width: 640px) {
	.esthome-footer-copy {
		align-items: flex-end;
		text-align: right;
	}
}

.esthome-logo--pdp {
	max-height: 1.35rem;
	max-width: 1.35rem;
}

.h-4\.5 {
	height: 1.125rem;
}

.w-4\.5 {
	width: 1.125rem;
}

/* -------------------------------------------------------------------------
 * PLP - WooCommerce Product Filters block (accordion sidebar)
 * ------------------------------------------------------------------------- */
.esthome-shop-sidebar .wc-block-product-filters,
.esthome-shop-sidebar .widget_block .wc-block-product-filters {
	display: flex;
	width: 100%;
}

.esthome-shop-sidebar .wc-block-product-filters__open-overlay {
	display: none !important;
}

/* Tytuł bloku WC „Filtry” - ukryty (zostaje przycisk Filtruj) */
.esthome-shop-sidebar .wc-block-product-filters > h2,
.esthome-shop-sidebar .wc-block-product-filters > .wp-block-heading,
.esthome-shop-sidebar .wc-block-product-filters > .wc-block-product-filters__title,
.esthome-shop-sidebar .widget_block > .wc-block-product-filters > h2,
.esthome-shop-sidebar .widget_block > .wc-block-product-filters > .wp-block-heading,
.esthome-shop-sidebar .widget_block > .wp-block-heading:first-child,
.esthome-shop-sidebar .widget > .widget-title,
.esthome-shop-sidebar .wc-block-product-filters__content > h1:first-child,
.esthome-shop-sidebar .wc-block-product-filters__content > h2:first-child,
.esthome-shop-sidebar .wc-block-product-filters__overlay-content > h1:first-child,
.esthome-shop-sidebar .wc-block-product-filters__overlay-content > h2:first-child {
	display: none !important;
}

.esthome-shop-sidebar .wc-block-product-filters__content,
.esthome-shop-sidebar .wc-block-product-filters__overlay-content {
	gap: 0;
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Jedna kreska pod każdym filtrem (także ostatnim) - bez kreski nad pierwszym */
.esthome-shop-sidebar .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"],
.esthome-shop-sidebar .widget_block .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"],
.esthome-shop-sidebar .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"],
.esthome-shop-sidebar .wc-block-product-filters__item,
.esthome-shop-sidebar .filter-accordion-item {
	border-top: none !important;
	border-bottom: 1px solid #E8E5DF !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.esthome-shop-sidebar .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"]:first-child,
.esthome-shop-sidebar .widget_block .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"]:first-child,
.esthome-shop-sidebar .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"]:first-child,
.esthome-shop-sidebar .wc-block-product-filters__item:first-child,
.esthome-shop-sidebar .filter-accordion-item:first-child {
	border-top: none !important;
}

/* Tytuł blisko kreski; zwinięty content = display:none (bez pustej dziury) */
.esthome-shop-sidebar .wc-block-product-filters h3,
.esthome-shop-sidebar .wc-block-product-filters h4,
.esthome-shop-sidebar .wc-block-product-filters .wc-block-product-filters__title,
.esthome-shop-sidebar .widget_block .wc-block-product-filters h3,
.esthome-shop-sidebar .widget_block .wc-block-product-filters h4,
.esthome-shop-sidebar .widget_block .wc-block-product-filters .wc-block-product-filters__title,
.esthome-shop-sidebar .filter-accordion-header,
.esthome-shop-sidebar .esthome-wc-filter-accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
	padding: 10px 0;
	margin: 0;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2A2421;
	cursor: pointer;
	list-style: none;
	user-select: none;
	line-height: 1.25;
}

.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-"] > .wp-block-group,
.esthome-shop-sidebar .wc-block-product-filters__item > .wp-block-group {
	border: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.esthome-shop-sidebar .button,
.esthome-shop-sidebar button[type="submit"],
.esthome-shop-sidebar .wp-block-button__link,
.esthome-shop-sidebar .wc-block-components-button,
.esthome-shop-sidebar .wc-block-components-filter-submit-button,
.esthome-shop-sidebar .wc-block-product-filters__actions button {
	background: #222222 !important;
	color: #ffffff !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
}

.esthome-shop-sidebar .wc-block-product-filters__actions {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.esthome-shop-sidebar .button *,
.esthome-shop-sidebar button[type="submit"] *,
.esthome-shop-sidebar .wp-block-button__link *,
.esthome-shop-sidebar .wc-block-components-button *,
.esthome-shop-sidebar .wc-block-components-filter-submit-button * {
	color: #ffffff !important;
}

.esthome-shop-sidebar .wc-block-product-filters h3::after,
.esthome-shop-sidebar .wc-block-product-filters h4::after,
.esthome-shop-sidebar .wc-block-product-filters .wc-block-product-filters__title::after,
.esthome-shop-sidebar .widget_block .wc-block-product-filters h3::after,
.esthome-shop-sidebar .widget_block .wc-block-product-filters h4::after,
.esthome-shop-sidebar .widget_block .wc-block-product-filters .wc-block-product-filters__title::after {
	content: "+";
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
	color: #8C827A;
	flex-shrink: 0;
	margin-left: 0.75rem;
}

.esthome-shop-sidebar .esthome-wc-filter-accordion-header.is-open::after,
.esthome-shop-sidebar .wc-block-product-filters h3.is-open::after,
.esthome-shop-sidebar .wc-block-product-filters h4.is-open::after,
.esthome-shop-sidebar .wc-block-product-filters .wc-block-product-filters__title.is-open::after {
	content: "−";
}

.esthome-shop-sidebar .filter-accordion-content:not(.hidden):has(.price_slider_wrapper),
.esthome-shop-sidebar .filter-accordion-content:not(.hidden):has(.wc-block-product-filter-price-slider) {
	overflow: visible;
}

.esthome-shop-sidebar .esthome-wc-filter-accordion-content:not(.hidden):has(.wc-block-product-filter-price-slider) {
	overflow: visible;
}

.esthome-shop-sidebar .esthome-wc-filter-accordion-content {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
	transition: max-height 0.3s ease, opacity 0.25s ease, padding 0.25s ease;
}

.esthome-shop-sidebar .esthome-wc-filter-accordion-content:not(.hidden) {
	display: block;
	max-height: 48rem;
	opacity: 1;
	padding-top: 0.35rem;
	padding-bottom: 0.5rem;
}

.esthome-shop-sidebar .esthome-wc-filter-accordion-content.hidden {
	display: none !important;
	max-height: 0;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
	overflow: hidden;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__items,
.esthome-shop-sidebar .wc-block-product-filter-chips__items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__item,
.esthome-shop-sidebar .wc-block-product-filter-chips__item {
	margin: 0 0 0.5rem;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label,
.esthome-shop-sidebar .wc-block-product-filter-chips__label {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.15rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.45;
	color: #2A2421;
	cursor: pointer;
}

/* Kolor - ukryj natywny checkbox, zaznaczenie = ptaszek na swatchu */
.esthome-shop-sidebar .esthome-color-filter-option .wc-block-product-filter-checkbox-list__input-wrapper,
.esthome-shop-sidebar .esthome-color-filter-option .wc-block-product-filter-checkbox-list__mark,
.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) .wc-block-product-filter-checkbox-list__input-wrapper,
.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) .wc-block-product-filter-checkbox-list__mark {
	display: none !important;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) {
	width: 100%;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) .wc-block-product-filter-checkbox-list__text-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) .wc-block-product-filter-checkbox-list__text {
	flex: 1 1 auto;
	min-width: 0;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__color-swatch) .wc-block-product-filter-checkbox-list__count {
	margin-left: auto;
	flex-shrink: 0;
	color: #8c827a;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__color-swatch,
.esthome-shop-sidebar .wc-block-product-filter-chips__swatch {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0;
	flex-shrink: 0;
	border-radius: 2px;
	border: 1px solid #E8E5DF;
	overflow: hidden;
	vertical-align: middle;
	background-size: cover;
	background-position: center;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__color-swatch.is-empty,
.esthome-shop-sidebar .wc-block-product-filter-chips__swatch.is-empty {
	background: #fff;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__color-swatch::after,
.esthome-shop-sidebar .wc-block-product-filter-chips__swatch::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
	opacity: 0;
	pointer-events: none;
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__color-swatch.is-empty::after,
.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__color-swatch.is-light-swatch::after,
.esthome-shop-sidebar .wc-block-product-filter-chips__swatch.is-empty::after,
.esthome-shop-sidebar .wc-block-product-filter-chips__swatch.is-light-swatch::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A524C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}

.esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label:has(input:checked) .wc-block-product-filter-checkbox-list__color-swatch::after,
.esthome-shop-sidebar .wc-block-product-filter-chips__item:has(input:checked) .wc-block-product-filter-chips__swatch::after,
.esthome-shop-sidebar .wc-block-product-filter-chips__item[aria-checked="true"] .wc-block-product-filter-chips__swatch::after {
	opacity: 1;
}

.esthome-shop-sidebar .wc-block-product-filter-price-slider__content,
.esthome-shop-sidebar .wc-block-product-filter-price-slider,
.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-price"] {
	overflow: visible;
}

.esthome-shop-sidebar .wc-block-product-filter-price-slider__content {
	padding-left: 10px;
	padding-right: 10px;
}

.esthome-shop-sidebar .wc-block-product-filter-price-slider__range {
	accent-color: #2A2421;
	position: relative;
	z-index: 1;
}

.esthome-shop-sidebar .wc-block-product-filter-price-slider__range::-webkit-slider-thumb {
	z-index: 2;
}

.esthome-shop-sidebar .wc-block-product-filter-price-slider__range::-moz-range-thumb {
	z-index: 2;
}

/* PLP - sortowanie katalogu */
.esthome-catalog-ordering .woocommerce-ordering select,
.esthome-catalog-ordering .woocommerce-ordering select.orderby {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #D1D5DB;
	border-radius: 9999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke=%27%238C827A%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M19 9l-7 7-7-7%27/%3E%3C/svg%3E") right 0.75rem center / 0.9rem no-repeat;
	padding: 0.5rem 2.25rem 0.5rem 1rem;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: #2A2421;
	line-height: 1.4;
	cursor: pointer;
	box-shadow: none;
	outline: none;
}

.esthome-catalog-ordering .woocommerce-ordering select:hover,
.esthome-catalog-ordering .woocommerce-ordering select.orderby:hover {
	background-color: #F9FAFB;
}

.esthome-catalog-ordering .woocommerce-ordering select:focus,
.esthome-catalog-ordering .woocommerce-ordering select.orderby:focus {
	border-color: #2A2421;
}

/* PDP + PLP - linked color swatches (simple products) */
.swatch-item {
	display: inline-block;
	text-decoration: none;
	cursor: pointer;
	position: relative;
	z-index: 2;
}

.swatch-item:focus-visible {
	outline: 2px solid #2A2421;
	outline-offset: 2px;
}

.swatch-item.is-current {
	cursor: default;
}

.esthome-color-swatch-link {
	display: inline-block;
	text-decoration: none;
}

.esthome-color-swatch-link:focus-visible {
	outline: 2px solid #2A2421;
	outline-offset: 2px;
}

.esthome-card-color-swatch {
	cursor: pointer;
	position: relative;
	z-index: 2;
}

/* Zwykły myślnik w nagłówkach serif (Cormorant rysuje krzywą kreskę). */
.esthome-plain-hyphen {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-weight: inherit;
	font-style: normal;
	font-synthesis: none;
}

/* PLP - hide empty filter options (zero products in context) */
.esthome-shop-sidebar .esthome-filter-option--disabled,
.esthome-shop-sidebar .woocommerce-widget-layered-nav-list li.esthome-filter-option--disabled {
	display: none !important;
}

/* Cały blok filtra bez dostępnych opcji (np. Kolor) - desktop i mobile */
.esthome-shop-sidebar .esthome-filter-section--empty,
.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-attribute"][hidden],
.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-taxonomy"][hidden],
.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-status"][hidden],
.esthome-shop-sidebar [class*="wp-block-woocommerce-product-filter-rating"][hidden] {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * Global - szerszy kontener desktop (Selsey-like)
 * ------------------------------------------------------------------------- */
@media (min-width: 1200px) {
	.max-w-7xl,
	.container,
	.wrapper,
	.site-content,
	.header-container,
	.woocommerce-container,
	.esthome-site-container {
		max-width: min(1480px, 92vw) !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

/* -------------------------------------------------------------------------
 * Shop landing - kategorie (modern-premium)
 * ------------------------------------------------------------------------- */
.esthome-cat-page {
	width: 100%;
	max-width: 1440px;
}

.esthome-cat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	padding: 1.5rem 0 0.5rem;
}

.esthome-cat-tile {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid #f2f2f2;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	transform: translateY(0);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.esthome-cat-tile:hover,
.esthome-cat-tile:focus-visible {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
	border-color: #ececec;
	outline: none;
}

.esthome-cat-tile-media {
	display: block;
	aspect-ratio: 1 / 1;
	width: 100%;
	overflow: hidden;
	border-radius: 16px 16px 0 0;
	background: #f8f8f8;
}

.esthome-cat-tile-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.3s ease;
}

.esthome-cat-tile:hover .esthome-cat-tile-media img,
.esthome-cat-tile:focus-visible .esthome-cat-tile-media img {
	transform: scale(1.04);
}

.esthome-cat-tile-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.75rem 0.85rem 0.85rem;
	min-height: 2.75rem;
	background: #ffffff;
}

.esthome-cat-tile-label {
	display: block;
	min-width: 0;
	flex: 1 1 auto;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #2a2421;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esthome-cat-tile-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	background: #f7f7f7;
	border: 1px solid #ececec;
	color: #2a2421;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.esthome-cat-tile-arrow svg {
	display: block;
	width: 0.7rem;
	height: 0.7rem;
}

.esthome-cat-tile:hover .esthome-cat-tile-arrow,
.esthome-cat-tile:focus-visible .esthome-cat-tile-arrow {
	background: #2a2421;
	border-color: #2a2421;
	color: #fff;
}

@media (min-width: 768px) {
	.esthome-cat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	.esthome-cat-tile-label {
		font-size: 1rem;
	}
}

@media (min-width: 1024px) {
	.esthome-cat-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
	}
}

/* -------------------------------------------------------------------------
 * Shared full-screen drawer (mobile nav + PLP filters)
 * ------------------------------------------------------------------------- */
.esthome-drawer {
	position: fixed;
	inset: 0;
	z-index: 90;
	visibility: hidden;
	pointer-events: none;
}

.esthome-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.esthome-drawer[hidden] {
	display: none !important;
}

.esthome-drawer-backdrop {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(42, 36, 33, 0.18);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.esthome-drawer.is-open .esthome-drawer-backdrop {
	opacity: 1;
}

.esthome-drawer-panel {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100%;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: none;
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.esthome-drawer.is-open .esthome-drawer-panel {
	transform: translateX(0);
}

.esthome-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.15rem 0.75rem;
	flex-shrink: 0;
}

.esthome-drawer-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: #2a2421;
	min-width: 0;
}

.esthome-drawer-brand a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

.esthome-drawer-brand .esthome-logo-link,
.esthome-drawer-brand .custom-logo-link,
.esthome-drawer-brand .custom-logo,
.esthome-drawer-brand .esthome-logo {
	display: block;
	max-height: 2rem;
	width: auto;
	height: auto;
}

.esthome-drawer-brand-text {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	color: #2a2421;
	text-decoration: none;
}

.esthome-drawer-close {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0 !important;
	margin: 0;
	border: 0 !important;
	border-radius: 9999px !important;
	background: rgba(42, 36, 33, 0.06) !important;
	color: #2a2421 !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
	flex-shrink: 0;
}

.esthome-drawer-close:hover {
	background: rgba(42, 36, 33, 0.1) !important;
	transform: scale(1.04);
}

.esthome-drawer-section-title {
	margin: 0 1.15rem 0.85rem;
	font-family: Cormorant Garamond, Georgia, serif;
	font-size: 1.65rem;
	font-weight: 500;
	color: #2a2421;
	line-height: 1.15;
}

.esthome-filters-subtitle {
	display: block;
	margin: 4px 1.15rem 12px;
	padding: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 13px;
	font-weight: 400;
	color: #666666;
	line-height: 1.4;
	border: none;
	box-shadow: none;
}

.esthome-filters-clear-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 12px;
	padding: 14px 0;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	background: transparent;
	color: #222222 !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	box-shadow: none;
	outline: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.esthome-filters-clear-btn:hover {
	background: #f7f4ee;
	border-color: #d5d0c8;
	color: #222222 !important;
}

.esthome-drawer-label {
	margin: 0 0 8px;
	padding-left: 4px;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #888888;
	line-height: 1.2;
}

.esthome-drawer-label--flush {
	margin-bottom: 4px;
	padding-left: 0;
}

.esthome-drawer-body {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0.25rem 1.15rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.esthome-drawer-tile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 14px 18px;
	border: 0;
	border-radius: 12px;
	background: #fdfdfd;
	box-shadow: 0 1px 0 rgba(42, 36, 33, 0.04);
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.esthome-drawer-tile:hover {
	background: #f7f4ee;
}

.esthome-drawer-tile--primary {
	background: #f3f1ed;
	font-weight: 600;
	box-shadow: none;
	margin-top: 4px;
}

button.esthome-drawer-tile {
	appearance: none;
	border: 0;
	width: 100%;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.esthome-drawer-tile--primary:hover {
	background: #ebe7e0;
}

.esthome-drawer-tile--catalog {
	margin-top: 8px;
}

.esthome-drawer-tile-main {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
}

.esthome-drawer-tile-icon {
	width: 1.2rem;
	height: 1.2rem;
	flex-shrink: 0;
	color: #5a524c;
}

.esthome-drawer-tile--accent {
	background: #fdf6f0 !important;
	color: #a94442 !important;
	font-weight: 600 !important;
}

.esthome-drawer-tile--special {
	font-weight: 600;
}

.esthome-mobile-nav-divider {
	flex: 0 0 auto;
	width: 100%;
	height: 0;
	margin: 8px 4px 12px;
	border: 0;
	border-top: 1px solid #E8E2D9;
	background: transparent;
}

.esthome-drawer-tile--accent:hover {
	background: #faeee6 !important;
}

.esthome-drawer-tile--sub {
	padding: 12px 16px;
	font-size: 0.875rem;
	font-weight: 400;
	background: #faf8f5;
	color: #5a524c;
	box-shadow: none;
}

.esthome-drawer-tile--muted {
	font-size: 0.875rem;
	font-weight: 400;
	color: #5a524c;
	background: #fafafa;
	box-shadow: none;
}

.esthome-drawer-tile-arrow {
	flex-shrink: 0;
	color: #8c827a;
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.esthome-drawer-tile--accent .esthome-drawer-tile-arrow {
	color: #a94442;
	opacity: 0.7;
}

.esthome-mobile-nav-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.esthome-mobile-nav-item.is-open > .esthome-drawer-tile .esthome-drawer-tile-arrow {
	transform: rotate(90deg);
}

.esthome-mobile-nav-submenu {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0 0 0 0.35rem;
}

.esthome-mobile-nav-submenu[hidden] {
	display: none !important;
}

.esthome-drawer-more {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
	padding-top: 18px;
	border-top: 1px solid #eee;
}

.esthome-drawer-account {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid #eee;
}

.esthome-drawer-auth-card {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1rem 1.1rem 1.1rem;
	border-radius: 12px;
	background: #faf8f5;
	border: 1px solid #f0ebe4;
}

.esthome-drawer-auth-title {
	margin: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2a2421;
	line-height: 1.3;
}

.esthome-drawer-auth-text {
	margin: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	color: #5a524c;
	line-height: 1.45;
}

.esthome-drawer-auth-cta {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.7rem 1rem;
	border: 0;
	border-radius: 9999px;
	background: #2e2520;
	color: #ffffff !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.esthome-drawer-auth-cta:hover {
	background: #4a423d;
	color: #ffffff !important;
}

.esthome-drawer-auth-cta--ghost {
	background: #fff;
	color: #2a2421 !important;
	border: 1px solid #2a2421;
}

.esthome-drawer-auth-cta--ghost:hover {
	background: #f7f4ee;
	color: #2a2421 !important;
}

@media (min-width: 768px) {
	.esthome-mobile-nav {
		display: none !important;
	}
}

/* -------------------------------------------------------------------------
 * PLP - mobilny drawer filtrów (full-screen, shared drawer language)
 * ------------------------------------------------------------------------- */
@media (max-width: 1023px) {
	html.esthome-filters-open,
	html.esthome-filters-open body,
	body.esthome-nav-open {
		overflow: hidden;
	}

	.esthome-shop-sidebar-panel {
		position: fixed;
		inset: 0;
		z-index: 80;
		display: none;
		visibility: hidden;
		pointer-events: none;
	}

	.esthome-shop-sidebar-panel.is-open {
		display: block !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.esthome-shop-sidebar-panel .esthome-drawer-backdrop,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar-backdrop {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: rgba(42, 36, 33, 0.18);
		opacity: 0;
		transition: opacity 0.35s ease;
	}

	.esthome-shop-sidebar-panel.is-open .esthome-drawer-backdrop,
	.esthome-shop-sidebar-panel.is-open .esthome-shop-sidebar-backdrop {
		opacity: 1;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		max-width: 100%;
		padding: 0 !important;
		background: rgba(255, 255, 255, 0.95) !important;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		color: #2a2421;
		overflow: hidden;
		box-shadow: none;
		transform: translateX(-100%);
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		visibility: visible !important;
		opacity: 1 !important;
	}

	.esthome-shop-sidebar-panel.is-open .esthome-shop-sidebar {
		transform: translateX(0);
	}

	.esthome-filters-body {
		flex: 1 1 auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 0.25rem 1.15rem 2rem;
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	/* Ukryj zdublowany tytuł bloku WC „Filtry” (zostaje nasz H1 + podtytuł) */
	.esthome-shop-sidebar-panel .wc-block-product-filters > h2,
	.esthome-shop-sidebar-panel .wc-block-product-filters > .wp-block-heading,
	.esthome-shop-sidebar-panel .widget_block > .wc-block-product-filters > h2,
	.esthome-shop-sidebar-panel .wc-block-product-filters > .wc-block-product-filters__title,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-header,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > h1:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > h2:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > .wp-block-heading:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content > h1:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content > h2:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content > .wp-block-heading:first-child {
		display: none !important;
	}

	.esthome-shop-sidebar-panel .esthome-drawer-section-title {
		margin-bottom: 0;
	}

	.esthome-shop-sidebar-panel .esthome-filters-clear-btn {
		order: 99;
	}

	/* Ukryj WC „Wyczyść” przy chipach - zostaje jeden przycisk na dole */
	.esthome-shop-sidebar-panel .wp-block-woocommerce-product-filter-clear-button,
	.esthome-shop-sidebar-panel .wc-block-product-filter-clear-button {
		display: none !important;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar a,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar label,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar h3,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar h4,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .wc-block-product-filters__title,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .wc-block-product-filter-checkbox-list__label,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .wc-block-product-filter-chips__label,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-header,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-header span {
		color: #2a2421 !important;
		visibility: visible !important;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar a {
		color: #5a524c !important;
	}

	/* Lista filtrów - kreski tylko na blokach filtrów */
	.esthome-shop-sidebar-panel .esthome-filter-widget,
	.esthome-shop-sidebar-panel .filter-accordion-item,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"],
	.esthome-shop-sidebar-panel .widget_block .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"],
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"],
	.esthome-shop-sidebar-panel .wc-block-product-filters__item {
		border: 0 !important;
		border-top: none !important;
		border-bottom: 1px solid #E8E5DF !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	/* Kontenery WC - zero ramek (to dawało kreskę nad „Cena”) */
	.esthome-shop-sidebar-panel .widget,
	.esthome-shop-sidebar-panel .widget_block,
	.esthome-shop-sidebar-panel .wc-block-product-filters,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-wrapper,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-dialog {
		border: none !important;
		border-top: none !important;
		border-bottom: none !important;
		box-shadow: none !important;
		outline: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__content::before,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content::before,
	.esthome-shop-sidebar-panel .wc-block-product-filters::before {
		content: none !important;
		display: none !important;
		border: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > :not([class*="wp-block-woocommerce-product-filter-"]),
	.esthome-shop-sidebar-panel .wc-block-product-filters__content > :not([class*="wp-block-woocommerce-product-filter-"]) {
		border: none !important;
		border-bottom: none !important;
		box-shadow: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__content > [class*="wp-block-woocommerce-product-filter-"]:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"]:first-child,
	.esthome-shop-sidebar-panel .wc-block-product-filters__item:first-child,
	.esthome-shop-sidebar-panel .filter-accordion-item:first-child,
	.esthome-shop-sidebar-panel [class*="wp-block-woocommerce-product-filter-"]:first-of-type {
		border-top: none !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		box-shadow: none !important;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar h3,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar h4,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .wc-block-product-filters__title,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-header,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .esthome-wc-filter-accordion-header {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		width: 100%;
		padding: 18px 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-bottom: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		letter-spacing: 0;
		line-height: 1.35 !important;
		cursor: pointer;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-content,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .esthome-wc-filter-accordion-content {
		padding: 0.35rem 0 0.5rem !important;
		margin: 0 !important;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar .esthome-wc-filter-accordion-content.hidden,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-content.hidden {
		display: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filter-checkbox-list__item,
	.esthome-shop-sidebar-panel .wc-block-product-filter-chips__item,
	.esthome-shop-sidebar-panel .woocommerce-widget-layered-nav-list__item,
	.esthome-shop-sidebar-panel .filter-accordion-content li {
		margin: 0 0 0.5rem !important;
		padding: 0 !important;
		border: 0 !important;
		list-style: none;
		background: transparent !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filter-checkbox-list__label,
	.esthome-shop-sidebar-panel .wc-block-product-filter-chips__label,
	.esthome-shop-sidebar-panel .woocommerce-widget-layered-nav-list__item a,
	.esthome-shop-sidebar-panel .filter-accordion-content label {
		display: flex !important;
		align-items: center;
		gap: 0.5rem;
		width: auto;
		padding: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		font-size: 0.9375rem !important;
		font-weight: 500 !important;
		font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
		color: #2a2421 !important;
		text-decoration: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filter-price-slider__content,
	.esthome-shop-sidebar-panel .price_slider_wrapper {
		padding: 0 10px !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	/* WC Product Filters: pokaż treść w drawerze (bez pustego overlay) */
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters,
	.esthome-shop-sidebar-panel.is-open .widget_block .wc-block-product-filters {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		gap: 0 !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__open-overlay {
		display: none !important;
	}

	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay-wrapper,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay-dialog,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay-content,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__content {
		display: flex !important;
		flex-direction: column !important;
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		overflow: visible !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		z-index: auto !important;
	}

	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay::before,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay-wrapper::before {
		display: none !important;
	}

	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__close-overlay,
	.esthome-shop-sidebar-panel.is-open .wc-block-product-filters__overlay-header {
		display: none !important;
	}

	.esthome-shop-sidebar-panel.is-open [class*="wp-block-woocommerce-product-filter-"]:not([hidden]):not(.esthome-filter-section--empty) {
		display: block !important;
		visibility: visible !important;
	}

	.esthome-shop-sidebar-panel.is-open [class*="wp-block-woocommerce-product-filter-"][hidden],
	.esthome-shop-sidebar-panel.is-open [class*="wp-block-woocommerce-product-filter-"].esthome-filter-section--empty {
		display: none !important;
		visibility: hidden !important;
	}

	/* -------------------------------------------------------------------------
	 * Zastosuj - dokładna klasa WC: .wc-block-product-filters__overlay-footer
	 * (biała ramka z cieniem siedziała na footerze, nie na samym buttonie)
	 * ------------------------------------------------------------------------- */
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-footer {
		background: transparent !important;
		background-color: transparent !important;
		box-shadow: none !important;
		border: none !important;
		border-radius: 0 !important;
		outline: none !important;
		padding: 0 !important;
		margin: 12px 0 0 !important;
		width: 100% !important;
		display: block !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__apply,
	.esthome-shop-sidebar-panel .wc-block-product-filters__apply.wp-element-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 14px 0 !important;
		border: none !important;
		outline: none !important;
		box-shadow: none !important;
		border-radius: 10px !important;
		background: #222222 !important;
		background-color: #222222 !important;
		color: #ffffff !important;
		font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
		font-size: 0.9rem !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		min-height: 0 !important;
		height: auto !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__apply span {
		color: #ffffff !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__apply:hover {
		background: #333333 !important;
		background-color: #333333 !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	/* Ghost - Wyczyść filtry (ta sama kolumna / radius) */
	.esthome-shop-sidebar-panel .esthome-filters-clear-btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 12px !important;
		margin-bottom: 0 !important;
		padding: 14px 0 !important;
		border: 1px solid #e0e0e0 !important;
		outline: none !important;
		box-shadow: none !important;
		border-radius: 10px !important;
		background: transparent !important;
		background-color: transparent !important;
		color: #222222 !important;
		font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
		font-size: 0.9rem !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		min-height: 0 !important;
		height: auto !important;
	}

	.esthome-shop-sidebar-panel .esthome-filters-clear-btn:hover {
		background: #f7f4ee !important;
		border-color: #d5d0c8 !important;
		color: #222222 !important;
	}
}

@media (min-width: 1024px) {
	html.esthome-filters-open,
	html.esthome-filters-open body {
		overflow: auto !important;
	}

	.esthome-shop-sidebar-panel.esthome-drawer {
		position: static !important;
		inset: auto !important;
		z-index: auto !important;
		visibility: visible !important;
		pointer-events: auto !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		overflow: visible !important;
		transform: none !important;
	}

	.esthome-shop-sidebar-panel.is-open {
		position: static !important;
		inset: auto !important;
		display: block !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.esthome-shop-sidebar-panel .esthome-drawer-backdrop,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar-backdrop {
		display: none !important;
	}

	.esthome-shop-sidebar-panel .esthome-drawer-panel,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		transform: none !important;
		background: transparent !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		overflow: visible !important;
		padding: 0 1.25rem 0 0 !important;
		display: block !important;
		box-shadow: none !important;
	}

	.esthome-shop-sidebar-panel .esthome-filters-body {
		display: block !important;
		padding: 0 !important;
		overflow: visible !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Desktop: kreski blisko tytułów jak na mobile */
	.esthome-shop-sidebar-panel .esthome-shop-sidebar h3,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar h4,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .wc-block-product-filters__title,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-header,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .esthome-wc-filter-accordion-header {
		padding: 18px 0 !important;
		margin: 0 !important;
		line-height: 1.35 !important;
	}

	.esthome-plp-toolbar {
		padding-top: 0.25rem;
		margin-bottom: 1.25rem;
		border-bottom: none;
		padding-bottom: 0;
	}

	.esthome-plp-view-toggle,
	.esthome-sort-dropdown {
		display: none !important;
	}

	.esthome-plp-toolbar > .flex {
		gap: 1.25rem;
	}

	#esthome-filters-toggle,
	.esthome-filters-toggle {
		display: inline-flex !important;
		align-items: center;
		gap: 0;
		padding: 10px 18px 10px 14px !important;
		border-radius: 9999px !important;
		border: 1px solid #d5d0c8 !important;
		background: #fff !important;
		font-size: 0.875rem !important;
		font-weight: 500 !important;
		color: #2A2421 !important;
	}

	.esthome-filters-toggle svg {
		width: 1rem;
		height: 1rem;
		margin-right: 12px;
		padding-right: 12px;
		border-right: 1px solid #d5d0c8;
		box-sizing: content-box;
	}

	.esthome-plp-layout.is-filters-collapsed .esthome-shop-sidebar-panel {
		display: none !important;
	}

	.esthome-plp-layout.is-filters-collapsed .esthome-plp-main {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.esthome-plp-layout.is-filters-collapsed .esthome-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.esthome-shop-sidebar-panel .esthome-shop-sidebar .esthome-wc-filter-accordion-content.hidden,
	.esthome-shop-sidebar-panel .esthome-shop-sidebar .filter-accordion-content.hidden {
		display: none !important;
	}

	/* Reset WC overlay leftovers po mobile drawer */
	.esthome-shop-sidebar-panel .wc-block-product-filters,
	.esthome-shop-sidebar-panel .widget_block .wc-block-product-filters {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		overflow: visible !important;
		position: static !important;
		transform: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-footer,
	.esthome-shop-sidebar-panel .esthome-filters-clear-btn {
		display: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-wrapper,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-dialog,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-content,
	.esthome-shop-sidebar-panel .wc-block-product-filters__content {
		display: flex !important;
		flex-direction: column !important;
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		transform: none !important;
		pointer-events: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__open-overlay,
	.esthome-shop-sidebar-panel .wc-block-product-filters__close-overlay,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-header,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay::before,
	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-wrapper::before {
		display: none !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__overlay-footer {
		margin-top: 1rem !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		width: 100% !important;
	}

	.esthome-shop-sidebar-panel .wc-block-product-filters__apply,
	.esthome-shop-sidebar-panel .wc-block-product-filters__apply.wp-element-button {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* -------------------------------------------------------------------------
 * PLP - pasek: desktop (Filtruj + liczba + select) / mobile (Selsey)
 * ------------------------------------------------------------------------- */
.esthome-plp-main {
	transition: opacity 0.2s ease;
	min-height: 12rem;
}

.esthome-plp-main.is-updating {
	opacity: 0.45;
	pointer-events: none;
}

.esthome-plp-toolbar {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	grid-template-areas: "filter count . sort";
	align-items: center;
	column-gap: 15px;
	row-gap: 0;
	word-spacing: normal;
	overflow: visible;
	position: relative;
	z-index: 20;
}

.esthome-plp-toolbar .esthome-result-count {
	grid-area: count;
	margin-right: 0;
}

.esthome-plp-toolbar .esthome-filters-toggle,
.esthome-plp-toolbar #esthome-filters-toggle {
	grid-area: filter;
}

.esthome-plp-view-toggle {
	display: none;
	grid-area: views;
	align-items: center;
	gap: 8px;
}

.esthome-plp-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border-radius: 9999px;
	border: 1px solid #d5d0c8;
	background: #fff;
	color: #2a2421;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.esthome-plp-view-btn svg {
	width: 16px;
	height: 16px;
}

.esthome-plp-view-btn.is-active {
	border-color: #2a2421;
}

.esthome-plp-toolbar .esthome-catalog-ordering {
	grid-area: sort;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	min-width: 0;
	margin-left: 0;
	position: relative;
}

.esthome-plp-toolbar .esthome-catalog-ordering > span,
.esthome-plp-toolbar .esthome-catalog-ordering-label {
	white-space: nowrap;
	word-spacing: normal;
}

.esthome-plp-toolbar .woocommerce-ordering {
	margin-left: 0;
}

.esthome-sort-dropdown {
	display: none;
}

@media (max-width: 1023px) {
	.esthome-plp-toolbar {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"count views"
			"filter filter"
			"sort sort";
		row-gap: 12px;
		column-gap: 12px;
		padding-bottom: 0.75rem;
		margin-bottom: 1rem;
		border-bottom: none;
	}

	.esthome-plp-toolbar .esthome-result-count {
		align-self: center;
		font-size: 14px;
		font-weight: 500;
		color: #2a2421 !important;
	}

	.esthome-plp-view-toggle {
		display: flex;
	}

	.esthome-plp-toolbar .esthome-filters-toggle,
	.esthome-plp-toolbar #esthome-filters-toggle {
		width: auto;
		justify-self: start;
		font-size: 14px !important;
		font-weight: 600 !important;
		padding: 8px 18px !important;
		line-height: 1.2 !important;
		min-height: 0 !important;
		height: auto !important;
		border: 1px solid #2a2421 !important;
		border-radius: 9999px !important;
		background: #fff !important;
		gap: 8px !important;
	}

	.esthome-plp-toolbar #esthome-filters-toggle svg,
	.esthome-plp-toolbar .esthome-filters-toggle svg {
		width: 1rem;
		height: 1rem;
		margin: 0;
		padding: 0;
		border: none;
	}

	.esthome-plp-toolbar .esthome-catalog-ordering {
		width: 100%;
		margin-left: 0;
		gap: 0;
	}

	.esthome-plp-toolbar .esthome-catalog-ordering-label {
		display: none;
	}

	.esthome-plp-toolbar .woocommerce-ordering,
	.esthome-plp-toolbar .woocommerce-ordering select {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
		pointer-events: none !important;
	}

	.esthome-sort-dropdown {
		display: block;
		position: relative;
		width: 100%;
	}

	.esthome-sort-trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 10px 16px;
		border: 1px solid #c8c2b8;
		border-radius: 9999px;
		background: #fff;
		color: #2a2421;
		font-family: Outfit, system-ui, sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		text-align: left;
		cursor: pointer;
	}

	.esthome-sort-dropdown.is-open .esthome-sort-trigger {
		border-color: #2a2421;
	}

	.esthome-sort-trigger::after {
		content: "";
		flex-shrink: 0;
		width: 0.7rem;
		height: 0.7rem;
		margin-left: 0.75rem;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232A2421'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.esthome-sort-menu {
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% + 6px);
		z-index: 40;
		margin: 0;
		padding: 0;
		list-style: none;
		background: #fff;
		border: 1px solid #2a2421;
		border-radius: 0;
		box-shadow: none;
	}

	.esthome-sort-menu[hidden] {
		display: none;
	}

	.esthome-sort-option {
		display: block;
		width: 100%;
		padding: 12px 10px;
		border: 0;
		background: #fff;
		color: #2a2421;
		font-family: Outfit, system-ui, sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		text-align: center;
		cursor: pointer;
	}

	.esthome-sort-option.is-selected {
		background: #bde4f4;
	}

	/* Widok listy - 1 produkt / wiersz, zdjęcie lewo, treść prawo */
	.esthome-product-grid.is-list-view {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}

	.esthome-product-grid.is-list-view .esthome-product-card,
	.esthome-product-grid.is-list-view .woocommerce ul.products li.product.esthome-product-card {
		flex-direction: row !important;
		align-items: stretch;
		gap: 12px;
		padding: 18px 0 !important;
		background: transparent !important;
		border-radius: 0 !important;
		border-bottom: 1px solid #eee !important;
		box-shadow: none !important;
		transform: none !important;
	}

	.esthome-product-grid.is-list-view .esthome-product-card:hover {
		transform: none !important;
		box-shadow: none !important;
	}

	.esthome-product-grid.is-list-view .esthome-product-card-stretch::before {
		border-radius: 0;
	}

	.esthome-product-grid.is-list-view .esthome-product-card-media {
		flex: 0 0 132px !important;
		width: 132px !important;
		max-width: 132px !important;
		aspect-ratio: 1 / 1;
		border-radius: 12px !important;
		background: #f3f1ed;
	}

	.esthome-product-grid.is-list-view .esthome-product-card-media-link {
		border-radius: 12px;
	}

	.esthome-product-grid.is-list-view .esthome-product-card-body {
		flex: 1 1 auto;
		min-width: 0;
		padding: 2px 0 0 !important;
		justify-content: center;
	}

	.esthome-product-grid.is-list-view .esthome-product-card {
		height: auto !important;
	}

	.esthome-product-grid.is-list-view .esthome-product-card-title {
		display: block;
		-webkit-line-clamp: unset;
		line-clamp: unset;
		overflow: visible;
		min-height: 0;
	}

	.esthome-product-grid.is-list-view .esthome-card-price {
		margin-top: 2px !important;
	}

	.esthome-product-grid.is-list-view .esthome-product-card.has-hover-image:hover .esthome-product-card-img.is-hover {
		display: none !important;
	}
}

@media (max-width: 768px) {

	/* Odchudzona typografia kafelka produktu - mobile 2 kolumny */
	.esthome-product-card-body {
		padding: 10px 12px 0;
	}

	.esthome-product-card-title {
		font-size: 13px !important;
		line-height: 1.3 !important;
		margin-bottom: 4px !important;
		font-weight: 500 !important;
		min-height: 2.6em;
	}

	.esthome-product-card .esthome-card-price {
		margin-top: auto !important;
		padding-top: 6px;
	}

	.esthome-product-card .price,
	.esthome-product-card .price ins,
	.esthome-product-card .price ins .woocommerce-Price-amount,
	.esthome-product-card .price > .woocommerce-Price-amount {
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
	}

	.esthome-product-card .price del,
	.esthome-product-card .price del .woocommerce-Price-amount {
		font-size: 12px !important;
	}

	.esthome-product-card .omnibus-price-info,
	.esthome-product-card .wc-omnibus-price,
	.esthome-product-card .price-30-days {
		font-size: 10px !important;
		color: #888888 !important;
		margin-top: 2px !important;
		margin-bottom: 0 !important;
		line-height: 1.3 !important;
	}

	.esthome-product-card .text-\[10px\],
	.esthome-product-card .esthome-product-card-body > p:first-child {
		font-size: 9px !important;
		margin-bottom: 2px !important;
	}
}

/* -------------------------------------------------------------------------
 * Ceny - listing (jak SS2) + PDP (rudy + szara stara, bez underline)
 * ------------------------------------------------------------------------- */

/* Reset UA underline na <ins> */
ins {
	text-decoration: none;
	background: transparent;
}

.esthome-card-price .price,
.esthome-pdp-price .price,
.esthome-product-card .price,
.products .product .price {
	display: inline-flex !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 !important;
	font-family: Outfit, system-ui, sans-serif !important;
}

.esthome-card-price .price ins,
.esthome-card-price .price ins *,
.esthome-pdp-price .price ins,
.esthome-pdp-price .price ins *,
.esthome-product-card .price ins,
.esthome-product-card .price ins *,
.products .product .price ins,
.products .product .price ins * {
	text-decoration: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* ===== LISTING / KAFELEK (SS2) ===== */
.esthome-card-price .price ins,
.esthome-card-price .price ins .woocommerce-Price-amount,
.esthome-card-price .price ins .amount,
.esthome-card-price .price > .woocommerce-Price-amount,
.esthome-product-card .price ins,
.esthome-product-card .price ins .woocommerce-Price-amount,
.products .product .price ins,
.products .product .price ins .woocommerce-Price-amount {
	color: #111111 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.esthome-card-price .price del,
.esthome-card-price .price del .woocommerce-Price-amount,
.esthome-card-price .price del .amount,
.esthome-card-price .price del span,
.esthome-card-price .price del *,
.esthome-product-card .price del,
.esthome-product-card .price del .woocommerce-Price-amount,
.esthome-product-card .price del *,
.products .product .price del,
.products .product .price del .woocommerce-Price-amount,
.products .product .price del * {
	color: #9A9A9A !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
}

/* ===== PDP ===== */
.esthome-pdp-price .price {
	gap: 12px !important;
	margin: 4px 0 !important;
}

.esthome-pdp-price .price ins,
.esthome-pdp-price .price ins .woocommerce-Price-amount,
.esthome-pdp-price .price ins .amount,
.esthome-pdp-price .price ins span,
.esthome-pdp-price .price ins bdi,
.esthome-pdp-price .price ins * {
	color: #C8381A !important;
	font-size: 1.75rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

.esthome-pdp-price .price > .woocommerce-Price-amount,
.esthome-pdp-price .price > .woocommerce-Price-amount .amount,
.esthome-pdp-price .price > .woocommerce-Price-amount bdi,
.esthome-pdp-price .price > .amount,
.single-product .esthome-pdp-price .price > .woocommerce-Price-amount,
.single-product .esthome-pdp-price .price > .woocommerce-Price-amount bdi {
	color: #111111 !important;
	font-size: 1.75rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.esthome-pdp-price .price del,
.esthome-pdp-price .price del .woocommerce-Price-amount,
.esthome-pdp-price .price del .amount,
.esthome-pdp-price .price del span,
.esthome-pdp-price .price del bdi,
.esthome-pdp-price .price del * {
	color: #777777 !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
}

.omnibus-price-info,
.wc-omnibus-price,
.price-30-days {
	font-size: 0.82rem !important;
	color: #777777 !important;
	font-weight: 400 !important;
	display: block !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	text-decoration: none !important;
}

/* PLP - Omnibus odchudzony pod kartą produktu */
.esthome-product-card .omnibus-price-info,
.esthome-product-card .wc-omnibus-price,
.esthome-product-card .price-30-days {
	font-size: 11px !important;
	line-height: 1.35 !important;
	color: #888888 !important;
	font-weight: 400 !important;
	margin-top: 4px !important;
	margin-bottom: 0 !important;
}

/* -------------------------------------------------------------------------
 * PLP product cards - biała karta + miękki cień (bez obcinania)
 * ------------------------------------------------------------------------- */
.woocommerce ul.products,
ul.products {
	overflow: visible !important;
	padding: 10px !important;
	gap: 24px !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
	overflow: visible !important;
	height: auto !important;
}

.esthome-product-card,
.woocommerce ul.products li.product.esthome-product-card,
ul.products li.product.esthome-product-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 0 16px !important;
	overflow: visible !important;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.esthome-product-card:hover,
.woocommerce ul.products li.product.esthome-product-card:hover,
ul.products li.product.esthome-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

/* Pełna klikalność karty */
.esthome-product-card-stretch {
	position: static;
	text-decoration: none;
	color: inherit;
}

.esthome-product-card-stretch::before,
.esthome-product-card .woocommerce-LoopProduct-link.esthome-product-card-stretch::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 16px;
}

/* Link bezpośrednio na zdjęciu */
.esthome-product-card-media-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	border-radius: 16px 16px 0 0;
}

/* Wyjątki: serduszko + swatche POWYŻEJ linków */
.esthome-product-card .esthome-card-color-swatches,
.esthome-product-card .esthome-card-color-swatch,
.esthome-product-card .esthome-product-card-swatches,
.esthome-product-card .esthome-variation-swatches-wrap,
.esthome-product-card .esthome-customize-cta,
.esthome-product-card .esthome-product-card-body > .my-2,
.esthome-product-card .esthome-linked-color-swatches,
.esthome-product-card .esthome-variation-swatch,
.esthome-product-card .esthome-swatch-more-link,
.esthome-product-card .swatch,
.esthome-product-card .color-swatch {
	position: relative !important;
	z-index: 10 !important;
	pointer-events: auto !important;
}

.esthome-product-card .esthome-product-card-swatches,
.esthome-product-card .esthome-variation-swatches-wrap,
.esthome-product-card .esthome-customize-cta,
.esthome-product-card-body > .esthome-linked-color-swatches {
	min-height: 1.75rem;
}

.esthome-product-card .esthome-card-price {
	margin-top: auto;
	padding-top: 8px;
}

.esthome-product-card .esthome-wishlist-btn {
	position: absolute !important;
	z-index: 10 !important;
	pointer-events: auto !important;
}

.esthome-product-card-media {
	position: relative;
	z-index: auto;
	aspect-ratio: 1 / 1;
	width: 100%;
	margin: 0;
	background: #f8f8f8;
	border-radius: 16px 16px 0 0;
	overflow: hidden;
}

.esthome-product-card-badge {
	z-index: 2;
	pointer-events: none;
}

.esthome-product-card-custom-badge {
	position: absolute;
	bottom: 0.625rem;
	left: 0.625rem;
	z-index: 2;
	pointer-events: none;
	border-radius: 9999px;
	background: rgba(250, 248, 245, 0.94);
	border: 1px solid #E8E2D9;
	color: #5A524C;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.22rem 0.55rem;
	line-height: 1.2;
}

.esthome-customize-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.55rem;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #8C827A;
	text-decoration: none;
	position: relative;
	z-index: 10;
	max-width: 100%;
}

.esthome-customize-cta:hover {
	color: #2A2421;
}

.esthome-customize-cta-icon {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: conic-gradient(from 180deg, #ff453a, #ff9f0a, #ffd60a, #30d158, #64d2ff, #0a84ff, #bf5af2, #ff453a);
	flex-shrink: 0;
}

.esthome-product-card-body {
	position: relative;
	z-index: auto;
	padding: 12px 16px 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.esthome-product-card-title {
	margin: 0 !important;
	padding: 0 !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	color: #2a2421 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: 2.7em;
}

.esthome-product-card-img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center !important;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.45s ease;
}

.esthome-product-card-img.is-primary {
	opacity: 1;
	z-index: 0;
}

.esthome-product-card-img.is-hover {
	display: none !important;
	opacity: 1;
	visibility: visible;
	z-index: 1;
	pointer-events: none;
}

.esthome-product-card.has-hover-image:hover .esthome-product-card-img.is-hover {
	display: block !important;
}

.esthome-product-card:not(.has-hover-image):hover .esthome-product-card-img.is-primary {
	transform: scale(1.03);
}

.esthome-product-card .esthome-wishlist-btn {
	background: rgba(255, 255, 255, 0.72) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.55);
	box-shadow: 0 1px 3px rgba(42, 36, 33, 0.08);
	position: absolute !important;
	z-index: 10 !important;
	pointer-events: auto !important;
}

.esthome-product-card .esthome-wishlist-btn:hover {
	background: rgba(255, 255, 255, 0.9) !important;
}

/* -------------------------------------------------------------------------
 * PDP - related products („Może Ci się spodobać”)
 * ------------------------------------------------------------------------- */
.esthome-pdp-related-wrap {
	background: #ffffff !important;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.esthome-pdp-related {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Tylko nagłówek sekcji - NIE nazwy produktów w kartach */
.esthome-pdp-related-title {
	margin: 0 0 24px !important;
	font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important;
	font-size: 1.5rem !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	color: #2a2421 !important;
}

.esthome-related-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	justify-content: start;
	align-items: stretch;
	padding: 10px;
	overflow: visible;
}

.esthome-related-grid > .esthome-product-card,
.esthome-pdp-related .esthome-product-card {
	width: 100%;
	max-width: none;
	height: 100%;
	justify-self: stretch;
}

/* Wymuszenie stylu karty PLP także w related (WC potrafi nadpisać h2) */
.esthome-pdp-related .esthome-product-card,
.related.products .esthome-product-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	padding: 0 0 16px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.esthome-pdp-related .esthome-product-card-title,
.related.products .esthome-product-card-title,
.esthome-pdp-related .esthome-product-card h2.esthome-product-card-title,
.related.products .esthome-product-card h2 {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: #2a2421 !important;
	margin: 0 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: 2.7em;
}

.esthome-pdp-related .esthome-product-card-media,
.related.products .esthome-product-card-media {
	aspect-ratio: 1 / 1;
	border-radius: 16px 16px 0 0;
	background: #f8f8f8;
}

.esthome-pdp-related .esthome-product-card-body,
.related.products .esthome-product-card-body {
	padding: 12px 16px 0;
}

.esthome-pdp-related .esthome-product-card .omnibus-price-info,
.related.products .esthome-product-card .omnibus-price-info {
	font-size: 11px !important;
	color: #888888 !important;
	margin-top: 4px !important;
	margin-bottom: 0 !important;
}

@media (min-width: 768px) {
	.esthome-related-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
	}

	.esthome-pdp-related-title {
		font-size: 1.75rem !important;
	}
}

/* =========================================================
   STYLIACJA SEGMENTU KOLORÓW NA PDP
========================================================= */

/* Czyste, przytulone do ceny Omnibus */
.single-product .esthome-pdp-buy .esthome-pdp-price .price,
.single-product .summary .price {
	margin-bottom: 2px !important;
}

.single-product .esthome-pdp-buy .omnibus-price-info,
.single-product .esthome-pdp-buy .wc-omnibus-price,
.single-product .esthome-pdp-buy .price-30-days,
.single-product .summary .omnibus-price-info,
.single-product .summary .wc-omnibus-price,
.single-product .summary .price-30-days {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	font-size: 0.82rem !important;
	color: #777777 !important;
	display: block;
}

/* Segment wariantów WC (produkty variable) */
.single-product .summary .variations_form,
.single-product .esthome-pdp-buy .variations_form {
	border-top: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
	padding: 20px 0;
	margin: 25px 0;
}

.single-product .summary .variations label,
.single-product .esthome-pdp-buy .variations label {
	display: block;
	margin-bottom: 0.5rem;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8C827A;
}

/* Native WC variation <select>s must stay visible (no sr-only clip). */
.esthome-pdp-cart-slot,
.single-product .esthome-pdp-buy .variations_form,
.single-product .esthome-pdp-buy .single_variation_wrap {
	display: block;
	visibility: visible;
	overflow: visible;
}

.single-product .esthome-pdp-buy table.variations {
	display: table !important;
	visibility: visible !important;
	width: 100% !important;
	height: auto !important;
	position: relative !important;
	clip: auto !important;
	opacity: 1 !important;
}

.single-product .summary .variations select,
.single-product .esthome-pdp-buy .variations select,
.single-product .variations_form select {
	display: block !important;
	visibility: visible !important;
	position: static !important;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: auto !important;
	min-height: 2.75rem;
	margin: 0;
	clip: auto !important;
	opacity: 1 !important;
	overflow: visible !important;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #E8E2D9;
	border-radius: 1rem;
	padding: 0.8rem 2.6rem 0.8rem 1.1rem;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.35;
	color: #2A2421;
	background-color: #FAF8F5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238C827A'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	box-shadow: none;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.single-product .summary .variations select::-ms-expand,
.single-product .esthome-pdp-buy .variations select::-ms-expand,
.single-product .variations_form select::-ms-expand {
	display: none;
}

.single-product .summary .variations select:hover,
.single-product .esthome-pdp-buy .variations select:hover,
.single-product .variations_form select:hover {
	border-color: #D4CDC3;
	background-color: #fff;
}

.single-product .summary .variations select:focus,
.single-product .summary .variations select:focus-visible,
.single-product .esthome-pdp-buy .variations select:focus,
.single-product .esthome-pdp-buy .variations select:focus-visible,
.single-product .variations_form select:focus,
.single-product .variations_form select:focus-visible {
	outline: none;
	border-color: #2A2421;
	background-color: #fff;
	box-shadow: 0 4px 18px rgba(42, 36, 33, 0.08);
}

.single-product .summary .variations select:active,
.single-product .esthome-pdp-buy .variations select:active,
.single-product .variations_form select:active {
	border-color: #2A2421;
	box-shadow: 0 2px 10px rgba(42, 36, 33, 0.1);
}

.single-product .reset_variations {
	display: inline-block;
	margin-top: 0.55rem;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	color: #8C827A;
	text-decoration: none;
}

.single-product .reset_variations:hover {
	color: #2A2421;
}

/* Variation color swatches leftover (catalog CTA replaced PDP dots). */
.esthome-variation-color-row th.label[hidden] {
	display: none !important;
}

.esthome-variation-swatches-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	overflow: visible;
}

.esthome-swatch-choice-label {
	margin: 0;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8C827A;
	line-height: 1.4;
}

.esthome-swatch-choice-prefix {
	margin-right: 0.35rem;
}

.esthome-swatch-choice-label [data-esthome-swatch-choice] {
	color: #2A2421;
	letter-spacing: 0.04em;
	font-weight: 500;
}

.esthome-product-card .esthome-swatch-choice-label {
	display: none;
	font-size: 0.625rem;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.esthome-variation-swatches {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	overflow: visible;
}

.esthome-variation-swatch {
	display: inline-block;
	position: relative;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #e5e5e5;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	background-repeat: no-repeat;
	background-size: cover;
}

.single-product .variations .esthome-variation-swatch,
.single-product form.variations_form .esthome-variation-swatches .esthome-variation-swatch {
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
}

.esthome-product-card .esthome-variation-swatch {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;
}

.esthome-variation-swatch:hover {
	transform: scale(1.08);
}

.esthome-variation-swatch.is-light {
	border-color: #e5e5e5;
}

.single-product .variations .esthome-variation-swatch.selected,
.single-product .variations .esthome-variation-swatch.active,
.single-product .esthome-variation-swatches .esthome-variation-swatch.selected,
.single-product .esthome-variation-swatches .esthome-variation-swatch.active {
	outline: none !important;
	border: 1px solid #e5e5e5 !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2A2421 !important;
	transform: none;
}

.esthome-variation-swatch[data-tooltip]:hover::after,
.esthome-variation-swatch[data-tooltip]:focus-visible::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	transform: translateX(-50%);
	z-index: 30;
	padding: 0.28rem 0.5rem;
	border-radius: 0.4rem;
	background: #2A2421;
	color: #FAF8F5;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 4px 12px rgba(42, 36, 33, 0.18);
}

[data-esthome-variation-swatches]:not(.is-expanded) .esthome-variation-swatch.is-extra {
	display: none !important;
}

.esthome-product-card.is-swatch-preview .esthome-product-card-img.is-hover {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

.esthome-swatch-more-link,
.esthome-swatch-more-btn {
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #8C827A;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	white-space: nowrap;
}

.esthome-swatch-more-link:hover,
.esthome-swatch-more-btn:hover {
	color: #2A2421;
}

/* Segment linked color swatches (EstHome) */
.single-product .esthome-pdp-color-segment {
	border-top: 1px solid #e4e4e4;
	border-bottom: none !important;
	padding: 20px 0 0 !important;
	margin: 0 0 25px;
	overflow: visible !important;
}

/* Dolna kreska POD odstępem - nie ucina outline kropek */
.single-product .esthome-pdp-color-segment::after {
	content: "";
	display: block;
	border-bottom: 1px solid #e4e4e4;
	margin-top: 16px;
}

.single-product .esthome-pdp-color-segment .esthome-pdp-color-label {
	display: block;
	margin: 0 0 12px;
	font-size: 0.875rem;
	font-weight: 600;
	color: #000;
	font-family: Outfit, system-ui, sans-serif;
}

/* Powiększone kropki */
.single-product .esthome-pdp-color-segment .swatch,
.single-product .esthome-pdp-color-segment .esthome-color-swatch-link,
.single-product .esthome-pdp-color-segment .esthome-pdp-swatch,
.single-product .summary .swatch {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	border-radius: 50% !important;
	border: 1px solid #e4e4e4 !important;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	display: inline-block;
	text-decoration: none !important;
	margin: 3px !important;
	overflow: visible !important;
}

.single-product .esthome-pdp-color-segment .swatch:hover,
.single-product .esthome-pdp-color-segment .esthome-color-swatch-link:hover,
.single-product .summary .swatch:hover {
	transform: scale(1.1);
}

/* Delikatne zaznaczenie - box-shadow zamiast outline (nie jest ucinane) */
.single-product .esthome-pdp-color-segment .swatch.selected,
.single-product .esthome-pdp-color-segment .swatch.active,
.single-product .esthome-pdp-color-segment .esthome-color-swatch-link.selected,
.single-product .esthome-pdp-color-segment .esthome-color-swatch-link.active,
.single-product .summary .swatch.selected,
.single-product .summary .swatch.active {
	outline: none !important;
	border: 1px solid #e4e4e4 !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000 !important;
	transform: none;
	pointer-events: none;
}

.esthome-swatch--marble {
	background-color: #f7f7f5 !important;
	background-image: url("assets/images/swatches/marble.png") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 100% 100% !important;
}

.single-product .esthome-pdp-color-segment .esthome-linked-color-swatches {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.65rem;
	padding: 4px 2px 8px !important;
	margin: 0 !important;
	overflow: visible !important;
}

/* Segment WC variations */
.single-product .summary .variations_form,
.single-product .esthome-pdp-buy .variations_form {
	padding-bottom: 25px !important;
	overflow: visible !important;
}

.single-product .summary .swatches,
.single-product .esthome-pdp-buy .swatches {
	margin-bottom: 5px !important;
	padding-top: 5px !important;
	overflow: visible !important;
}

/* Sticky purchase panel - bez overflow, żeby nie ucinać swatchy */
@media (min-width: 1024px) {
	.single-product .esthome-pdp-buy {
		position: -webkit-sticky;
		position: sticky;
		top: 5.5rem;
		align-self: flex-start;
		z-index: 20;
		overflow: visible !important;
	}
}

.esthome-p24-installments-wrapper {
	margin-top: 15px;
	margin-bottom: 1.25rem;
	padding: 0.85rem 0.95rem;
	background: #f3f1ed;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	overflow: visible;
}

.esthome-p24-installments-wrapper:empty {
	display: none;
}

.esthome-p24-installments-wrapper img,
.esthome-p24-installments-wrapper svg {
	max-width: 100%;
	height: auto;
}

.esthome-p24-installments-trigger {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	color: inherit;
	font: inherit;
}

.esthome-p24-installments-logo {
	display: block;
	width: 5.5rem;
	height: auto;
	flex-shrink: 0;
}

.esthome-p24-installments-copy {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
	flex: 1;
}

.esthome-p24-installments-kicker {
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-p24-installments-amount {
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: #2a2421;
	line-height: 1.35;
}

.esthome-p24-installments-amount .woocommerce-Price-amount {
	font-weight: 600;
}

.esthome-p24-installments-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 2.25rem;
	padding: 0.45rem 0.85rem;
	border-radius: 9999px;
	background: #2a2421;
	color: #f7f4ee;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.esthome-p24-installments-trigger:hover .esthome-p24-installments-cta,
.esthome-p24-installments-trigger:focus-visible .esthome-p24-installments-cta {
	background: #4a423d;
}

.esthome-p24-installments-dialog {
	width: min(calc(100vw - 1.5rem), 28rem);
	max-height: min(92dvh, 45rem);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 1.25rem;
	background: #faf8f5;
	box-shadow: 0 18px 50px rgba(42, 36, 33, 0.22);
	overflow: hidden;
}

.esthome-p24-installments-dialog::backdrop {
	background: rgba(42, 36, 33, 0.48);
}

.esthome-p24-installments-dialog-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid #e8e2d9;
	background: #fff;
}

.esthome-p24-installments-dialog-title {
	margin: 0;
	font-family: Outfit, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-p24-installments-dialog-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: #f3f1ed;
	color: #2a2421;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}

.esthome-p24-installments-dialog-close:hover,
.esthome-p24-installments-dialog-close:focus-visible {
	background: #e8e4dc;
}

.esthome-p24-installments-frame {
	display: block;
	width: 100%;
	height: min(70dvh, 34rem);
	border: 0;
	background: #fff;
}

.esthome-newsletter-dialog {
	width: min(calc(100vw - 1.5rem), 34rem);
	max-height: min(92dvh, 48rem);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 1.75rem;
	background: #d6c5b0;
	color: #2a2421;
	box-shadow: 0 18px 50px rgba(42, 36, 33, 0.22);
	overflow: visible;
}

.esthome-newsletter-dialog::backdrop {
	background: rgba(42, 36, 33, 0.48);
}

.esthome-newsletter-dialog-inner {
	position: relative;
	padding: 2.75rem 1.5rem 2rem;
	text-align: center;
	overflow-y: auto;
	max-height: min(92dvh, 48rem);
	border-radius: inherit;
}

@media (min-width: 640px) {
	.esthome-newsletter-dialog-inner {
		padding: 3rem 2.5rem 2.5rem;
	}
}

.esthome-newsletter-dialog-close {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: rgba(250, 248, 245, 0.65);
	color: #2a2421;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}

.esthome-newsletter-dialog-close:hover,
.esthome-newsletter-dialog-close:focus-visible {
	background: #faf8f5;
}

.esthome-pdp-cart-slot .esthome-p24-installments-wrapper,
.esthome-pdp-cart-slot [class*="p24-install"],
.esthome-pdp-cart-slot p24-installments-modal,
.esthome-pdp-buy [id*="p24-install"] {
	margin-top: 15px;
}

.esthome-pdp-buy p24-installments-modal,
.esthome-pdp-buy [class*="p24-modal"],
.esthome-pdp-buy [class*="P24"] {
	max-width: 100%;
}

@media (max-width: 639px) {
	.esthome-p24-installments-trigger {
		flex-wrap: wrap;
	}

	.esthome-p24-installments-cta {
		width: 100%;
		margin-top: 0.15rem;
	}

	.esthome-p24-installments-dialog {
		width: calc(100vw - 1rem);
		max-height: 96dvh;
		border-radius: 1rem;
	}

	.esthome-p24-installments-frame {
		height: min(78dvh, 36rem);
	}
}

/* -------------------------------------------------------------------------
 * PDP gallery - Selsey-like: thumbs left / main right
 * Kwadrat 1:1 + cover = zero białych pasów
 * ------------------------------------------------------------------------- */
.esthome-pdp-gallery-layout {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.esthome-pdp-gallery-main {
	width: 100%;
	min-width: 0;
	order: 1;
}

.esthome-pdp-main-frame {
	position: relative;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	border-radius: 16px !important;
	background: #f9f8f6;
	touch-action: pan-y;
}

.esthome-pdp-main-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: #8c827a;
}

.esthome-pdp-main-img {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
	transition: opacity 0.25s ease;
}

.esthome-pdp-thumbs-rail {
	display: flex;
	flex-direction: row;
	gap: 10px;
	order: 2;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.esthome-pdp-thumbs-rail::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.esthome-pdp-thumb {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	padding: 0;
	margin: 0;
	border: 1.5px solid transparent;
	border-radius: 8px;
	overflow: hidden;
	background: #f9f8f6;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.esthome-pdp-thumb:hover {
	opacity: 1;
}

.esthome-pdp-thumb.is-active {
	opacity: 1;
	border-color: #000;
}

.esthome-pdp-thumb-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
	pointer-events: none;
	border-radius: 8px;
}

@media (min-width: 768px) {
	.esthome-pdp-gallery-layout {
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
	}

	.esthome-pdp-thumbs-rail {
		order: 0;
		flex-direction: column !important;
		flex: 0 0 75px;
		width: 75px !important;
		max-height: 100%;
		align-self: stretch;
		overflow-x: hidden;
		overflow-y: auto;
		gap: 10px !important;
		padding: 2px;
	}

	.esthome-pdp-gallery-main {
		order: 0;
		flex: 1 1 auto;
	}

	.esthome-pdp-thumb {
		flex: 0 0 75px;
		width: 75px !important;
		height: 75px !important;
	}
}

/* -------------------------------------------------------------------------
 * Account trigger (logged-out header button)
 * ------------------------------------------------------------------------- */
.esthome-account-trigger {
	appearance: none;
	background: none;
	border: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

html.esthome-auth-open,
html.esthome-auth-open body {
	overflow: hidden;
}

/* -------------------------------------------------------------------------
 * Auth modal
 * ------------------------------------------------------------------------- */
.esthome-auth-modal {
	position: fixed;
	inset: 0;
	z-index: 220;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.esthome-auth-modal[hidden] {
	display: none !important;
}

.esthome-auth-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(42, 36, 33, 0.45);
	cursor: pointer;
}

.esthome-auth-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: 92dvh;
	overflow-x: hidden;
	overflow-y: auto;
	background: #fff;
	padding: 1.1rem 1.2rem 1.15rem;
	box-shadow: 0 -12px 40px rgba(42, 36, 33, 0.12);
	scrollbar-width: thin;
	scrollbar-color: #e8e2d9 transparent;
}

.esthome-auth-close {
	position: absolute;
	top: 1rem;
	right: 0.85rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	background: transparent;
	color: #2a2421;
	cursor: pointer;
}

.esthome-auth-close svg {
	width: 1.35rem;
	height: 1.35rem;
}

.esthome-auth-title {
	margin: 0 2.5rem 0.85rem 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.28rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #2a2421;
	line-height: 1.25;
}

.esthome-auth-lead {
	margin: -0.35rem 0 1.1rem;
	font-size: 0.9rem;
	font-weight: 400;
	color: #5a524c;
	line-height: 1.5;
}

.esthome-auth-panel[hidden],
.esthome-auth-status[hidden] {
	display: none !important;
}

.esthome-auth-form {
	display: flex;
	flex-direction: column;
}

.esthome-auth-label {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-auth-label + .esthome-auth-input,
.esthome-auth-label + .esthome-auth-password {
	margin-bottom: 0.7rem;
}

.esthome-auth-input {
	width: 100%;
	height: 3rem;
	border: 0;
	border-radius: 0;
	background: #f3f1ed;
	padding: 0 2.75rem 0 0.95rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	color: #2a2421;
	outline: none;
}

.esthome-auth-input:focus {
	box-shadow: inset 0 0 0 1px rgba(42, 36, 33, 0.28);
}

.esthome-auth-password {
	position: relative;
}

.esthome-auth-password .esthome-auth-input {
	padding-right: 2.75rem;
}

.esthome-auth-eye {
	position: absolute;
	top: 50%;
	right: 0.45rem;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: 0;
	background: transparent;
	color: #8c827a;
	cursor: pointer;
}

.esthome-auth-eye svg {
	width: 1.15rem;
	height: 1.15rem;
}

.esthome-auth-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0.1rem 0 0.85rem;
}

.esthome-auth-check {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: #2a2421;
	cursor: pointer;
}

.esthome-auth-check input {
	width: 1rem;
	height: 1rem;
	margin-top: 0.1rem;
	accent-color: #2a2421;
	flex-shrink: 0;
}

.esthome-auth-check--block {
	margin: 0;
	align-items: flex-start;
	font-weight: 500;
	line-height: 1.45;
}

.esthome-auth-newsletter {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.15rem 0.45rem;
	margin: 0.1rem 0 0.8rem;
}

.esthome-auth-newsletter .esthome-auth-text-link {
	margin-left: 1.5rem;
}

.esthome-auth-text-link {
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 500;
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.esthome-auth-check a.esthome-auth-text-link {
	font-weight: 500;
	margin-left: 0.15rem;
}

.esthome-auth-submit {
	width: 100%;
	height: 3.15rem;
	border: 0;
	border-radius: 0;
	background: #2a2421;
	color: #fff;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
}

.esthome-auth-submit:hover {
	background: #4a423d;
}

.esthome-auth-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.esthome-auth-submit--ghost {
	background: #fff;
	color: #2a2421;
	box-shadow: inset 0 0 0 1px #2a2421;
	white-space: nowrap;
	padding: 0 1.1rem;
	width: auto;
	min-width: 9.5rem;
}

.esthome-auth-submit--ghost:hover {
	background: #f7f4ee;
}

.esthome-auth-lost-row {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.esthome-auth-lost-row .esthome-auth-submit--ghost {
	width: 100%;
}

.esthome-auth-legal {
	margin: 0.55rem 0 0;
	font-size: 0.7rem;
	line-height: 1.45;
	color: #8c827a;
}

.esthome-auth-legal a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.esthome-auth-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.45rem;
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid #eee;
	font-size: 0.85rem;
	color: #5a524c;
}

.esthome-social-login {
	width: 100%;
	margin: 0.7rem 0 0;
	min-width: 0;
}

.esthome-social-login--account {
	margin: 0.85rem 0 0;
}

.esthome-social-login-sep {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 0.55rem;
	font-size: 0.75rem;
	line-height: 1.3;
	color: #8c827a;
}

.esthome-social-login-sep::before,
.esthome-social-login-sep::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: #e8e2d9;
}

.esthome-social-login .nsl-container,
.esthome-social-login .nsl-container-buttons {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.esthome-social-login .nsl-container {
	border: 1px solid #e5e5e5 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}

.esthome-social-login .nsl-container-buttons {
	border: 0 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}

.esthome-social-login .nsl-container-buttons a,
.esthome-social-login a.nsl-button {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.esthome-social-login .nsl-button,
.esthome-social-login .nsl-button-google,
.esthome-social-login .nsl-button-default {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.65rem;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 2.85rem !important;
	min-height: 2.85rem !important;
	margin: 0 !important;
	padding: 0 1.35rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	box-shadow: none !important;
	color: #2a2421 !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.esthome-social-login .nsl-button:hover,
.esthome-social-login .nsl-button-google:hover,
.esthome-social-login a.nsl-button:hover .nsl-button,
.esthome-social-login .nsl-container:hover {
	background: #f9f9f9 !important;
	background-color: #f9f9f9 !important;
	border-color: #e5e5e5 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	transform: translateY(-1px);
	color: #2a2421 !important;
}

.esthome-social-login .nsl-button-svg-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

.esthome-social-login .nsl-button-svg-container svg {
	width: 1.25rem !important;
	height: 1.25rem !important;
	display: block;
}

.esthome-social-login .nsl-button-label-container {
	display: block !important;
	flex: 0 1 auto;
	margin: 0 !important;
	padding: 0 !important;
	color: #2a2421 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
}

.esthome-social-login--account .nsl-button,
.esthome-social-login--account .nsl-button-google,
.esthome-social-login--account .nsl-button-default {
	border-radius: 999px !important;
}

.esthome-account-card--social .esthome-account-card-hint {
	margin: 0 0 0.15rem !important;
}

@media (min-width: 720px) {
	.esthome-account-profile-grid .esthome-account-card--social {
		grid-column: 1 / -1;
	}
}

.esthome-auth-switch {
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	font-weight: 700;
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.esthome-auth-status {
	margin: 0 0 1rem;
	padding: 0.7rem 0.8rem;
	font-size: 0.8rem;
	line-height: 1.4;
	background: #f3f1ed;
	color: #2a2421;
}

.esthome-auth-status.is-error {
	background: #f6ebe8;
	color: #8b3a2a;
}

.esthome-auth-status.is-ok {
	background: #eef3ea;
	color: #2a2421;
}

.esthome-auth-status .esthome-auth-text-link {
	font-size: inherit;
	font-weight: 600;
	color: inherit;
}

@media (min-width: 768px) {
	.esthome-auth-modal {
		align-items: center;
		padding: 1.5rem;
	}

	.esthome-auth-dialog {
		width: 100%;
		max-width: 28.5rem;
		max-height: 92dvh;
		padding: 1.35rem 1.65rem 1.2rem;
		box-shadow: 0 18px 50px rgba(42, 36, 33, 0.18);
	}

	.esthome-auth-title {
		font-size: 1.42rem;
		margin-bottom: 0.95rem;
	}

	.esthome-auth-lost-row {
		flex-direction: row;
		align-items: stretch;
		gap: 0.55rem;
	}

	.esthome-auth-lost-row .esthome-auth-input {
		flex: 1 1 auto;
		padding-right: 0.95rem;
	}

	.esthome-auth-lost-row .esthome-auth-submit--ghost {
		width: auto;
		flex: 0 0 auto;
	}
}

.esthome-newsletter-why {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.esthome-newsletter-why[hidden] {
	display: none !important;
}

.esthome-newsletter-why-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(42, 36, 33, 0.35);
	cursor: pointer;
}

.esthome-newsletter-why-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: min(88dvh, 36rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	background: #fff;
	padding: 1.35rem 1.25rem max(1.5rem, env(safe-area-inset-bottom));
	border-radius: 1.5rem 1.5rem 0 0;
	box-shadow: 0 -12px 40px rgba(42, 36, 33, 0.12);
}

.esthome-newsletter-why-card .esthome-basic-info-kicker {
	margin: 0 2.5rem 0.35rem 0;
}

.esthome-newsletter-why-card .esthome-auth-title {
	margin-bottom: 0.65rem;
}

.esthome-newsletter-why-card .esthome-auth-lead {
	margin: 0 0 1rem;
}

.esthome-newsletter-perk-list {
	margin: 0 0 1rem;
	padding-left: 1.1rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #5a524c;
}

.esthome-newsletter-perk-list li + li {
	margin-top: 0.65rem;
}

.esthome-newsletter-perk-list strong {
	color: #2a2421;
	font-weight: 600;
}

.esthome-newsletter-why-note {
	margin: 0 0 1.15rem;
	font-size: 0.8rem;
	line-height: 1.5;
	color: #8c827a;
}

@media (min-width: 768px) {
	.esthome-newsletter-why {
		align-items: center;
		padding: 1.5rem;
	}

	.esthome-newsletter-why-card {
		width: 100%;
		max-width: 28.5rem;
		max-height: min(90vh, 40rem);
		padding: 1.75rem 1.75rem 1.6rem;
		border-radius: 1.5rem;
		box-shadow: 0 18px 50px rgba(42, 36, 33, 0.18);
	}
}

/* -------------------------------------------------------------------------
 * Informacje hub
 * ------------------------------------------------------------------------- */
.esthome-info-hub {
	background: #faf8f5;
	padding: 2.25rem 0 3.5rem;
}

.esthome-info-hub-inner {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 1rem;
}

.esthome-info-hub-title {
	margin: 0 0 1.75rem;
	text-align: center;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.esthome-info-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	aspect-ratio: 1;
	padding: 1rem 0.75rem 1.15rem;
	background-color: #f3f1ed;
	background-image:
		repeating-linear-gradient(60deg, transparent 0 11px, rgba(255, 255, 255, 0.45) 11px 12px),
		repeating-linear-gradient(-60deg, transparent 0 11px, rgba(255, 255, 255, 0.4) 11px 12px);
	color: #2a2421;
	text-decoration: none;
	overflow: hidden;
}

.esthome-info-tile:hover {
	background-color: #e8e4dc;
}

.esthome-info-tile-icon {
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translate(-50%, -58%);
	display: flex;
	pointer-events: none;
}

.esthome-info-icon-well {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.72);
	color: #2a2421;
	box-shadow: 0 1px 0 rgba(42, 36, 33, 0.04);
}

.esthome-info-icon {
	width: 1.55rem;
	height: 1.55rem;
}

.esthome-info-icon--sm {
	width: 1.15rem;
	height: 1.15rem;
	flex-shrink: 0;
	color: #2a2421;
}

.esthome-info-mark {
	width: 3.25rem;
	height: 3.25rem;
}

.esthome-info-mark--sm {
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
}

.esthome-info-tile-label {
	position: relative;
	z-index: 1;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}

.esthome-info-topics {
	margin-top: 2.25rem;
}

.esthome-info-topics-title {
	margin: 0 0 0.9rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-info-topics-wrap {
	display: flex;
	align-items: stretch;
	gap: 0.65rem;
}

.esthome-info-topics-row {
	display: flex;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0 0 0.15rem;
	overflow-x: auto;
	scrollbar-width: none;
	flex: 1 1 auto;
}

.esthome-info-topics-row::-webkit-scrollbar {
	display: none;
}

.esthome-info-topics-row li {
	flex: 0 0 auto;
}

.esthome-info-chip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-width: 11.5rem;
	height: 3.35rem;
	padding: 0 1.1rem 0 0.9rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	color: #2a2421;
	text-decoration: none;
	font-size: 0.82rem;
	font-weight: 600;
	white-space: nowrap;
}

.esthome-info-chip:hover {
	border-color: #2a2421;
}

.esthome-info-topics-next {
	flex: 0 0 3.35rem;
	width: 3.35rem;
	height: 3.35rem;
	border: 0;
	background: #2a2421;
	color: #fff;
	font-size: 1.15rem;
	cursor: pointer;
}

.esthome-info-topics-next[hidden] {
	display: none !important;
}

.esthome-page-content h2 {
	margin: 1.75rem 0 0.6rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-page-content p,
.esthome-page-content li {
	font-size: 0.95rem;
}

.esthome-page-content ul,
.esthome-page-content ol {
	margin: 0.6rem 0 1rem;
	padding-left: 1.2rem;
}

.esthome-page-content a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.esthome-info-cta {
	display: inline-flex;
	align-items: center;
	margin-top: 0.35rem;
	padding: 0.7rem 1.25rem;
	background: #2a2421;
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 0.85rem;
}

@media (min-width: 768px) {
	.esthome-info-hub {
		padding: 3rem 0 4.5rem;
	}

	.esthome-info-hub-title {
		font-size: 2.75rem;
		margin-bottom: 2.25rem;
	}

	.esthome-info-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}

	.esthome-info-tile-label {
		font-size: 0.9rem;
	}

	.esthome-info-icon-well {
		width: 4rem;
		height: 4rem;
	}

	.esthome-info-icon {
		width: 1.75rem;
		height: 1.75rem;
	}

	.esthome-info-topics {
		margin-top: 3rem;
	}
}

.esthome-info-help {
	margin-top: 3.25rem;
	padding: 2rem 1.25rem;
	text-align: center;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.5rem;
}

.esthome-info-help h2 {
	margin: 0 0 0.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-info-help p {
	margin: 0 0 1.1rem;
	font-size: 0.95rem;
	color: #5a524c;
}

.esthome-info-help-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0.65rem 1.35rem;
	border-radius: 999px;
	background: #2a2421;
	color: #fff !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none !important;
}

.esthome-info-help-cta:hover {
	background: #4a423d;
}

/* -------------------------------------------------------------------------
 * Logged-in avatar + account drawer
 * ------------------------------------------------------------------------- */
.esthome-account-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	background: #6b645e;
	color: #fff;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

.esthome-account-avatar--sm {
	width: 1.55rem;
	height: 1.55rem;
	font-size: 0.65rem;
}

.esthome-account-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
}

.esthome-account-slot {
	position: relative;
	z-index: 70;
}

.esthome-account-caret {
	width: 0.9rem;
	height: 0.9rem;
	color: #2a2421;
	transition: transform 0.15s ease;
}

html.esthome-account-open .esthome-account-caret {
	transform: rotate(180deg);
}

.esthome-account-menu {
	position: absolute;
	top: calc(100% + 0.45rem);
	right: 0;
	z-index: 80;
	width: 15.5rem;
	padding: 0.7rem 0.75rem 0.75rem;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	background: #fff;
	color: #2a2421;
	box-shadow: 0 10px 28px rgba(42, 36, 33, 0.12);
	text-align: left;
}

.esthome-account-menu[hidden] {
	display: none !important;
}

.esthome-account-menu-email {
	margin: 0 0 0.5rem;
	padding: 0 0.2rem;
	font-size: 0.72rem;
	line-height: 1.35;
	color: #8c827a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esthome-account-menu-links {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #eee;
}

.esthome-account-menu-link {
	display: block;
	padding: 0.55rem 0.2rem;
	border-bottom: 1px solid #eee;
	color: #2a2421 !important;
	font-size: 0.84rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	background: none;
}

.esthome-account-menu-link:hover {
	color: #2a2421 !important;
	opacity: 0.72;
}

.esthome-account-menu-logout {
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.6rem;
	padding: 0.5rem 0.65rem;
	border: 1px solid #2a2421;
	border-radius: 999px;
	background: #fff;
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-account-menu-logout:hover {
	background: #f7f4ee;
}

.esthome-account-caret {
	width: 0.9rem;
	height: 0.9rem;
	color: #2a2421;
	transition: transform 0.15s ease;
}

html.esthome-account-open .esthome-account-caret {
	transform: rotate(180deg);
}

html.esthome-account-open #esthome-header {
	z-index: 230;
}

.esthome-account-drawer {
	position: fixed;
	top: var(--esthome-header-h, 3.75rem);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 220;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.esthome-account-drawer[hidden] {
	display: none !important;
}

.esthome-account-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(42, 36, 33, 0.45);
	cursor: pointer;
}

.esthome-account-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: calc(100dvh - var(--esthome-header-h, 3.75rem));
	overflow-y: auto;
	background: #fff;
	color: #2a2421;
	padding: 1.35rem 1.25rem 1.5rem;
	border-radius: 1.25rem 1.25rem 0 0;
	box-shadow: 0 -12px 40px rgba(42, 36, 33, 0.12);
}

.esthome-account-view[hidden] {
	display: none !important;
}

.esthome-account-drawer .esthome-account-hello {
	margin: 0 2.5rem 0.2rem 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-account-page .esthome-account-hello {
	margin: 0 0 0.2rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.85rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-account-hero {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.35rem;
	padding: 1.15rem 1.2rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
}

.esthome-account-hero-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 9999px;
	background: #2a2421;
	color: #f7f4ee;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
	flex-shrink: 0;
}

.esthome-account-hero-copy {
	min-width: 0;
}

.esthome-account-hero .esthome-account-hello {
	margin: 0;
	font-size: 1.45rem;
}

.esthome-account-hero .esthome-account-email {
	margin: 0.15rem 0 0;
}

.esthome-account-profile-grid,
.esthome-account-books {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
	margin: 0 0 1.15rem;
}

.esthome-account-profile-grid .esthome-account-card,
.esthome-account-books .esthome-account-card {
	margin-bottom: 0;
}

.esthome-account-shortcuts {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0 0 1.35rem;
}

.esthome-account-shortcut {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 1.1rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
	background: #fff;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
}

.esthome-account-shortcut:hover {
	border-color: #d5cfc6;
	background: #faf8f5;
}

.esthome-account-shortcut-kicker {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-account-shortcut strong {
	font-size: 1.15rem;
	font-weight: 650;
	color: #2a2421;
}

.esthome-account-shortcut-go {
	color: #8c827a;
	font-size: 1.05rem;
}

.esthome-account-card-hint {
	margin: 0 !important;
	font-size: 0.8rem;
	font-weight: 400;
	color: #8c827a;
}

.esthome-saved-pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

.esthome-saved-empty {
	padding: 0.35rem 0 0.7rem;
}

.esthome-saved-item-meta {
	margin: 0.2rem 0 0;
	font-size: 0.75rem;
	color: #8c827a;
}

.esthome-hide-field,
.esthome-checkout-invoice-fields #billing_state_field,
.esthome-checkout-courier-address #shipping_state_field,
.esthome-checkout-courier-address #shipping_first_name_field,
.esthome-checkout-courier-address #shipping_last_name_field {
	display: none !important;
}

@media (min-width: 720px) {
	.esthome-account-profile-grid,
	.esthome-account-books,
	.esthome-account-shortcuts {
		grid-template-columns: 1fr 1fr;
	}

	.esthome-account-shortcuts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.esthome-saved-pair {
		grid-template-columns: 1fr 1fr;
		gap: 0 0.7rem;
	}

	.esthome-account-shortcut {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 0.35rem;
	}

	.esthome-account-shortcut strong {
		font-size: 1.4rem;
	}

	.esthome-account-shortcut-go {
		justify-self: end;
	}
}

.esthome-email-confirm-banner {
	margin: 0;
	padding: 0.85rem 1.25rem;
	background: #F3F1ED;
	border-bottom: 1px solid #E8E2D9;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}

.esthome-email-confirm-banner p {
	margin: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #2A2421;
}

.esthome-email-confirm-banner--ok {
	background: #EEF3EA;
}

.esthome-email-confirm-resend {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 1rem;
	border: 1px solid #2A2421;
	border-radius: 999px;
	background: #2A2421;
	color: #FAF8F5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-email-confirm-resend:hover {
	background: #4A423D;
	border-color: #4A423D;
}

.esthome-email-confirm-resend:disabled {
	opacity: 0.6;
	cursor: wait;
}

.esthome-email-confirm-resend-status {
	flex-basis: 100%;
	color: #5A524C !important;
	font-size: 0.8rem !important;
}

.esthome-account-page .esthome-email-confirm-banner {
	margin: 0 0 1.25rem;
	padding: 0.95rem 1.1rem;
	border: 1px solid #E8E2D9;
	border-radius: 1rem;
	background: #F3F1ED;
}

.esthome-account-page .esthome-email-confirm-banner--ok {
	background: #EEF3EA;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	display: none !important;
}

.esthome-account-email {
	margin: 0 0 1.1rem;
	font-size: 0.9rem;
	color: #5a524c;
}

.esthome-account-links {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #eee;
}

.esthome-account-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid #eee;
	background: none;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	color: #2a2421 !important;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
}

.esthome-account-logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: 1.35rem;
	height: 3.15rem;
	border: 1px solid #2a2421;
	background: #fff;
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-account-logout svg {
	width: 1.15rem;
	height: 1.15rem;
}

.esthome-account-back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 0.75rem;
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	color: #5a524c;
	cursor: pointer;
}

.esthome-account-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 1rem 0 1.25rem;
	border-bottom: 1px solid #eee;
}

.esthome-account-tab {
	appearance: none;
	border: 0;
	background: none;
	padding: 0 0 0.65rem;
	margin-bottom: -1px;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8c827a;
	cursor: pointer;
	text-decoration: none;
}

.esthome-account-tab.is-active {
	color: #2a2421;
	border-bottom: 2px solid #2a2421;
}

.esthome-account-panel[hidden] {
	display: none !important;
}

.esthome-account-panel-title {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-account-card {
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	padding: 1.2rem 1.2rem 1.25rem;
	margin-bottom: 0.85rem;
	background: #fff;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
}

.esthome-account-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.35rem;
}

.esthome-account-card-icon,
.esthome-account-edit {
	display: inline-flex;
	width: 1.5rem;
	height: 1.5rem;
	color: #2a2421;
}

.esthome-account-edit {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	cursor: pointer;
}

.esthome-account-card-icon svg,
.esthome-account-edit svg {
	width: 100%;
	height: 100%;
}

.esthome-account-card-kicker {
	margin: 0 0 0.7rem;
	font-size: 0.82rem;
	font-weight: 700;
}

.esthome-account-card-head .esthome-account-card-kicker {
	margin: 0;
}

.esthome-account-card-close {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	color: #2a2421;
	cursor: pointer;
	flex-shrink: 0;
}

.esthome-account-card-close svg {
	width: 1.15rem;
	height: 1.15rem;
}

.esthome-account-card-close[hidden] {
	display: none !important;
}

.esthome-account-card-body p {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0 0 0.7rem;
	font-size: 0.8rem;
}

.esthome-account-card-body span {
	color: #8c827a;
}

.esthome-account-card-body strong {
	font-weight: 500;
	color: #2a2421;
	min-height: 1.1em;
}

.esthome-account-card-form label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	margin-bottom: 0.7rem;
	font-size: 0.78rem;
	font-weight: 600;
}

.esthome-account-card-form input,
.esthome-account-card-form select {
	height: 2.75rem;
	border: 0;
	border-radius: 0.7rem;
	background: #f3f1ed;
	padding: 0 0.85rem;
	font: inherit;
	font-weight: 400;
	color: #2a2421;
	width: 100%;
}

.esthome-account-form-actions {
	display: flex;
	gap: 0.5rem;
}

.esthome-account-form-actions .esthome-auth-submit {
	flex: 1;
	height: 2.75rem;
}

.esthome-account-cancel {
	appearance: none;
	border: 1px solid #e8e2d9;
	background: #fff;
	padding: 0 0.9rem;
	font: inherit;
	font-size: 0.85rem;
	cursor: pointer;
}

.esthome-account-card-form[hidden] {
	display: none !important;
}

.esthome-account-delete-note {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	color: #8c827a;
	line-height: 1.5;
}

.esthome-account-delete-form {
	max-width: 22rem;
	margin-top: 0.85rem;
}

.esthome-account-delete-form[hidden] {
	display: none !important;
}

.esthome-account-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1.5rem 0.5rem 0.5rem;
	color: #5a524c;
}

.esthome-account-empty-icon {
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 0.85rem;
	color: #c4bdb4;
}

.esthome-account-empty-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.85rem;
	text-decoration: none;
	width: auto;
	min-width: 12rem;
	padding: 0 1.25rem;
}

.esthome-account-orders {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.esthome-account-order-item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.95rem 1rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
	background: #fff;
	box-shadow: 0 8px 24px rgba(42, 36, 33, 0.035);
}

.esthome-account-order {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.9rem;
	border: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.15s ease;
}

.esthome-account-order:hover {
	border-color: transparent;
	background: transparent;
	opacity: 0.88;
}

.esthome-account-order-thumb {
	position: relative;
	display: block;
	width: 3.4rem;
	height: 3.4rem;
	flex: 0 0 auto;
}

.esthome-account-order-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0.8rem;
	background: #efece6;
}

.esthome-account-order-more {
	position: absolute;
	top: -0.35rem;
	right: -0.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.3rem;
	border-radius: 999px;
	border: 2px solid #fff;
	background: #2a2421;
	color: #faf8f5;
	font-size: 0.66rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
}

.esthome-account-order-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.28rem;
	min-width: 0;
}

.esthome-account-order-go {
	display: inline-block;
	margin-top: 0.2rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: #8c827a;
}

.esthome-account-order-top {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.4rem 0.55rem;
	font-size: 0.92rem;
}

.esthome-account-order-qty {
	font-size: 0.78rem;
	font-weight: 500;
	color: #8c827a;
}

.esthome-account-order-top time {
	margin-left: auto;
	color: #8c827a;
	font-size: 0.78rem;
}

.esthome-account-order-names {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.82rem;
	color: #5a524c;
}

.esthome-account-order-side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.2rem;
	flex-shrink: 0;
}

.esthome-account-order-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.55rem;
}

.esthome-account-status-pill {
	display: inline-flex;
	align-items: center;
	margin-top: 0.2rem;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	background: #f3f1ed;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #5a524c;
}

.esthome-account-order-item[data-status="pending"] .esthome-account-status-pill,
.esthome-account-order-item[data-status="hold"] .esthome-account-status-pill {
	background: #f6eeea;
	color: #8b3a2a;
}

.esthome-account-order-item[data-status="failed"] .esthome-account-status-pill,
.esthome-account-order-item[data-status="cancelled"] .esthome-account-status-pill {
	background: #f6eeea;
	color: #8b3a2a;
}

.esthome-account-order-item[data-status="preparing"] .esthome-account-status-pill {
	background: #efece6;
	color: #8c5a2a;
}

.esthome-account-order-item[data-status="shipped"] .esthome-account-status-pill {
	background: #eef2f6;
	color: #2a4a6b;
}

.esthome-account-order-item[data-status="done"] .esthome-account-status-pill {
	background: #eef3ee;
	color: #3d5a3a;
}

.esthome-account-order-item[data-status="refunded"] .esthome-account-status-pill {
	background: #efece6;
	color: #5a524c;
}

.esthome-account-order-total {
	font-size: 0.95rem;
	font-weight: 650;
	color: #2a2421;
}

.esthome-account-tracking {
	margin: 0.15rem 0 0;
	font-size: 0.78rem;
	color: #5a524c;
}

.esthome-account-order-pay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-height: 2.45rem;
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	background: #2a2421;
	color: #f7f4ee !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}

.esthome-account-order-pay:hover {
	background: #4a423d;
}

.esthome-account-order-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.esthome-account-order-help {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.45rem;
	padding: 0.55rem 1.1rem;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	background: #faf8f5;
	color: #5a524c !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
}

.esthome-account-order-help:hover {
	border-color: #2a2421;
	color: #2a2421 !important;
}

.esthome-help-panel {
	display: grid;
	gap: 1.25rem;
}

.esthome-help-intro {
	padding: 1.15rem 1.25rem;
	border-radius: 1.15rem;
	background: #f3f1ed;
}

.esthome-help-intro-lead {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-help-intro-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	margin: 0.9rem 0 0;
	padding: 0;
	list-style: none;
}

.esthome-help-intro-meta li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.esthome-help-intro-meta span {
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-help-intro-meta strong {
	font-size: 0.88rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-help-form {
	display: grid;
	gap: 1.15rem;
}

.esthome-help-status {
	margin: 0;
	padding: 0.75rem 0.95rem;
	border-radius: 0.8rem;
	background: #f3f1ed;
	font-size: 0.85rem;
	color: #2a2421;
}

.esthome-help-status.is-error {
	background: #f6e7e3;
	color: #8b3a2a;
}

.esthome-help-status.is-ok {
	background: #eaf0e8;
	color: #3c5a3a;
}

.esthome-help-block {
	margin: 0;
	padding: 1.1rem 1.25rem 1.25rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
	background: #fff;
}

.esthome-help-block legend {
	padding: 0 0.35rem;
	margin-left: -0.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #2a2421;
}

.esthome-help-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.esthome-help-topic {
	position: relative;
	display: inline-flex;
}

.esthome-help-topic input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.esthome-help-topic span {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.95rem;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	background: #faf8f5;
	font-size: 0.82rem;
	color: #5a524c;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.esthome-help-topic input:checked + span {
	border-color: #2a2421;
	background: #2a2421;
	color: #f7f4ee;
}

.esthome-help-topic input:focus-visible + span {
	outline: 2px solid #2a2421;
	outline-offset: 2px;
}

.esthome-help-field {
	position: relative;
	display: block;
	margin-top: 0.75rem;
}

.esthome-help-field > span:not(.sr-only) {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-help-field select,
.esthome-help-field input,
.esthome-help-field textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.8rem;
	background: #faf8f5;
	font-family: inherit;
	font-size: 0.88rem;
	color: #2a2421;
}

.esthome-help-field textarea {
	min-height: 9rem;
	resize: vertical;
}

.esthome-help-field select:focus,
.esthome-help-field input:focus,
.esthome-help-field textarea:focus {
	outline: none;
	border-color: #2a2421;
	background: #fff;
}

.esthome-help-field small {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.74rem;
	color: #8c827a;
}

.esthome-help-counter {
	position: absolute;
	right: 0.75rem;
	bottom: 0.6rem;
	font-size: 0.7rem;
	color: #8c827a;
}

.esthome-help-hint {
	margin: 0.6rem 0 0;
	font-size: 0.76rem;
	line-height: 1.5;
	color: #8c827a;
}

.esthome-help-submit {
	justify-self: start;
	min-height: 2.9rem;
	padding: 0.7rem 1.8rem;
	border: 0;
	border-radius: 999px;
	background: #2e2520;
	color: #f7f4ee;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.esthome-help-submit:hover:not(:disabled) {
	background: #4a423d;
}

.esthome-help-submit:disabled {
	opacity: 0.6;
	cursor: default;
}

@media (max-width: 640px) {
	.esthome-help-submit {
		justify-self: stretch;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.esthome-account-order {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.esthome-account-order-side {
		grid-column: 2;
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
		width: 100%;
	}

	.esthome-account-order-top time {
		margin-left: 0;
		width: 100%;
	}
}

.esthome-account-address {
	margin: 0 0 0.85rem;
	font-family: inherit;
	font-size: 0.85rem;
	line-height: 1.45;
	white-space: pre-wrap;
	color: #2a2421;
}

.esthome-account-muted {
	margin: 0 0 0.85rem;
	font-size: 0.85rem;
	color: #8c827a;
}

.esthome-account-outline-btn {
	width: 100%;
	height: 2.85rem;
	border: 1px solid #2a2421;
	border-radius: 9999px;
	background: #fff;
	font: inherit;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-account-outline-btn:hover {
	background: #2a2421;
	color: #f7f4ee;
}

.esthome-saved-list {
	list-style: none;
	margin: 0 0 0.9rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.esthome-saved-item {
	padding: 0.85rem 0.95rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #faf8f5;
}

.esthome-saved-item.is-default {
	border-color: #d5cfc6;
}

.esthome-saved-item-name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.55rem;
	margin: 0 0 0.25rem;
	font-size: 0.92rem;
	color: #2a2421;
}

.esthome-saved-badge {
	display: inline-flex;
	padding: 0.12rem 0.5rem;
	border-radius: 999px;
	background: #2a2421;
	color: #faf8f5;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.esthome-saved-item-preview {
	margin: 0;
	font-size: 0.8rem;
	color: #5a524c;
	line-height: 1.4;
}

.esthome-saved-item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.9rem;
	margin-top: 0.55rem;
}

.esthome-saved-link {
	appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	color: #2a2421;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.esthome-saved-link--danger {
	color: #8b3a2a;
}

.esthome-saved-default-check {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.84rem;
	color: #2a2421;
}

.esthome-saved-default-check input {
	width: auto !important;
	margin: 0;
}

.esthome-saved-book [data-saved-form] {
	margin-top: 1rem;
}

.esthome-account-status {
	margin: 0 0 0.85rem;
	padding: 0.7rem 0.8rem;
	font-size: 0.8rem;
	background: #eef3ea;
	color: #2a2421;
}

.esthome-account-status.is-error {
	background: #f6ebe8;
	color: #8b3a2a;
}

.esthome-account-status[hidden] {
	display: none !important;
}

.esthome-checkout-profile {
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid #e8e2d9;
	background: #faf8f5;
}

.esthome-checkout-profile-title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 700;
}

.esthome-checkout-profile-text {
	margin: 0 0 0.75rem;
	font-size: 0.82rem;
	color: #5a524c;
	line-height: 1.45;
}

.esthome-checkout-profile-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.esthome-checkout-profile-btn {
	height: 2.5rem;
	padding: 0 0.9rem;
	border: 1px solid #2a2421;
	background: #fff;
	font: inherit;
	font-size: 0.8rem;
}

.esthome-checkout-saved {
	margin: 0 0 1.2rem;
}

.esthome-checkout-saved-title {
	margin: 0 0 0.3rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-checkout-saved-text {
	margin: 0 0 0.7rem;
	font-size: 0.8rem;
	line-height: 1.4;
	color: #5a524c;
}

.esthome-checkout-saved-bar {
	display: flex;
	gap: 0.55rem;
	overflow-x: auto;
	padding-bottom: 0.15rem;
	scrollbar-width: thin;
}

.esthome-checkout-saved-filled {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #faf8f5;
}

.esthome-checkout-saved-filled[hidden],
.esthome-checkout-saved-bar[hidden] {
	display: none;
}

.esthome-checkout-saved-filled-copy {
	margin: 0;
	min-width: 0;
}

.esthome-checkout-saved-filled-kicker {
	display: block;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-checkout-saved-filled-copy strong {
	display: block;
	margin-top: 0.18rem;
	font-size: 0.88rem;
	font-weight: 650;
	color: #2a2421;
	line-height: 1.3;
}

.esthome-checkout-saved-change {
	flex-shrink: 0;
	min-height: 2.2rem;
	padding: 0.4rem 0.95rem;
	border: 1px solid #2a2421;
	border-radius: 9999px;
	background: #fff;
	color: #2a2421;
	font-family: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-checkout-saved.is-filled .esthome-checkout-saved-title {
	display: none;
}

.esthome-checkout-saved.is-filled ~ [data-checkout-shipping-fields],
.esthome-checkout-saved.is-filled ~ [data-invoice-compact],
.esthome-checkout-saved.is-filled ~ [data-shipping-compact],
.esthome-checkout-saved.is-filled ~ [data-checkout-invoice-fields] .woocommerce-billing-fields__field-wrapper {
	display: none !important;
}

[data-checkout-shipping-fields].is-compact-hidden {
	display: none;
}

.esthome-checkout-saved-change:hover {
	background: #2a2421;
	color: #f7f4ee;
}

.esthome-checkout-saved-chip {
	flex: 1 1 8.5rem;
	min-width: 8.5rem;
	max-width: 16rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.22rem;
	padding: 0.72rem 0.85rem 0.78rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #faf8f5;
	color: #2a2421;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.esthome-checkout-saved-chip strong {
	font-size: 0.84rem;
	font-weight: 650;
}

.esthome-checkout-saved-chip span:not(.esthome-checkout-saved-edit) {
	font-size: 0.74rem;
	line-height: 1.35;
	color: #5a524c;
}

.esthome-checkout-saved-chip .esthome-checkout-saved-edit {
	display: inline-block;
	margin-top: 0.28rem;
	font-size: 0.74rem;
	font-weight: 600;
	color: #5a524c;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.esthome-checkout-saved-chip:hover,
.esthome-checkout-saved-chip.is-active {
	border-color: #2a2421;
	background: #fff;
}

.esthome-checkout-saved-chip:hover .esthome-checkout-saved-edit,
.esthome-checkout-saved-chip.is-active .esthome-checkout-saved-edit {
	color: #2a2421;
}

.esthome-checkout-saved-chip[data-saved-other] {
	justify-content: flex-start;
}

@media (min-width: 768px) {
	#esthome-account-drawer,
	.esthome-account-drawer {
		display: none !important;
	}
}

.esthome-wishlist-pruned {
	margin: 0 0 1.75rem;
	padding: 1rem 1.25rem;
	border-radius: 1.25rem;
	background: #f3f1ed;
	border: 1px solid #e8e2d9;
}

.esthome-wishlist-pruned[hidden] {
	display: none !important;
}

.esthome-wishlist-pruned p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	font-weight: 300;
	color: #5a524c;
}

.esthome-wishlist-save {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0 0 1.75rem;
	padding: 1.15rem 1.25rem 1.25rem;
	border-radius: 1.25rem;
	background: #f3f1ed;
	border: 1px solid #e8e2d9;
}

.esthome-wishlist-save[hidden] {
	display: none !important;
}

.esthome-wishlist-save-title {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.35rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: #2a2421;
}

.esthome-wishlist-save-text {
	margin: 0.4rem 0 0;
	font-size: 0.9rem;
	line-height: 1.5;
	font-weight: 300;
	color: #5a524c;
}

.esthome-wishlist-save-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.esthome-wishlist-save-btn {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 0.65rem 1.15rem;
	background: #2e2520;
	color: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.esthome-wishlist-save-btn:hover {
	background: #4a423d;
}

.esthome-wishlist-save-btn--ghost {
	background: transparent;
	color: #2a2421;
	box-shadow: inset 0 0 0 1px #e8e2d9;
}

.esthome-wishlist-save-btn--ghost:hover {
	background: #efece6;
}

@media (min-width: 640px) {
	.esthome-wishlist-save {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 1.25rem 1.5rem;
	}

	.esthome-wishlist-save-copy {
		max-width: 38rem;
	}
}

.esthome-wishlist-toast {
	position: fixed;
	left: 50%;
	bottom: 5.5rem;
	z-index: 80;
	max-width: calc(100% - 2rem);
	padding: 0.75rem 1.15rem;
	border-radius: 999px;
	background: #2a2421;
	color: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	line-height: 1.35;
	text-align: center;
	box-shadow: 0 10px 30px rgba(42, 36, 33, 0.18);
	transform: translateX(-50%);
}

.esthome-wishlist-toast[hidden] {
	display: none !important;
}

@media (min-width: 768px) {
	.esthome-wishlist-toast {
		bottom: 1.5rem;
	}
}

/* ---------- Cart (Selsey-like, Japandi) ---------- */
.esthome-cart-page .woocommerce-notices-wrapper:empty {
	display: none;
}

.esthome-cart-page .woocommerce-message,
.esthome-cart-page .woocommerce-info,
.esthome-cart-page .woocommerce-error {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	border-radius: 1rem;
	background: #f3f1ed;
	border: 1px solid #e8e2d9;
	color: #2a2421;
	font-size: 0.875rem;
}

.esthome-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 2.5rem 0 2.25rem;
}

.esthome-cart-empty-title {
	margin: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.85rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #2a2421;
}

.esthome-cart-empty-text {
	margin: 0.85rem 0 0;
	max-width: 22rem;
	font-size: 0.95rem;
	line-height: 1.5;
	font-weight: 400;
	color: #5a524c;
}

.esthome-cart-empty-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.5rem;
	padding: 0.85rem 1.6rem;
	border-radius: 999px;
	background: #2e2520;
	color: #faf8f5;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.esthome-cart-empty-cta:hover {
	background: #4a423d;
	color: #faf8f5;
}

.esthome-cart-title {
	margin: 0 0 1.5rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #2a2421;
}

.esthome-cart-layout {
	display: grid;
	gap: 1.5rem;
}

.esthome-cart-form {
	position: relative;
	min-width: 0;
}

.esthome-cart-items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.esthome-cart-item {
	display: grid;
	grid-template-columns: 5.25rem 1fr;
	gap: 0.85rem;
	padding: 1rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
}

.esthome-cart-item-media {
	overflow: hidden;
	border-radius: 0.75rem;
	background: #efece6;
	aspect-ratio: 1;
}

.esthome-cart-item-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.esthome-cart-item-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}

.esthome-cart-item-name {
	display: block;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
	color: #2a2421;
	text-decoration: none;
}

.esthome-cart-item-name:hover {
	opacity: 0.72;
}

.esthome-cart-item-eta {
	display: block;
	margin: 0.28rem 0 0.35rem;
	font-size: 0.74rem;
	font-weight: 400;
	color: #8c827a;
	line-height: 1.35;
}

.esthome-cart-item-info .variation {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: #8c827a;
}

.esthome-cart-item-info .variation p,
.esthome-cart-item-info .variation dd,
.esthome-cart-item-info .variation dt {
	margin: 0;
	display: inline;
}

.esthome-cart-item-price {
	margin-top: 0.45rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-cart-item-price del {
	margin-right: 0.4rem;
	color: #8c827a;
	font-weight: 400;
}

.esthome-cart-item-price ins {
	text-decoration: none;
	color: #8b3a2a;
}

.esthome-cart-item-info .omnibus-price-info {
	margin: 0.25rem 0 0;
	font-size: 0.72rem;
	font-weight: 400;
	color: #8c827a;
}

.esthome-cart-remove {
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: #8c827a;
	border-radius: 999px;
}

.esthome-cart-remove svg {
	width: 1.15rem;
	height: 1.15rem;
}

.esthome-cart-remove:hover {
	color: #2a2421;
	background: #f3f1ed;
}

.esthome-cart-item-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.85rem;
}

.esthome-cart-item-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.7rem;
	min-width: 0;
}

.esthome-cart-wish {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	padding: 0.28rem 0.1rem;
	border: 0;
	background: none;
	color: #5a524c;
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 500;
	cursor: pointer;
}

.esthome-cart-wish svg {
	width: 1.05rem;
	height: 1.05rem;
	flex-shrink: 0;
}

.esthome-cart-wish:hover {
	color: #2a2421;
}

.esthome-cart-wish[aria-pressed="true"] {
	color: #8b3a2a;
}

.esthome-cart-qty {
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	background: #fff;
}

.esthome-cart-qty .qty {
	width: 1.5rem;
	border: 0;
	padding: 0;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 600;
	color: #2a2421;
	background: transparent;
}

.esthome-cart-qty .esthome-qty-minus,
.esthome-cart-qty .esthome-qty-plus {
	width: 1.35rem;
	height: 1.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	color: #2a2421;
	cursor: pointer;
	font-size: 1.05rem;
	line-height: 1;
}

.esthome-cart-item-subtotal {
	font-size: 1.05rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-cart-delivery {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: 0.85rem;
	padding: 0.9rem 1rem;
	background: #f3f1ed;
	border-radius: 1rem;
	color: #2a2421;
	font-size: 0.9rem;
	font-weight: 600;
}

.esthome-cart-delivery-icon {
	display: inline-flex;
	width: 1.35rem;
	height: 1.35rem;
	color: #2a2421;
}

.esthome-cart-delivery-icon svg {
	width: 100%;
	height: 100%;
}

.esthome-cart-delivery-value {
	margin-left: auto;
	font-weight: 700;
}

.esthome-cart-ship-note {
	margin: 0.55rem 0 0;
	font-size: 0.78rem;
	line-height: 1.45;
	color: #8c827a;
}

.esthome-cart-coupon {
	margin-top: 1.1rem;
}

.esthome-cart-coupon label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: #5a524c;
}

.esthome-cart-coupon-row {
	display: flex;
	gap: 0.5rem;
}

.esthome-cart-coupon-row input {
	flex: 1;
	min-width: 0;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.65rem 0.95rem;
	background: #fff;
	color: #2a2421;
	font-size: 0.85rem;
}

.esthome-cart-coupon-btn {
	appearance: none;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.65rem 1rem;
	background: #fff;
	color: #2a2421;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-cart-coupon-btn:hover {
	background: #f3f1ed;
}

.esthome-cart-update {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.esthome-cart-aside {
	min-width: 0;
}

.esthome-cart-summary {
	padding: 1.25rem 1.2rem 1.3rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
}

.esthome-cart-summary-title {
	margin: 0 0 1rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-ship-progress {
	margin: 0 0 1.05rem;
	padding: 0.85rem 0.95rem 0.9rem;
	background: #f3f1ed;
	border-radius: 1rem;
}

.esthome-ship-progress-copy {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0 0 0.62rem;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.4;
	color: #2a2421;
}

.esthome-ship-progress-copy p {
	margin: 0;
}

.esthome-ship-progress-icon {
	display: inline-flex;
	width: 1.15rem;
	height: 1.15rem;
	flex-shrink: 0;
	margin-top: 0.05rem;
}

.esthome-ship-progress-icon svg {
	width: 100%;
	height: 100%;
}

.esthome-ship-progress-track {
	height: 0.38rem;
	border-radius: 999px;
	background: #e8e2d9;
	overflow: hidden;
}

.esthome-ship-progress-fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #2a2421;
}

.esthome-cart-promo {
	margin: 0 0 1.05rem;
	padding-bottom: 1.05rem;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-cart-promo-toggle {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: #2a2421;
	cursor: pointer;
	text-align: left;
}

.esthome-cart-promo-icon {
	display: inline-flex;
	width: 1.15rem;
	height: 1.15rem;
	flex-shrink: 0;
	color: #5a524c;
}

.esthome-cart-promo-icon svg {
	width: 100%;
	height: 100%;
}

.esthome-cart-promo-copy {
	flex: 1;
	min-width: 0;
	font-size: 0.82rem;
	font-weight: 500;
}

.esthome-cart-promo-add {
	flex-shrink: 0;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.14em;
	white-space: nowrap;
}

.esthome-cart-promo-form {
	margin-top: 0.75rem;
}

.esthome-cart-promo-row {
	display: flex;
	gap: 0.45rem;
}

.esthome-cart-promo-row input {
	flex: 1;
	min-width: 0;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.62rem 0.95rem;
	background: #fff;
	color: #2a2421;
	font-family: inherit;
	font-size: 0.86rem;
}

.esthome-cart-promo-form .esthome-coupon-error {
	margin: 0.35rem 0 0;
}

.esthome-ssl-tip {
	position: relative;
}

.esthome-ssl-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.78rem;
	color: #5a524c;
	cursor: pointer;
	text-align: left;
}

.esthome-ssl-trigger svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.esthome-ssl-trigger span {
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 0.18em;
}

.esthome-ssl-pop {
	position: absolute;
	left: 0;
	bottom: calc(100% + 0.55rem);
	z-index: 30;
	width: min(18.5rem, calc(100vw - 2.5rem));
	padding: 0.9rem 1rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	box-shadow: 0 10px 28px rgba(42, 36, 33, 0.1);
}

.esthome-ssl-pop-kicker {
	margin: 0 0 0.32rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-ssl-pop p {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-checkout .place-order .esthome-ssl-tip,
.esthome-is-checkout #payment .esthome-ssl-tip {
	margin-top: 0.85rem;
}

.esthome-is-checkout .esthome-nip-field .optional {
	display: none;
}

.esthome-is-checkout .esthome-nip-field input::placeholder {
	color: #8c827a;
}

.esthome-cart-summary-rows {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.esthome-cart-summary-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-cart-summary-row strong {
	font-weight: 600;
	color: #2a2421;
}

.esthome-cart-summary-total {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid #2a2421;
	font-size: 0.95rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-order-total {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
}

.esthome-order-total-label,
.esthome-order-total-value {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.esthome-order-total-label {
	flex: 0 1 auto;
	align-items: flex-start;
	text-align: left;
}

.esthome-order-total-value {
	flex: 0 0 auto;
	align-items: flex-end;
	text-align: right;
	margin-left: auto;
}

.esthome-order-total-label > span,
.esthome-order-total-value > strong {
	font-size: 0.95rem;
	font-weight: 700;
	color: #2a2421;
	line-height: 1.25;
}

.esthome-order-total-value > strong {
	font-size: 1.08rem;
	white-space: nowrap;
}

.esthome-order-total-label small,
.esthome-order-total-value small {
	display: block;
	margin-top: 0.16rem;
	font-size: 0.72rem;
	font-weight: 500;
	color: #8c827a;
	line-height: 1.3;
}

.esthome-order-total-label small {
	text-align: left;
}

.esthome-order-total-value small,
.esthome-order-total-value small.includes_tax {
	text-align: right;
	white-space: nowrap;
}

@media (max-width: 379px) {
	.esthome-order-total-value small {
		white-space: normal;
		max-width: 9.5rem;
	}
}

.esthome-cart-checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 1.1rem;
	padding: 0.9rem 1.25rem;
	border-radius: 999px;
	background: #2e2520;
	color: #faf8f5 !important;
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.esthome-cart-checkout:hover {
	background: #4a423d;
}

.esthome-cart-trust {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.esthome-cart-trust li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	color: #5a524c;
}

.esthome-cart-trust .esthome-ssl-tip {
	width: 100%;
}

.esthome-cart-trust svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	color: #2a2421;
}

.esthome-cart-trust a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}

.esthome-cart-trust a:hover {
	color: #2a2421;
}

@media (min-width: 640px) {
	.esthome-cart-empty {
		padding: 3.5rem 0 2.5rem;
	}

	.esthome-cart-empty-title {
		font-size: 2.15rem;
	}

	.esthome-cart-item {
		grid-template-columns: 6.5rem 1fr;
		padding: 1.15rem 1.2rem;
	}
}

@media (min-width: 1024px) {
	.esthome-cart-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(17.5rem, 0.72fr);
		align-items: start;
		gap: 2rem;
	}

	.esthome-cart-aside {
		position: sticky;
		top: 6.5rem;
	}

	.esthome-cart-title {
		font-size: 2rem;
	}
}

.esthome-cart-rail {
	margin: 0 0 2.25rem;
	padding-top: 0.5rem;
	text-align: left;
}

.esthome-cart-rail-title {
	margin: 0 0 1rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.55rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: #2a2421;
}

.esthome-cart-rail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 0.75rem;
}

.esthome-cart-more-tile {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #2a2421;
}

.esthome-cart-more-tile-media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	background: #f3f1ed;
	border: 1px solid #e8e2d9;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.esthome-cart-more-tile:hover .esthome-cart-more-tile-media {
	background: #e8e4dc;
	border-color: #ddd6cb;
}

.esthome-cart-more-tile-label {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
}

.esthome-cart-more-tile-arrow {
	font-size: 1.15rem;
	line-height: 1;
}

@media (min-width: 1024px) {
	.esthome-cart-rail-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem 1.25rem;
	}

	.esthome-cart-rail-title {
		font-size: 1.75rem;
	}
}

/* -------------------------------------------------------------------------
 * Mini-cart drawer
 * ------------------------------------------------------------------------- */
html.esthome-mini-cart-open,
html.esthome-mini-cart-open body {
	overflow: hidden;
}

.esthome-mini-cart {
	position: fixed;
	inset: 0;
	z-index: 240;
	display: flex;
	justify-content: flex-end;
}

.esthome-mini-cart[hidden] {
	display: none !important;
}

.esthome-mini-cart-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(42, 36, 33, 0.42);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.28s ease;
}

.esthome-mini-cart.is-open .esthome-mini-cart-backdrop {
	opacity: 1;
}

.esthome-mini-cart-dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(26.5rem, 100%);
	height: 100%;
	max-height: 100dvh;
	background: #fff;
	box-shadow: -12px 0 40px rgba(42, 36, 33, 0.12);
	transform: translateX(100%);
	transition: transform 0.28s ease;
}

.esthome-mini-cart.is-open .esthome-mini-cart-dialog {
	transform: translateX(0);
}

.esthome-mini-cart-panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.esthome-mini-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-shrink: 0;
	padding: 1.15rem 1.15rem 0.85rem;
}

.esthome-mini-cart-title {
	margin: 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-mini-cart-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	border: 1px solid #2a2421;
	border-radius: 999px;
	background: #fff;
	color: #2a2421;
	cursor: pointer;
}

.esthome-mini-cart-close svg {
	width: 0.95rem;
	height: 0.95rem;
}

.esthome-mini-cart-close:hover {
	background: #f3f1ed;
}

.esthome-mini-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.15rem;
	padding: 1.5rem 1.15rem 1.35rem;
}

.esthome-mini-cart-empty p {
	margin: 0;
	font-size: 0.95rem;
	color: #5a524c;
}

.esthome-mini-cart-items {
	list-style: none;
	margin: 0;
	padding: 0 1.15rem;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.esthome-mini-cart-item {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	gap: 0.75rem;
	padding: 0.95rem 0;
	border-bottom: 1px solid #eee;
}

.esthome-mini-cart-item:last-child {
	border-bottom: 0;
}

.esthome-mini-cart-thumb {
	overflow: hidden;
	border-radius: 0.65rem;
	background: #efece6;
	aspect-ratio: 1;
}

.esthome-mini-cart-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.esthome-mini-cart-body {
	min-width: 0;
}

.esthome-mini-cart-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem;
}

.esthome-mini-cart-name {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.esthome-mini-cart-name:hover {
	opacity: 0.72;
}

.esthome-mini-cart-remove {
	display: inline-flex;
	width: 1.7rem;
	height: 1.7rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: #8c827a;
	border-radius: 999px;
}

.esthome-mini-cart-remove svg {
	width: 1.05rem;
	height: 1.05rem;
}

.esthome-mini-cart-remove:hover {
	color: #2a2421;
	background: #f3f1ed;
}

.esthome-mini-cart-meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.35rem;
}

.esthome-mini-cart-meta-left {
	min-width: 0;
}

.esthome-mini-cart-ship {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.4;
	color: #8c827a;
}

.esthome-mini-cart-meta .variation {
	margin: 0.2rem 0 0;
	font-size: 0.72rem;
	color: #8c827a;
}

.esthome-mini-cart-meta .variation p,
.esthome-mini-cart-meta .variation dd,
.esthome-mini-cart-meta .variation dt {
	margin: 0;
	display: inline;
}

.esthome-mini-cart-unit {
	text-align: right;
	flex-shrink: 0;
}

.esthome-mini-cart-unit-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: baseline;
	gap: 0.2rem 0.28rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-mini-cart-unit del {
	color: #8c827a;
	font-weight: 400;
}

.esthome-mini-cart-unit ins {
	text-decoration: none;
	color: #8b3a2a;
}

.esthome-mini-cart-szt {
	font-weight: 500;
	color: #5a524c;
}

.esthome-mini-cart-unit .omnibus-price-info,
.esthome-mini-cart-unit .wc-omnibus-price {
	margin: 0.15rem 0 0;
	max-width: 11rem;
	font-size: 0.62rem;
	font-weight: 400;
	line-height: 1.35;
	color: #8c827a;
}

.esthome-mini-cart-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.7rem;
}

.esthome-mini-qty,
.esthome-mini-qty-static {
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.28rem 0.55rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: #fff;
}

.esthome-mini-qty-static {
	min-width: 2.5rem;
	justify-content: center;
	font-size: 0.85rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-mini-qty-minus,
.esthome-mini-qty-plus {
	width: 1.35rem;
	height: 1.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	color: #2a2421;
	cursor: pointer;
	font-size: 1.05rem;
	line-height: 1;
}

.esthome-mini-qty-input {
	width: 1.5rem;
	border: 0;
	padding: 0;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 600;
	color: #2a2421;
	background: transparent;
	appearance: textfield;
	-moz-appearance: textfield;
	pointer-events: none;
}

.esthome-mini-qty-input::-webkit-outer-spin-button,
.esthome-mini-qty-input::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.esthome-mini-cart-line {
	font-size: 0.98rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-mini-cart-foot {
	flex-shrink: 0;
	padding: 0.95rem 1.15rem 1.2rem;
	border-top: 1px solid #eee;
	background: #fff;
}

.esthome-mini-cart-sum {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.95rem;
	color: #2a2421;
}

.esthome-mini-cart-sum strong {
	font-size: 1.05rem;
	font-weight: 700;
}

.esthome-mini-cart-note {
	margin: 0.35rem 0 0.95rem;
	font-size: 0.72rem;
	line-height: 1.45;
	color: #8c827a;
}

.esthome-mini-cart-actions {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.esthome-mini-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.esthome-mini-cart-btn--ghost {
	border: 1px solid #2a2421;
	background: #fff;
	color: #2a2421;
}

.esthome-mini-cart-btn--ghost:hover {
	background: #f3f1ed;
}

.esthome-mini-cart-btn--solid {
	border: 1px solid #2a2421;
	background: #2a2421;
	color: #fff;
}

.esthome-mini-cart-btn--solid:hover {
	background: #4a423d;
	border-color: #4a423d;
}

.esthome-mini-cart.is-busy .esthome-mini-cart-items,
.esthome-mini-cart.is-busy .esthome-mini-cart-foot {
	opacity: 0.55;
	pointer-events: none;
}

@media (min-width: 768px) {
	.esthome-mini-cart-title {
		font-size: 1.35rem;
	}

	.esthome-mini-cart-head,
	.esthome-mini-cart-items,
	.esthome-mini-cart-foot,
	.esthome-mini-cart-empty {
		padding-left: 1.35rem;
		padding-right: 1.35rem;
	}
}

/* -------------------------------------------------------------------------
 * Contact page
 * ------------------------------------------------------------------------- */
.esthome-contact {
	background: #f7f4ee;
	color: #2a2421;
}

.esthome-contact-inner {
	max-width: 48rem;
	margin: 0 auto;
	padding: 2rem 1rem 3.25rem;
}

.esthome-contact-header h1 {
	margin: 0 0 0.5rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.35rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-contact-header p {
	margin: 0 0 1rem;
	max-width: 36rem;
	font-size: 0.98rem;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-contact-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0.75rem;
	margin-bottom: 0.9rem;
}

.esthome-contact-card {
	min-width: 0;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	padding: 1.05rem 1rem 1.1rem;
}

.esthome-contact-card h2 {
	margin: 0 0 0.85rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-contact-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.esthome-contact-card li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid #f3f1ed;
	font-size: 0.9rem;
	color: #2a2421;
}

.esthome-contact-card li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.esthome-contact-card li span {
	color: #8c827a;
}

.esthome-contact-card li a {
	font-size: 0.9rem;
	font-weight: 500;
	border-bottom: 0;
	color: #2a2421;
}

.esthome-contact-card li a:hover {
	border-bottom-color: transparent;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.esthome-contact-card address {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0;
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #5a524c;
}

.esthome-contact-form-wrap {
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.5rem;
	padding: 1.2rem 1.15rem 1.3rem;
	margin-bottom: 0.9rem;
}

.esthome-contact-form-wrap h2 {
	margin: 0 0 1.15rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-contact-legal li {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.12rem;
}

.esthome-contact-legal li span {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.esthome-contact-form {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.esthome-contact-kind {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.28rem;
	padding: 0.28rem;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	background: #faf8f5;
}

.esthome-contact-kind-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 2.55rem;
	padding: 0.55rem 0.7rem;
	border-radius: 999px;
	cursor: pointer;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.2;
	color: #5a524c;
	text-align: center;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.esthome-contact-kind-btn input {
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	cursor: pointer;
}

.esthome-contact-kind-btn:has(input:checked) {
	background: #2a2421;
	color: #fff;
}

.esthome-contact-kind-btn:hover:not(:has(input:checked)) {
	color: #2a2421;
}

.esthome-contact-form [data-contact-company-fields],
.esthome-contact-form [data-contact-person-fields] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.esthome-contact-form [data-contact-company-fields][hidden],
.esthome-contact-form [data-contact-person-fields][hidden] {
	display: none;
}

.esthome-contact-status {
	margin: 0;
	padding: 0.7rem 0.9rem;
	border-radius: 0.9rem;
	font-size: 0.85rem;
	background: #f3f1ed;
}

.esthome-contact-status.is-error {
	color: #8b3a2a;
}

.esthome-contact-status.is-ok {
	color: #2a2421;
}

.esthome-contact-field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.esthome-contact-field > span {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-contact-field input,
.esthome-contact-field select,
.esthome-contact-field textarea {
	width: 100%;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	background: #faf8f5;
	padding: 0.8rem 1rem;
	font: inherit;
	font-size: 0.92rem;
	color: #2a2421;
	appearance: none;
}

.esthome-contact-field input:focus,
.esthome-contact-field select:focus,
.esthome-contact-field textarea:focus {
	outline: none;
	border-color: #2a2421;
	background: #fff;
}

.esthome-contact-field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%232A2421' stroke-width='1.6'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	padding-right: 2.4rem;
}

.esthome-contact-field textarea {
	min-height: 9rem;
	resize: vertical;
}

.esthome-contact-field small {
	font-size: 0.75rem;
	color: #8c827a;
}

.esthome-contact-counter {
	align-self: flex-end;
	font-size: 0.72rem;
	color: #8c827a;
}

.esthome-contact-hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.esthome-contact-submit {
	width: 100%;
	margin-top: 0.35rem;
	min-height: 3.15rem;
	border: 0;
	border-radius: 999px;
	background: #2a2421;
	color: #fff;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-contact-submit:hover {
	background: #4a423d;
}

.esthome-contact-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

@media (min-width: 768px) {
	.esthome-contact-inner {
		padding: 2.35rem 1.5rem 4rem;
	}

	.esthome-contact-header h1 {
		font-size: 2.85rem;
	}

	.esthome-contact-cards {
		gap: 0.9rem;
	}

	.esthome-contact-form-wrap {
		padding: 1.4rem 1.4rem 1.5rem;
	}
}

/* -------------------------------------------------------------------------
 * Payment methods page
 * ------------------------------------------------------------------------- */
.esthome-payments {
	background: #f7f4ee;
	color: #2a2421;
}

.esthome-payments-inner {
	max-width: 56rem;
	margin: 0 auto;
	padding: 2.5rem 1rem 4.5rem;
}

.esthome-payments-header h1 {
	margin: 0 0 0.55rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.35rem;
	font-weight: 500;
	letter-spacing: -0.03em;
}

.esthome-payments-lead {
	margin: 0 0 0.75rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-payments-header p {
	margin: 0 0 0.45rem;
	max-width: 36rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-payments-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	list-style: none;
	margin: 1.75rem 0 0;
	padding: 0;
}

.esthome-payments-card {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.25rem 1.15rem 1.3rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
}

.esthome-payments-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.5rem;
}

.esthome-payments-logos img {
	height: 1.75rem;
	width: auto;
	max-width: 7.5rem;
	object-fit: contain;
}

.esthome-payments-card p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #5a524c;
}

.esthome-payments-strip {
	margin: 1.75rem 0 0;
	padding: 1rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
}

.esthome-payments-strip img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.esthome-payments-strip figcaption {
	margin-top: 0.75rem;
	font-size: 0.8rem;
	color: #8c827a;
	text-align: center;
}

.esthome-payments-extra {
	margin: 2rem 0 0;
	padding: 1.5rem 1.25rem 1.6rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
}

.esthome-payments-extra h2 {
	margin: 0 0 0.65rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-payments-extra p {
	margin: 0 0 0.85rem;
	font-size: 0.92rem;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-payments-extra .esthome-bank-box {
	margin-top: 0.75rem;
}

.esthome-payments-note {
	margin: 1.5rem 0 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: #5a524c;
	text-align: center;
}

.esthome-payments-help {
	margin-top: 2.75rem;
	padding: 2.15rem 1.25rem 2.25rem;
	text-align: center;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.5rem;
}

.esthome-payments-help h2 {
	margin: 0 0 0.25rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
}

.esthome-payments-help-sub {
	margin: 0 0 1.15rem;
	font-size: 0.98rem;
	color: #5a524c;
}

.esthome-payments-help-list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
}

.esthome-payments-help-list li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.92rem;
	color: #2a2421;
}

.esthome-payments-help-list a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-payments-help-icon {
	display: inline-flex;
	width: 1.05rem;
	height: 1.05rem;
	color: #8c827a;
}

.esthome-payments-help-icon svg {
	width: 100%;
	height: 100%;
}

.esthome-payments-help-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.95rem;
	padding: 0.7rem 1.4rem;
	border-radius: 999px;
	background: #2a2421;
	color: #fff !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none !important;
}

.esthome-payments-help-cta:hover {
	background: #4a423d;
}

.esthome-pay-badges {
	overflow: visible;
}

.esthome-pay-badge {
	overflow: visible;
	line-height: 0;
}

.esthome-pay-badge:hover {
	opacity: 0.85;
}

.esthome-pay-badge-img {
	display: block;
	height: 18px;
	width: auto;
	max-width: none;
	object-fit: contain;
	opacity: 0.95;
	transition: opacity 0.2s ease;
}

.esthome-pay-badge:hover .esthome-pay-badge-img {
	opacity: 1;
}

.esthome-pay-badge--p24 {
	line-height: 0;
	text-decoration: none !important;
}

.esthome-pay-badge-img--p24 {
	height: 22px !important;
	width: auto !important;
	max-width: 7rem !important;
}

.esthome-payments-logos img[alt="Przelewy24"] {
	height: 2.15rem;
	max-width: 9.5rem;
}

@media (min-width: 768px) {
	.esthome-payments-inner {
		padding: 3rem 1.5rem 5.5rem;
	}

	.esthome-payments-header h1 {
		font-size: 2.85rem;
	}

	.esthome-payments-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}

	.esthome-payments-card {
		min-height: 100%;
	}
}

/* -------------------------------------------------------------------------
 * Podstawowe informacje
 * ------------------------------------------------------------------------- */
.esthome-basic-info {
	background: #fff;
	color: #2a2421;
}

.esthome-basic-info-inner {
	max-width: 40rem;
	margin: 0 auto;
	padding: 2.5rem 1.15rem 4.5rem;
}

.esthome-basic-info-inner--wide {
	max-width: 44rem;
}

.esthome-basic-info-header {
	margin: 0 0 2.75rem;
	text-align: center;
}

.esthome-basic-info-kicker {
	margin: 0 0 0.45rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-basic-info-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.35rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-basic-info-block {
	margin: 0 0 2.75rem;
	text-align: center;
}

.esthome-basic-info-block h2 {
	margin: 0 0 1rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-basic-info-block h2::after {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1px;
	margin: 0.65rem auto 0;
	background: #2a2421;
}

.esthome-basic-info-block p {
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-basic-info-list {
	list-style: none;
	margin: 0 0 0.85rem;
	padding: 0;
	display: inline-block;
	text-align: left;
}

.esthome-basic-info-list li {
	position: relative;
	padding-left: 1rem;
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #5a524c;
}

.esthome-basic-info-list li strong {
	color: #2a2421;
	font-weight: 500;
}

.esthome-basic-info-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.28rem;
	height: 0.28rem;
	border-radius: 999px;
	background: #2a2421;
}

.esthome-basic-info-list a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.esthome-basic-info-link {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.92rem;
	font-weight: 500;
	color: #2a2421;
	text-decoration: none;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-basic-info-link:hover {
	border-bottom-color: #2a2421;
}

.esthome-bank-box {
	display: inline-block;
	margin-top: 0.75rem;
	padding: 1.1rem 1.25rem;
	text-align: left;
	background: #f7f4ee;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
}

.esthome-bank-box p {
	margin: 0 0 0.25rem;
	font-size: 0.9rem;
	color: #2a2421;
}

.esthome-bank-box p:last-child {
	margin-bottom: 0;
}

.esthome-warranty-tagline {
	margin: 0 0 0.85rem !important;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif !important;
	font-size: 1.55rem !important;
	font-weight: 500 !important;
	letter-spacing: -0.02em;
	line-height: 1.25 !important;
	color: #2a2421 !important;
}

.esthome-warranty-lead .esthome-warranty-tagline + p {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.esthome-basic-info-inner {
		padding: 3rem 1.5rem 5.5rem;
	}

	.esthome-basic-info-header h1 {
		font-size: 2.85rem;
	}

	.esthome-warranty-tagline {
		font-size: 1.85rem !important;
	}
}

/* -------------------------------------------------------------------------
 * O firmie / About
 * ------------------------------------------------------------------------- */
.esthome-about {
	background: #fff;
	color: #2a2421;
}

.esthome-about-inner {
	max-width: 52rem;
	margin: 0 auto;
	padding: 2.5rem 1.15rem 5rem;
}

.esthome-about-header {
	margin: 0 0 2.5rem;
	text-align: center;
}

.esthome-about-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: #2a2421;
}

.esthome-about-subtitle {
	margin: 0.85rem 0 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-about-lead {
	margin: 0 0 2.75rem;
	text-align: center;
}

.esthome-about-lead p {
	margin: 0 0 1.1rem;
	font-size: 1.02rem;
	font-weight: 300;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-about-lead p:last-child {
	margin-bottom: 0;
}

.esthome-about-stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	margin: 0 0 3.25rem;
	background: #e8e2d9;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	overflow: hidden;
}

.esthome-about-stat {
	padding: 1.35rem 1.1rem;
	text-align: center;
	background: #f7f4ee;
}

.esthome-about-stat-value {
	margin: 0 0 0.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.65rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	color: #2a2421;
}

.esthome-about-stat-label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1.4;
	color: #8c827a;
}

.esthome-about-block {
	margin: 0 0 3rem;
	text-align: center;
}

.esthome-about-block h2 {
	margin: 0 0 1.25rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.85rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: #2a2421;
}

.esthome-about-block > p {
	margin: 0 0 1rem;
	font-size: 0.98rem;
	font-weight: 300;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-about-pillars {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 0.5rem;
	text-align: left;
}

.esthome-about-pillar {
	padding: 1.25rem 1.2rem 1.35rem;
	background: #f7f4ee;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
}

.esthome-about-pillar-num {
	display: block;
	margin: 0 0 0.55rem;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: #8c827a;
}

.esthome-about-pillar h3 {
	margin: 0 0 0.45rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-about-pillar p {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-about-cta {
	margin: 1.5rem 0 0;
	font-size: 0.98rem;
	font-weight: 300;
	line-height: 1.65;
	color: #5a524c;
}
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-about-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.25rem;
	margin-top: 0.35rem !important;
}

.esthome-about-faq {
	margin-top: 1.25rem;
	text-align: left;
}

.esthome-about-faq-item {
	border-bottom: 1px solid #e8e2d9;
}

.esthome-about-faq-item:first-child {
	border-top: 1px solid #e8e2d9;
}

.esthome-about-faq-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 1.05rem 0;
	border: 0;
	background: transparent;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	color: #2a2421;
	cursor: pointer;
}

.esthome-about-faq-trigger:hover {
	color: #5a524c;
}

.esthome-about-faq-answer {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-about-seo {
	margin-top: 1rem;
	padding-top: 2.5rem;
	border-top: 1px solid #e8e2d9;
	text-align: left;
}

.esthome-about-seo h2 {
	margin: 0 0 1rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.65rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: #2a2421;
}

.esthome-about-seo > p {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-about-seo-more {
	border: 0;
}

.esthome-about-seo-more summary {
	cursor: pointer;
	font-size: 0.92rem;
	font-weight: 500;
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	list-style: none;
}

.esthome-about-seo-more summary::-webkit-details-marker {
	display: none;
}

.esthome-about-seo-body {
	margin-top: 1.5rem;
}

.esthome-about-seo-body h3 {
	margin: 0 0 0.55rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.25rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-about-seo-body h3:not(:first-child) {
	margin-top: 1.5rem;
}

.esthome-about-seo-body p {
	margin: 0 0 0.75rem;
	font-size: 0.92rem;
	font-weight: 300;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-about-seo-body .esthome-basic-info-link {
	margin-right: 1rem;
}

@media (min-width: 640px) {
	.esthome-about-stats {
		grid-template-columns: repeat(3, 1fr);
	}

	.esthome-about-pillars {
		grid-template-columns: 1fr 1fr;
		gap: 1.1rem;
	}
}

@media (min-width: 960px) {
	.esthome-about-pillars {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 768px) {
	.esthome-about-inner {
		padding: 3rem 1.5rem 6rem;
	}

	.esthome-about-header h1 {
		font-size: 3rem;
	}

	.esthome-about-subtitle {
		font-size: 1.1rem;
	}

	.esthome-about-block h2 {
		font-size: 2.1rem;
	}
}

/* -------------------------------------------------------------------------
 * Polityka prywatności
 * ------------------------------------------------------------------------- */
.esthome-privacy {
	background: #fff;
	color: #2a2421;
}

.esthome-privacy-inner {
	max-width: 42rem;
	margin: 0 auto;
	padding: 2.5rem 1.15rem 4.5rem;
}

.esthome-privacy-header {
	margin: 0 0 2.25rem;
	text-align: center;
}

.esthome-privacy-kicker {
	margin: 0 0 0.45rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-privacy-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.35rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #2a2421;
}

.esthome-privacy-content {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-weight: 400;
	color: #5a524c;
}

.esthome-privacy-content > *:first-child {
	margin-top: 0;
}

.esthome-privacy-content h2 {
	margin: 2.35rem 0 0.85rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2a2421;
	line-height: 1.35;
}

.esthome-privacy-content h2::after {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1px;
	margin: 0.65rem 0 0;
	background: #2a2421;
}

.esthome-privacy-content h3 {
	margin: 1.5rem 0 0.55rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-privacy-content p {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-privacy-content ul,
.esthome-privacy-content ol {
	margin: 0.35rem 0 1rem;
	padding-left: 1.15rem;
}

.esthome-privacy-content li {
	margin: 0 0 0.4rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-privacy-content a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-privacy-content a:hover {
	color: #4a423d;
}

.esthome-privacy-content strong {
	font-weight: 600;
	color: #2a2421;
}

@media (min-width: 768px) {
	.esthome-privacy-inner {
		padding: 3rem 1.5rem 5.5rem;
	}

	.esthome-privacy-header h1 {
		font-size: 2.85rem;
	}
}

/* Status zamówienia - CTA */
.esthome-status-cta {
	margin-top: 1.35rem;
}

.esthome-status-cta-note {
	margin: 0 0 1rem !important;
	font-size: 0.92rem !important;
	color: #5a524c !important;
}

.esthome-status-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
}

.esthome-status-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	padding: 0.8rem 1.25rem;
	border: 1px solid #2a2421;
	border-radius: 999px;
	background: #2a2421;
	color: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.esthome-status-btn:hover {
	background: #4a423d;
	border-color: #4a423d;
	color: #faf8f5;
}

.esthome-status-btn--ghost {
	background: transparent;
	color: #2a2421;
}

.esthome-status-btn--ghost:hover {
	background: #2a2421;
	color: #faf8f5;
}
/* -------------------------------------------------------------------------
 * Zwroty + Reklamacje
 * ------------------------------------------------------------------------- */
.esthome-returns {
	background: #fff;
	color: #2a2421;
}

.esthome-returns-inner {
	max-width: 44rem;
	margin: 0 auto;
	padding: 2.5rem 1.15rem 4.5rem;
}

.esthome-returns-inner--form {
	max-width: 28rem;
}

.esthome-returns-header {
	margin: 0 0 1.75rem;
	text-align: center;
}

.esthome-returns-kicker {
	margin: 0 0 0.45rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-returns-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.35rem;
	font-weight: 500;
	letter-spacing: -0.03em;
}

.esthome-returns-intro {
	margin: 0 0 2.75rem;
	text-align: center;
}

.esthome-returns-intro p {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-returns-intro p:last-child {
	margin-bottom: 0;
}

.esthome-returns-remember {
	margin: 0 0 3.25rem;
}

.esthome-returns-remember h2 {
	margin: 0 0 1rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	text-align: left;
}

.esthome-returns-remember-body p {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #5a524c;
	text-align: left;
}

.esthome-returns-remember-body p:last-child {
	margin-bottom: 0;
}

.esthome-returns-address {
	margin: 0 0 3.25rem;
}

.esthome-returns-address h2 {
	margin: 0 0 1rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	text-align: left;
}

.esthome-returns-address address {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin: 0 0 0.75rem;
	font-style: normal;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #2a2421;
}

.esthome-returns-address p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-returns-forms {
	text-align: center;
}

.esthome-returns-forms h2 {
	margin: 0 0 1.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
}

.esthome-returns-forms h2::after {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1px;
	margin: 0.7rem auto 0;
	background: #2a2421;
}

.esthome-returns-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.75rem;
	text-align: left;
}

.esthome-returns-card {
	display: flex;
	flex-direction: column;
	padding: 1.35rem 1.25rem 1.4rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
}

.esthome-returns-card-icon {
	display: inline-flex;
	width: 1.65rem;
	height: 1.65rem;
	margin-bottom: 0.85rem;
	color: #2a2421;
}

.esthome-returns-card-icon svg {
	width: 100%;
	height: 100%;
}

.esthome-returns-card h3 {
	margin: 0 0 0.75rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.02rem;
	font-weight: 700;
}

.esthome-returns-card ul {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	flex: 1;
}

.esthome-returns-card li {
	position: relative;
	padding-left: 0.95rem;
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-returns-card li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #8c827a;
}

.esthome-returns-card-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1px solid #2a2421;
	border-radius: 0.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	color: #2a2421;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.esthome-returns-card-btn:hover {
	background: #2a2421;
	color: #faf8f5;
}

.esthome-rma-lead {
	margin: 0 0 1.5rem;
	text-align: center;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-rma-status {
	margin: 0 0 1rem;
	padding: 0.75rem 0.9rem;
	border-radius: 0.65rem;
	font-size: 0.88rem;
	line-height: 1.45;
	background: #f3f1ed;
	color: #2a2421;
}

.esthome-rma-status.is-error {
	background: #f6ebe8;
	color: #8b3a2a;
}

.esthome-rma-status.is-ok {
	background: #eef3ea;
	color: #2a2421;
}

.esthome-rma-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.esthome-rma-field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-rma-field abbr {
	color: #8b3a2a;
	text-decoration: none;
}

.esthome-rma-field input,
.esthome-rma-field textarea {
	width: 100%;
	padding: 0.75rem 0.85rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.35rem;
	background: #f3f1ed;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 400;
	color: #2a2421;
}

.esthome-rma-field input:focus,
.esthome-rma-field textarea:focus {
	outline: 2px solid #2a2421;
	outline-offset: 1px;
	background: #fff;
}

.esthome-rma-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
}

.esthome-rma-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.9rem 1.1rem;
	border: 0;
	border-radius: 0.35rem;
	background: #2a2421;
	color: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}

.esthome-rma-submit:hover {
	background: #4a423d;
}

.esthome-rma-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.esthome-rma-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.55rem;
	border: 0;
	background: transparent;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	color: #8c827a;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-rma-order {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-rma-items {
	margin: 0;
	padding: 0;
	border: 0;
}

.esthome-rma-items legend {
	margin: 0 0 0.65rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
}

.esthome-rma-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.65rem;
	align-items: center;
	padding: 0.75rem 0.85rem;
	margin: 0 0 0.5rem;
	background: #f7f4ee;
	border: 1px solid #e8e2d9;
	border-radius: 0.75rem;
}

.esthome-rma-item-name {
	font-size: 0.9rem;
	line-height: 1.35;
	color: #2a2421;
}

.esthome-rma-item-qty {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	color: #8c827a;
}

.esthome-rma-item-qty input {
	width: 3.25rem;
	padding: 0.35rem 0.4rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.3rem;
	background: #fff;
	font-size: 0.88rem;
	color: #2a2421;
}

.esthome-rma-done {
	text-align: center;
	padding: 1.5rem 0 0.5rem;
}

.esthome-rma-done p {
	margin: 0 0 1.25rem;
	font-size: 1rem;
	line-height: 1.6;
	color: #2a2421;
}

.esthome-rma-back-link {
	font-size: 0.9rem;
	color: #5a524c;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-rma-back-link:hover {
	color: #2a2421;
}

@media (min-width: 768px) {
	.esthome-returns-inner {
		padding: 3rem 1.5rem 5.5rem;
	}

	.esthome-returns-header h1 {
		font-size: 2.85rem;
	}

	.esthome-returns-cards {
		grid-template-columns: 1fr 1fr;
		gap: 1.15rem;
	}
}

/* -------------------------------------------------------------------------
 * Blog article (editorial)
 * ------------------------------------------------------------------------- */
.esthome-article {
	background: #f7f4ee;
	color: #2a2421;
}

.esthome-article-inner {
	max-width: 44rem;
	margin: 0 auto;
	padding: 2rem 1.15rem 4.5rem;
}

.esthome-article-crumbs {
	margin: 0 0 1.75rem;
}

.esthome-article-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.2rem 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.72rem;
	line-height: 1.5;
	color: #8c827a;
}

.esthome-article-crumbs li:not(:last-child)::after {
	content: "/";
	margin: 0 0.4rem;
	color: #d5d0c8;
}

.esthome-article-crumbs a {
	color: #8c827a;
	text-decoration: none;
}

.esthome-article-crumbs a:hover {
	color: #2a2421;
}

.esthome-article-crumbs li[aria-current="page"] {
	color: #5a524c;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esthome-article-header {
	margin: 0 0 1.75rem;
	text-align: center;
}

.esthome-article-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: clamp(2rem, 4.5vw, 2.85rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: #2a2421;
}

.esthome-article-meta {
	margin: 0.85rem 0 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	color: #8c827a;
}

.esthome-article-meta span[aria-hidden="true"] {
	margin: 0 0.35rem;
	opacity: 0.55;
}

.esthome-article-hero {
	margin: 0 0 1.75rem;
}

.esthome-article-hero-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1rem;
}

.esthome-article-hero figcaption,
.esthome-article-content figcaption,
.esthome-article-content .wp-element-caption {
	margin: 0.65rem 0 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.45;
	text-align: center;
	color: #8c827a;
}

.esthome-article-toc {
	margin: 0 0 2.25rem;
	padding: 1.15rem 1.2rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
}

.esthome-article-toc-title {
	margin: 0 0 0.65rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-article-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.esthome-article-toc li {
	margin: 0 0 0.35rem;
}

.esthome-article-toc a {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 400;
	color: #5a524c;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-article-toc a:hover {
	color: #2a2421;
}

.esthome-article-content {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.02rem;
	font-weight: 300;
	line-height: 1.7;
	color: #5a524c;
}

.esthome-article-content > *:first-child {
	margin-top: 0;
}

.esthome-article-content p {
	margin: 0 0 1.1rem;
}

.esthome-article-content .esthome-article-lead,
.esthome-article-content > p:first-of-type {
	font-size: 1.05rem;
	color: #5a524c;
}

.esthome-article-content h2 {
	margin: 2.35rem 0 0.9rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: clamp(1.55rem, 3vw, 1.95rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: #2a2421;
}

.esthome-article-content h3 {
	margin: 1.75rem 0 0.55rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.3;
	color: #2a2421;
}

.esthome-article-content a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-article-content a:hover {
	color: #5a524c;
}

.esthome-article-content strong {
	font-weight: 600;
	color: #2a2421;
}

.esthome-article-content ul,
.esthome-article-content ol {
	margin: 0 0 1.15rem;
	padding-left: 1.25rem;
}

.esthome-article-content li {
	margin: 0 0 0.35rem;
}

.esthome-article-content figure {
	margin: 1.75rem 0;
}

.esthome-article-content .wp-block-image img,
.esthome-article-content img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 1rem;
}

.esthome-article-content .wp-block-columns {
	gap: 0.85rem;
	margin: 1.5rem 0;
}

.esthome-article-content .wp-block-quote,
.esthome-article-content .esthome-pullquote {
	margin: 1.75rem 0;
	padding: 1.35rem 1.25rem;
	border: 0;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	text-align: center;
}

.esthome-article-content .wp-block-quote p,
.esthome-article-content .esthome-pullquote p {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.25rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	color: #2a2421;
}

.esthome-article-content .wp-block-quote cite,
.esthome-article-content .esthome-pullquote cite {
	display: block;
	margin-top: 0.85rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 500;
	color: #8c827a;
}

.esthome-article-author {
	display: flex;
	gap: 1.1rem;
	align-items: flex-start;
	margin: 2.75rem 0 1.5rem;
	padding: 1.25rem 1.2rem;
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
}

.esthome-article-author-avatar {
	flex-shrink: 0;
}

.esthome-article-author-img {
	display: block;
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 999px;
	object-fit: cover;
}

.esthome-article-author-kicker {
	margin: 0 0 0.25rem;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-article-author-name {
	margin: 0 0 0.35rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.25rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-article-author-bio {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 300;
	line-height: 1.55;
	color: #5a524c;
}

.esthome-article-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 2.75rem;
	font-size: 0.9rem;
	color: #5a524c;
}

.esthome-article-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	border: 1px solid #e8e2d9;
	background: #fff;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1;
	color: #2a2421;
	text-decoration: none;
	text-transform: lowercase;
}

.esthome-article-share-btn:hover {
	background: #f3f1ed;
}

.esthome-article-related {
	margin: 0 0 2rem;
	padding-top: 0.5rem;
	border-top: 1px solid #e8e2d9;
}

.esthome-article-related h2 {
	margin: 1.75rem 0 1.25rem;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 1.75rem;
	font-weight: 500;
	text-align: center;
	color: #2a2421;
}

.esthome-article-related-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.esthome-article-back {
	margin: 1.5rem 0 0;
	text-align: center;
}

.esthome-article-back a {
	font-size: 0.92rem;
	font-weight: 500;
	color: #2a2421;
	text-decoration: none;
}

.esthome-article-back a:hover {
	opacity: 0.7;
}

@media (min-width: 640px) {
	.esthome-article-related-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.15rem;
	}
}

@media (min-width: 768px) {
	.esthome-article-inner {
		padding: 2.5rem 1.5rem 5.5rem;
	}

	.esthome-article-content .wp-block-quote,
	.esthome-article-content .esthome-pullquote {
		padding: 1.6rem 2rem;
	}
}

/* -------------------------------------------------------------------------
   Multi-step checkout
   ------------------------------------------------------------------------- */

.esthome-is-checkout .woocommerce-form-coupon-toggle,
.esthome-is-checkout .woocommerce-checkout-review-order-table thead.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.esthome-is-checkout .woocommerce-NoticeGroup,
.esthome-is-checkout .woocommerce-notices-wrapper .woocommerce-message,
.esthome-is-checkout .woocommerce-notices-wrapper .woocommerce-info,
.esthome-is-checkout .woocommerce-notices-wrapper .woocommerce-error {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #fff;
	font-size: 0.88rem;
}

.esthome-is-checkout form.checkout .woocommerce-NoticeGroup-checkout,
.esthome-is-checkout .checkout-inline-error-message {
	display: none !important;
}

.esthome-field-error {
	display: block;
	margin: 0.28rem 0 0;
	font-size: 0.72rem;
	font-weight: 400;
	color: #a35a4c;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.esthome-step-error {
	display: block;
	margin: 0 0 0.85rem;
	padding: 0.7rem 0.85rem;
	border-radius: 0.85rem;
	background: #f6eeea;
	color: #8b3a2a;
	font-size: 0.82rem;
	line-height: 1.4;
}

.esthome-step-error[hidden] {
	display: none !important;
}

.esthome-no-street-check {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 0.48rem 0.85rem 0.48rem 0.7rem;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	background: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	line-height: 1.3;
	color: #5a524c;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.esthome-no-street-check input {
	margin: 0;
	width: 0.95rem;
	height: 0.95rem;
	accent-color: #2a2421;
	flex-shrink: 0;
}

.esthome-no-street-check:hover,
.esthome-checkout-courier-address .form-row.is-no-street .esthome-no-street-check,
.esthome-no-street-check:has(input:checked) {
	border-color: #2a2421;
	background: #fff;
	color: #2a2421;
}

.esthome-is-checkout .woocommerce-shipping-fields {
	margin-top: 0.35rem;
}

.esthome-saved-address-1 {
	position: relative;
}

.esthome-saved-address-1 .esthome-no-street {
	display: block;
	margin: 0.4rem 0 0;
}

.esthome-account-card-form.is-no-street [name="address_2"] {
	display: none;
}

.esthome-is-checkout .form-row.woocommerce-invalid input.input-text,
.esthome-is-checkout .form-row.woocommerce-invalid textarea,
.esthome-is-checkout .form-row.woocommerce-invalid select,
.esthome-is-checkout .form-row.woocommerce-invalid .select2-selection--single {
	border-color: #d4b8b2;
}

.esthome-checkout-profile--invoice {
	margin: 0 0 1.1rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #faf8f5;
}

.esthome-checkout-profile--invoice .esthome-checkout-profile-btn {
	height: 2.35rem;
	border-radius: 999px;
	border-color: #e8e2d9;
	color: #2a2421;
}

.esthome-is-checkout .woocommerce-error {
	border-color: #e4d0cb;
	background: #faf4f2;
	color: #8b3a2a;
}

.esthome-checkout-title {
	margin: 0 0 1.35rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(1.85rem, 3vw, 2.35rem);
	font-weight: 500;
	color: #2a2421;
	letter-spacing: -0.03em;
	scroll-margin-top: 6.5rem;
}

.esthome-checkout-progress {
	scroll-margin-top: 6.5rem;
}

.esthome-checkout-panel[hidden] {
	display: none !important;
}

.esthome-checkout-main {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	min-width: 0;
}

.esthome-checkout-step-body[hidden],
.esthome-checkout-step-summary[hidden],
.esthome-checkout-edit[hidden] {
	display: none !important;
}

.esthome-checkout-panel.is-upcoming {
	pointer-events: none;
	user-select: none;
}

.esthome-checkout-panel.is-upcoming .esthome-checkout-card {
	background: #faf8f5;
	box-shadow: none;
	border-color: #efece6;
	padding: 0.95rem 1.2rem;
}

.esthome-checkout-panel.is-upcoming .esthome-checkout-step-head {
	margin: 0;
}

.esthome-checkout-panel.is-upcoming .esthome-checkout-step-badge {
	background: #d8d2ca;
	color: #8c827a;
}

.esthome-checkout-panel.is-upcoming .esthome-checkout-panel-title {
	color: #8c827a;
	font-weight: 500;
}

.esthome-checkout-form {
	min-width: 0;
}

.esthome-checkout-progress-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-checkout-tab {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	width: 100%;
	margin: 0;
	padding: 0.35rem 0.4rem 0.7rem;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: #8c827a;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	text-align: left;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.esthome-checkout-tab:hover {
	color: #2a2421;
}

.esthome-checkout-tab:disabled {
	cursor: default;
	opacity: 0.55;
	pointer-events: none;
}

.esthome-checkout-tab:disabled:hover {
	color: #8c827a;
}

.esthome-checkout-tab-num {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.esthome-checkout-tab-label {
	font-size: 0.78rem;
	font-weight: 500;
	line-height: 1.25;
}

.esthome-checkout-tab.is-done {
	color: #5a524c;
}

.esthome-checkout-tab.is-active {
	color: #2a2421;
	border-bottom-color: #2a2421;
	font-weight: 600;
}

.esthome-checkout-tab.is-active .esthome-checkout-tab-label {
	font-weight: 600;
}

.esthome-checkout-page,
.esthome-is-checkout .esthome-checkout,
.esthome-checkout-layout {
	overflow: visible;
}

.esthome-checkout-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: start;
}

.esthome-checkout-card {
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
	padding: 1.35rem 1.25rem 1.4rem;
}

.esthome-checkout-panel-title {
	margin: 0 0 0.4rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.7rem;
	font-weight: 500;
	color: #2a2421;
	letter-spacing: -0.02em;
}

.esthome-checkout-panel-lead {
	margin: 0 0 0.85rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-checkout .form-row {
	margin: 0 0 0.55rem;
	padding: 0;
}

.esthome-is-checkout .form-row label {
	display: block;
	margin: 0 0 0.22rem;
	font-size: 0.76rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-is-checkout .form-row .required {
	color: #8b3a2a;
	text-decoration: none;
}

.esthome-is-checkout .form-row input.input-text,
.esthome-is-checkout .form-row textarea,
.esthome-is-checkout .form-row select,
.esthome-is-checkout .select2-container .select2-selection--single {
	width: 100%;
	border: 1px solid #e8e2d9;
	border-radius: 0.7rem;
	padding: 0.55rem 0.8rem;
	background: #fff;
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	line-height: 1.35;
	min-height: 2.45rem;
	box-shadow: none;
}

.esthome-is-checkout .form-row textarea {
	min-height: 5.5rem;
}

.esthome-is-checkout .form-row input.input-text:focus,
.esthome-is-checkout .form-row textarea:focus,
.esthome-is-checkout .form-row select:focus {
	outline: none;
	border-color: #2a2421;
}

.esthome-is-checkout .select2-container .select2-selection--single {
	height: 2.45rem;
	display: flex;
	align-items: center;
}

.esthome-is-checkout .woocommerce-billing-fields__field-wrapper,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}

.esthome-is-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	margin: 0;
	float: none;
	width: 100%;
}

.esthome-is-checkout .woocommerce-billing-fields__field-wrapper .clear,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .clear {
	display: none;
}

.esthome-is-checkout .esthome-company-field .optional,
.esthome-is-checkout .esthome-nip-field .optional,
.esthome-is-checkout #shipping_phone_field .optional,
.esthome-is-checkout #shipping_address_2_field .optional,
.esthome-is-checkout #billing_address_2_field .optional {
	display: none;
}

.esthome-checkout.is-courier-address [data-courier-address] #shipping_phone_field,
.esthome-checkout-courier-address #shipping_phone_field {
	display: none !important;
}

.esthome-is-checkout .woocommerce-address-autocomplete,
.esthome-is-checkout .woocommerce-address-autocomplete__wrapper,
.esthome-is-checkout button.woocommerce-address-autocomplete-suggestions,
.esthome-is-checkout .woocommerce-address-autocomplete-suggestions,
.esthome-is-checkout #shipping_address_1_field .woocommerce-input-wrapper > label,
.esthome-is-checkout #billing_address_1_field .woocommerce-input-wrapper > label,
.esthome-is-checkout #shipping_address_1_field .woocommerce-input-wrapper input:not(#shipping_address_1),
.esthome-is-checkout #billing_address_1_field .woocommerce-input-wrapper input:not(#billing_address_1) {
	display: none !important;
}

.esthome-is-checkout .blockUI.blockOverlay {
	background: #faf8f5 !important;
	opacity: 0.4 !important;
}

.esthome-is-checkout .form-row-first,
.esthome-is-checkout .form-row-last {
	float: none;
	width: 100%;
	overflow: visible;
}

.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_country_field { order: 1; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_first_name_field { order: 2; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_last_name_field { order: 3; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_company_field { order: 4; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_address_1_field { order: 5; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_address_2_field { order: 6; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_postcode_field { order: 7; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_city_field { order: 8; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_state_field { order: 9; }
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper #shipping_phone_field { order: 10; }

.esthome-checkout-invoice-fields #billing_nip_field { order: 2; }
.esthome-checkout-invoice-fields #billing_company_field { order: 3; }
.esthome-checkout-invoice-fields #billing_address_1_field { order: 4; }
.esthome-checkout-invoice-fields #billing_address_2_field { order: 6; }
.esthome-checkout-invoice-fields #billing_postcode_field { order: 7; }
.esthome-checkout-invoice-fields #billing_city_field { order: 8; }
.esthome-checkout-invoice-fields #billing_country_field { order: 9; }
.esthome-checkout-invoice-fields #billing_state_field { order: 10; }
.esthome-checkout-invoice-fields #esthome_billing_full_name_field { order: 1; grid-column: 1 / -1; }
.esthome-checkout-invoice-fields .esthome-no-street-check { order: 5; grid-column: 1 / -1; }
.esthome-checkout-invoice-fields #billing_first_name_field,
.esthome-checkout-invoice-fields #billing_last_name_field {
	display: none !important;
}
.esthome-checkout-invoice-fields #billing_address_2_field .optional,
.esthome-checkout-invoice-fields #billing_company_field .optional {
	display: none;
}

@media (min-width: 640px) {
	.esthome-is-checkout .woocommerce-billing-fields__field-wrapper,
	.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem 0.7rem;
	}

	.esthome-is-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
	.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}

	.esthome-is-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	.esthome-is-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
		width: auto;
		float: none;
		clear: none;
	}
}

.esthome-checkout-same {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.9rem;
	background: #faf8f5;
	font-size: 0.88rem;
	color: #2a2421;
	cursor: pointer;
}

.esthome-checkout-same input {
	margin-top: 0.15rem;
	accent-color: #2a2421;
}

.esthome-checkout-invoice-fields.is-same-address #billing_address_1_field,
.esthome-checkout-invoice-fields.is-same-address #billing_address_2_field,
.esthome-checkout-invoice-fields.is-same-address #billing_city_field,
.esthome-checkout-invoice-fields.is-same-address #billing_postcode_field,
.esthome-checkout-invoice-fields.is-same-address #billing_country_field,
.esthome-checkout-invoice-fields.is-same-address #billing_state_field,
.esthome-checkout-invoice-fields.is-same-address #billing_company_field {
	display: none !important;
}

.esthome-ship-to-different {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.esthome-ship-to-different input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.esthome-is-checkout .shipping_address {
	display: block !important;
}

.esthome-is-checkout .woocommerce-shipping-fields {
	margin: 0;
}

[data-pickup-phone-home] {
	display: contents;
}

[data-courier-address-home] {
	display: block;
	grid-column: 1 / -1;
}

[data-pickup-phone][hidden],
[data-courier-address][hidden] {
	display: none !important;
}

.esthome-checkout.is-courier-address [data-courier-address] {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.05rem;
	margin-top: 1.15rem;
	padding-top: 1.15rem;
	border-top: 1px solid #e8e2d9;
}

.esthome-checkout.is-pickup-delivery [data-courier-address] {
	display: none !important;
}

.esthome-shipping-extras .esthome-checkout-pickup-phone {
	display: block !important;
	margin-top: 0.7rem;
}

.esthome-shipping-extras .esthome-checkout-pickup-phone[hidden] {
	display: none !important;
}

.esthome-checkout-pickup-phone .form-row {
	margin: 0;
}

.esthome-checkout-pickup-phone label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5a524c;
}

.esthome-checkout-pickup-phone input.input-text {
	background: #f3f1ed;
	border-color: transparent;
}

.esthome-checkout-courier-address:not([hidden]) {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.05rem;
}

.esthome-checkout-courier-address .esthome-checkout-subhead,
.esthome-checkout-courier-address .esthome-checkout-saved {
	order: 0;
	margin: 0;
	grid-column: 1 / -1;
}

.esthome-checkout-courier-address .esthome-checkout-subhead {
	font-size: 1.35rem;
	font-weight: 650;
}

.esthome-checkout-courier-address .form-row {
	margin: 0;
	float: none;
	width: auto;
}

.esthome-checkout-courier-address .form-row-wide,
.esthome-checkout-courier-address .esthome-checkout-subhead,
.esthome-checkout-courier-address .esthome-checkout-saved,
.esthome-checkout-courier-address #esthome_shipping_full_name_field,
.esthome-checkout-courier-address #shipping_company_field,
.esthome-checkout-courier-address #shipping_address_1_field,
.esthome-checkout-courier-address #shipping_address_2_field,
.esthome-checkout-courier-address #shipping_country_field {
	grid-column: 1 / -1;
}

.esthome-checkout-courier-address .form-row > label {
	display: block;
	margin: 0 0 0.22rem;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #2a2421;
}

.esthome-checkout-courier-address .form-row input.input-text,
.esthome-checkout-courier-address .form-row select,
.esthome-checkout-courier-address .select2-container .select2-selection--single {
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 0.7rem;
	min-height: 2.45rem;
	padding: 0.55rem 0.8rem;
}

.esthome-checkout-courier-address .form-row input.input-text:focus,
.esthome-checkout-courier-address .form-row select:focus,
.esthome-checkout-courier-address .select2-container--focus .select2-selection--single {
	background: #fff;
	border-color: #2a2421;
}

.esthome-checkout-courier-address #shipping_address_1_field .woocommerce-input-wrapper > label,
.esthome-checkout-courier-address #shipping_address_1_field > label:not([for="shipping_address_1"]):not(.esthome-no-street-check),
.esthome-checkout-courier-address #billing_address_1_field .woocommerce-input-wrapper > label {
	display: none !important;
}

.esthome-checkout-courier-address .esthome-company-field .optional,
.esthome-checkout-courier-address #shipping_address_2_field .optional {
	display: none;
}

.esthome-checkout-courier-address .esthome-no-street-check {
	grid-column: 1 / -1;
	order: 4;
}

.esthome-checkout-courier-address #esthome_shipping_full_name_field,
.esthome-is-checkout .esthome-checkout-courier-address #esthome_shipping_full_name_field { order: 1; }
.esthome-checkout-courier-address #shipping_company_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_company_field { order: 2; }
.esthome-checkout-courier-address #shipping_address_1_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_address_1_field { order: 3; }
.esthome-checkout-courier-address #shipping_address_2_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_address_2_field { order: 5; }
.esthome-checkout-courier-address #shipping_postcode_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_postcode_field { order: 6; }
.esthome-checkout-courier-address #shipping_city_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_city_field { order: 7; }
.esthome-checkout-courier-address #shipping_country_field,
.esthome-is-checkout .woocommerce-shipping-fields__field-wrapper .esthome-checkout-courier-address #shipping_country_field { order: 8; }

.esthome-checkout-invoice-fields .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.05rem;
}

.esthome-checkout-invoice-fields .woocommerce-billing-fields__field-wrapper .form-row {
	margin: 0;
	float: none;
	width: auto;
}

.esthome-checkout-invoice-fields .woocommerce-billing-fields__field-wrapper .form-row-wide,
.esthome-checkout-invoice-fields #esthome_billing_full_name_field,
.esthome-checkout-invoice-fields #billing_company_field,
.esthome-checkout-invoice-fields #billing_nip_field,
.esthome-checkout-invoice-fields #billing_address_1_field,
.esthome-checkout-invoice-fields #billing_address_2_field,
.esthome-checkout-invoice-fields #billing_country_field {
	grid-column: 1 / -1;
}

.esthome-is-checkout [data-checkout-saved="invoice"] {
	margin: 0.35rem 0 1rem;
}

.esthome-is-checkout [data-checkout-saved="invoice"] .esthome-checkout-saved-title {
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 0.65rem;
}

@media (min-width: 640px) {
	.esthome-checkout.is-courier-address [data-courier-address],
	.esthome-checkout-courier-address:not([hidden]) {
		grid-template-columns: minmax(7.5rem, 0.42fr) 1fr;
		gap: 1.05rem 0.85rem;
	}

	.esthome-checkout-courier-address .form-row-first,
	.esthome-checkout-courier-address .form-row-last {
		width: auto;
		float: none;
		clear: none;
	}
}

.esthome-checkout-notes-title {
	margin: 0.95rem 0 0.5rem;
	font-size: 0.92rem;
	font-weight: 600;
}

.esthome-shipping-kinds {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 0.85rem;
	padding: 0.28rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.15rem;
	background: #f3f1ed;
}

.esthome-shipping-kind {
	flex: 1 1 8rem;
	margin: 0;
	padding: 0.55rem 0.75rem;
	border: 0;
	border-radius: 20px;
	background: transparent;
	color: #5a524c;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.esthome-shipping-kind:hover:not(.is-active) {
	color: #2a2421;
}

.esthome-shipping-kind.is-active {
	background: #2a2421;
	color: #faf8f5;
}

.esthome-shipping-list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	overflow: hidden;
	background: #fff;
	min-height: 9.75rem;
}

.esthome-shipping-item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 0.75rem;
	row-gap: 0.55rem;
	margin: 0;
	padding: 0.75rem 0.9rem;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-shipping-extras[hidden] {
	display: none !important;
}

.esthome-shipping-item.is-kind-hidden {
	display: none !important;
}

.esthome-is-checkout form.checkout.processing .esthome-checkout-next,
.esthome-is-checkout form.checkout.processing .esthome-checkout-back {
	opacity: 1 !important;
	pointer-events: auto !important;
}

.esthome-shipping-item:last-child,
.esthome-shipping-item:not(.is-kind-hidden):has(+ .esthome-shipping-item.is-kind-hidden) {
	border-bottom: 0;
}

.esthome-shipping-item > input {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	accent-color: #2a2421;
}

.esthome-shipping-item > label {
	grid-column: 2;
	grid-row: 1;
	display: grid;
	grid-template-columns: 5.75rem minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 0.85rem;
	margin: 0;
	font-size: 0.9rem;
	color: #2a2421;
	cursor: pointer;
}

.esthome-shipping-logo-slot {
	grid-column: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 5.75rem;
	height: 28px;
	flex-shrink: 0;
}

.esthome-shipping-label {
	grid-column: 2;
	min-width: 0;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.3;
	color: #2a2421;
}

.esthome-shipping-cost {
	grid-column: 3;
	justify-self: end;
	font-size: 0.88rem;
	font-weight: 500;
	color: #2a2421;
	white-space: nowrap;
}

.esthome-shipping-logo {
	display: block;
	max-height: 28px;
	max-width: 5.75rem;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: left center;
	background: transparent;
}

.esthome-shipping-logo--dhl {
	max-height: 22px;
	border-radius: 0.2rem;
}

.esthome-shipping-item > :not(input):not(label) {
	grid-column: 2;
	grid-row: 2;
}

.esthome-shipping-extras {
	min-width: 0;
}

.esthome-shipping-extras[hidden] {
	display: none !important;
}

.esthome-pickup-trigger {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0.1rem 0 0;
	padding: 0.62rem 1.2rem;
	border: 0;
	border-radius: 9999px;
	background: #2a2421;
	color: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	cursor: pointer;
}

.esthome-pickup-trigger:hover {
	background: #4a423d;
	color: #fff;
}

.esthome-pickup-point {
	margin-top: 0.5rem;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-pickup-point[hidden] {
	display: none !important;
}

.esthome-pickup-selected {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0.15rem 0 0;
	padding: 0.75rem 0.85rem;
	border-radius: 0.75rem;
	background: #f3f1ed;
}

.esthome-pickup-selected-copy {
	min-width: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: #5a524c;
}

.esthome-pickup-selected-copy strong {
	display: block;
	margin: 0 0 0.2rem;
	color: #2a2421;
	font-size: 0.8rem;
	font-weight: 600;
}

.esthome-pickup-selected-copy [data-pickup-code],
.esthome-pickup-selected-copy [data-pickup-addr] {
	display: block;
}

.esthome-pickup-selected-copy [data-pickup-code] {
	color: #2a2421;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.esthome-pickup-selected-copy [data-pickup-addr] {
	margin-top: 0.15rem;
}

.esthome-pickup-trigger.esthome-pickup-change {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #5a524c;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	cursor: pointer;
}

.esthome-pickup-trigger.esthome-pickup-change:hover {
	background: transparent;
	color: #2a2421;
}

.esthome-is-checkout.is-pickup-delivery [data-checkout-saved="shipping"],
.esthome-is-checkout [data-checkout-saved="shipping"][hidden] {
	display: none !important;
}

.esthome-pickup-point-id {
	font-weight: 600;
	color: #2a2421;
}

.esthome-is-checkout tr.easypack-parcel-machine,
.esthome-is-checkout tr.apaczka-parcel-machine,
.esthome-checkout-summary .easypack-parcel-machine,
.esthome-checkout-summary .apaczka-parcel-machine,
.esthome-shipping-item .apaczka_pl_after_rate_btn,
.esthome-shipping-item #apaczka_pl_geowidget_classic,
.esthome-shipping-item #amp-map-button,
.esthome-shipping-item .easypack_show_geowidget,
.esthome-is-checkout [data-checkout-body="4"] .easypack_show_geowidget,
.esthome-is-checkout [data-checkout-body="4"] #easypack_search,
.esthome-is-checkout [data-checkout-body="4"] .inpost-geowidget,
.esthome-is-checkout #order_review > :not(#payment) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	pointer-events: none !important;
}

.esthome-is-checkout .apaczka_pl_geowidget_modal,
.esthome-is-checkout .apaczka_mp_geowidget_modal {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 100000 !important;
}

.esthome-is-checkout .apaczka_pl_geowidget_modal[style*="flex"],
.esthome-is-checkout .apaczka_mp_geowidget_modal[style*="flex"] {
	display: flex !important;
}

.esthome-is-checkout .apaczka_pl_geowidget_modal_inner,
.esthome-is-checkout .apaczka_mp_geowidget_modal_inner {
	width: 90%;
	height: 80%;
	max-width: 1100px;
}

.esthome-checkout-shipping-empty {
	margin: 0 0 1.15rem;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-checkout-step-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	margin-top: 1.35rem;
	padding-top: 1.15rem;
	border-top: 1px solid #e8e2d9;
}

.esthome-checkout-next,
.esthome-is-checkout #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0.8rem 1.35rem;
	border: 0;
	border-radius: 999px;
	background: #2e2520;
	color: #faf8f5 !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.esthome-checkout-next:hover,
.esthome-is-checkout #place_order:hover {
	background: #4a423d;
}

.esthome-is-checkout #place_order {
	width: 100%;
	margin-top: 1.15rem;
	float: none;
}

.esthome-checkout-back {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0.4rem 0;
	color: #5a524c;
	font-family: inherit;
	font-size: 0.85rem;
	font-weight: 500;
	cursor: pointer;
}

.esthome-checkout-back:hover {
	color: #2a2421;
}

.esthome-checkout-aside {
	min-width: 0;
	align-self: start;
}

.esthome-checkout-summary {
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
	padding: 1.25rem 1.2rem 1.35rem;
}

.esthome-checkout-summary-title {
	margin: 0 0 1rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: #2a2421;
}

.esthome-checkout-coupon {
	display: block !important;
	margin: 0 0 1.15rem;
	padding: 0 0 1.15rem;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-checkout-coupon label {
	display: block;
	margin: 0 0 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-checkout-coupon-row {
	display: flex;
	gap: 0.45rem;
}

.esthome-checkout-coupon-row input {
	flex: 1;
	min-width: 0;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.65rem 0.95rem;
	background: #fff;
	color: #2a2421;
	font-size: 0.85rem;
}

.esthome-checkout-coupon-btn {
	appearance: none;
	border: 1px solid #e8e2d9;
	border-radius: 999px;
	padding: 0.65rem 1rem;
	background: #fff;
	color: #2a2421;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-checkout-coupon-btn:hover {
	background: #f3f1ed;
}

.esthome-checkout-coupon .esthome-coupon-error,
.esthome-cart-promo-form .esthome-coupon-error {
	margin: 0.35rem 0 0;
}

.esthome-checkout-summary > .woocommerce-error,
.esthome-checkout-summary > .woocommerce-message,
.esthome-checkout-summary > .woocommerce-info,
.esthome-checkout-summary ul.woocommerce-error {
	display: none !important;
}

.woocommerce-additional-fields #order_comments_field > label {
	display: none;
}

.esthome-checkout-review {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	table-layout: auto;
}

.esthome-checkout-review th,
.esthome-checkout-review td {
	padding: 0.55rem 0;
	border: 0;
	font-size: 0.86rem;
	color: #5a524c;
	vertical-align: top;
}

.esthome-is-checkout .woocommerce table.esthome-checkout-review tbody .product-name,
.esthome-is-checkout .woocommerce table.esthome-checkout-review tfoot th,
.esthome-checkout-review tbody .product-name,
.esthome-checkout-review tfoot th {
	width: 99%;
	text-align: left;
}

.esthome-is-checkout .woocommerce table.esthome-checkout-review tbody .product-total,
.esthome-is-checkout .woocommerce table.esthome-checkout-review tfoot td,
.esthome-checkout-review tbody .product-total,
.esthome-checkout-review tfoot td {
	width: 1%;
	white-space: nowrap;
	text-align: right;
	color: #2a2421;
	font-weight: 600;
}

.esthome-checkout-review tbody tr {
	border-bottom: 1px solid #f0ebe4;
}

.esthome-checkout-review tbody tr:first-child td {
	padding-top: 0.85rem;
}

.esthome-checkout-review-item {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	text-align: left;
}

.esthome-checkout-review-media {
	position: relative;
	flex-shrink: 0;
}

.esthome-checkout-review-thumb,
.esthome-checkout-review-item img {
	width: 3.1rem;
	height: 3.1rem;
	object-fit: cover;
	border-radius: 0.65rem;
	background: #f3f1ed;
	display: block;
}

.esthome-checkout-review-qty {
	position: absolute;
	top: -0.4rem;
	right: -0.4rem;
	min-width: 1.2rem;
	height: 1.2rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: #2a2421;
	color: #fff;
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 2px #fff;
	pointer-events: none;
}

.esthome-checkout-review-item-text {
	font-weight: 500;
	color: #2a2421;
	line-height: 1.35;
}

.esthome-checkout-review-eta {
	display: block;
	margin-top: 0.28rem;
	font-size: 0.74rem;
	font-weight: 400;
	color: #8c827a;
	line-height: 1.35;
}

.esthome-checkout-review tfoot th {
	font-weight: 500;
	color: #5a524c;
}

.esthome-checkout-shipping-method,
.esthome-checkout-shipping-point {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
	color: #2a2421;
}

.esthome-checkout-shipping-point {
	font-weight: 500;
	color: #5a524c;
	word-break: break-word;
}

.esthome-checkout-review tfoot td {
	text-align: right;
	font-weight: 600;
	color: #2a2421;
}

.esthome-checkout-review tfoot .order-total td {
	padding-top: 0.85rem;
	border-top: 1px solid #2a2421;
	text-align: left;
	font-weight: inherit;
}

.esthome-is-checkout #payment .form-row.place-order {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0.35rem 0 0;
}

.esthome-checkout-trust {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem 1rem;
	margin: 0.95rem 0 0;
	padding: 0.9rem 0 0;
	border-top: 1px solid #e8e2d9;
}

.esthome-checkout-trust li {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	min-width: 0;
}

.esthome-checkout-trust svg {
	width: 1.05rem;
	height: 1.05rem;
	flex: none;
	margin-top: 0.08rem;
	color: #2a2421;
}

.esthome-checkout-trust strong {
	display: block;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.3;
	color: #2a2421;
}

.esthome-checkout-trust li span span {
	display: block;
	margin-top: 0.08rem;
	font-size: 0.68rem;
	line-height: 1.3;
	color: #8c827a;
}

@media (max-width: 720px) {
	.esthome-checkout-trust {
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}
}

.esthome-is-checkout #payment .wc_payment_methods {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
	background: transparent;
}

.esthome-is-checkout #payment .wc_payment_method,
.esthome-is-checkout #payment .payment_method_ppcp-gateway,
.esthome-is-checkout #payment .esthome-pay-kind-paypal,
.esthome-is-checkout #payment .esthome-pay-kind-paypo,
.esthome-is-checkout #payment .esthome-pay-kind-p24-paypo,
.esthome-is-checkout #payment .esthome-pay-kind-p24raty,
.esthome-is-checkout #payment .esthome-pay-kind-p24-raty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.75rem;
	row-gap: 0.55rem;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: none;
	transition: all 0.2s ease;
}

.esthome-is-checkout #payment .wc_payment_method:last-child {
	border-bottom: 1px solid #e5e5e5;
}

.esthome-is-checkout #payment .wc_payment_method:hover,
.esthome-is-checkout #payment .wc_payment_method:has(> input:checked) {
	border-color: #2a2421;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.esthome-is-checkout #payment .wc_payment_method::after {
	content: none;
	display: none;
}

.esthome-is-checkout #payment .wc_payment_method > input,
.esthome-is-checkout #payment .payment_method_ppcp-gateway > input,
.esthome-is-checkout #payment .esthome-pay-kind-paypal > input,
.esthome-is-checkout #payment .esthome-pay-kind-paypo > input,
.esthome-is-checkout #payment .esthome-pay-kind-p24-paypo > input,
.esthome-is-checkout #payment .esthome-pay-kind-p24raty > input,
.esthome-is-checkout #payment .esthome-pay-kind-p24-raty > input {
	flex: 0 0 auto;
	float: none !important;
	position: relative !important;
	top: 0 !important;
	left: auto !important;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0 !important;
	align-self: center;
	accent-color: #2a2421;
	appearance: auto;
}

.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway {
	padding: 15px;
}

.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway::before {
	content: none !important;
	display: none !important;
}

.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway p {
	margin: 0;
}

.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway > :not(p),
.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway .ppc-button-wrapper,
.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway [id^="ppc-button"],
.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway [id*="paypal-button"],
.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway .paypal-buttons,
.esthome-is-checkout #payment .payment_box.payment_method_ppcp-gateway iframe {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

.esthome-is-checkout #payment .esthome-pay-kind-paypal:has(> input:checked) > .payment_box,
.esthome-is-checkout #payment .esthome-pay-kind-klarna:has(> input:checked) > .payment_box {
	display: block !important;
}

.esthome-is-checkout #payment .payment_box {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
	padding: 0.75rem 0.85rem;
	border-radius: 0.75rem;
	background: #faf8f5;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-checkout #payment .esthome-pay-kind-p24 .payment_box iframe,
.esthome-is-checkout #payment .esthome-pay-kind-card .payment_box iframe,
.esthome-is-checkout #payment .esthome-pay-kind-google .payment_box iframe {
	display: block;
	width: 100%;
	min-height: 200px;
	border: 0;
	border-radius: 0.65rem;
	background: #fff;
}

.esthome-is-checkout #payment .esthome-pay-kind-google .payment_box,
.esthome-is-checkout #payment .esthome-pay-kind-card .payment_box {
	background: transparent;
	padding: 0.15rem 0 0;
}

.esthome-account-order-view {
	margin-top: 0.25rem;
}

.esthome-is-checkout #payment .wc_payment_method[hidden] {
	display: none !important;
}

.esthome-is-checkout #payment .wc_payment_method.esthome-pay-hide-box .payment_box {
	display: none !important;
}

.esthome-is-thankyou .esthome-checkout-profile,
.esthome-is-thankyou .woocommerce-order-overview,
.esthome-is-thankyou .woocommerce-customer-details,
.esthome-is-thankyou .woocommerce-order-details,
.esthome-is-thankyou .woocommerce-thankyou-order-received {
	display: none !important;
}

.esthome-thankyou-page {
	min-height: 60vh;
}

.esthome-thankyou {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.esthome-thankyou-card {
	background: #fff;
	border: 1px solid #e8e2d9;
	border-radius: 1.25rem;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
	padding: 1.35rem 1.25rem 1.4rem;
}

.esthome-thankyou-hero {
	text-align: center;
	padding: 1.7rem 1.25rem 1.55rem;
}

.esthome-thankyou-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin: 0 auto 0.85rem;
	border-radius: 999px;
	background: #f3f1ed;
	color: #2a2421;
}

.esthome-thankyou-check--wait {
	background: #efece6;
	color: #5a524c;
}

.esthome-thankyou-check--stop {
	background: #f6eeea;
	color: #8b3a2a;
}

.esthome-thankyou-check--refund {
	background: #efece6;
	color: #5a524c;
}

.esthome-thankyou-kicker {
	margin: 0 0 0.28rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-thankyou-title {
	margin: 0 0 0.55rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 2.1rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #2a2421;
	line-height: 1.15;
}

.esthome-thankyou-lead {
	margin: 0 auto 1.15rem;
	max-width: 32rem;
	font-size: 0.92rem;
	line-height: 1.5;
	color: #5a524c;
}

.esthome-thankyou-lead strong {
	color: #2a2421;
	font-weight: 600;
}

.esthome-thankyou-meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 1rem;
	margin: 0;
	padding: 1rem 0 0;
	border-top: 1px solid #e8e2d9;
	text-align: left;
}

.esthome-thankyou-meta dt {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-thankyou-meta dd {
	margin: 0.15rem 0 0;
	font-size: 0.92rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-thankyou-card-title {
	margin: 0 0 0.9rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.35rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-thankyou-items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.esthome-thankyou-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.8rem;
	align-items: center;
}

.esthome-thankyou-item-media {
	position: relative;
	flex-shrink: 0;
}

.esthome-thankyou-thumb,
.esthome-thankyou-item img {
	width: 3.4rem;
	height: 3.4rem;
	object-fit: cover;
	border-radius: 0.7rem;
	background: #f3f1ed;
	display: block;
}

.esthome-thankyou-thumb--empty {
	border: 1px solid #e8e2d9;
}

.esthome-thankyou-qty {
	position: absolute;
	top: -0.4rem;
	right: -0.4rem;
	min-width: 1.2rem;
	height: 1.2rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: #2a2421;
	color: #fff;
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 2px #fff;
}

.esthome-thankyou-item-copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.12rem;
}

.esthome-thankyou-item-name {
	font-size: 0.9rem;
	font-weight: 500;
	color: #2a2421;
	line-height: 1.35;
}

.esthome-thankyou-item-qty,
.esthome-thankyou-aside {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: #8c827a;
}

.esthome-thankyou-item-qty {
	margin: 0;
}

.esthome-thankyou-item-total {
	font-size: 0.88rem;
	font-weight: 600;
	color: #2a2421;
	white-space: nowrap;
}

.esthome-thankyou-totals {
	margin: 1rem 0 0;
	padding: 0.85rem 0 0;
	border-top: 1px solid #e8e2d9;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.esthome-thankyou-total {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.84rem;
	color: #5a524c;
}

.esthome-thankyou-total dt {
	margin: 0;
	font-weight: 400;
}

.esthome-thankyou-total dd {
	margin: 0;
	font-weight: 500;
	color: #2a2421;
}

.esthome-thankyou-total.is-grand {
	padding-top: 0.45rem;
	margin-top: 0.15rem;
	border-top: 1px solid #e8e2d9;
	font-size: 0.95rem;
	color: #2a2421;
}

.esthome-thankyou-total.is-grand dt,
.esthome-thankyou-total.is-grand dd {
	font-weight: 650;
}

.esthome-thankyou-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.esthome-thankyou-address {
	margin: 0;
	font-style: normal;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #2a2421;
}

.esthome-thankyou-actions {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 0.35rem;
}

.esthome-thankyou-actions--pay {
	max-width: 22rem;
	width: 100%;
	margin: 0.15rem auto 0.35rem;
}

.esthome-thankyou-actions--pay .esthome-thankyou-btn {
	width: 100%;
	min-width: 0;
}

.esthome-thankyou-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0.7rem 1.25rem;
	border-radius: 9999px;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
}

.esthome-thankyou-btn--solid {
	background: #2a2421;
	color: #f7f4ee;
}

.esthome-thankyou-btn--solid:hover {
	background: #4a423d;
	color: #f7f4ee;
}

.esthome-thankyou-btn--ghost {
	border: 1px solid #2a2421;
	background: #fff;
	color: #2a2421;
}

.esthome-thankyou-btn--ghost:hover {
	background: #2a2421;
	color: #f7f4ee;
}

.esthome-thankyou-gateway .woocommerce-message,
.esthome-thankyou-gateway .woocommerce-info {
	margin: 0;
	padding: 0.85rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	background: #faf8f5;
	color: #5a524c;
	font-size: 0.84rem;
	line-height: 1.45;
	box-shadow: none;
}

.esthome-thankyou-gateway .woocommerce-message::before,
.esthome-thankyou-gateway .woocommerce-info::before {
	display: none;
}

@media (min-width: 700px) {
	.esthome-thankyou-meta {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.esthome-thankyou-grid {
		grid-template-columns: 1fr 1fr;
	}

	.esthome-thankyou-actions {
		flex-direction: row;
		justify-content: center;
	}

	.esthome-thankyou-actions--pay {
		flex-direction: column;
	}

	.esthome-thankyou-btn {
		min-width: 12.5rem;
	}

	.esthome-thankyou-actions--pay .esthome-thankyou-btn {
		min-width: 0;
		width: 100%;
	}

	.esthome-thankyou-hero {
		padding: 2rem 1.6rem 1.7rem;
	}

	.esthome-thankyou-title {
		font-size: 2.35rem;
	}
}

.esthome-is-checkout #payment .wc_payment_method > label {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	column-gap: 0.75rem;
	min-width: 0;
	margin: 0;
	padding: 0;
	width: auto;
	float: none;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	color: #2a2421;
	cursor: pointer;
}

.esthome-is-checkout #payment .esthome-pay-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	min-width: 70px;
	max-width: 70px;
	height: 26px;
	flex-shrink: 0;
	gap: 4px;
	overflow: hidden;
}

.esthome-is-checkout #payment .esthome-pay-logo:not(:has(img)) {
	visibility: hidden;
}

.esthome-is-checkout #payment ul.wc_payment_methods > li label img,
.esthome-is-checkout #payment ul.wc_payment_methods > li label svg,
.esthome-is-checkout #payment .esthome-pay-logo img,
.esthome-is-checkout #payment .esthome-pay-logo svg,
.esthome-is-checkout #payment .wc_payment_method > label img,
.esthome-is-checkout #payment .wc_payment_method > label svg {
	display: block;
	width: auto;
	height: auto;
	max-height: 24px;
	max-width: 65px;
	margin: 0;
	object-fit: contain;
	object-position: center;
	float: none;
}

.esthome-is-checkout #payment .esthome-pay-logo:has(img + img) img {
	max-width: 30px;
}

.esthome-is-checkout #payment .payment_box .p24-regulation,
.esthome-is-checkout #payment .payment_box [class*="regulation"],
.esthome-is-checkout #payment .payment_box [class*="regulamin"] {
	display: none !important;
}

.esthome-is-checkout #payment .esthome-pay-name {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.3;
	color: #2a2421;
}

/* Klarna (Stripe). Stripe toggles the row with inline display. */
.esthome-is-checkout #payment .wc_payment_method:not([hidden]):not([style*="display: none"]):not([style*="display:none"]) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
}

.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
	padding: 0.5rem 0.6rem;
	border: 0;
	border-radius: 0.75rem;
	background: #faf8f5;
	box-shadow: none;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna::before {
	content: none;
	display: none;
}

.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna p,
.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna .testmode-info {
	margin: 0 0 0.4rem;
	padding: 0 0.25rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna fieldset,
.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna .wc-upe-form,
.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna .wc-stripe-upe-element {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	min-inline-size: 0;
	box-shadow: none;
}

.esthome-is-checkout #payment .payment_method_stripe_klarna > .payment_box.payment_method_stripe_klarna iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
	background: transparent;
}

.esthome-help-bar {
	background: #f7f4ee;
	padding: 1.75rem 0 2.25rem;
}

.esthome-is-checkout,
.esthome-is-checkout #main-content,
.woocommerce-account #main-content,
body.esthome-is-klient #main-content {
	background: #f7f4ee;
}

.esthome-is-checkout .esthome-checkout-page {
	padding-bottom: 0;
}

.esthome-is-checkout .esthome-checkout-page > div {
	padding-bottom: 0.35rem;
}

.esthome-footer--after-help {
	margin-top: 0;
}

.esthome-help-bar-inner {
	max-width: 80rem;
	margin: 0 auto;
	padding: 0 1rem 0.25rem;
}

.esthome-help-bar-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	padding: 1.35rem 1.25rem 1.4rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 8px 30px rgba(42, 36, 33, 0.04);
}

.esthome-help-bar-kicker {
	margin: 0 0 0.35rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-help-bar-title {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: #2a2421;
	line-height: 1.15;
}

.esthome-help-bar-lead {
	margin: 0.45rem 0 0;
	max-width: 32rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #5a524c;
}

.esthome-help-bar-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
}

.esthome-help-bar-link,
.esthome-help-bar-cta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 3.35rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid #e8e2d9;
	border-radius: 1.05rem;
	background: #faf8f5;
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.esthome-help-bar-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: #fff;
	color: #5a524c;
	flex-shrink: 0;
}

.esthome-help-bar-link svg {
	width: 1.05rem;
	height: 1.05rem;
}

.esthome-help-bar-label {
	display: block;
	margin: 0 0 0.12rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-help-bar-link strong {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-help-bar-link:hover {
	border-color: #d5cfc6;
	background: #fff;
}

.esthome-help-bar-cta {
	justify-content: center;
	gap: 0.45rem;
	background: #2a2421;
	border-color: #2a2421;
	color: #f7f4ee;
	font-size: 0.9rem;
	font-weight: 600;
}

.esthome-help-bar-cta:hover {
	background: #4a423d;
	border-color: #4a423d;
	color: #fff;
}

@media (min-width: 640px) {
	.esthome-help-bar-inner {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.esthome-help-bar-card {
		padding: 1.6rem 1.5rem 1.55rem;
	}

	.esthome-help-bar-actions {
		grid-template-columns: 1fr 1fr;
	}

	.esthome-help-bar-cta {
		grid-column: 1 / -1;
	}
}

@media (min-width: 960px) {
	.esthome-help-bar-inner {
		padding-left: 2rem;
		padding-right: 2rem;
		padding-bottom: 0.5rem;
	}

	.esthome-help-bar-card {
		grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
		align-items: center;
		gap: 2rem;
		padding: 1.75rem 1.8rem;
	}

	.esthome-help-bar-title {
		font-size: 2rem;
	}

	.esthome-help-bar-cta {
		grid-column: auto;
	}

	.esthome-help-bar-actions {
		grid-template-columns: 1fr;
	}
}

.esthome-checkout-step-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.esthome-checkout-step-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 9999px;
	background: #2a2421;
	color: #f7f4ee;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	flex-shrink: 0;
}

.esthome-checkout-panel.is-done .esthome-checkout-step-badge {
	background: #2a2421;
}

.esthome-checkout-step-head .esthome-checkout-panel-title {
	margin: 0;
	flex: 1;
}

.esthome-checkout-edit {
	margin-left: auto;
	border: 0;
	background: transparent;
	color: #5a524c;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 500;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.esthome-checkout-edit:hover {
	color: #2a2421;
}

.esthome-checkout-step-summary {
	margin: 0;
	white-space: pre-line;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #5a524c;
}

.esthome-checkout-modes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0 0 1.15rem;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-checkout-mode {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #5a524c;
	font: inherit;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.esthome-checkout-mode.is-active {
	color: #2a2421;
	font-weight: 600;
	text-decoration: none;
}

.esthome-checkout-mode-sep {
	color: #c4bbb3;
}

.esthome-checkout-contact-fields #billing_first_name_field,
.esthome-checkout-contact-fields #billing_last_name_field {
	display: none !important;
}

.esthome-checkout-switch {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0 0 1rem;
	cursor: pointer;
}

.esthome-checkout-switch input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.esthome-checkout-switch-ui {
	width: 2.4rem;
	height: 1.35rem;
	border-radius: 9999px;
	background: #e8e2d9;
	position: relative;
	flex-shrink: 0;
	transition: background-color 0.15s ease;
}

.esthome-checkout-switch-ui::after {
	content: "";
	position: absolute;
	top: 0.15rem;
	left: 0.15rem;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 9999px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(42, 36, 33, 0.18);
	transition: transform 0.15s ease;
}

.esthome-checkout-switch input:checked + .esthome-checkout-switch-ui {
	background: #2a2421;
}

.esthome-checkout-switch input:checked + .esthome-checkout-switch-ui::after {
	transform: translateX(1.05rem);
}

.esthome-checkout-account-title {
	margin: 1.25rem 0 0.65rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-checkout-account .create-account {
	display: none;
}

.esthome-checkout-account:has(#createaccount:checked) .create-account {
	display: block;
}

.esthome-checkout-welcome {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	color: #5a524c;
}

.esthome-checkout-login-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem;
	font-size: 0.82rem;
}

.esthome-checkout-lost,
.esthome-checkout-text-btn {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2a2421;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	cursor: pointer;
}

.esthome-checkout-login-foot {
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid #e8e2d9;
	text-align: center;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-checkout-auth-status {
	margin: 0 0 0.9rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #2a2421;
}

.esthome-checkout-auth-status.is-error {
	color: #8b3a2a;
}

.esthome-checkout-register .esthome-social-login {
	margin: 0 0 0.35rem;
}

.esthome-checkout-register-sep {
	margin: 0.85rem 0 1rem;
}

.esthome-checkout-register-news {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-checkout-register-legal {
	margin: 0.85rem 0 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #8c827a;
}

.esthome-checkout-register-legal a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.esthome-checkout-login .esthome-checkout-next,
.esthome-checkout-register .esthome-checkout-next {
	width: 100%;
}

.esthome-checkout-phone-title {
	margin: 0.35rem 0 0.4rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.45rem;
	font-weight: 500;
	color: #2a2421;
}

.esthome-invoice-tabs {
	display: flex;
	gap: 1.5rem;
	margin: 0 0 1.15rem;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-invoice-tab {
	margin: 0;
	padding: 0.35rem 0 0.7rem;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: #8c827a;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.esthome-invoice-tab.is-active {
	color: #2a2421;
	border-bottom-color: #2a2421;
}

.esthome-invoice-notice {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.75rem;
	background: #f7f0e4;
	color: #5a524c;
	font-size: 0.82rem;
	line-height: 1.45;
}

.esthome-invoice-notice-title {
	margin: 0 0 0.2rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-invoice-compact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.75rem;
	background: #f3f1ed;
	font-size: 0.88rem;
	color: #5a524c;
}

.esthome-invoice-compact strong {
	display: block;
	color: #2a2421;
	font-size: 0.82rem;
}

.esthome-checkout-invoice-fields:not(.is-company) #billing_nip_field,
.esthome-checkout-invoice-fields:not(.is-company) #billing_company_field {
	display: none !important;
}

.esthome-checkout-invoice-fields.is-company #billing_company_field > label::after,
.esthome-checkout-invoice-fields.is-company #billing_nip_field > label::after {
	content: " *";
	color: #8b3a2a;
}

.esthome-checkout-invoice-fields #billing_company_field .required,
.esthome-checkout-invoice-fields #billing_nip_field .required {
	display: none;
}

.esthome-checkout-invoice-fields.is-compact-hidden .woocommerce-billing-fields__field-wrapper {
	display: none;
}

.esthome-checkout-efaktura {
	margin: 1.1rem 0 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: #8c827a;
}

.esthome-checkout-subhead {
	margin: 1.15rem 0 0.65rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-checkout-notes {
	margin: 1.35rem 0 0;
	padding: 1rem 1.05rem;
	border-radius: 0.9rem;
	background: #f7f4ee;
}

.esthome-checkout-notes-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.esthome-checkout-notes-title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
}

.esthome-checkout-notes-add {
	border: 0;
	background: transparent;
	color: #2a2421;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-checkout-summary-coupon {
	margin: 1rem 0 0;
	padding: 0.9rem 1rem;
	border-radius: 0.85rem;
	background: #f3f1ed;
}

.esthome-checkout-summary-coupon-title {
	margin: 0 0 0.2rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #2a2421;
}

.esthome-checkout-summary-coupon-text {
	margin: 0 0 0.65rem;
	font-size: 0.78rem;
	line-height: 1.4;
	color: #5a524c;
}

.esthome-checkout-progress-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
	border-bottom: 1px solid #e8e2d9;
}

.esthome-checkout-tab {
	flex-direction: row;
	align-items: baseline;
	gap: 0.28rem;
	padding: 0.15rem 0 0.7rem;
	border-bottom: 1px solid transparent;
}

.esthome-checkout-tab.is-active {
	border-bottom-color: #2a2421;
}

.esthome-checkout-tab-num {
	font-size: 0.78rem;
	font-weight: 500;
}

.esthome-checkout-panel-title {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
}

.esthome-shipping-item > label {
	display: grid;
	grid-template-columns: 5.75rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
}

.esthome-shipping-cost {
	font-size: 0.88rem;
	font-weight: 500;
	color: #2a2421;
	white-space: nowrap;
}

.esthome-is-checkout .place-order .button,
.esthome-is-checkout #place_order {
	width: 100%;
	border-radius: 0.35rem;
	background: #2a2421 !important;
	color: #f7f4ee !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
}

.esthome-is-checkout #place_order:hover {
	background: #4a423d !important;
}

.esthome-checkout-title {
	display: none;
}

.esthome-is-checkout .woocommerce-terms-and-conditions-wrapper {
	display: none;
}

.esthome-checkout-consents {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 1.15rem 0 0;
	padding: 1.05rem 0 0;
	border-top: 1px solid #e8e2d9;
}

.esthome-woo-terms-bridge {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.esthome-checkout-consents-list {
	display: flex;
	flex-direction: column;
	gap: 0.38rem;
	padding-left: 1.25rem;
}

.esthome-consent {
	display: block;
	margin: 0;
	font-size: 0.76rem;
	line-height: 1.42;
	color: #5a524c;
	cursor: pointer;
}

.esthome-is-checkout .esthome-checkout-consents label.esthome-consent,
.esthome-is-checkout .esthome-checkout-consents .esthome-consent > label,
.esthome-is-checkout #payment .esthome-checkout-consents label.esthome-consent,
.esthome-is-checkout #payment .esthome-checkout-consents .esthome-consent > label {
	display: grid;
	grid-template-columns: 1.15rem minmax(0, 1fr);
	column-gap: 0.55rem;
	align-items: start;
	margin: 0;
	width: 100%;
	cursor: pointer;
	font-weight: 400;
	color: inherit;
}

.esthome-consent > span,
.esthome-consent label > span {
	min-width: 0;
	max-width: 38rem;
}

.esthome-consent--master {
	font-weight: 600;
	font-size: 0.82rem;
	color: #2a2421;
}

.esthome-consent--required {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.18rem;
}

.esthome-is-checkout .esthome-consent.form-row,
.esthome-is-checkout #payment .esthome-consent.form-row {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.esthome-is-checkout .esthome-consent.form-row label,
.esthome-is-checkout #payment .esthome-consent.form-row label {
	display: grid;
	grid-template-columns: 1.15rem minmax(0, 1fr);
	column-gap: 0.55rem;
	align-items: start;
	margin: 0;
	font-size: inherit;
	font-weight: 400;
	color: inherit;
}

.esthome-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.12rem 0 0;
	flex-shrink: 0;
	border: 1.5px solid #c8bfb4;
	border-radius: 0.32rem;
	background: #fff;
	display: grid;
	place-content: center;
	cursor: pointer;
}

.esthome-consent input[type="checkbox"]::after {
	content: "";
	width: 0.28rem;
	height: 0.5rem;
	margin-bottom: 0.14rem;
	border: solid #2a2421;
	border-width: 0 1.6px 1.6px 0;
	background: transparent;
	border-radius: 0;
	transform: rotate(45deg) scale(0);
}

.esthome-consent input[type="checkbox"]:checked {
	border-color: #2a2421;
}

.esthome-consent input[type="checkbox"]:checked::after {
	transform: rotate(45deg) scale(1);
}

.esthome-consent-star {
	color: #8b3a2a;
	font-weight: 700;
	text-decoration: none;
	margin-right: 0.15rem;
}

.esthome-consent-toggle {
	appearance: none;
	border: 0;
	padding: 0;
	margin-left: 0.25rem;
	background: transparent;
	color: #2a2421;
	font: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	cursor: pointer;
}

.esthome-consent-perk {
	margin: 0.45rem 0 0;
	font-size: 0.76rem;
	color: #5a524c;
	line-height: 1.4;
}

.esthome-consent .esthome-field-error {
	white-space: normal;
	max-width: 100%;
	padding-left: calc(1.15rem + 0.55rem);
}

.esthome-consent-perk a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.esthome-consent a {
	color: #2a2421;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.esthome-consent a:hover {
	color: #4a423d;
}

.esthome-consent.woocommerce-invalid {
	color: #8b3a2a;
}

.esthome-contact-form label.esthome-contact-consent {
	display: grid;
	grid-template-columns: 1.15rem minmax(0, 1fr);
	column-gap: 0.7rem;
	align-items: start;
	width: 100%;
	margin: 0.15rem 0 0.1rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e8e2d9;
	border-radius: 1rem;
	background: #faf8f5;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.5;
	color: #5a524c;
	cursor: pointer;
}

.esthome-contact-form label.esthome-contact-consent:hover,
.esthome-contact-form label.esthome-contact-consent:focus-within {
	border-color: #d5cfc6;
	background: #fff;
}

.esthome-contact-form .esthome-contact-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.15rem 0 0;
	justify-self: start;
	flex-shrink: 0;
	border: 1.5px solid #c8bfb4;
	border-radius: 0.35rem;
	background: #fff;
	display: grid;
	place-content: center;
	cursor: pointer;
}

.esthome-contact-form .esthome-contact-consent input[type="checkbox"]:checked {
	border-color: #2a2421;
	background: #2a2421;
}

.esthome-contact-form .esthome-contact-consent input[type="checkbox"]::after {
	content: "";
	width: 0.26rem;
	height: 0.46rem;
	margin-bottom: 0.12rem;
	border: solid #fff;
	border-width: 0 1.7px 1.7px 0;
	transform: rotate(45deg) scale(0);
}

.esthome-contact-form .esthome-contact-consent input[type="checkbox"]:checked::after {
	transform: rotate(45deg) scale(1);
}

.esthome-contact-form .esthome-contact-consent span {
	min-width: 0;
	max-width: none;
	padding-top: 0.05rem;
}

.esthome-contact-form .esthome-contact-consent a {
	color: #2a2421;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.16em;
	text-decoration-color: #cfc8be;
}

.esthome-contact-form .esthome-contact-consent a:hover {
	color: #4a423d;
	text-decoration-color: #2a2421;
}

.esthome-is-checkout .woocommerce-privacy-policy-text p {
	margin: 0 0 0.65rem;
}

@media (min-width: 1024px) {
	.esthome-checkout-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.85fr);
		gap: 1.75rem;
		align-items: start;
	}

	.esthome-checkout-aside,
	.esthome-checkout-summary {
		position: -webkit-sticky;
		position: sticky;
		top: 5.5rem;
		align-self: start;
		z-index: 4;
	}

	.esthome-checkout-tab-label {
		font-size: 0.86rem;
	}

	.esthome-checkout-card {
		padding: 1.7rem 1.6rem 1.65rem;
	}
}

/* -------------------------------------------------------------------------
 * 404
 * ------------------------------------------------------------------------- */
.esthome-404 {
	background: #f7f4ee;
	color: #2a2421;
	min-height: min(68vh, 38rem);
}

.esthome-404-inner {
	max-width: 36rem;
	margin: 0 auto;
	padding: 4.5rem 1.15rem 5.5rem;
	text-align: center;
}

.esthome-404-kicker {
	margin: 0 0 0.85rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #8c847c;
}

.esthome-404 h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.55rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.esthome-404-lead {
	margin: 1.1rem auto 0;
	max-width: 28rem;
	font-size: 0.98rem;
	font-weight: 300;
	line-height: 1.65;
	color: #5a524c;
}

.esthome-404-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.7rem;
	margin-top: 2rem;
}

.esthome-404-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	min-width: 12.5rem;
	padding: 0.7rem 1.4rem;
	border-radius: 999px;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	cursor: pointer;
}

.esthome-404-btn--solid {
	background: #2e2520;
	color: #faf8f5;
	border: 0;
}

.esthome-404-btn--solid:hover {
	background: #4a423d;
	color: #faf8f5;
}

.esthome-404-btn--ghost {
	background: transparent;
	color: #2a2421;
	border: 1px solid #e8e2d9;
}

.esthome-404-btn--ghost:hover {
	background: #fff;
	border-color: #d9d1c6;
}

.esthome-404-shortcuts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 1.1rem;
	margin-top: 2.4rem;
}

.esthome-404-shortcuts a {
	font-size: 0.82rem;
	font-weight: 400;
	color: #8c847c;
	text-decoration: none;
}

.esthome-404-shortcuts a:hover {
	color: #2a2421;
}

@media (min-width: 640px) {
	.esthome-404-inner {
		padding: 5.5rem 1.5rem 6.5rem;
	}

	.esthome-404 h1 {
		font-size: 3.1rem;
	}

	.esthome-404-actions {
		flex-direction: row;
		justify-content: center;
	}
}

/* -------------------------------------------------------------------------
 * HTML sitemap
 * ------------------------------------------------------------------------- */
.esthome-sitemap {
	background: #fff;
	color: #2a2421;
}

.esthome-sitemap-inner {
	max-width: 68rem;
	margin: 0 auto;
	padding: 2.5rem 1.15rem 5rem;
}

.esthome-sitemap-header {
	margin: 0 0 2.5rem;
	text-align: center;
}

.esthome-sitemap-header h1 {
	margin: 0;
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.esthome-sitemap-lead {
	margin: 0.85rem auto 0;
	max-width: 32rem;
	font-size: 1.02rem;
	font-weight: 300;
	line-height: 1.6;
	color: #5a524c;
}

.esthome-sitemap-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.25rem 1.5rem;
}

.esthome-sitemap-col h2 {
	margin: 0 0 0.9rem;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid #e8e2d9;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #8c847c;
}

.esthome-sitemap-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.esthome-sitemap-col li {
	margin: 0;
}

.esthome-sitemap-col a {
	display: inline-block;
	padding: 0.38rem 0;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.4;
	color: #2a2421;
	text-decoration: none;
}

.esthome-sitemap-col a:hover {
	color: #5a524c;
}

@media (min-width: 768px) {
	.esthome-sitemap-inner {
		padding: 3rem 1.5rem 5.5rem;
	}

	.esthome-sitemap-header h1 {
		font-size: 2.85rem;
	}

	.esthome-sitemap-grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.75rem 2.5rem;
	}
}

@media (min-width: 1024px) {
	.esthome-sitemap-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.esthome-cookie-settings {
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

#cc-main {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	--cc-font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	--cc-bg: #ffffff;
	--cc-primary-color: #2a2421;
	--cc-secondary-color: #5a524c;
	--cc-btn-primary-bg: #2a2421;
	--cc-btn-primary-color: #ffffff;
	--cc-btn-primary-border-color: #2a2421;
	--cc-btn-primary-hover-bg: #4a423d;
	--cc-btn-primary-hover-color: #ffffff;
	--cc-btn-primary-hover-border-color: #4a423d;
	--cc-btn-secondary-bg: #ffffff;
	--cc-btn-secondary-color: #2a2421;
	--cc-btn-secondary-border-color: #e8e2d9;
	--cc-btn-secondary-hover-bg: #f7f4ee;
	--cc-btn-secondary-hover-color: #2a2421;
	--cc-btn-secondary-hover-border-color: #d5cfc6;
	--cc-toggle-on-bg: #2a2421;
	--cc-toggle-off-bg: #d5cfc6;
	--cc-toggle-on-knob-bg: #ffffff;
	--cc-toggle-off-knob-bg: #ffffff;
	--cc-cookie-category-block-bg: #faf8f5;
	--cc-cookie-category-block-border: #e8e2d9;
	--cc-cookie-category-block-hover-bg: #f3f1ed;
	--cc-cookie-category-block-hover-border: #d5cfc6;
	--cc-overlay-bg: rgba(42, 36, 33, 0.45);
	--cc-modal-border-radius: 20px;
	--cc-btn-border-radius: 50px;
	--cc-separator-border-color: #e8e2d9;
}

#cc-main .cm,
#cc-main .pm {
	background: #ffffff;
	border: 1px solid #e8e2d9;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#cc-main .cm--box {
	max-width: 34rem;
}

#cc-main .cm__title,
#cc-main .pm__title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-weight: 500;
	font-size: 1.65rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #2a2421;
}

#cc-main .cm__desc {
	font-size: 0.92rem;
	line-height: 1.55;
	color: #5a524c;
}

#cc-main .cm__btns {
	gap: 0.5rem;
}

#cc-main .cm__btn-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

#cc-main .cm__btn + .cm__btn,
#cc-main .cm__btn-group + .cm__btn-group {
	margin-top: 0;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
	min-height: 2.85rem;
	padding: 0.7rem 1.15rem;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

#cc-main .cm__btn[data-role="show"] {
	background: transparent;
	border-color: transparent;
	color: #2a2421;
	min-height: auto;
	padding: 0.4rem 0.2rem;
	text-decoration: underline;
	text-decoration-color: #cfc8be;
	text-underline-offset: 0.18em;
}

#cc-main .cm__btn[data-role="show"]:hover {
	background: transparent;
	border-color: transparent;
	color: #4a423d;
	text-decoration-color: #2a2421;
}

#cc-main .cm__desc a,
#cc-main .pm__section-desc a {
	color: #2a2421;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: #2a2421;
	text-underline-offset: 0.18em;
}

#cc-main .cm__desc a:hover,
#cc-main .pm__section-desc a:hover {
	color: #4a423d;
	text-decoration-color: #4a423d;
}

#cc-main .pm__section,
#cc-main .pm__section--toggle {
	border-radius: 16px;
}

#cc-main .pm__section--toggle .pm__section-title {
	border-radius: 16px;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
}

#cc-main .pm__section--toggle.is-expanded .pm__section-title {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
}

#cc-main .pm__section-desc {
	font-size: 0.8rem;
	line-height: 1.5;
	color: #5a524c;
}

#cc-main .pm__section-service,
#cc-main .pm__service {
	border-color: #e8e2d9;
}

#cc-main .pm__footer {
	gap: 0.5rem;
}

html.disable--interaction,
html.disable--interaction body {
	overflow: hidden;
}

@media (min-width: 641px) {
	#cc-main .cm__btns {
		flex-direction: row;
		align-items: center;
	}

	#cc-main .cm__btn-group {
		flex-direction: row;
		flex: 1 1 auto;
		width: auto;
	}

	#cc-main .cm__btn-group .cm__btn {
		flex: 1 1 0;
	}

	#cc-main .cm__btn-group + .cm__btn-group {
		flex: 0 0 auto;
		width: auto;
	}
}

@media (max-width: 640px) {
	#cc-main .cm--box {
		border-radius: 20px;
	}

	#cc-main .pm {
		border-radius: 20px 20px 0 0;
		bottom: 0;
		height: auto;
		left: 0;
		max-height: 92% !important;
		right: 0;
		top: auto !important;
	}
}

#cc-floating-toggle {
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 999999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: #2a2421;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: scale(0.94);
	transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
}

#cc-floating-toggle.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: scale(1);
}

#cc-floating-toggle.is-visible:hover,
#cc-floating-toggle.is-visible:focus-visible {
	background: #4a423d;
	transform: scale(1.06);
}

#cc-floating-toggle:focus-visible {
	outline: 2px solid #2a2421;
	outline-offset: 3px;
}

#cc-floating-toggle svg {
	display: block;
	flex-shrink: 0;
}

html.show--consent #cc-floating-toggle,
html.show--preferences #cc-floating-toggle,
html.esthome-mini-cart-open #cc-floating-toggle,
html.esthome-auth-open #cc-floating-toggle,
body.esthome-nav-open #cc-floating-toggle,
body.esthome-search-open #cc-floating-toggle {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: scale(0.94);
}

@media (max-width: 767px) {
	#cc-floating-toggle {
		width: 44px;
		height: 44px;
		bottom: max(16px, env(safe-area-inset-bottom, 0px));
		left: max(16px, env(safe-area-inset-left, 0px));
	}

	#cc-floating-toggle svg {
		width: 22px;
		height: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#cc-floating-toggle,
	#cc-floating-toggle:hover,
	#cc-floating-toggle:focus-visible {
		transition: none;
		transform: none;
	}
}

.esthome-is-order-pay .esthome-checkout-profile,
.esthome-is-order-pay .woocommerce-terms-and-conditions-wrapper,
.esthome-is-order-pay .entry-header,
.esthome-is-order-pay .page-title,
.esthome-is-order-pay #order_review > .shop_table,
.esthome-is-order-pay ul.order_details,
.esthome-is-order-pay .woocommerce-order-overview {
	display: none !important;
}

.esthome-is-order-pay .woocommerce-info,
.esthome-is-order-pay .woocommerce-error,
.esthome-is-order-pay .woocommerce-message {
	display: block;
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.9rem;
	border: 0;
	border-radius: 0.85rem;
	background: #f6eeea;
	color: #8b3a2a;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.85rem;
	line-height: 1.45;
}

.esthome-order-pay-subhead {
	margin: 0 0 0.85rem;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8c827a;
}

.esthome-order-pay-error {
	margin: 0.85rem 0 0;
	padding: 0.75rem 0.9rem;
	border-radius: 0.85rem;
	background: #f6eeea;
	color: #8b3a2a;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.85rem;
	line-height: 1.45;
}

.esthome-order-pay-error.is-warn,
.esthome-order-pay-error[data-pay-ssl] {
	background: #efece6;
	color: #5a524c;
}

.esthome-order-pay-hero.is-failed .esthome-thankyou-kicker {
	color: #8b3a2a;
}

.esthome-order-pay-box {
	position: relative;
	overflow: visible;
	min-height: 0;
}

.esthome-is-checkout.esthome-is-order-pay #payment .wc_payment_methods,
.esthome-is-checkout #payment .wc_payment_methods:has(.esthome-pay-kind-card > input:checked),
.esthome-is-order-pay #payment,
.esthome-is-order-pay #order_review {
	overflow: visible;
}

.esthome-is-checkout.esthome-is-order-pay #payment .payment_box .p24-regulation,
.esthome-is-checkout.esthome-is-order-pay #payment .payment_box [class*="regulation"],
.esthome-is-checkout.esthome-is-order-pay #payment .payment_box [class*="regulamin"] {
	display: block !important;
}

.esthome-is-order-pay #payment .wc_payment_method:has(> input:checked) {
	background: #faf8f5;
}

.esthome-is-order-pay #payment .wc_payment_method > input[type="radio"] {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

.esthome-is-order-pay #payment .esthome-pay-kind-card .payment_box,
.esthome-is-order-pay #payment .esthome-pay-kind-google .payment_box {
	min-height: 0;
	overflow: visible;
	margin-top: 0.15rem;
	padding: 0.85rem;
	border: 1px solid #e8e2d9;
	border-radius: 0.85rem;
	background: #fff;
}

.esthome-is-order-pay #payment .esthome-pay-kind-card .payment_box iframe,
.esthome-is-order-pay #payment .esthome-pay-kind-google .payment_box iframe,
.esthome-is-order-pay #payment .esthome-pay-kind-p24 .payment_box iframe {
	display: block;
	width: 100%;
	min-height: 20rem;
	border: 0;
	border-radius: 0.65rem;
	background: #fff;
}

.esthome-is-order-pay #payment .payment_box .p24-regulation,
.esthome-is-order-pay #payment .payment_box [class*="regulation"],
.esthome-is-order-pay #payment .payment_box [class*="regulamin"] {
	display: block !important;
	margin: 0.65rem 0 0;
	padding: 0;
	background: transparent;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-is-order-pay #payment .payment_box .p24-regulation label,
.esthome-is-order-pay #payment .payment_box [class*="regulation"] label {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	cursor: pointer;
}

.esthome-order-pay-box .place-order {
	margin-top: 1.15rem;
}

.esthome-is-order-pay #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.85rem;
	padding: 0.8rem 1.35rem;
	border: 0;
	border-radius: 999px;
	background: #2a2421 !important;
	color: #f7f4ee !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	float: none;
}

.esthome-is-order-pay #place_order:hover {
	background: #4a423d !important;
}

.esthome-is-order-pay .blockUI.blockOverlay {
	background: #f7f4ee !important;
	opacity: 0.88 !important;
}

.esthome-is-order-pay .blockUI.blockMsg {
	border: 1px solid #e8e2d9 !important;
	border-radius: 1rem !important;
	background: #fff !important;
	color: #2a2421 !important;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
	box-shadow: 0 12px 36px rgba(42, 36, 33, 0.08) !important;
}

body.woocommerce-order-pay .esthome-p24-wait {
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif !important;
	color: #2a2421 !important;
}

.esthome-pay-receipt {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.esthome-pay-receipt-widget {
	overflow: visible;
}

.esthome-pay-receipt-widget .p24-payment-container {
	margin: 0;
	height: auto;
}

.esthome-pay-receipt-widget #p24-new-card-block,
.esthome-pay-receipt-widget #card-tokenizer,
.esthome-pay-receipt-widget #card-whitelabel,
.esthome-pay-receipt-widget #p24-google-pay-button {
	width: 100%;
	max-width: 100%;
	height: auto;
	overflow: visible;
}

.esthome-pay-receipt-widget #card-tokenizer {
	display: block;
	min-width: 370px;
	min-height: 32rem;
	margin: 0 auto 1rem;
	background: #fff;
}

.esthome-pay-receipt-widget #card-tokenizer iframe {
	display: block;
	width: 100% !important;
	min-width: 370px;
	max-width: 100%;
	min-height: 32rem;
	height: 32rem;
	border: 0;
	background: #fff;
}

.esthome-pay-receipt-widget .p24-checkbox {
	margin: 0.85rem 0 0;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.84rem;
	line-height: 1.45;
	color: #5a524c;
}

.esthome-pay-receipt-widget .p24-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	cursor: pointer;
}

.esthome-pay-receipt-widget .p24-checkbox input {
	margin-top: 0.2rem;
	accent-color: #2a2421;
}

.esthome-pay-receipt-widget .p24-checkbox a {
	color: #2a2421;
}

.esthome-pay-receipt-widget #submit,
.esthome-pay-receipt-widget button.button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.85rem;
	margin-top: 1rem;
	padding: 0.8rem 1.35rem;
	border: 0;
	border-radius: 999px;
	background: #2a2421;
	color: #f7f4ee;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
}

.esthome-pay-receipt-widget #submit:hover {
	background: #4a423d;
}

.esthome-pay-receipt-widget #p24-google-pay-button {
	display: flex;
	justify-content: center;
	min-height: 48px;
	margin-top: 1rem;
}

.esthome-pay-receipt-widget .wc-block-components-notice-banner {
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.9rem;
	border-radius: 0.85rem;
	background: #f6eeea;
	color: #8b3a2a;
	font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
	font-size: 0.85rem;
	line-height: 1.45;
}

.esthome-pay-receipt-widget .p24-google-pay-place-order-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

@media (max-width: 420px) {
	.esthome-pay-receipt-widget {
		overflow-x: auto;
	}
}



