/* ==========================================================================
   WE Coffee - Editorial Coffee visual variant

   This stylesheet is loaded only for the sanitized `editorial` theme variant.
   It deliberately changes presentation only: Astra, WooCommerce and plugin
   markup, hooks and interaction logic remain untouched.
   ========================================================================== */

body.wecoffee-style--editorial,
.editor-styles-wrapper {
	/* Editorial palette: graphite ink on warm, ceramic paper surfaces. */
	--wecoffee-editorial-ink: #17181E;
	--wecoffee-editorial-charcoal: #30313A;
	--wecoffee-editorial-graphite: #5D5F68;
	--wecoffee-editorial-bone: #F6F3EA;
	--wecoffee-editorial-paper: #FFFDF7;
	--wecoffee-editorial-mineral: #E8E4D9;
	--wecoffee-editorial-soft-accent: #D8D2C5;
	--wecoffee-editorial-hairline: #C9C5BA;
	--wecoffee-editorial-on-ink: #FFFDF7;
	--wecoffee-editorial-accent: var(--wecoffee-editorial-ink);
	--wecoffee-editorial-accent-hover: var(--wecoffee-editorial-charcoal);
	--wecoffee-editorial-accent-active: #0E0F13;
	--wecoffee-editorial-ink-rgb: 23, 24, 30;
	--wecoffee-editorial-paper-rgb: 255, 253, 247;

	/* Shared theme variables retain the same semantic roles for plugin CSS. */
	--wecoffee-color-espresso: var(--wecoffee-editorial-ink);
	--wecoffee-color-latte: var(--wecoffee-editorial-accent);
	--wecoffee-color-cream: var(--wecoffee-editorial-bone);
	--wecoffee-color-parchment: var(--wecoffee-editorial-mineral);
	--wecoffee-color-charcoal: var(--wecoffee-editorial-ink);
	--wecoffee-color-stone: var(--wecoffee-editorial-graphite);
	--wecoffee-color-white: var(--wecoffee-editorial-on-ink);
	--wecoffee-color-error: #B42318;
	--wecoffee-color-success: #167246;

	--wecoffee-color-primary: var(--wecoffee-editorial-accent);
	--wecoffee-color-primary-hover: var(--wecoffee-editorial-accent-hover);
	--wecoffee-color-primary-active: var(--wecoffee-editorial-accent-active);
	--wecoffee-color-focus: var(--wecoffee-editorial-accent);
	--wecoffee-focus-shadow: rgba(var(--wecoffee-editorial-ink-rgb), 0.2);
	--wecoffee-color-secondary: var(--wecoffee-editorial-charcoal);
	--wecoffee-color-background: var(--wecoffee-editorial-bone);
	--wecoffee-color-surface: var(--wecoffee-editorial-paper);
	--wecoffee-color-surface-alt: var(--wecoffee-editorial-mineral);
	--wecoffee-color-text: var(--wecoffee-editorial-ink);
	--wecoffee-color-text-muted: var(--wecoffee-editorial-graphite);
	--wecoffee-color-border: var(--wecoffee-editorial-hairline);

	/* Typography. Google Fonts failure falls back without hiding content. */
	--wecoffee-font-heading: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--wecoffee-font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--wecoffee-text-display: clamp(4.5rem, 10vw, 10.5rem);
	--wecoffee-text-hero: clamp(3.75rem, 8vw, 8rem);
	/* The three display levels scale fluidly; the desktop maxima stay unchanged. */
	--wecoffee-text-h1: clamp(3.0518rem, 6.6vw, 6.75rem);
	--wecoffee-text-h2: clamp(2.4414rem, 5vw, 5.25rem);
	--wecoffee-text-h3: clamp(1.9531rem, 3vw, 3rem);
	--wecoffee-text-h4: 1.125rem;
	--wecoffee-text-h5: 1rem;
	--wecoffee-text-h6: 0.8125rem;
	--wecoffee-text-body: 1.0625rem;
	--wecoffee-text-small: 0.875rem;
	--wecoffee-text-caption: 0.75rem;

	/* Wide editorial canvas and a deliberately slow vertical rhythm. */
	--wecoffee-content-width: 90rem;
	--wecoffee-narrow-width: 54rem;
	--wecoffee-gutter: clamp(1.25rem, 4vw, 5rem);
	--wecoffee-section-gap: clamp(5rem, 10vw, 10rem);

	/* Soft media and panels, compact pill actions. */
	--wecoffee-radius-sm: 4px;
	--wecoffee-radius-md: 8px;
	--wecoffee-radius-lg: 16px;
	--wecoffee-radius-xl: 24px;
	--wecoffee-radius-button: 999px;
	--wecoffee-radius-choice-button: 16px;
	--wecoffee-radius-field: 8px;
	--wecoffee-radius-card: 0;
	--wecoffee-radius-panel: 24px;
	--wecoffee-radius-feature-panel: 32px;
	--wecoffee-radius-product-card: 0;
	--wecoffee-radius-media: 24px;
	--wecoffee-radius-thumbnail: 8px;
	--wecoffee-radius-empty-state: 24px;
	--wecoffee-radius-overlay: 0;
	--wecoffee-radius-badge: 999px;

	--wecoffee-shadow-sm: 0 1px 0 rgba(var(--wecoffee-editorial-ink-rgb), 0.08);
	--wecoffee-shadow-md: 0 18px 50px rgba(var(--wecoffee-editorial-ink-rgb), 0.08);
	--wecoffee-shadow-lg: 0 32px 90px rgba(var(--wecoffee-editorial-ink-rgb), 0.12);
}

body.wecoffee-style--editorial {
	background: var(--wecoffee-editorial-bone);
	color: var(--wecoffee-editorial-ink);
	font-size: var(--wecoffee-text-body);
}

.editor-styles-wrapper {
	background: var(--wecoffee-editorial-bone);
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-body);
	font-size: var(--wecoffee-text-body);
	line-height: 1.6;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) :is(h1, h2, h3) {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-weight: 400;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) :is(h4, h5, h6) {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-body);
	font-weight: 650;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) :is(p, li) {
	text-wrap: pretty;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) :is(.price,
	.amount,
	.qty,
	.wecoffee-product-carousel__offer) {
	font-variant-numeric: tabular-nums;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) :is(input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="tel"],
	input[type="date"],
	input[type="datetime-local"],
	textarea,
	select) {
	background-color: var(--wecoffee-editorial-paper);
	border-color: var(--wecoffee-editorial-hairline);
	border-radius: var(--wecoffee-radius-field);
	color: var(--wecoffee-editorial-ink);
	min-height: 3.25rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) textarea {
	min-height: 8rem;
}

