/*
Theme Name: Epsilon Chile
Theme URI: https://epsilonediciones.com/
Description: Adaptador visual Epsilon para Twenty Twenty-Five y el catálogo editorial de Chile.
Author: Epsilon Ediciones
Template: twentytwentyfive
Version: 0.3.0
Text Domain: epsilon-chile
*/

:root {
	--eps-pink: #D6BFC4;
	--eps-green: #A7B7AF;
	--eps-grey: #D6D1CF;
	--eps-coral: #F6998A;
	--eps-yellow: #F6F4B7;
	--eps-ink: #171717;
	--eps-black: var(--eps-ink);
	--eps-text: #525252;
	--eps-bg: #F8F7F6;
	--eps-light: var(--eps-bg);
	--eps-white: #FFFFFF;
	--eps-font-family: "Work Sans", Arial, Helvetica, sans-serif;
	--eps-container: 1180px;
	--eps-radius-button: 999px;
	--eps-radius-card: 18px;
	--eps-radius-control: 9px;
	--eps-space-1: 8px;
	--eps-space-2: 14px;
	--eps-space-3: 18px;
	--eps-space-4: 28px;
	--eps-space-5: 38px;
	--eps-space-6: 50px;
}

html {
	background: var(--eps-bg);
	scroll-behavior: smooth;
	scroll-padding-top: 104px;
}

body {
	background: var(--eps-white);
	color: var(--eps-text);
	font-family: var(--eps-font-family);
	letter-spacing: 0;
}

body,
button,
input,
select,
textarea {
	font-family: var(--eps-font-family);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--eps-ink);
	font-family: var(--eps-font-family);
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: none;
}

a {
	text-underline-offset: 0.18em;
	transition: color 160ms ease, opacity 160ms ease;
}

a:hover {
	opacity: 0.72;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--eps-ink);
	outline-offset: 3px;
}

img {
	max-width: 100%;
}

.epsilon-site-main,
.epsilon-home-catalogue,
.epsilon-home-universe,
.epsilon-home-newsletter,
.epsilon-feature-strip,
.epsilon-contact-section {
	min-width: 0;
}

.wp-element-button,
.wp-block-button__link,
.wc-block-components-button,
.wp-block-woocommerce-product-button .wp-block-button__link,
.single_add_to_cart_button {
	border-radius: var(--eps-radius-button);
	box-shadow: none;
	font-family: var(--eps-font-family);
	font-weight: 700;
	letter-spacing: 0;
	min-height: 46px;
	padding: 0.72rem 1.45rem;
}

/* Header and native product search. */
.epsilon-site-header {
	background: var(--eps-white);
	border-bottom: 1px solid color-mix(in srgb, var(--eps-grey) 64%, transparent);
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .epsilon-site-header {
	top: 32px;
}

.epsilon-site-header__inner {
	min-height: 86px;
	position: relative;
}

.epsilon-wordmark {
	display: inline-flex;
	flex: 0 1 auto;
	line-height: 0;
	min-width: 0;
}

.epsilon-wordmark img {
	display: block;
	height: auto;
	max-width: 160px;
	width: 100%;
}

.epsilon-header-search.wp-block-search {
	flex: 0 0 auto;
	margin: 0;
}

.epsilon-header-search .wp-block-search__inside-wrapper {
	border: 0;
	min-width: 44px;
	padding: 0;
}

.epsilon-header-search .wp-block-search__button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--eps-ink);
	display: inline-flex;
	height: 44px;
	justify-content: center;
	margin: 0;
	min-height: 44px;
	min-width: 44px;
	padding: 9px;
}

.epsilon-header-search .wp-block-search__button:hover,
.epsilon-header-search .wp-block-search__button:focus-visible {
	background: var(--eps-bg);
	color: var(--eps-ink);
	opacity: 1;
}

.epsilon-header-search .wp-block-search__button svg {
	height: 22px;
	width: 22px;
}

.epsilon-header-search .wp-block-search__input {
	background: var(--eps-white);
	border: 1px solid var(--eps-grey);
	border-radius: var(--eps-radius-control);
	color: var(--eps-ink);
	height: 44px;
	min-width: min(310px, calc(100vw - 120px));
	padding: 0 14px;
}

.epsilon-header-search .wp-block-search__input:focus {
	border-color: var(--eps-ink);
	box-shadow: 0 0 0 2px var(--eps-white), 0 0 0 4px var(--eps-ink);
	outline: 0;
}