body.wecoffee-style--editorial :is(a,
	button,
	input,
	select,
	textarea,
	summary):focus-visible,
.editor-styles-wrapper :is(a,
	button,
	input,
	select,
	textarea,
	summary):focus-visible {
	box-shadow: 0 0 0 4px var(--wecoffee-focus-shadow);
	outline: 2px solid var(--wecoffee-editorial-accent);
	outline-offset: 3px;
}

/* ==========================================================================
   Header
   ========================================================================== */

body.wecoffee-style--editorial .site-header,
body.wecoffee-style--editorial .ast-primary-header-bar {
	background-color: var(--wecoffee-editorial-paper);
	border-bottom-color: var(--wecoffee-editorial-hairline);
	box-shadow: none;
}

body.wecoffee-style--editorial.home .site-header,
body.wecoffee-style--editorial.home .ast-primary-header-bar {
	background-color: transparent;
	border-bottom-color: transparent;
}

body.wecoffee-style--editorial.home .site-header.wecoffee-header-scrolled,
body.wecoffee-style--editorial.home .site-header.wecoffee-header-scrolled .ast-primary-header-bar {
	background-color: var(--wecoffee-editorial-paper);
	border-bottom-color: var(--wecoffee-editorial-hairline);
	box-shadow: none;
}

/*
 * The About and Our Coffees pages use the same overlay treatment as the
 * transparent Classic header. Keep this scoped to the two body classes from
 * customizer.php so the Editorial homepage retains its current appearance.
 */
body.wecoffee-style--editorial.wecoffee-transparent-header .site-header {
	background-color: transparent;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .ast-primary-header-bar {
	background-color: transparent;
	border-bottom-color: transparent;
	position: relative;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header.wecoffee-header-scrolled,
body.wecoffee-style--editorial.wecoffee-transparent-header .site-header.wecoffee-header-scrolled .ast-primary-header-bar {
	background-color: var(--wecoffee-editorial-paper);
	border-bottom-color: var(--wecoffee-editorial-hairline);
	box-shadow: none;
}

body.admin-bar.wecoffee-style--editorial.wecoffee-transparent-header .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.wecoffee-style--editorial.wecoffee-transparent-header .site-header {
		top: 46px;
	}
}

body.wecoffee-style--editorial .main-header-menu>.menu-item>.menu-link {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-body);
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

body.wecoffee-style--editorial .main-header-menu>.menu-item>.menu-link:hover,
body.wecoffee-style--editorial .main-header-menu>.menu-item.current-menu-item>.menu-link {
	color: var(--wecoffee-editorial-accent);
}

/* Editorial's homepage opens on a light hero, so it retains dark controls. */
body.wecoffee-style--editorial.home .site-header:not(.wecoffee-header-scrolled) {
	--wecoffee-header-foreground: var(--wecoffee-color-primary);
}

body.wecoffee-style--editorial.home .site-header:not(.wecoffee-header-scrolled) .site-title a,
body.wecoffee-style--editorial.home .site-header:not(.wecoffee-header-scrolled) .ast-header-account-wrap {
	color: var(--wecoffee-color-primary);
}

/* Match the higher-specificity homepage states from the shared header layer. */
body.wecoffee-style--editorial.home:not(.ast-header-break-point) .site-header:not(.wecoffee-header-scrolled) .main-header-menu > .menu-item > .menu-link {
	color: var(--wecoffee-color-primary);
}

body.wecoffee-style--editorial.home .site-header:not(.wecoffee-header-scrolled) .ast-header-social-wrap {
	--wecoffee-header-social-color: var(--wecoffee-color-primary);
}

body.wecoffee-style--editorial.home .site-header:not(.wecoffee-header-scrolled) .ast-site-header-cart {
	--wecoffee-header-cart-color: var(--wecoffee-color-primary);
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header {
	--wecoffee-header-foreground: var(--wecoffee-editorial-ink);
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header:not(.wecoffee-header-scrolled) {
	--wecoffee-header-foreground: var(--wecoffee-editorial-on-ink);
}

body.wecoffee-style--editorial.home .site-header .custom-logo-link::before {
	opacity: 1;
}

body.wecoffee-style--editorial.home .site-header .custom-logo-link::after {
	opacity: 0;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header .custom-logo {
	opacity: 0;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header .custom-logo-link::before,
body.wecoffee-style--editorial.wecoffee-transparent-header .site-header .custom-logo-link::after {
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity var(--wecoffee-duration-slow, 400ms) var(--wecoffee-ease, ease);
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header .custom-logo-link::before {
	background-image: url("/wp-content/uploads/2026/07/logo-we-poziom-on-light.svg");
	opacity: 1;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header .custom-logo-link::after {
	background-image: url("/wp-content/uploads/2026/07/logo-we-poziom-on-dark.svg");
	opacity: 0;
	transform: translateX(-0.8826%);
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header:not(.wecoffee-header-scrolled) .custom-logo-link::before {
	opacity: 0;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header:not(.wecoffee-header-scrolled) .custom-logo-link::after {
	opacity: 1;
}

body.wecoffee-style--editorial.wecoffee-transparent-header .site-header:not(.wecoffee-header-scrolled) .site-title a,
body.wecoffee-style--editorial.wecoffee-transparent-header .site-header:not(.wecoffee-header-scrolled) .ast-header-account-wrap {
	color: var(--wecoffee-editorial-on-ink);
}

body.wecoffee-style--editorial.wecoffee-transparent-header:not(.ast-header-break-point) .site-header:not(.wecoffee-header-scrolled) .main-header-menu > .menu-item > .menu-link {
	color: var(--wecoffee-editorial-on-ink);
}

body.wecoffee-style--editorial .site-header .ast-header-social-wrap {
	--wecoffee-header-social-color: var(--wecoffee-header-foreground);
}

body.wecoffee-style--editorial .site-header .ast-site-header-cart {
	--wecoffee-header-cart-color: var(--wecoffee-header-foreground);
}

body.wecoffee-style--editorial.ast-header-break-point .site-header,
body.wecoffee-style--editorial.home.ast-header-break-point .site-header:not(.wecoffee-header-scrolled) {
	--wecoffee-mobile-header-color: var(--wecoffee-header-foreground);
	--wecoffee-mobile-trigger-background: var(--wecoffee-header-foreground);
	--wecoffee-mobile-trigger-foreground: var(--wecoffee-editorial-paper);
}

body.wecoffee-style--editorial.wecoffee-transparent-header.ast-header-break-point .site-header:not(.wecoffee-header-scrolled) {
	--wecoffee-mobile-header-color: var(--wecoffee-editorial-on-ink);
	--wecoffee-mobile-trigger-background: var(--wecoffee-editorial-on-ink);
	--wecoffee-mobile-trigger-foreground: var(--wecoffee-editorial-ink);
}

body.wecoffee-style--editorial.wecoffee-transparent-header.ast-header-break-point .site-header.wecoffee-header-scrolled {
	--wecoffee-mobile-header-color: var(--wecoffee-editorial-ink);
	--wecoffee-mobile-trigger-background: var(--wecoffee-editorial-ink);
	--wecoffee-mobile-trigger-foreground: var(--wecoffee-editorial-on-ink);
}

/*
 * The transparent headers on the About and Our Coffees pages sit over dark
 * imagery. Match the Classic variant there: white controls and the alternate
 * (on-dark) logo, while keeping Editorial's dark homepage header unchanged.
 */
body.wecoffee-style--editorial.wecoffee-transparent-header:not(.home).ast-header-break-point .site-header:not(.wecoffee-header-scrolled) {
	--wecoffee-mobile-trigger-foreground: var(--wecoffee-color-primary, #3B2820);
}

body.wecoffee-style--editorial.ast-header-break-point .site-header .ast-button-wrap .main-header-menu-toggle {
	border-color: var(--wecoffee-header-foreground) !important;
	color: var(--wecoffee-header-foreground) !important;
}

body.wecoffee-style--editorial.ast-header-break-point .site-header .ast-button-wrap .ast-mobile-menu-trigger-minimal {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--wecoffee-header-foreground) !important;
}

body.wecoffee-style--editorial.ast-header-break-point .site-header .ast-button-wrap .ast-mobile-menu-trigger-outline {
	background: transparent !important;
	border-color: var(--wecoffee-header-foreground) !important;
	color: var(--wecoffee-header-foreground) !important;
}

body.wecoffee-style--editorial.ast-header-break-point .site-header .ast-button-wrap .ast-mobile-menu-trigger-fill {
	background: var(--wecoffee-mobile-trigger-background) !important;
	border-color: var(--wecoffee-mobile-trigger-background) !important;
	color: var(--wecoffee-mobile-trigger-foreground) !important;
}

body.wecoffee-style--editorial.ast-header-break-point .site-header .main-header-menu>.menu-item>.ast-menu-toggle {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--wecoffee-header-foreground) !important;
}

body.wecoffee-style--editorial .main-header-menu .sub-menu,
body.wecoffee-style--editorial.ast-header-break-point .site-header :is(.ast-mobile-header-content,
	.main-header-bar-navigation,
	.main-header-menu,
	.main-header-menu .sub-menu) {
	background-color: var(--wecoffee-editorial-paper);
	border-color: var(--wecoffee-editorial-hairline);
	border-radius: 0;
	box-shadow: none;
}

/* ==========================================================================
   Full-viewport product carousel
   ========================================================================== */

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wp-block-wecoffee-product-carousel.wecoffee-product-carousel {
	--wecoffee-carousel-control-background: var(--wecoffee-editorial-paper);
	--wecoffee-carousel-control-color: var(--wecoffee-editorial-ink);
	--wecoffee-carousel-details-background: transparent;
	--wecoffee-carousel-name-background: transparent;
	--wecoffee-carousel-name-color: var(--wecoffee-editorial-ink);
	background: linear-gradient(145deg,
			var(--wecoffee-editorial-paper),
			var(--wecoffee-editorial-bone) 62%,
			var(--wecoffee-editorial-mineral));
	background:
		radial-gradient(circle at 50% 42%,
			color-mix(in srgb, var(--wecoffee-carousel-gradient-inner, var(--wecoffee-editorial-soft-accent)) 25%, transparent) 0,
			color-mix(in srgb, var(--wecoffee-carousel-gradient-outer, var(--wecoffee-editorial-mineral)) 12%, transparent) 28rem,
			transparent 48rem),
		linear-gradient(145deg, var(--wecoffee-editorial-paper), var(--wecoffee-editorial-bone) 62%, var(--wecoffee-editorial-mineral));
	color: var(--wecoffee-editorial-ink);
	padding-bottom: clamp(0.75rem, 2.5vh, 1.5rem);
	transition: none;
}

/*
 * The full-height carousel wrapper remains the clipping boundary for offscreen
 * slides. The initialized inner viewport must not add vertical padding or
 * clip the 1.3x selected card, otherwise its product and name are cut off.
 */
body.wecoffee-style--editorial.home .wecoffee-product-carousel.is-initialized .wecoffee-product-carousel__viewport {
	overflow: visible;
	padding-block: 0;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__card {
	--wecoffee-carousel-opacity: 0.48;
	--wecoffee-carousel-scale: 1;
	filter: none;
	opacity: var(--wecoffee-carousel-opacity);
	transform: scale(var(--wecoffee-carousel-scale));
	transition:
		opacity 160ms linear;
	will-change: opacity;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__slide.is-selected .wecoffee-product-carousel__card {
	--wecoffee-carousel-opacity: 1;
	--wecoffee-carousel-scale: 1;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__link {
	color: var(--wecoffee-editorial-ink);
	gap: clamp(1rem, 2.5vw, 2rem);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__image {
	filter: drop-shadow(0 2rem 2.4rem rgba(var(--wecoffee-editorial-ink-rgb), 0.14));
	max-height: min(42svh, 29rem);
	transform: scale(0.94);
	transform-origin: center;
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__slide.is-selected .wecoffee-product-carousel__image {
	transform: scale(1.06);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__name {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(2.25rem, 5vw, 5.5rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.96;
	max-width: min(34rem, 82vw);
	padding: 0;
	text-wrap: balance;
}

/* 60% of the active name's clamp(2.25rem, 5vw, 5.5rem) scale. */
body.wecoffee-style--editorial.home .wecoffee-product-carousel__slide:not(.is-selected) .wecoffee-product-carousel__name {
	font-size: clamp(1.35rem, 3vw, 3.3rem);
}

@media (max-width: 47.99rem) {
	body.wecoffee-style--editorial.home .wecoffee-product-carousel__slide:not(.is-selected) .wecoffee-product-carousel__name {
		font-size: clamp(1.2rem, 4.2vw, 2.55rem);
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details {
	padding-inline: var(--wecoffee-gutter);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-content {
	width: min(100%, var(--wecoffee-content-width));
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-inner {
	backdrop-filter: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--wecoffee-editorial-hairline);
	box-shadow: none;
	color: var(--wecoffee-editorial-ink);
	justify-content: space-between;
	max-width: none;
	padding: clamp(0.75rem, 2vh, 1.25rem) 0 0;
	width: 100%;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__notes {
	color: var(--wecoffee-editorial-graphite);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__offer {
	color: var(--wecoffee-editorial-ink);
	font-weight: 650;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-cta {
	background: var(--wecoffee-editorial-accent);
	border: 1px solid var(--wecoffee-editorial-accent);
	border-radius: var(--wecoffee-radius-button);
	color: var(--wecoffee-editorial-on-ink);
	min-height: 44px;
	padding-inline: 1.25rem;
}

@media (hover: hover) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-cta:hover {
		background: var(--wecoffee-editorial-accent-hover);
		border-color: var(--wecoffee-editorial-accent-hover);
		box-shadow: none;
		color: var(--wecoffee-editorial-on-ink);
		transform: translateY(-1px);
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__button {
	background: var(--wecoffee-editorial-paper) !important;
	border: 1px solid var(--wecoffee-editorial-hairline) !important;
	border-radius: 50%;
	box-shadow: none;
	color: var(--wecoffee-editorial-ink) !important;
	height: 48px;
	min-width: 48px;
}

@media (hover: hover) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__button:hover:not(:disabled) {
		background: var(--wecoffee-editorial-soft-accent) !important;
		border-color: var(--wecoffee-editorial-ink) !important;
		box-shadow: none;
		transform: scale(1.03);
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper):is(.wecoffee-product-carousel__button,
	.wecoffee-product-carousel__link,
	.wecoffee-product-carousel__details-cta):focus-visible {
	box-shadow: 0 0 0 4px var(--wecoffee-focus-shadow);
	outline: 2px solid var(--wecoffee-editorial-accent);
	outline-offset: 4px;
}

/* ==========================================================================
   Cover hero and content sections
   ========================================================================== */

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover {
	align-items: flex-end;
	min-height: clamp(38rem, 82svh, 58rem);
	padding-block: var(--wecoffee-space-2xl);
	padding-inline: max(var(--wecoffee-gutter), calc((100vw - var(--wecoffee-content-width)) / 2));
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover .wp-block-cover__background {
	background:
		linear-gradient(90deg,
			rgba(var(--wecoffee-editorial-ink-rgb), 0.76) 0%,
			rgba(var(--wecoffee-editorial-ink-rgb), 0.46) 48%,
			rgba(var(--wecoffee-editorial-ink-rgb), 0.16) 100%) !important;
	opacity: 1 !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover h1,
:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover h2 {
	color: var(--wecoffee-editorial-on-ink);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.94;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero__content {
	display: grid;
	gap: clamp(1rem, 2vw, 1.75rem);
	margin: 0;
	max-width: 62rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero__eyebrow {
	color: var(--wecoffee-editorial-accent);
	font-family: var(--wecoffee-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover .wecoffee-hero__eyebrow {
	color: var(--wecoffee-editorial-soft-accent);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__eyebrow {
	align-items: center;
	display: flex;
	gap: var(--wecoffee-space-sm);
	margin-bottom: var(--wecoffee-space-lg);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__eyebrow::before {
	background: currentColor;
	content: "";
	height: 1px;
	width: 2.625rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero .has-large-font-size {
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	line-height: 1.65;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial.wp-block-cover {
	align-items: stretch;
	min-height: 100svh;
	padding: 0;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wp-block-cover__inner-container {
	align-self: stretch;
	display: flex;
	width: 100%;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial.wp-block-cover .wp-block-cover__image-background {
	transform: scale(1.015) !important;
	transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial.wp-block-cover:hover .wp-block-cover__image-background {
		transform: scale(1) !important;
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	max-width: none;
	padding-inline: max(var(--wecoffee-gutter), calc((100vw - var(--wecoffee-content-width)) / 2));
	width: 100%;
}

.editor-styles-wrapper .wecoffee-hero--editorial .wecoffee-hero__content {
	padding-block:
		clamp(8.125rem, 17svh, 12.5rem) clamp(1.875rem, 5svh, 3.75rem);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__title {
	font-size: var(--wecoffee-text-display);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.92;
	max-width: 90rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__title em {
	display: inline-block;
	margin-left: clamp(0rem, 8vw, 8.125rem);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__bottom {
	align-items: end;
	border-top-color: rgba(var(--wecoffee-editorial-paper-rgb), 0.48);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 35rem);
	margin-top: clamp(1.5rem, 4svh, 3.375rem);
	padding-top: var(--wecoffee-space-lg);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__actions {
	display: grid;
	gap: var(--wecoffee-space-sm);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__actions .wp-block-button {
	margin: 0;
	width: 100%;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__description {
	color: var(--wecoffee-editorial-on-ink);
	font-size: clamp(1rem, 1.25vw, 1.1875rem);
	line-height: 1.65;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__side-label {
	position: absolute;
	right: var(--wecoffee-space-lg);
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	transform-origin: center;
	color: var(--wecoffee-editorial-on-ink);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wp-block-button__link {
	background: var(--wecoffee-editorial-accent) !important;
	border-color: var(--wecoffee-editorial-accent) !important;
	border-radius: var(--wecoffee-radius-button);
	justify-content: space-between;
	min-height: 3.5rem;
	width: 100%;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover .is-style-outline .wp-block-button__link {
	background: transparent !important;
	border-color: rgba(var(--wecoffee-editorial-paper-rgb), 0.72) !important;
	color: var(--wecoffee-editorial-on-ink) !important;
}

body.wecoffee-style--editorial .wecoffee-section,
.editor-styles-wrapper .wecoffee-section {
	background-color: transparent;
	margin-block: 0;
	padding-block: var(--wecoffee-section-gap);
	padding-inline: max(var(--wecoffee-gutter), calc((100vw - var(--wecoffee-content-width)) / 2));
}

body.wecoffee-style--editorial .wecoffee-section> :where(*),
.editor-styles-wrapper .wecoffee-section> :where(*) {
	max-width: min(100%, var(--wecoffee-content-width));
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section+.wecoffee-section {
	border-top: 1px solid var(--wecoffee-editorial-hairline);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section-heading {
	align-items: end;
	border-top: 1px solid var(--wecoffee-editorial-hairline);
	display: grid;
	gap: clamp(1.5rem, 5vw, 5rem);
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
	max-width: none;
	padding-top: 1.25rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section-heading h2 {
	line-height: 0.98;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section-heading p {
	color: var(--wecoffee-editorial-graphite);
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: 36rem;
}

@media (min-width: 782px) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section-heading {
		grid-template-columns: minmax(0, 7fr) minmax(16rem, 4fr);
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-section-heading>p {
		grid-column: 2;
		margin-bottom: 0;
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero-facts {
	background: var(--wecoffee-editorial-paper);
	border-bottom-color: var(--wecoffee-editorial-hairline);
	padding-block: 1rem;
	padding-inline: var(--wecoffee-gutter);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--wecoffee-editorial-hairline);
	box-shadow: none;
	padding: 1.5rem 0 0;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-card:hover {
	box-shadow: none;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-card h3 {
	font-size: clamp(1.75rem, 2.8vw, 3rem);
	line-height: 1;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-media-placeholder {
	background: var(--wecoffee-editorial-mineral);
	border: 0;
	border-radius: var(--wecoffee-radius-media);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-faq__item {
	border-color: var(--wecoffee-editorial-hairline);
	padding-block: 1.25rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-faq__item summary {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(1.5rem, 2.4vw, 2.25rem);
	font-weight: 400;
}

/* ==========================================================================
   Product collection and native WooCommerce cards
   ========================================================================== */

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template {
	display: grid !important;
	gap: clamp(2.5rem, 5vw, 5rem) clamp(1.25rem, 3vw, 2.5rem) !important;
	grid-template-columns: 1fr !important;
}

@media (min-width: 40rem) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 64rem) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)) !important;
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template>* {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: flex !important;
	flex-direction: column;
	overflow: visible;
	width: 100% !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template>*:hover {
	box-shadow: none;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-image {
	background: var(--wecoffee-editorial-mineral);
	border-radius: var(--wecoffee-radius-media);
	overflow: hidden;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-image img {
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template>*:hover .wc-block-product-image img {
		transform: scale(1.015);
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-product-template>*>*:not(.wc-block-product-image):not(.woocommerce-product-gallery) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products :is(h2.wc-block-components-product-title, .wp-block-post-title) {
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(1.75rem, 2.8vw, 2.75rem);
	font-weight: 400;
	line-height: 1;
	padding: 1.25rem 0 0.35rem !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products :is(.price, .wc-block-components-product-price) {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-body);
	font-weight: 650;
	padding: 0 0 1rem !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products :is(.wc-block-grid__product-add-to-cart,
	.wc-block-components-product-button,
	.wp-block-woocommerce-product-button) {
	padding: 0 !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products :is(.wc-block-grid__product-add-to-cart .button,
	.wc-block-components-product-button .button,
	.wp-block-woocommerce-product-button a,
	.wp-block-woocommerce-product-button button) {
	align-self: flex-start;
	min-height: 44px;
	width: auto !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-products .wc-block-components-product-sale-badge {
	background: var(--wecoffee-editorial-soft-accent);
	border: 0;
	border-radius: var(--wecoffee-radius-badge);
	color: var(--wecoffee-editorial-ink);
}

body.wecoffee-style--editorial :is(ul.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products) {
	gap: clamp(3.5rem, 6vw, 6.5rem) clamp(1.25rem, 3vw, 2.5rem);
	grid-template-columns: 1fr !important;
}

@media (min-width: 40rem) {

	body.wecoffee-style--editorial :is(ul.products,
		.woocommerce ul.products,
		.woocommerce-page ul.products) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 64rem) {

	body.wecoffee-style--editorial :is(ul.products,
		.woocommerce ul.products,
		.woocommerce-page ul.products) {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)) !important;
	}
}

body.wecoffee-style--editorial ul.products li.product {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

body.wecoffee-style--editorial ul.products li.product:hover {
	box-shadow: none;
}

body.wecoffee-style--editorial ul.products li.product .astra-shop-thumbnail-wrap {
	background: var(--wecoffee-editorial-mineral);
	border-radius: var(--wecoffee-radius-media);
	overflow: hidden;
}

body.wecoffee-style--editorial ul.products li.product :is(a img,
	.attachment-woocommerce_thumbnail) {
	background: var(--wecoffee-editorial-mineral);
	border-radius: var(--wecoffee-radius-media);
	transform: none;
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.wecoffee-style--editorial ul.products li.product .wecoffee-bean-icon {
	background: transparent !important;
	border-radius: 0 !important;
}

@media (hover: hover) {

	body.wecoffee-style--editorial ul.products li.product:hover :is(a img,
		.attachment-woocommerce_thumbnail) {
		transform: scale(1.015);
	}
}

body.wecoffee-style--editorial ul.products li.product .astra-shop-summary-wrap {
	padding: 1.25rem 0 0 !important;
}

body.wecoffee-style--editorial ul.products li.product .woocommerce-loop-product__title,
body.wecoffee-style--editorial.woocommerce-js ul.products li.product .woocommerce-loop-product__title,
body.wecoffee-style--editorial.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(1.75rem, 2.7vw, 2.75rem) !important;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1 !important;
}

body.wecoffee-style--editorial ul.products li.product .price,
body.wecoffee-style--editorial.woocommerce.single-product .related.products ul.products li.product .price {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-body);
	font-size: 1rem !important;
	font-weight: 650;
	padding-bottom: 1.25rem !important;
}

body.wecoffee-style--editorial ul.products li.product :is(.button, .add_to_cart_button) {
	align-self: flex-start;
	min-height: 44px;
	padding: 0.7rem 1.25rem;
	width: auto !important;
}

body.wecoffee-style--editorial :is(.wecoffee-badge, .woocommerce span.onsale) {
	background: var(--wecoffee-editorial-soft-accent);
	border-radius: var(--wecoffee-radius-badge);
	color: var(--wecoffee-editorial-ink);
}

body.wecoffee-style--editorial .wecoffee-badge--purpose {
	background: var(--wecoffee-editorial-ink);
	color: var(--wecoffee-editorial-on-ink);
}

/* ==========================================================================
   Single product
   ========================================================================== */

body.wecoffee-style--editorial.woocommerce.single-product div.product {
	max-width: var(--wecoffee-content-width) !important;
	padding-inline: var(--wecoffee-gutter) !important;
}

@media (min-width: 64rem) {
	body.wecoffee-style--editorial.woocommerce.single-product div.product {
		column-gap: clamp(3rem, 6vw, 7rem) !important;
		grid-template-columns: 58fr 42fr !important;
	}
}

body.wecoffee-style--editorial.woocommerce.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	background: var(--wecoffee-editorial-mineral);
	border-radius: var(--wecoffee-radius-media) !important;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .product_title {
	color: var(--wecoffee-editorial-ink) !important;
	font-family: var(--wecoffee-font-heading) !important;
	font-size: clamp(3.25rem, 5.8vw, 6.25rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.025em !important;
	line-height: 0.94 !important;
	margin-bottom: 1.25rem !important;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product>.summary :is(p.price, span.price) {
	color: var(--wecoffee-editorial-ink) !important;
	font-family: var(--wecoffee-font-body) !important;
	font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
	font-variant-numeric: tabular-nums;
	font-weight: 650 !important;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .woocommerce-product-details__short-description {
	color: var(--wecoffee-editorial-graphite) !important;
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	max-width: 65ch;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .variations select:focus {
	border-color: var(--wecoffee-editorial-accent) !important;
	box-shadow: 0 0 0 4px var(--wecoffee-focus-shadow) !important;
	outline: 2px solid var(--wecoffee-editorial-accent) !important;
	outline-offset: 2px !important;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .single_add_to_cart_button {
	background: var(--wecoffee-editorial-accent) !important;
	border-color: var(--wecoffee-editorial-accent) !important;
	border-radius: var(--wecoffee-radius-button) !important;
	min-height: 3.5rem;
}

@media (hover: hover) {
	body.wecoffee-style--editorial.woocommerce.single-product div.product .single_add_to_cart_button:not(:disabled):hover {
		background: var(--wecoffee-editorial-accent-hover) !important;
		border-color: var(--wecoffee-editorial-accent-hover) !important;
		box-shadow: none !important;
		transform: translateY(-1px);
	}
}

body.wecoffee-style--editorial .wecoffee-product-attributes {
	border-bottom: 1px solid var(--wecoffee-editorial-hairline);
	border-top: 1px solid var(--wecoffee-editorial-hairline);
	gap: 0;
	grid-template-columns: 1fr;
}

body.wecoffee-style--editorial .wecoffee-attr {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--wecoffee-editorial-hairline);
	border-radius: 0;
	box-shadow: none;
	padding: 1rem 0;
}

body.wecoffee-style--editorial .wecoffee-attr:last-child {
	border-bottom: 0;
}

body.wecoffee-style--editorial .wecoffee-attr-label {
	color: var(--wecoffee-editorial-graphite);
	font-family: var(--wecoffee-font-body);
}

body.wecoffee-style--editorial .wecoffee-attr-value {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-size: 1.5rem;
	font-weight: 400;
}

@media (min-width: 48rem) {
	body.wecoffee-style--editorial .wecoffee-product-attributes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.wecoffee-style--editorial .wecoffee-attr:nth-child(odd) {
		border-right: 1px solid var(--wecoffee-editorial-hairline);
		padding-right: 1.25rem;
	}

	body.wecoffee-style--editorial .wecoffee-attr:nth-child(even) {
		padding-left: 1.25rem;
	}
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
	border-bottom-color: var(--wecoffee-editorial-hairline) !important;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
	color: var(--wecoffee-editorial-graphite) !important;
	font-family: var(--wecoffee-font-body) !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
}

body.wecoffee-style--editorial.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wecoffee-editorial-accent) !important;
}

body.wecoffee-style--editorial.woocommerce.single-product .related.products {
	border-top-color: var(--wecoffee-editorial-hairline) !important;
	margin-top: clamp(5rem, 10vw, 10rem) !important;
	padding-top: clamp(3rem, 6vw, 6rem) !important;
}

body.wecoffee-style--editorial.woocommerce.single-product .related.products>h2 {
	color: var(--wecoffee-editorial-ink) !important;
	font-family: var(--wecoffee-font-heading) !important;
	font-size: var(--wecoffee-text-h2) !important;
	font-weight: 400 !important;
	line-height: 0.98 !important;
	text-align: left !important;
}

/* ==========================================================================
   Coffee finder
   ========================================================================== */

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder {
	--wecoffee-finder-primary: var(--wecoffee-editorial-accent);
	--wecoffee-finder-secondary: var(--wecoffee-editorial-accent);
	--wecoffee-finder-heading: var(--wecoffee-editorial-ink);
	--wecoffee-finder-text: var(--wecoffee-editorial-ink);
	--wecoffee-finder-muted-text: var(--wecoffee-editorial-graphite);
	--wecoffee-finder-surface: var(--wecoffee-editorial-paper);
	--wecoffee-finder-surface-alt: var(--wecoffee-editorial-mineral);
	--wecoffee-finder-border: var(--wecoffee-editorial-hairline);
	background: var(--wecoffee-editorial-bone);
	padding-block: var(--wecoffee-section-gap);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__glow {
	display: none;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__header {
	max-width: 68rem;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__header h2 {
	font-size: clamp(3.5rem, 7vw, 7.5rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.94;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper):is(.wecoffee-coffee-finder__kicker,
	.wecoffee-coffee-finder__question-kicker,
	.wecoffee-coffee-finder__results-kicker) {
	color: var(--wecoffee-editorial-accent);
	font-family: var(--wecoffee-font-body);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper):is(.wecoffee-coffee-finder__quiz,
	.wecoffee-coffee-finder__results) {
	background: var(--wecoffee-editorial-paper);
	border-color: var(--wecoffee-editorial-hairline);
	border-radius: var(--wecoffee-radius-feature-panel);
	box-shadow: none;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__progress-track {
	background: var(--wecoffee-editorial-mineral);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__progress-bar {
	background: var(--wecoffee-editorial-accent);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__question-title {
	color: var(--wecoffee-editorial-ink);
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(2rem, 4vw, 4.25rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__question-number {
	background: var(--wecoffee-editorial-soft-accent);
	border-radius: 50%;
	color: var(--wecoffee-editorial-ink);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder button.wecoffee-coffee-finder__option {
	background: var(--wecoffee-editorial-paper) !important;
	border-color: var(--wecoffee-editorial-hairline) !important;
	border-radius: var(--wecoffee-radius-choice-button);
	color: var(--wecoffee-editorial-ink) !important;
	min-height: 5.5rem;
}

@media (hover: hover) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder button.wecoffee-coffee-finder__option:not([aria-pressed="true"]):hover {
		background: var(--wecoffee-editorial-mineral) !important;
		border-color: var(--wecoffee-editorial-accent) !important;
		box-shadow: none;
		color: var(--wecoffee-editorial-ink) !important;
		transform: translateY(-1px);
	}
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder button.wecoffee-coffee-finder__option[aria-pressed="true"] {
	background: var(--wecoffee-editorial-accent) !important;
	border-color: var(--wecoffee-editorial-accent) !important;
	box-shadow: none;
	color: var(--wecoffee-editorial-on-ink) !important;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__option[aria-pressed="true"] .wecoffee-coffee-finder__option-copy>span {
	color: rgba(var(--wecoffee-editorial-paper-rgb), 0.82);
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder__results-heading h3 {
	font-family: var(--wecoffee-font-heading);
	font-size: clamp(2.75rem, 5vw, 5rem);
	font-weight: 400;
	line-height: 0.96;
}

:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-coffee-finder .wecoffee-coffee-finder__metric.wecoffee-attr {
	background: var(--wecoffee-editorial-mineral);
	border: 0;
	border-radius: 12px;
}

/* ==========================================================================
   Filters and off-canvas navigation
   ========================================================================== */

body.wecoffee-style--editorial #secondary,
body.wecoffee-style--editorial #astra-shop-filter {
	background: var(--wecoffee-editorial-paper);
	border-color: var(--wecoffee-editorial-hairline);
	box-shadow: 1.5rem 0 4rem rgba(var(--wecoffee-editorial-ink-rgb), 0.12);
}

body.wecoffee-style--editorial :is(#secondary .widget-area .widget-title,
	.widget-area .widget-title,
	.ast-woo-sidebar-widget .widget-title) {
	border-bottom-color: var(--wecoffee-editorial-hairline) !important;
	color: var(--wecoffee-editorial-ink) !important;
	font-family: var(--wecoffee-font-heading) !important;
	font-size: 2rem !important;
	font-weight: 400 !important;
}

body.wecoffee-style--editorial .woocommerce-widget-layered-nav-list .wc-layered-nav-term a::before {
	background: var(--wecoffee-editorial-paper);
	border-color: var(--wecoffee-editorial-hairline);
	border-radius: 4px;
}

body.wecoffee-style--editorial .woocommerce-widget-layered-nav-list .wc-layered-nav-term.chosen a::before {
	background-color: var(--wecoffee-editorial-accent);
	border-color: var(--wecoffee-editorial-accent);
}

body.wecoffee-style--editorial .astra-shop-filter-button,
body.wecoffee-style--editorial .wecoffee-floating-filter-btn {
	background: var(--wecoffee-editorial-accent) !important;
	border-color: var(--wecoffee-editorial-accent) !important;
	color: var(--wecoffee-editorial-on-ink) !important;
}

body.wecoffee-style--editorial .wecoffee-sidebar-overlay {
	background: rgba(var(--wecoffee-editorial-ink-rgb), 0.58);
}

/* ==========================================================================
   Footer
   ========================================================================== */

body.wecoffee-style--editorial .wecoffee-footer {
	--wecoffee-footer-content-width: min(100% - 2.5rem, 90rem);
	--wecoffee-footer-bg: var(--wecoffee-editorial-ink);
	--wecoffee-footer-text: rgba(var(--wecoffee-editorial-paper-rgb), 0.72);
	--wecoffee-footer-heading: var(--wecoffee-editorial-on-ink);
	--wecoffee-footer-link: var(--wecoffee-editorial-on-ink);
	--wecoffee-footer-border: rgba(var(--wecoffee-editorial-paper-rgb), 0.2);
	padding-block: clamp(5rem, 11vw, 10rem) 2rem;
}

body.wecoffee-style--editorial .wecoffee-footer__inner {
	gap: clamp(3rem, 6vw, 6rem);
}

body.wecoffee-style--editorial .wecoffee-footer__logo {
	font-family: var(--wecoffee-font-heading);
	/*font-size: clamp(2.5rem, 5vw, 5.25rem);*/
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 0.92;
	max-width: 20rem;
	text-transform: none;
}

body.wecoffee-style--editorial .wecoffee-footer__description {
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 2rem;
}

body.wecoffee-style--editorial .wecoffee-footer__column h2 {
	color: var(--wecoffee-editorial-on-ink);
	font-family: var(--wecoffee-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

body.wecoffee-style--editorial .wecoffee-footer__column a {
	color: rgba(var(--wecoffee-editorial-paper-rgb), 0.76);
	opacity: 1;
}

body.wecoffee-style--editorial .wecoffee-footer__column a:hover,
body.wecoffee-style--editorial .wecoffee-footer__legal a:hover {
	color: var(--wecoffee-editorial-soft-accent);
}

body.wecoffee-style--editorial .wecoffee-footer:is(a, button, input, select, textarea):focus-visible {
	box-shadow: 0 0 0 4px rgba(var(--wecoffee-editorial-paper-rgb), 0.32);
	outline-color: var(--wecoffee-editorial-on-ink);
}

body.wecoffee-style--editorial .wecoffee-footer__bottom {
	margin-top: clamp(4rem, 8vw, 7rem);
	padding-top: 1.5rem;
}

/* ==========================================================================
   Responsive details
   ========================================================================== */

@media (max-width: 63.99rem) {
	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__bottom {
		grid-template-columns: 1fr;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__title em {
		margin-left: 0;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__side-label {
		display: none;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__name {
		font-size: clamp(2rem, 7vw, 4.25rem);
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-inner {
		gap: 0.75rem;
	}
}

@media (max-width: 47.99rem) {
	/*
	 * Keep the carousel aligned to the visible mobile viewport. The details
	 * content must be shrinkable: otherwise its CTA expands the page width and
	 * Embla centres the selected slide against that wider layout instead.
	 */
	body.wecoffee-style--editorial.home .wecoffee-product-carousel__viewport {
		inline-size: 100vw;
		max-inline-size: 100vw;
	}

	body.wecoffee-style--editorial.home .wecoffee-product-carousel__details-content {
		flex: 1 1 100%;
		min-width: 0;
		width: 100%;
	}

	body.wecoffee-style--editorial.home .wecoffee-product-carousel__details-inner {
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	body.wecoffee-style--editorial,
	.editor-styles-wrapper {
		--wecoffee-section-gap: clamp(3.5rem, 17vw, 4.5rem);
		/* A 1.25 modular scale keeps all six heading levels visibly related. */
		--wecoffee-text-h1: 3.8147rem;
		--wecoffee-text-h2: 3.0518rem;
		--wecoffee-text-h3: 2.4414rem;
		--wecoffee-text-h4: 1.9531rem;
		--wecoffee-text-h5: 1.5625rem;
		--wecoffee-text-h6: 1.25rem;
	}

	body.wecoffee-style--editorial .wecoffee-section,
	.editor-styles-wrapper .wecoffee-section {
		padding-inline: 1.25rem;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero.wp-block-cover {
		padding-inline: 1.25rem;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__content {
		padding-block: max(6.25rem, 14svh) var(--wecoffee-space-lg);
		padding-inline: 1.25rem;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__actions {
		grid-template-columns: 1fr;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-hero--editorial .wecoffee-hero__title {
		font-size: clamp(3.75rem, 18vw, 6.5rem);
		line-height: 0.94;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details {
		padding-inline: 1rem;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-inner {
		align-items: stretch;
		flex-wrap: wrap;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__offer {
		flex: 1 1 auto;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper) .wecoffee-product-carousel__details-cta {
		flex: 0 0 auto;
	}

	/*
	 * On phones, keep the commercial information together: price above tasting
	 * notes on the left, with the product CTA consistently available on the
	 * right. Two clamped lines preserve a readable type size for longer notes.
	 */
	body.wecoffee-style--editorial.home .wecoffee-product-carousel__details-inner {
		align-items: center;
		column-gap: 0.75rem;
		display: grid;
		grid-template-areas:
			"offer cta"
			"notes cta";
		grid-template-columns: minmax(0, 1fr) auto;
		row-gap: 0.3rem;
	}

	body.wecoffee-style--editorial.home .wecoffee-product-carousel__offer {
		grid-area: offer;
		min-width: 0;
	}

	body.wecoffee-style--editorial.home .wecoffee-product-carousel__notes {
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		display: -webkit-box;
		grid-area: notes;
		line-height: 1.3;
		max-block-size: 2.6em;
		max-width: none;
		min-width: 0;
		overflow: hidden;
		white-space: normal;
	}

	body.wecoffee-style--editorial.home .wecoffee-product-carousel__details-cta {
		align-self: center;
		grid-area: cta;
	}

	body.wecoffee-style--editorial.woocommerce.single-product div.product {
		padding-inline: 1.25rem !important;
	}

	body.wecoffee-style--editorial ul.products li.product .woocommerce-loop-product__title,
	body.wecoffee-style--editorial.woocommerce-js ul.products li.product .woocommerce-loop-product__title,
	body.wecoffee-style--editorial.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: 2rem !important;
	}

	:is(body.wecoffee-style--editorial, .editor-styles-wrapper):is(.wecoffee-coffee-finder__quiz,
		.wecoffee-coffee-finder__results) {
		border-radius: 24px;
	}
}

/* ==========================================================================
   Motion preferences
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	body.wecoffee-style--editorial:is(.home, .wecoffee-transparent-header) .site-header.wecoffee-header-scrolled,
	body.wecoffee-style--editorial:is(.home, .wecoffee-transparent-header) .site-header.wecoffee-header-scrolled .ast-primary-header-bar {
		background-color: var(--wecoffee-editorial-paper);
		border-bottom-color: var(--wecoffee-editorial-hairline);
	}

	body.wecoffee-style--editorial :is(#secondary,
		.wecoffee-sidebar-overlay,
		.wecoffee-floating-filter-btn,
		.wecoffee-floating-filter-btn svg,
		.wecoffee-product-carousel,
		.wecoffee-product-carousel__card,
		.wecoffee-product-carousel__details-content,
		.wecoffee-product-carousel__button,
		.wecoffee-product-carousel__link,
		.wecoffee-product-carousel__details-cta,
		.wecoffee-product-carousel__image,
		.wecoffee-hero--editorial .wp-block-cover__image-background,
		ul.products li.product img),
	.editor-styles-wrapper :is(.wecoffee-product-carousel,
		.wecoffee-product-carousel__card,
		.wecoffee-product-carousel__details-content,
		.wecoffee-product-carousel__button,
		.wecoffee-product-carousel__link,
		.wecoffee-product-carousel__details-cta,
		.wecoffee-product-carousel__image,
		.wecoffee-hero--editorial .wp-block-cover__image-background) {
		animation: none !important;
		scroll-behavior: auto !important;
		transition: none !important;
	}

	body.wecoffee-style--editorial :is(.wecoffee-product-carousel__card,
		ul.products li.product img,
		.wecoffee-hero--editorial .wp-block-cover__image-background),
	.editor-styles-wrapper :is(.wecoffee-product-carousel__card,
		.wecoffee-hero--editorial .wp-block-cover__image-background) {
		transform: none !important;
	}
}