.epsilon-site-main {
	margin-block-start: 0;
}

/* Spain-equivalent photographic hero, rebuilt with Core Cover. */
.epsilon-home-hero {
	margin-block-start: 0;
	min-height: 590px;
}

.epsilon-home-hero .epsilon-home-hero__image {
	height: 100%;
	object-fit: cover;
	object-position: left center;
	width: 100%;
}

.epsilon-home-hero .wp-block-cover__inner-container {
	width: 100%;
}

.epsilon-home-hero__content {
	margin-inline: auto;
	max-width: 660px;
	padding: clamp(72px, 9vw, 128px) clamp(20px, 4vw, 40px);
}

.epsilon-home-hero h1 {
	color: var(--eps-white);
	font-size: clamp(3rem, 5.2vw, 4.25rem);
	letter-spacing: -0.035em;
	line-height: 1;
	margin-block: 0 20px;
}

.epsilon-home-hero__copy {
	color: var(--eps-white);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	line-height: 1.67;
	margin: 0 auto var(--eps-space-4);
	max-width: 620px;
}

.epsilon-home-hero__button .wp-block-button__link {
	background: var(--eps-white);
	color: var(--eps-ink);
}

.epsilon-home-hero__button .wp-block-button__link:hover,
.epsilon-home-hero__button .wp-block-button__link:focus-visible {
	background: var(--eps-yellow);
	color: var(--eps-ink);
	opacity: 1;
}

/* Shared catalogue card. */
.epsilon-home-catalogue,
.epsilon-archive-main,
.epsilon-product-main,
.epsilon-search-main {
	padding-block: clamp(var(--eps-space-6), 7vw, 86px);
}

.epsilon-home-catalogue > h2 {
	font-size: clamp(2.25rem, 4vw, 3.625rem);
	letter-spacing: -0.035em;
	margin-block: 0 var(--eps-space-6);
}

.epsilon-product-grid .wc-block-product-template {
	gap: var(--eps-space-5) var(--eps-space-3);
	list-style: none;
	margin-block: 0;
	padding: 0;
}

.epsilon-product-grid .wc-block-product {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
	text-align: center;
}

.epsilon-product-grid .wc-block-components-product-image,
.epsilon-product-grid .wc-block-grid__product-image {
	align-items: center;
	aspect-ratio: 4 / 5;
	background: var(--eps-bg);
	border-radius: var(--eps-radius-card);
	display: flex;
	justify-content: center;
	margin: 0 0 var(--eps-space-3);
	overflow: hidden;
	padding: var(--eps-space-3);
}

.epsilon-product-grid .wc-block-components-product-image a,
.epsilon-product-grid .wc-block-grid__product-image a {
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.epsilon-product-grid .wc-block-components-product-image img,
.epsilon-product-grid .wc-block-grid__product-image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.epsilon-product-grid .wp-block-post-title {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.35;
	margin: 0 auto var(--eps-space-3);
	min-height: 3.25em;
	text-align: center;
}

.epsilon-product-grid .wp-block-post-title a {
	color: var(--eps-ink);
	text-decoration: none;
}

.epsilon-product-grid .wc-block-components-product-price,
.epsilon-product-grid .wc-block-components-product-rating,
.epsilon-product-grid .wc-block-grid__product-rating,
.epsilon-product-grid .wc-block-grid__product-onsale,
.epsilon-product-grid .wc-block-components-product-sale-badge {
	display: none;
}

/* Native horizontal rail: five cards on desktop, scroll-snap below. */
.epsilon-product-rail .wc-block-product-template {
	display: flex;
	flex-flow: row nowrap;
	gap: var(--eps-space-3);
	grid-template-columns: none;
	justify-content: flex-start;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding: 4px 2px var(--eps-space-3);
	scroll-padding-inline: 2px;
	scroll-snap-type: x proximity;
	scrollbar-color: var(--eps-grey) transparent;
	scrollbar-width: thin;
	touch-action: pan-x pan-y;
	-webkit-overflow-scrolling: touch;
}

.epsilon-product-rail .wc-block-product-template.is-flex-container > .wc-block-product {
	flex: 0 0 calc((100% - (4 * var(--eps-space-3))) / 5);
	max-width: calc((100% - (4 * var(--eps-space-3))) / 5);
	scroll-snap-align: start;
	width: calc((100% - (4 * var(--eps-space-3))) / 5);
}

@media (min-width: 951px) {
	.epsilon-product-rail .wc-block-product-template:has(> :nth-child(3):last-child) {
		justify-content: center;
	}
}

.epsilon-product-archive-grid .wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.epsilon-archive-intro {
	margin-bottom: var(--eps-space-6);
}

.epsilon-archive-intro h1,
.epsilon-search-main .wp-block-query-title {
	margin-block: 0;
}

/* El universo Epsilon. */
.epsilon-home-universe {
	color: var(--eps-ink);
	margin: 65px auto;
	width: 100%;
}

.epsilon-home-universe *,
.epsilon-home-universe *::before,
.epsilon-home-universe *::after {
	box-sizing: border-box;
}

.epsilon-home-universe a {
	color: inherit;
	text-decoration: none;
}

.epsilon-home-universe__wrapper {
	background: var(--eps-yellow);
	border-radius: 28px;
	margin: 0 auto;
	overflow: hidden;
	padding: var(--eps-space-6);
	width: min(var(--eps-container), calc(100% - 40px));
}

.epsilon-home-universe__header {
	align-items: end;
	display: grid;
	gap: 45px;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
	margin-bottom: 34px;
}

.epsilon-home-universe__eyebrow,
.epsilon-home-newsletter__eyebrow {
	background: color-mix(in srgb, var(--eps-white) 68%, transparent);
	border: 1px solid color-mix(in srgb, var(--eps-ink) 12%, transparent);
	border-radius: var(--eps-radius-button);
	color: var(--eps-ink);
	display: inline-flex;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.2;
	margin: 0 0 var(--eps-space-2);
	padding: 7px 13px;
	text-transform: uppercase;
}

.epsilon-home-universe__title {
	font-size: clamp(2.1875rem, 4.7vw, 3.625rem);
	letter-spacing: -0.035em;
	line-height: 1.06;
	margin: 0;
	max-width: 660px;
}

.epsilon-home-universe__intro p {
	color: var(--eps-text);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 20px;
}

.epsilon-home-universe__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.epsilon-home-universe__button,
.epsilon-home-universe__instagram,
.epsilon-contact-card__button {
	align-items: center;
	border-radius: var(--eps-radius-button);
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.25;
	min-height: 46px;
	padding: 11px 19px;
	text-decoration: none;
}

.epsilon-home-universe .epsilon-home-universe__button--primary {
	background: var(--eps-ink);
	border: 1px solid var(--eps-ink);
	color: var(--eps-white);
	font-weight: 700;
}

.epsilon-home-universe .epsilon-home-universe__button--primary:hover,
.epsilon-home-universe .epsilon-home-universe__button--primary:focus-visible {
	background: color-mix(in srgb, var(--eps-ink) 82%, var(--eps-white));
	color: var(--eps-white);
	opacity: 1;
}

.epsilon-home-universe__button--secondary {
	background: transparent;
	border: 1px solid var(--eps-ink);
	color: var(--eps-ink);
}

.epsilon-home-universe__button--secondary:hover,
.epsilon-home-universe__button--secondary:focus-visible {
	background: var(--eps-white);
	opacity: 1;
}

.epsilon-home-universe__grid {
	display: grid;
	gap: var(--eps-space-2);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(2, 250px);
}

.epsilon-home-universe__item {
	background: var(--eps-grey);
	border-radius: var(--eps-radius-card);
	display: block;
	isolation: isolate;
	min-height: 200px;
	overflow: hidden;
	position: relative;
}

.epsilon-home-universe__item img {
	display: block;
	height: 100%;
	margin: 0;
	max-width: none;
	object-fit: cover;
	transition: transform 500ms ease;
	width: 100%;
}

.epsilon-home-universe__item::after {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.58), transparent);
	bottom: 0;
	content: "";
	height: 52%;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: 1;
}

.epsilon-home-universe__caption {
	bottom: 16px;
	color: var(--eps-white);
	left: 18px;
	position: absolute;
	right: 18px;
	z-index: 2;
}

.epsilon-home-universe__caption-small {
	display: block;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin-bottom: 3px;
	text-transform: uppercase;
}

.epsilon-home-universe__caption-title {
	display: block;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.25;
}

.epsilon-home-universe__item--main {
	grid-column: 1 / span 5;
	grid-row: 1 / span 2;
}

.epsilon-home-universe__item--top-wide {
	grid-column: 6 / span 4;
	grid-row: 1;
}

.epsilon-home-universe__item--top-small {
	grid-column: 10 / span 3;
	grid-row: 1;
}

.epsilon-home-universe__item--bottom-small {
	grid-column: 6 / span 3;
	grid-row: 2;
}

.epsilon-home-universe__item--bottom-wide {
	grid-column: 9 / span 4;
	grid-row: 2;
}

.epsilon-home-universe__item--top-wide img {
	object-position: center 38%;
}

.epsilon-home-universe__item--top-small img {
	object-position: center 42%;
}

.epsilon-home-universe__item--bottom-wide img {
	object-position: center 45%;
}

.epsilon-home-universe__footer {
	align-items: center;
	background: var(--eps-pink);
	border-radius: var(--eps-radius-card);
	display: grid;
	gap: var(--eps-space-4);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: 22px;
	padding: 23px 27px;
}

.epsilon-home-universe__footer h3 {
	font-size: 1.1875rem;
	line-height: 1.3;
	margin: 0 0 4px;
}

.epsilon-home-universe__footer p {
	color: var(--eps-text);
	font-size: 0.875rem;
	line-height: 1.55;
	margin: 0;
}

.epsilon-home-universe__instagram {
	background: var(--eps-white);
	border: 1px solid color-mix(in srgb, var(--eps-ink) 13%, transparent);
	color: var(--eps-ink);
	min-height: 47px;
	white-space: nowrap;
}

.epsilon-home-universe__instagram:hover,
.epsilon-home-universe__instagram:focus-visible {
	background: var(--eps-yellow);
	opacity: 1;
}

@media (hover: hover) {
	.epsilon-home-universe__item:hover img {
		transform: scale(1.035);
	}
}

/* Newsletter presentation placeholder: intentionally no form or endpoint. */
.epsilon-home-newsletter {
	background:
		radial-gradient(circle at 93% 12%, rgba(255, 255, 255, 0.48) 0, rgba(255, 255, 255, 0.48) 135px, transparent 137px),
		var(--eps-green);
	padding: 66px 0;
}

.epsilon-home-newsletter__inner {
	margin: 0 auto;
	width: min(var(--eps-container), calc(100% - 40px));
}

.epsilon-home-newsletter__grid {
	align-items: center;
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(0, 0.78fr) minmax(480px, 1.22fr);
}

.epsilon-home-newsletter__copy h2 {
	font-size: clamp(2.1875rem, 4.4vw, 3.375rem);
	letter-spacing: -0.035em;
	line-height: 1.06;
	margin: 0 0 var(--eps-space-3);
	max-width: 520px;
}

.epsilon-home-newsletter__description {
	color: var(--eps-text);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 24px;
	max-width: 520px;
}

.epsilon-home-newsletter__benefits {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eps-space-1);
	list-style: none;
	margin: 0;
	padding: 0;
}

.epsilon-home-newsletter__benefits li {
	align-items: center;
	background: color-mix(in srgb, var(--eps-white) 58%, transparent);
	border-radius: var(--eps-radius-button);
	color: var(--eps-text);
	display: inline-flex;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.2;
	min-height: 32px;
	padding: 6px 11px;
}

.epsilon-home-newsletter__card {
	background: var(--eps-white);
	border: 1px solid color-mix(in srgb, var(--eps-ink) 9%, transparent);
	border-radius: 22px;
	box-shadow: 0 18px 50px color-mix(in srgb, var(--eps-ink) 12%, transparent);
	padding: 30px;
}

.epsilon-home-newsletter__card,
.epsilon-home-newsletter__card *,
.epsilon-contact-card,
.epsilon-contact-card * {
	box-sizing: border-box;
}

.epsilon-home-newsletter__card h3 {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 0 0 5px;
}

.epsilon-home-newsletter__card > p:not(.epsilon-home-newsletter__status) {
	font-size: 0.8125rem;
	line-height: 1.55;
	margin: 0 0 22px;
}

.epsilon-home-newsletter__fields {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.epsilon-home-newsletter__field,
.epsilon-home-newsletter__field--full,
.epsilon-home-newsletter__consent,
.epsilon-home-newsletter__legal-note {
	min-width: 0;
}

.epsilon-home-newsletter__field {
	display: block;
}

.epsilon-home-newsletter__field-label,
.epsilon-home-newsletter__label {
	color: var(--eps-ink);
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 7px;
}

.epsilon-home-newsletter__globe {
	display: inline-block;
	font-size: 0.95rem;
	line-height: 1;
	vertical-align: -0.08em;
}

.epsilon-home-newsletter__fields input[type="email"],
.epsilon-home-newsletter__fields select {
	background: var(--eps-bg);
	border: 1px solid var(--eps-grey);
	border-radius: var(--eps-radius-control);
	color: var(--eps-ink);
	height: 48px;
	opacity: 1;
	padding: 0 14px;
	max-width: 100%;
	width: 100%;
}

.epsilon-home-newsletter__help {
	color: var(--eps-text);
	display: block;
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.45;
	margin-top: 7px;
}

.epsilon-home-newsletter__field--full {
	grid-column: 1 / -1;
}

.epsilon-home-newsletter__choices {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eps-space-1);
	margin-top: var(--eps-space-1);
}

.epsilon-home-newsletter__choices label {
	align-items: center;
	background: var(--eps-bg);
	border: 1px solid var(--eps-grey);
	border-radius: var(--eps-radius-button);
	color: var(--eps-text);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 700;
	gap: 7px;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
}

.epsilon-home-newsletter__choices input,
.epsilon-home-newsletter__consent input {
	accent-color: var(--eps-ink);
	flex: 0 0 auto;
	height: 16px;
	margin: 0;
	opacity: 1;
	padding: 0;
	width: 16px;
}

.epsilon-home-newsletter__consent {
	align-items: flex-start;
	color: var(--eps-text);
	display: flex;
	font-size: 0.6875rem;
	gap: 9px;
	grid-column: 1 / -1;
	line-height: 1.5;
}

.epsilon-home-newsletter__legal-note {
	color: var(--eps-text);
	font-size: 0.6875rem;
	grid-column: 1 / -1;
	line-height: 1.5;
	margin: -4px 0 0;
}

.epsilon-home-newsletter__fields button {
	background: var(--eps-ink);
	border: 1px solid var(--eps-ink);
	border-radius: var(--eps-radius-button);
	color: var(--eps-white);
	font-size: 0.8125rem;
	font-weight: 700;
	grid-column: 1 / -1;
	min-height: 49px;
	opacity: 0.6;
	padding: 12px 18px;
	width: 100%;
}

.epsilon-home-newsletter__status {
	color: var(--eps-text);
	font-size: 0.6875rem;
	line-height: 1.5;
	margin: 10px 0 0;
	text-align: center;
}

/* Yellow editorial strip. */
.epsilon-feature-strip {
	background: var(--eps-yellow);
	border-block: 1px solid color-mix(in srgb, var(--eps-ink) 8%, transparent);
}

.epsilon-feature-strip__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	width: min(var(--eps-container), 100%);
}

.epsilon-feature-strip__item {
	padding: 22px 25px;
	position: relative;
	text-align: center;
}

.epsilon-feature-strip__item:not(:last-child)::after {
	background: color-mix(in srgb, var(--eps-ink) 12%, transparent);
	bottom: 22px;
	content: "";
	position: absolute;
	right: 0;
	top: 22px;
	width: 1px;
}

.epsilon-feature-strip__title {
	color: var(--eps-ink);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
	margin: 0 0 3px;
}

.epsilon-feature-strip__item p:not(.epsilon-feature-strip__title) {
	color: var(--eps-text);
	font-size: 0.75rem;
	line-height: 1.45;
	margin: 0;
}

/* Final mauve CTA and minimal legal close. */
.epsilon-contact-section {
	background: var(--eps-bg);
	padding: var(--eps-space-6) 20px 0;
}

.epsilon-contact-card {
	align-items: center;
	background: var(--eps-pink);
	border-radius: var(--eps-radius-card);
	display: grid;
	gap: 30px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0 auto;
	max-width: var(--eps-container);
	padding: 25px 28px;
}

.epsilon-contact-card h2 {
	font-size: 1.125rem;
	letter-spacing: 0;
	line-height: 1.35;
	margin: 0 0 4px;
}

.epsilon-contact-card p {
	color: var(--eps-text);
	font-size: 0.8125rem;
	line-height: 1.55;
	margin: 0;
}

.epsilon-contact-card__button {
	background: var(--eps-ink);
	border: 1px solid var(--eps-ink);
	box-sizing: border-box;
	color: var(--eps-white);
	max-width: 100%;
	min-height: 47px;
	white-space: nowrap;
}

.epsilon-contact-card__button:hover,
.epsilon-contact-card__button:focus-visible {
	background: color-mix(in srgb, var(--eps-ink) 82%, var(--eps-white));
	color: var(--eps-white);
	opacity: 1;
}

.epsilon-site-footer {
	background: var(--eps-bg);
	color: var(--eps-text);
	margin-block-start: 0;
}

.epsilon-site-footer__inner {
	min-height: 96px;
	padding-block: var(--eps-space-4);
}

.epsilon-site-footer p {
	font-size: 0.75rem;
	margin: 0;
}

/* Search results: products by title only, no commerce controls. */
.epsilon-search-main .wp-block-query-title {
	font-size: clamp(2rem, 4vw, 3.25rem);
	margin-bottom: var(--eps-space-6);
}

.epsilon-search-grid {
	display: grid;
	gap: var(--eps-space-5) var(--eps-space-4);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.epsilon-search-grid > li {
	min-width: 0;
	text-align: center;
}

.epsilon-search-grid .wp-block-post-featured-image {
	align-items: center;
	aspect-ratio: 4 / 5;
	background: var(--eps-bg);
	border-radius: var(--eps-radius-card);
	display: flex;
	justify-content: center;
	margin: 0 0 var(--eps-space-3);
	overflow: hidden;
	padding: var(--eps-space-3);
}

.epsilon-search-grid .wp-block-post-featured-image a {
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.epsilon-search-grid .wp-block-post-featured-image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.epsilon-search-grid .wp-block-post-title {
	font-size: 1.125rem;
	line-height: 1.35;
	margin: 0;
}

.epsilon-search-grid .wp-block-post-title a {
	color: var(--eps-ink);
	text-decoration: none;
}

.epsilon-search-empty {
	background: var(--eps-bg);
	border-radius: var(--eps-radius-card);
	padding: var(--eps-space-5);
}

/* Editorial product detail. */
.epsilon-product-layout {
	align-items: flex-start;
	gap: clamp(var(--eps-space-5), 6vw, 76px);
}

.epsilon-product-gallery {
	background: var(--eps-bg);
	border-radius: var(--eps-radius-card);
	overflow: hidden;
	padding: clamp(var(--eps-space-2), 3vw, var(--eps-space-4));
}

.epsilon-product-gallery img,
.epsilon-product-gallery .wc-block-product-gallery-large-image__image {
	height: auto;
	object-fit: contain;
}

/* WooCommerce keeps selection, zoom and PhotoSwipe. Every thumbnail remains visible. */
.woocommerce div.product .epsilon-product-gallery div.images .flex-control-thumbs {
	display: grid;
	float: none;
	gap: var(--eps-space-1);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: var(--eps-space-3) 0 0;
	overflow: visible;
	padding: 2px 0 0;
}

.woocommerce div.product .epsilon-product-gallery div.images .flex-control-thumbs li,
.woocommerce div.product .epsilon-product-gallery div.images .flex-control-thumbs li:nth-child(4n+1) {
	clear: none;
	float: none;
	margin: 0;
	max-width: none;
	width: auto;
}

.epsilon-product-gallery .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	background: var(--eps-white);
	border: 2px solid transparent;
	border-radius: var(--eps-radius-control);
	box-sizing: border-box;
	height: auto;
	object-fit: contain;
	opacity: 0.72;
	padding: 6px;
	width: 100%;
}

.epsilon-product-gallery .flex-control-thumbs img:hover,
.epsilon-product-gallery .flex-control-thumbs img:focus-visible,
.epsilon-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--eps-green);
	opacity: 1;
}

.epsilon-product-summary {
	padding-block: var(--eps-space-3);
}

.epsilon-product-summary .wp-block-post-title {
	font-size: clamp(2.25rem, 4vw, 3.625rem);
	letter-spacing: -0.03em;
	margin-block-start: 0;
}

.epsilon-product-summary__separator {
	border-color: var(--eps-grey);
	margin: var(--eps-space-3) 0 var(--eps-space-4);
	width: 100%;
}

.epsilon-product-summary .wp-block-woocommerce-product-summary {
	font-size: 1rem;
	line-height: 1.65;
}

.epsilon-product-summary .wp-block-woocommerce-product-summary p {
	margin-block: 0 var(--eps-space-3);
}

.epsilon-product-summary .wp-block-woocommerce-product-summary ul,
.epsilon-product-content ul {
	padding-inline-start: 1.25rem;
}

.epsilon-product-summary .wp-block-woocommerce-product-summary li + li {
	margin-top: var(--eps-space-1);
}

.epsilon-product-editorial {
	display: grid;
	gap: 10px;
	margin: 0;
}

.epsilon-product-editorial__row {
	display: grid;
	gap: 4px;
	grid-template-columns: minmax(9.5rem, auto) minmax(0, 1fr);
}

.epsilon-product-editorial dt {
	color: var(--eps-ink);
	font-weight: 700;
}

.epsilon-product-editorial dd {
	margin: 0;
}

.epsilon-product-summary .wp-block-woocommerce-add-to-cart-form {
	margin-top: var(--eps-space-4);
}

.epsilon-product-summary .single_add_to_cart_button,
.epsilon-product-summary .wp-block-button__link {
	background: var(--eps-ink);
	color: var(--eps-white);
}

.epsilon-product-summary .single_add_to_cart_button:hover,
.epsilon-product-summary .single_add_to_cart_button:focus-visible,
.epsilon-product-summary .wp-block-button__link:hover,
.epsilon-product-summary .wp-block-button__link:focus-visible {
	background: var(--eps-green);
	color: var(--eps-ink);
	opacity: 1;
}

.epsilon-product-summary :where(.price, .stock, .quantity, .product_meta),
.epsilon-product-main :where(.woocommerce-tabs, .related, .upsells) {
	display: none;
}

.epsilon-product-content {
	border-top: 1px solid var(--eps-grey);
	line-height: 1.75;
	margin-top: clamp(var(--eps-space-6), 8vw, 96px);
	max-width: var(--eps-container);
	padding-top: var(--eps-space-5);
	width: 100%;
}

.epsilon-product-content > :first-child {
	margin-top: 0;
}

.epsilon-product-content .wp-block-post-content {
	max-width: min(820px, 100%);
}

@media (max-width: 950px) {
	.epsilon-product-rail .wc-block-product-template.is-flex-container > .wc-block-product {
		flex-basis: calc((100% - (2 * var(--eps-space-3))) / 3);
		max-width: calc((100% - (2 * var(--eps-space-3))) / 3);
		width: calc((100% - (2 * var(--eps-space-3))) / 3);
	}

	.epsilon-home-universe__wrapper {
		padding: var(--eps-space-5);
	}

	.epsilon-home-universe__header {
		align-items: start;
		gap: 20px;
		grid-template-columns: 1fr;
	}

	.epsilon-home-universe__intro {
		max-width: 670px;
	}

	.epsilon-home-universe__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: 390px 235px 235px;
	}

	.epsilon-home-universe__item--main {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.epsilon-home-universe__item--top-wide {
		grid-column: 1;
		grid-row: 2;
	}

	.epsilon-home-universe__item--top-small {
		grid-column: 2;
		grid-row: 2;
	}

	.epsilon-home-universe__item--bottom-small {
		grid-column: 1;
		grid-row: 3;
	}

	.epsilon-home-universe__item--bottom-wide {
		grid-column: 2;
		grid-row: 3;
	}

	.epsilon-home-newsletter__grid {
		gap: 38px;
		grid-template-columns: minmax(0, 0.7fr) minmax(430px, 1.3fr);
	}
}

@media (max-width: 800px) {
	.epsilon-home-newsletter {
		padding: 52px 0;
	}

	.epsilon-home-newsletter__grid {
		grid-template-columns: 1fr;
	}

	.epsilon-home-newsletter__copy {
		margin: 0 auto;
		max-width: 660px;
		text-align: center;
	}

	.epsilon-home-newsletter__copy h2,
	.epsilon-home-newsletter__description {
		margin-inline: auto;
	}

	.epsilon-home-newsletter__benefits {
		justify-content: center;
	}

	.epsilon-product-archive-grid .wc-block-product-template,
	.epsilon-search-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.epsilon-product-layout {
		gap: var(--eps-space-4);
	}
}

@media (max-width: 620px) {
	.epsilon-home-universe {
		margin: 42px auto;
	}

	.epsilon-home-universe__wrapper {
		border-radius: 21px;
		padding: 28px 17px 19px;
		width: calc(100% - 22px);
	}

	.epsilon-home-universe__header {
		margin-bottom: 24px;
	}

	.epsilon-home-universe__title {
		font-size: 2.25rem;
	}

	.epsilon-home-universe__intro p {
		font-size: 0.9375rem;
	}

	.epsilon-home-universe__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.epsilon-home-universe__button {
		width: 100%;
	}

	.epsilon-home-universe__grid {
		gap: 9px;
		grid-template-rows: 320px 180px 180px;
	}

	.epsilon-home-universe__item {
		border-radius: 13px;
	}

	.epsilon-home-universe__caption {
		bottom: 10px;
		left: 11px;
		right: 11px;
	}

	.epsilon-home-universe__caption-small {
		display: none;
	}

	.epsilon-home-universe__caption-title {
		font-size: 0.875rem;
	}

	.epsilon-home-universe__footer {
		gap: 17px;
		grid-template-columns: 1fr;
		padding: 22px 19px;
		text-align: center;
	}

	.epsilon-home-universe__instagram {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.admin-bar .epsilon-site-header {
		top: 46px;
	}

	.epsilon-site-header__inner {
		flex-wrap: nowrap;
		min-height: 74px;
	}

	.epsilon-wordmark {
		max-width: calc(100% - 60px);
	}

	.epsilon-wordmark img {
		max-width: 148px;
	}

	.epsilon-header-search .wp-block-search__inside-wrapper {
		position: static;
	}

	.epsilon-header-search .wp-block-search__input {
		box-shadow: 0 12px 32px rgba(23, 23, 23, 0.12);
		left: 0;
		min-width: 0;
		position: absolute;
		right: 0;
		top: calc(100% + 8px);
		width: 100%;
		z-index: 2;
	}

	.epsilon-home-hero {
		min-height: 470px;
	}

	.epsilon-home-hero__content {
		padding-block: 72px;
	}

	.epsilon-home-hero h1 {
		font-size: clamp(2.5rem, 13vw, 3.35rem);
	}

	.epsilon-home-newsletter__fields {
		gap: 15px;
		grid-template-columns: 1fr;
	}

	.epsilon-home-newsletter__field--full,
	.epsilon-home-newsletter__consent,
	.epsilon-home-newsletter__legal-note,
	.epsilon-home-newsletter__fields button {
		grid-column: auto;
	}

	.epsilon-feature-strip__inner {
		grid-template-columns: 1fr;
	}

	.epsilon-feature-strip__item {
		padding: 17px 20px;
	}

	.epsilon-feature-strip__item:not(:last-child)::after {
		bottom: 0;
		height: 1px;
		left: 20px;
		right: 20px;
		top: auto;
		width: auto;
	}

	.epsilon-contact-card {
		gap: var(--eps-space-3);
		grid-template-columns: 1fr;
	}

	.epsilon-contact-card__button {
		text-align: center;
		width: 100%;
	}

	.epsilon-product-grid .wp-block-post-title {
		min-height: 0;
	}
}

@media (max-width: 580px) {
	.epsilon-home-newsletter {
		padding: 43px 0;
	}

	.epsilon-home-newsletter__inner {
		width: calc(100% - 28px);
	}

	.epsilon-home-newsletter__copy h2 {
		font-size: 2.25rem;
	}

	.epsilon-home-newsletter__description {
		font-size: 0.9375rem;
	}

	.epsilon-home-newsletter__card {
		border-radius: 17px;
		padding: 23px 18px;
	}

	.epsilon-contact-section {
		padding-inline: 14px;
	}

	.epsilon-contact-card {
		border-radius: 15px;
		padding: 23px 20px;
	}

	.epsilon-contact-card__button {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.epsilon-product-rail .wc-block-product-template {
		justify-content: flex-start;
	}

	.epsilon-product-rail .wc-block-product-template.is-flex-container > .wc-block-product {
		flex-basis: 80%;
		max-width: 80%;
		width: 80%;
	}

	.epsilon-product-archive-grid .wc-block-product-template,
	.epsilon-search-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.epsilon-product-grid .wc-block-components-product-image,
	.epsilon-product-grid .wc-block-grid__product-image,
	.epsilon-search-grid .wp-block-post-featured-image {
		aspect-ratio: 1 / 1.2;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
	}
}
