/* ==========================================================================
   Erofemme — component styles. Tokens come from theme.json.
   ========================================================================== */

:root {
	--ef-ink: var(--wp--preset--color--ink, #15120F);
	--ef-surface: var(--wp--preset--color--surface, #1F1B17);
	--ef-line: var(--wp--preset--color--line, #2E2924);
	--ef-line-strong: var(--wp--preset--color--line-strong, #4A433B);
	--ef-paper: var(--wp--preset--color--paper, #EFE8DC);
	--ef-paper-soft: var(--wp--preset--color--paper-soft, #CFC6B8);
	--ef-muted: var(--wp--preset--color--muted, #A89F92);
	--ef-accent: var(--wp--preset--color--accent, #E8673A);
	--ef-sold: var(--wp--preset--color--sold, #CFC6B8);
	--ef-ok: var(--wp--preset--color--in-stock, #8FC2A8);
	--ef-mono: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	--ef-radius: var(--wp--custom--radius, 14px);
	--ef-radius-s: var(--wp--custom--radius-small, 12px);
	--ef-gutter: var(--wp--custom--gutter, 2.5rem);
	--ef-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--ef-accent); color: var(--ef-ink); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ef-mono { font-family: var(--ef-mono); }
.ef-num { text-align: right; }
.ef-hp { position: absolute; left: -9999px; }

.ef-eyebrow {
	margin: 0;
	font-family: var(--ef-mono);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .12em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--ef-muted);
}
.ef-eyebrow--accent { color: var(--ef-accent); }

.ef-link-underline {
	font-weight: 600;
	font-size: .9375rem;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--ef-accent);
	transition: color .2s var(--ef-ease);
}

.ef-button,
.ef-buy .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 1.5rem;
	border: 0;
	border-radius: var(--ef-radius);
	background: var(--ef-accent);
	color: var(--ef-ink);
	font: inherit;
	font-size: .9375rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s var(--ef-ease), transform .2s var(--ef-ease);
}
.ef-button:hover,
.ef-buy .single_add_to_cart_button:hover { background: var(--ef-paper); }
.ef-button:active { transform: translateY(1px); }
.ef-button--small { min-height: 44px; padding: 0 1.125rem; font-size: .875rem; }
.ef-button:focus-visible,
.ef-chip:focus-visible,
.ef-pill input:focus-visible + span,
.ef-run__cell:focus-visible,
.ef-detail__thumb:focus-visible { outline: 2px solid var(--ef-paper); outline-offset: 3px; }

.ef-input,
.ef-select {
	min-height: 48px;
	padding: 0 1rem;
	border: 1px solid var(--ef-line-strong);
	border-radius: var(--ef-radius-s);
	background: var(--ef-ink);
	color: var(--ef-paper);
	font: inherit;
	font-size: .9375rem;
}
.ef-select { min-height: 44px; background: var(--ef-surface); }
.ef-input:focus, .ef-select:focus { outline: 2px solid var(--ef-accent); outline-offset: 1px; }

.ef-empty { color: var(--ef-muted); }
.ef-empty--large { padding: 4rem 0; text-align: center; }
.ef-empty--large p { margin: .25rem 0; }

/* Section heads */
.ef-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-bottom: 2.5rem;
}
.ef-section-head__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.05;
}
.ef-section-head__intro { margin: 0; max-width: 24rem; color: var(--ef-muted); }

/* ---------- Header and footer ---------- */
.ef-promo {
	font-family: var(--ef-mono);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.ef-promo p { margin: 0; }
.ef-header .wp-block-site-title a { color: var(--ef-paper); }
.ef-header .wp-block-search__input {
	min-height: 44px;
	border: 1px solid var(--ef-line-strong);
	border-radius: var(--ef-radius);
	background: transparent;
	color: var(--ef-paper);
	padding: 0 .875rem;
	font-size: .875rem;
}
.ef-header .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.ef-header .wp-block-search__button { display: none; }
.ef-header .wc-block-mini-cart__button,
.ef-header .wc-block-customer-account a { color: var(--ef-paper); min-height: 44px; }
.ef-header .wc-block-mini-cart__badge { background: var(--ef-accent); color: var(--ef-ink); }
.ef-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--ef-ink); color: var(--ef-paper); padding: var(--ef-gutter); }
.ef-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.75rem; font-weight: 700; }
.ef-footer .wp-block-navigation { line-height: 2; }
.ef-footer .wp-block-navigation a { color: var(--ef-paper-soft); }
.ef-footer .wp-block-navigation a:hover { color: var(--ef-accent); }

/* ---------- Hero ---------- */
.ef-hero { margin-block: 0; }
.ef-hero__media {
	position: relative;
	height: clamp(420px, 50vw, var(--ef-hero-max, 800px));
	overflow: hidden;
	background: #0E0C0A;
}
.ef-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--ef-hero-fx, 55%) var(--ef-hero-fy, 50%);
}
.ef-hero__scrim {
	position: absolute;
	inset: auto 0 0 0;
	height: 75%;
	background: linear-gradient(to top, var(--ef-ink) 0%, rgb(21 18 15 / var(--ef-hero-dark, .82)) 35%, rgb(21 18 15 / 0) 100%);
}
.ef-hero__text {
	position: absolute;
	inset: auto 0 0 0;
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--wp--style--global--wide-size, 1320px) + 2 * var(--ef-gutter));
	margin: 0 auto;
	padding: 0 var(--ef-gutter) clamp(1.5rem, 4vw, 3rem);
}
.ef-hero__text .ef-eyebrow { margin-bottom: 1.25rem; }
.ef-hero__title {
	margin: 0;
	max-width: 20ch;
	font-size: clamp(2.5rem, 5.2vw, 5rem);
	font-weight: 800;
	line-height: .96;
	letter-spacing: -.03em;
	color: #F6F0E6;
	text-wrap: balance;
}
.ef-hero__below {
	box-sizing: border-box;
	max-width: calc(var(--wp--style--global--wide-size, 1320px) + 2 * var(--ef-gutter));
	margin: 0 auto;
	padding: 2.5rem var(--ef-gutter) var(--wp--preset--spacing--60);
}
.ef-hero__below-row { gap: 2rem 4rem; }
.ef-hero__intro { flex: 1 1 26rem; max-width: 36rem; margin: 0; font-size: 1.125rem; color: var(--ef-paper-soft); }

@media (max-width: 600px) {
	.ef-hero__media { height: 460px; }
	.ef-hero__img { object-position: var(--ef-hero-fxm, 40%) var(--ef-hero-fy, 50%); }
	.ef-hero__scrim { height: 78%; }
	.ef-hero__below .wp-block-buttons { flex-direction: column; align-items: stretch; width: 100%; }
	.ef-hero__below .wp-block-button__link { width: 100%; }
}

/* ---------- Stats ---------- */
.ef-stats { border-block: 1px solid var(--ef-line); }
.ef-stats__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	max-width: var(--wp--style--global--wide-size, 1320px);
	margin: 0 auto;
}
.ef-stats__item { padding: 2rem 1.5rem 2rem 0; }
.ef-stats__value { font-size: 2.5rem; font-weight: 800; line-height: 1.1; }
.ef-stats__value--text { font-size: 1.25rem; font-weight: 700; padding-block: .6rem; }
.ef-stats__item .ef-eyebrow { margin-top: .4rem; }

/* ---------- Chips and pills ---------- */
.ef-chips { display: flex; flex-wrap: wrap; gap: .625rem; margin: 0; padding: 0; list-style: none; }
.ef-chips--years { margin-top: .625rem; }
.ef-chip {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
	padding: 0 1.125rem;
	border: 1px solid var(--ef-line-strong);
	border-radius: var(--ef-radius);
	background: transparent;
	color: var(--ef-paper);
	font: inherit;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: border-color .2s var(--ef-ease), background-color .2s var(--ef-ease), color .2s var(--ef-ease);
}
.ef-chip:hover { border-color: var(--ef-accent); color: var(--ef-paper); }
.ef-chip.is-active { background: var(--ef-paper); border-color: var(--ef-paper); color: var(--ef-ink); }
.ef-chip--mono { border-color: transparent; background: var(--ef-surface); font-family: var(--ef-mono); font-size: .875rem; }
.ef-chip__count { font-family: var(--ef-mono); font-size: .75rem; color: var(--ef-muted); }

/* ---------- Covers and cards ---------- */
.ef-cover { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--ef-radius); background: var(--ef-surface); }
.ef-cover__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ef-ease); }
.ef-cover__placeholder {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: .375rem;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 1rem;
	background: var(--ef-tone, #5A2622);
	color: var(--ef-paper);
}
.ef-cover__series { font-size: 1.375rem; font-weight: 800; line-height: 1; letter-spacing: -.01em; }
.ef-cover__label { font-family: var(--ef-mono); font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; }

.ef-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(9.5rem, 100%), 1fr));
	gap: 2.5rem 1.25rem;
}
@media (min-width: 782px) { .ef-grid { grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); } }
.ef-card { display: flex; flex-direction: column; gap: .875rem; }
.ef-card__cover:hover .ef-cover__img { transform: scale(1.03); }
.ef-card__status {
	position: absolute;
	top: .75rem;
	left: .75rem;
	padding: .25rem .5rem;
	border-radius: 8px;
	background: var(--ef-ink);
	font-family: var(--ef-mono);
	font-size: .6875rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ef-sold);
}
.ef-card--sold .ef-cover__img { filter: saturate(.5); opacity: .7; }
.ef-card__meta { margin: 0; font-family: var(--ef-mono); font-size: .75rem; letter-spacing: .04em; color: var(--ef-muted); }
.ef-card__title { margin: .375rem 0 0; font-size: 1.125rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.ef-card__foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; margin-top: .25rem; }
.ef-card__price { font-weight: 600; }
.ef-card__price del { color: var(--ef-muted); font-weight: 400; }
.ef-card__add {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--ef-line-strong);
	border-radius: var(--ef-radius-s);
	font-size: .875rem;
	font-weight: 600;
	transition: border-color .2s var(--ef-ease), background-color .2s var(--ef-ease);
}
.ef-card__add:hover { border-color: var(--ef-accent); }
.ef-card__add.added { border-color: var(--ef-ok); }
.ef-card .added_to_cart { font-size: .8125rem; color: var(--ef-ok); }

/* ---------- Tiles ---------- */
.ef-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); gap: 1.25rem; }
.ef-tile {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	min-height: 13rem;
	padding: 2rem;
	border: 1px solid transparent;
	border-radius: var(--ef-radius);
	background: var(--ef-surface);
	transition: border-color .25s var(--ef-ease);
}
.ef-tile--tall { min-height: 20rem; padding: 2.5rem; }
.ef-tile:hover { border-color: var(--ef-accent); color: var(--ef-paper); }
.ef-tile__title { display: block; font-size: var(--wp--preset--font-size--x-large); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.ef-tile__text { display: block; margin-top: .75rem; color: var(--ef-paper-soft); font-size: .9375rem; }

/* ---------- Breadcrumbs ---------- */
.ef-crumbs ol { display: flex; flex-wrap: wrap; gap: .25rem .625rem; margin: 0; padding: 0; list-style: none; font-family: var(--ef-mono); font-size: .75rem; letter-spacing: .04em; color: var(--ef-muted); }
.ef-crumbs li + li::before { content: "/"; margin-right: .625rem; color: var(--ef-line-strong); }
.ef-crumbs a { color: var(--ef-muted); }
.ef-crumbs a:hover { color: var(--ef-paper); }

/* ---------- Archive header ---------- */
.ef-term-header__row,
.ef-pub-header__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 2rem 4rem; }
.ef-term-header__name,
.ef-pub-header__name { flex: 2 1 32rem; min-width: 0; }
.ef-term-header__name .ef-eyebrow,
.ef-pub-header__name .ef-eyebrow { margin-bottom: 1.25rem; }
.ef-term-header__title,
.ef-pub-header__title { margin: 0; font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; line-height: .98; letter-spacing: -.03em; text-wrap: balance; }
.ef-pub-header__title { font-size: var(--wp--preset--font-size--huge); }
.ef-term-header__intro { flex: 1 1 22rem; max-width: 32rem; color: var(--ef-paper-soft); }
.ef-term-header__intro p { margin: 0; }

.ef-facts { flex: 1 1 18rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.5rem; margin: 0; }
.ef-facts dd { margin: .375rem 0 0; font-size: 1.125rem; font-weight: 600; }

.ef-story { display: flex; flex-wrap: wrap; gap: 2rem 5rem; margin-top: var(--wp--preset--spacing--60); }
.ef-story__title { flex: 1 1 16rem; margin: 0; font-size: var(--wp--preset--font-size--large); font-weight: 700; }
.ef-story__body { flex: 2 1 32rem; min-width: 0; font-size: 1.1875rem; line-height: 1.75; color: var(--ef-paper-soft); }
.ef-story__body p { margin: 0 0 1.25rem; }
.ef-story__image { display: block; max-width: 100%; height: auto; margin-bottom: 2rem; border-radius: var(--ef-radius); }

.ef-sources { margin-top: 1.5rem; font-size: .875rem; color: var(--ef-muted); }
.ef-sources summary { cursor: pointer; }
.ef-sources a { color: var(--ef-paper-soft); text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }

/* ---------- Archive layout: filters + loop ---------- */
.ef-shop { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 3rem; }
.ef-shop > .ef-filters { flex: 1 1 14rem; max-width: 18rem; }
.ef-shop > .ef-loop { flex: 999 1 35rem; min-width: 0; }

.ef-filters__summary { display: none; }
.ef-filters__group { margin: 0 0 2.25rem; padding: 0; border: 0; }
.ef-filters__group legend { margin-bottom: .875rem; }
.ef-filters__list { max-height: 22rem; overflow-y: auto; padding-right: .25rem; }
.ef-check { display: flex; align-items: center; gap: .75rem; min-height: 40px; font-size: .9375rem; cursor: pointer; }
.ef-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--ef-accent); }
.ef-check__label { flex: 1; }
.ef-check__count { font-family: var(--ef-mono); font-size: .75rem; color: var(--ef-muted); }
.ef-filters__years { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.ef-pill { position: relative; cursor: pointer; }
.ef-pill input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ef-pill span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border: 1px solid var(--ef-line);
	border-radius: var(--ef-radius-s);
	background: var(--ef-surface);
	font-family: var(--ef-mono);
	font-size: .8125rem;
	transition: border-color .2s var(--ef-ease), background-color .2s var(--ef-ease);
}
.ef-pill:hover span { border-color: var(--ef-accent); }
.ef-pill input:checked + span { background: var(--ef-paper); border-color: var(--ef-paper); color: var(--ef-ink); }
.ef-filters__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.ef-filters__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; margin-left: .5rem; border-radius: 99px; background: var(--ef-accent); color: var(--ef-ink); font-family: var(--ef-mono); font-size: .75rem; }
/* With JavaScript the filters apply on change; keep the button for no-JS. */
.ef-js .ef-filters__actions .ef-button { display: none; }

@media (max-width: 781px) {
	.ef-shop > .ef-filters { flex-basis: 100%; max-width: none; }
	.ef-filters__summary {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 0 1.125rem;
		border: 1px solid var(--ef-line-strong);
		border-radius: var(--ef-radius);
		font-weight: 600;
		cursor: pointer;
		list-style: none;
	}
	.ef-filters__summary::-webkit-details-marker { display: none; }
	.ef-filters__toggle[open] .ef-filters__summary { margin-bottom: 1.5rem; }
	.ef-filters__years { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ef-loop__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--ef-line); }
.ef-loop__count { margin: 0; font-family: var(--ef-mono); font-size: .8125rem; color: var(--ef-muted); }
.ef-sort { display: flex; align-items: center; gap: .625rem; }
.ef-sort__label { font-size: .875rem; color: var(--ef-muted); }

.ef-pagination { margin-top: 4rem; }
.ef-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ef-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .875rem; box-sizing: border-box; border: 1px solid var(--ef-line-strong); border-radius: var(--ef-radius-s); font-family: var(--ef-mono); font-size: .875rem; }
.ef-pagination .page-numbers.current { background: var(--ef-paper); border-color: var(--ef-paper); color: var(--ef-ink); }
.ef-pagination .page-numbers.dots { border: 0; }

/* ---------- Product detail ---------- */
.ef-detail { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4rem; }
.ef-detail__media { flex: 1 1 30rem; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.ef-detail__main { max-height: 48rem; }
.ef-detail__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr)); gap: .75rem; }
.ef-detail__thumb { padding: 0; aspect-ratio: 3 / 4; overflow: hidden; border: 2px solid transparent; border-radius: var(--ef-radius-s); background: var(--ef-surface); cursor: pointer; }
.ef-detail__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ef-detail__thumb[aria-pressed="true"] { border-color: var(--ef-accent); }
.ef-detail__info { flex: 1 1 26rem; min-width: 0; display: flex; flex-direction: column; gap: 2rem; }
.ef-detail__info .ef-eyebrow { margin-bottom: 1rem; }
.ef-detail__title { margin: 0; font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
.ef-detail__h2 { margin: 0 0 .75rem; font-size: 1.25rem; font-weight: 700; }
.ef-detail__about { color: var(--ef-paper-soft); }
.ef-detail__about p { margin: 0 0 1rem; }

.ef-buy, .ef-sold { display: flex; flex-direction: column; gap: 1rem; }
.ef-sold { padding: 1.75rem; border-radius: var(--ef-radius); background: var(--ef-surface); }
.ef-buy__row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; }
.ef-buy__price { font-size: 2rem; font-weight: 700; }
.ef-buy__stock { font-family: var(--ef-mono); font-size: .8125rem; color: var(--ef-ok); }
.ef-buy form.cart { display: flex; gap: .75rem; margin: 0; }
.ef-buy .quantity { display: none; } /* single copies */
.ef-buy .single_add_to_cart_button { flex: 1; min-height: 56px; font-size: 1rem; }
.ef-sold__label { font-size: 1.375rem; font-weight: 700; }
.ef-sold__last { font-family: var(--ef-mono); font-size: .8125rem; color: var(--ef-muted); }
.ef-sold__text { margin: 0; font-size: .9375rem; color: var(--ef-paper-soft); }
.ef-sold__error { margin: 0; color: var(--ef-accent); font-size: .875rem; }
.ef-notify { display: flex; flex-wrap: wrap; gap: .625rem; }
.ef-notify .ef-input { flex: 1 1 14rem; }

.ef-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--ef-line); }
.ef-specs__row { padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--ef-line); }
.ef-specs dd { margin: .375rem 0 0; font-weight: 500; }
.ef-specs a { text-decoration: underline; text-decoration-color: var(--ef-line-strong); text-underline-offset: 4px; }

.ef-service { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; }
.ef-service__item { display: flex; flex-direction: column; gap: .25rem; padding: 1.125rem; border: 1px solid var(--ef-line); border-radius: var(--ef-radius); font-size: .875rem; line-height: 1.5; }
.ef-service__item span { color: var(--ef-muted); }

/* ---------- Run overview ---------- */
.ef-runs { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--60); }
.ef-run__summary { margin: .75rem 0 0; font-family: var(--ef-mono); font-size: .8125rem; color: var(--ef-muted); }
.ef-run .ef-section-head__title a:hover { color: var(--ef-accent); }
.ef-legend { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0; padding: 0; list-style: none; font-size: .875rem; color: var(--ef-paper-soft); }
.ef-legend li { display: flex; align-items: center; gap: .5rem; }
.ef-legend__swatch { width: 16px; height: 16px; border-radius: 5px; }
.ef-legend__swatch--sale { background: var(--ef-accent); }
.ef-legend__swatch--sold { background: var(--ef-sold); }
.ef-legend__swatch--none { border: 1px dashed #5A534B; }

.ef-run__body { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2rem; }
.ef-run__scroll { flex: 999 1 36rem; min-width: 0; overflow-x: auto; }
.ef-run__scroll:focus-visible { outline: 2px solid var(--ef-accent); outline-offset: 4px; }
.ef-run__table { width: 100%; min-width: calc(7rem + var(--ef-run-cols, 12) * 2.5rem); border-collapse: separate; border-spacing: 6px; margin: -6px; table-layout: fixed; }
.ef-run__table th { font-family: var(--ef-mono); font-size: .6875rem; font-weight: 400; color: var(--ef-muted); text-align: center; }
.ef-run__table thead th:first-child,
.ef-run__table tbody th { width: 7rem; text-align: left; white-space: nowrap; }
.ef-run__year { font-size: .8125rem; color: var(--ef-paper); }
.ef-run__vol { color: var(--ef-muted); }
.ef-run__table td { padding: 0; }
.ef-run__cell { display: block; height: 44px; border-radius: 8px; transition: transform .15s var(--ef-ease); }
a.ef-run__cell:hover { transform: scale(1.08); }
.ef-run__cell--sale { background: var(--ef-accent); }
.ef-run__cell--sold { background: var(--ef-sold); }
.ef-run__cell--none { box-sizing: border-box; border: 1px dashed #5A534B; }
.ef-run__panel { flex: 1 1 15rem; display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border-radius: var(--ef-radius); background: var(--ef-surface); }
.ef-run__panel-cover { width: 100%; max-width: 9rem; border-radius: var(--ef-radius-s); }
.ef-run__panel-cover .ef-cover__series { font-size: 1rem; }
.ef-run__panel-name { margin: 0; font-size: 1.375rem; font-weight: 800; line-height: 1.15; }
.ef-run__panel-status { margin: 0; font-size: .9375rem; color: var(--ef-paper-soft); }

/* ---------- Publisher index ---------- */
.ef-pubs__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--ef-line); }
.ef-pubs__table { width: 100%; border-collapse: collapse; }
.ef-pubs__table thead th { padding: 1.25rem 1rem 1.25rem 0; border-bottom: 1px solid var(--ef-line); font-family: var(--ef-mono); font-size: .6875rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--ef-muted); text-align: left; }
.ef-pubs__table thead th.ef-num { text-align: right; }
.ef-pubs__table tbody th,
.ef-pubs__table td { padding: 2rem 1rem 2rem 0; border-bottom: 1px solid var(--ef-line); text-align: left; vertical-align: baseline; font-weight: 400; color: var(--ef-paper-soft); }
.ef-pubs__table td.ef-num { text-align: right; padding-right: 0; }
.ef-pubs__name { font-size: 1.75rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.1; color: var(--ef-paper); }

@media (max-width: 781px) {
	.ef-pubs__table thead { position: absolute; left: -9999px; }
	.ef-pubs__table tr { display: block; padding: 1.5rem 0; border-bottom: 1px solid var(--ef-line); }
	.ef-pubs__table tbody th,
	.ef-pubs__table td { display: flex; justify-content: space-between; gap: 1rem; padding: .25rem 0; border: 0; text-align: right; }
	.ef-pubs__table tbody th { padding-bottom: .75rem; }
	.ef-pubs__table td::before { content: attr(data-label); font-family: var(--ef-mono); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ef-muted); text-align: left; }
}

/* ---------- Age check ---------- */
.ef-age {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgb(14 12 10 / .97);
	backdrop-filter: blur(6px);
}
.ef-age[hidden] { display: none; }
.ef-age > * { width: 100%; max-width: 34rem; }
html.ef-age-open { overflow: hidden; }

/* ---------- WooCommerce notices, cart, checkout ---------- */
.wc-block-components-notice-banner { border-radius: var(--ef-radius); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 1rem 1.25rem; border-radius: var(--ef-radius); background: var(--ef-surface); color: var(--ef-paper); list-style: none; }
.wc-block-cart, .wc-block-checkout { --wc-block-components-panel-background: var(--ef-surface); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input { background: var(--ef-ink) !important; color: var(--ef-paper) !important; border-color: var(--ef-line-strong) !important; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Template layout ---------- */
.ef-main { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--70); }
.ef-main--front { padding-top: 0; }
.ef-main--front > .ef-hero { margin-block-start: 0; }
.ef-main--front > .ef-stats { margin-block-start: 0; }
.ef-hero__below { padding-bottom: var(--wp--preset--spacing--50); }
.ef-archive-head > * + * { margin-block-start: var(--wp--preset--spacing--50); }
.ef-shop > * { margin-block: 0; }
.ef-heading-wide { margin-bottom: calc(-1 * var(--wp--preset--spacing--30)); }
.ef-page-title { font-size: var(--wp--preset--font-size--xx-large); margin-top: var(--wp--preset--spacing--40); }

.ef-header__bar { padding-block: 1.25rem; gap: 1rem 2.5rem; }
.ef-header__tools { gap: .75rem; }
.ef-header .wp-block-search { width: 14rem; }

.ef-footer { margin-top: 0; border-top: 1px solid var(--ef-line); padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); }
.ef-footer__cols { gap: 2.5rem; }
.ef-footer__cols .ef-eyebrow { margin-bottom: .5rem; }
.ef-footer__bottom { margin-top: var(--wp--preset--spacing--50); padding-top: 1.5rem; border-top: 1px solid var(--ef-line); }
.ef-footer__bottom p { margin: 0; }
.ef-footer__bottom a { color: var(--ef-muted); }

.ef-about { gap: 2rem 4rem; padding-block: var(--wp--preset--spacing--40); }
.ef-about__head { flex: 1 1 22rem; }
.ef-about__head .ef-eyebrow { margin-bottom: 1.25rem; }
.ef-about__head h2 { margin: 0; }
.ef-about__body { flex: 2 1 30rem; }

.ef-page-head { gap: 2rem 4rem; }
.ef-page-head__name { flex: 2 1 32rem; }
.ef-page-head__name .ef-eyebrow { margin-bottom: 1.25rem; }
.ef-page-head__name .wp-block-post-title { margin: 0; line-height: .98; letter-spacing: -.03em; font-weight: 800; }
.ef-page-head__intro { flex: 1 1 22rem; max-width: 30rem; color: var(--ef-paper-soft); }
.ef-page-head__intro > :first-child { margin-top: 0; }

.ef-age__box > * + * { margin-block-start: 1.25rem; }
.ef-age__box .wp-block-buttons { flex-direction: column; align-items: stretch; }
.ef-age__box .wp-block-button__link { width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: center; }

@media (max-width: 781px) {
	.ef-header .wp-block-search { width: auto; flex: 1; }
	.ef-header__bar > .wp-block-navigation { order: 3; }
	.ef-detail { gap: 2.5rem; }
	.ef-specs { grid-template-columns: 1fr; }
}

/* Readability fixes on busy photos and full-width bands. */
.ef-hero__text .ef-eyebrow { display: inline-block; padding: .375rem .625rem; border-radius: 8px; background: rgb(21 18 15 / .85); }
.ef-hero__title { text-shadow: 0 2px 24px rgb(0 0 0 / .45); }
.ef-stats__inner { box-sizing: border-box; max-width: calc(var(--wp--style--global--wide-size, 1320px) + 2 * var(--ef-gutter)); padding-inline: var(--ef-gutter); }
@media (max-width: 600px) {
	.ef-stats__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ef-stats__item { padding: 1.5rem 1rem 1.5rem 0; }
	.ef-stats__value { font-size: 2rem; }
	.ef-hero__scrim { height: 85%; }
}
/* Outline buttons everywhere (also in parts printed late, like the age check). */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--ef-paper); border: 1px solid var(--ef-line-strong); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--ef-accent); color: var(--ef-paper); background: transparent; }

/* v1.0.3: homepage sections, cart and checkout */
.ef-hero__below-row{align-items:flex-end;}.ef-hero__intro{flex:1 1 32rem;max-width:40rem;margin:0;font-size:clamp(1.25rem,1.7vw,1.625rem);line-height:1.5;color:var(--ef-paper);}.ef-hero__more{margin:0;font-weight:600;}.ef-hero__more a{display:inline-flex;gap:.5rem;padding-bottom:4px;border-bottom:1px solid var(--ef-accent);}.ef-hero__more a span{transition:transform .25s var(--ef-ease);}.ef-hero__more a:hover span{transform:translateX(4px);}.ef-cat-tiles__grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:1.25rem;}.ef-cat-tile{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:36rem;overflow:hidden;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface);color:var(--ef-paper);transition:border-color .3s var(--ef-ease);}.ef-cat-tile:hover{border-color:var(--ef-accent);color:var(--ef-paper);}.ef-cat-tile__fan{position:absolute;inset:2.5rem 2rem 11rem;z-index:-1;}.ef-cat-tile__cover{position:absolute;top:0;left:50%;width:48%;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;box-shadow:0 18px 40px rgb(0 0 0 / .45);transition:transform .5s var(--ef-ease);}.ef-cat-tile__cover--0{transform:translate(-108%,10%) rotate(-9deg);}.ef-cat-tile__cover--1{transform:translate(-72%,2%) rotate(-3deg);}.ef-cat-tile__cover--2{transform:translate(-30%,6%) rotate(4deg);}.ef-cat-tile__cover--3{transform:translate(8%,14%) rotate(10deg);}.ef-cat-tile:hover .ef-cat-tile__cover--0{transform:translate(-122%,8%) rotate(-12deg);}.ef-cat-tile:hover .ef-cat-tile__cover--1{transform:translate(-78%,-2%) rotate(-4deg);}.ef-cat-tile:hover .ef-cat-tile__cover--2{transform:translate(-24%,2%) rotate(5deg);}.ef-cat-tile:hover .ef-cat-tile__cover--3{transform:translate(20%,12%) rotate(13deg);}.ef-cat-tile--2 .ef-cat-tile__cover{width:62%;}.ef-cat-tile__body{display:flex;flex-direction:column;gap:.75rem;padding:6rem 2rem 2rem;background:linear-gradient(to top,var(--ef-surface) 55%,rgb(31 27 23 / 0));}.ef-cat-tile__title{font-size:clamp(2rem,2.8vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1;}.ef-cat-tile__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--ef-line);}.ef-cat-tile__count{font-family:var(--ef-mono);font-size:.8125rem;color:var(--ef-muted);}.ef-cat-tile__cta{font-weight:600;color:var(--ef-accent);}.ef-cat-tile__cta span{display:inline-block;transition:transform .25s var(--ef-ease);}.ef-cat-tile:hover .ef-cat-tile__cta span{transform:translateX(4px);}@media (max-width:960px){.ef-cat-tiles__grid{grid-template-columns:1fr 1fr;}.ef-cat-tile--2{grid-column:1 / -1;min-height:22rem;}.ef-cat-tile--2 .ef-cat-tile__cover{width:26%;}}@media (max-width:600px){.ef-cat-tiles__grid{grid-template-columns:1fr;}.ef-cat-tile{min-height:28rem;}.ef-cat-tile--2 .ef-cat-tile__cover{width:40%;}}.ef-about{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,5vw,4.5rem) !important;border:1px solid var(--ef-line);border-radius:calc(var(--ef-radius) * 1.5);background:var(--ef-surface);}.ef-about>*{margin:0 !important;}.ef-about__media{display:flex;justify-content:center;}.ef-about .ef-about__image{margin:0;max-width:34rem;width:100%;transform:rotate(-2deg);filter:drop-shadow(0 24px 40px rgb(0 0 0 / .5));transition:transform .6s var(--ef-ease);}.ef-about:hover .ef-about__image{transform:rotate(0deg) scale(1.02);}.ef-about__content>* + *{margin-block-start:1.5rem;}.ef-about__content .ef-eyebrow{margin:0;}.ef-about__title{margin-top:1rem !important;font-size:var(--wp--preset--font-size--xx-large);font-weight:800;letter-spacing:-.03em;line-height:.98;}.ef-about__lead{font-size:clamp(1.25rem,1.8vw,1.625rem);line-height:1.5;color:var(--ef-paper);}.ef-about__text{color:var(--ef-paper-soft);}.ef-about__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1.5rem;border-top:1px solid var(--ef-line-strong);}.ef-about__fact{display:flex;flex-direction:column;gap:.25rem;margin:0 !important;line-height:1.35;}.ef-about__fact strong{font-size:1.0625rem;color:var(--ef-paper);}.ef-about__fact span{font-family:var(--ef-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ef-muted);}@media (max-width:900px){.ef-about{grid-template-columns:1fr;}.ef-about__facts{grid-template-columns:1fr;}}.woocommerce-cart .wp-block-post-title,.woocommerce-checkout .wp-block-post-title{font-size:var(--wp--preset--font-size--xx-large);margin-bottom:2.5rem;}.woocommerce .ef-input,.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea,.woocommerce .select2-container .select2-selection--single{box-sizing:border-box;width:100%;min-height:52px;padding:.75rem 1rem;border:1px solid var(--ef-line-strong);border-radius:var(--ef-radius-s);background:var(--ef-ink);color:var(--ef-paper);font:inherit;font-size:1rem;line-height:1.4;transition:border-color .2s var(--ef-ease);}.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce form textarea:focus{outline:none;border-color:var(--ef-accent);box-shadow:0 0 0 3px rgb(232 103 58 / .25);}.woocommerce form .input-text::placeholder{color:var(--ef-muted);}.woocommerce .select2-container .select2-selection--single{display:flex;align-items:center;}.woocommerce .select2-container .select2-selection__rendered{color:var(--ef-paper) !important;padding:0 !important;}.woocommerce .select2-container .select2-selection__arrow{top:50% !important;right:.75rem !important;transform:translateY(-50%);}.select2-dropdown{background:var(--ef-surface) !important;border-color:var(--ef-line-strong) !important;color:var(--ef-paper);}.select2-search__field{background:var(--ef-ink) !important;color:var(--ef-paper) !important;border-color:var(--ef-line-strong) !important;}.select2-results__option--highlighted{background:var(--ef-accent) !important;color:var(--ef-ink) !important;}.woocommerce .button,.woocommerce button.button,.woocommerce #place_order,.woocommerce .checkout-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border:1px solid var(--ef-line-strong);border-radius:var(--ef-radius);background:transparent;color:var(--ef-paper);font:inherit;font-size:.9375rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ef-ease),border-color .2s var(--ef-ease),color .2s var(--ef-ease);}.woocommerce .button:hover{border-color:var(--ef-accent);color:var(--ef-paper);}.woocommerce .button:disabled,.woocommerce .button[disabled]{opacity:.45;cursor:default;}.woocommerce .checkout-button,.woocommerce #place_order{width:100%;min-height:60px;border:0;background:var(--ef-accent);color:var(--ef-ink);font-size:1.0625rem;}.woocommerce .checkout-button:hover,.woocommerce #place_order:hover{background:var(--ef-paper);color:var(--ef-ink);}.woocommerce-notices-wrapper:empty{display:none;}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 2rem;padding:1rem 1.25rem;border:1px solid var(--ef-line-strong);border-radius:var(--ef-radius);background:var(--ef-surface);color:var(--ef-paper-soft);list-style:none;}.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{content:none;}.woocommerce .woocommerce-info a,.woocommerce .woocommerce-message a{color:var(--ef-paper);font-weight:600;text-decoration:underline;text-decoration-color:var(--ef-accent);text-underline-offset:4px;}.woocommerce .woocommerce-error{border-color:var(--ef-accent);}.woocommerce .woocommerce-message .button{order:2;margin-left:auto;min-height:40px;}.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);gap:2.5rem 3rem;align-items:start;}.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1 / -1;}.woocommerce-cart .woocommerce-cart-form{min-width:0;}.woocommerce-cart .cart-collaterals{position:sticky;top:2rem;}.woocommerce table.shop_table{width:100%;border:0;border-collapse:collapse;}.woocommerce-cart table.cart thead{position:absolute;left:-9999px;}.woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:6rem minmax(0,1fr) auto auto;grid-template-areas:"thumb name subtotal remove" "thumb price qty qty";align-items:center;gap:.25rem 1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--ef-line);}.woocommerce-cart table.cart tr.cart_item:first-child{border-top:1px solid var(--ef-line);}.woocommerce-cart table.cart td{display:block;padding:0;border:0;background:none;}.woocommerce-cart table.cart td::before{content:none !important;}.woocommerce-cart td.product-thumbnail{grid-area:thumb;}.woocommerce-cart td.product-thumbnail img{display:block;width:6rem;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;}.woocommerce-cart td.product-name{grid-area:name;font-size:1.125rem;font-weight:700;line-height:1.3;}.woocommerce-cart td.product-name a{color:var(--ef-paper);}.woocommerce-cart td.product-name a:hover{color:var(--ef-accent);}.woocommerce-cart td.product-price{grid-area:price;font-family:var(--ef-mono);font-size:.8125rem;color:var(--ef-muted);}.woocommerce-cart td.product-quantity{grid-area:qty;justify-self:end;}.woocommerce-cart td.product-quantity .qty{width:4.5rem;min-height:40px;text-align:center;}.woocommerce-cart td.product-subtotal{grid-area:subtotal;font-size:1.125rem;font-weight:700;text-align:right;}.woocommerce-cart td.product-remove{grid-area:remove;}.woocommerce-cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--ef-line-strong);border-radius:50%;color:var(--ef-muted) !important;font-size:1.25rem;line-height:1;text-decoration:none;background:none !important;}.woocommerce-cart td.product-remove a.remove:hover{border-color:var(--ef-accent);color:var(--ef-accent) !important;}.woocommerce-cart table.cart td.actions{display:flex !important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 0;grid-column:1 / -1;}.woocommerce-cart table.cart tr:last-child{display:block;}.woocommerce-cart td.actions .coupon{display:flex;gap:.5rem;flex:1 1 22rem;}.woocommerce-cart td.actions .coupon label{position:absolute;left:-9999px;}.woocommerce-cart td.actions .coupon .input-text{flex:1;min-height:48px;}.woocommerce-cart td.actions>.button{margin-left:auto;}.woocommerce .cart_totals,.woocommerce-checkout-review-order{padding:2rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface);}.woocommerce .cart_totals h2{margin:0 0 1.25rem;font-size:1.375rem;}.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td,.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:.875rem 0;border:0;border-bottom:1px solid var(--ef-line);background:none;text-align:left;vertical-align:top;font-weight:400;color:var(--ef-paper-soft);}.woocommerce .cart_totals td,.woocommerce-checkout-review-order-table td{text-align:right !important;color:var(--ef-paper);}.woocommerce .cart_totals td::before{content:none !important;}.woocommerce .cart_totals tr.order-total th,.woocommerce .cart_totals tr.order-total td,.woocommerce-checkout-review-order-table tr.order-total th,.woocommerce-checkout-review-order-table tr.order-total td{border-bottom:0;padding-top:1.25rem;font-size:1.375rem;font-weight:800;color:var(--ef-paper);}.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none;}.woocommerce ul#shipping_method li{margin:0;}.woocommerce .woocommerce-shipping-destination,.woocommerce .shipping-calculator-button{display:block;margin-top:.5rem;font-size:.8125rem;color:var(--ef-muted);}.woocommerce .shipping-calculator-form{margin-top:1rem;text-align:left;}.woocommerce .wc-proceed-to-checkout{padding-top:1.5rem;}.woocommerce .wc-proceed-to-checkout::after{content:"Discreet packaging · 14 days to change your mind";display:block;margin-top:1rem;font-family:var(--ef-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ef-muted);}.woocommerce-cart .cart-empty{grid-column:1 / -1;font-size:1.25rem;}.woocommerce-cart .return-to-shop{grid-column:1 / -1;}.woocommerce-cart .cross-sells{display:none;}.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,28rem);grid-template-areas:"customer heading" "customer review";grid-template-rows:auto 1fr;gap:0 3rem;align-items:start;}.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1;}.woocommerce-checkout #customer_details{grid-area:customer;display:flex;flex-direction:column;gap:2.5rem;}.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none;}.woocommerce-checkout #order_review_heading{grid-area:heading;margin:0 0 1rem;font-size:1.375rem;}.woocommerce-checkout #order_review{grid-area:review;position:sticky;top:2rem;}.woocommerce-checkout h3{margin:0 0 1.5rem;font-size:1.375rem;font-weight:700;}.woocommerce form .form-row{display:flex;flex-direction:column;gap:.4rem;margin:0 0 1.125rem;padding:0;}.woocommerce form .form-row label{font-size:.875rem;font-weight:500;color:var(--ef-paper-soft);line-height:1.4;}.woocommerce form .form-row .required{color:var(--ef-accent);text-decoration:none;border:0;}.woocommerce form .form-row .optional{color:var(--ef-muted);}.woocommerce .woocommerce-billing-fields__field-wrapper,.woocommerce .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;}.woocommerce form .form-row-wide,.woocommerce #billing_company_field,.woocommerce #billing_country_field,.woocommerce #billing_address_1_field,.woocommerce #billing_address_2_field,.woocommerce #shipping_company_field,.woocommerce #shipping_country_field,.woocommerce #shipping_address_1_field,.woocommerce #shipping_address_2_field,.woocommerce #billing_email_field,.woocommerce #billing_phone_field{grid-column:1 / -1;}.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:auto;float:none;}.woocommerce #billing_address_2_field label,.woocommerce #shipping_address_2_field label{position:absolute;left:-9999px;}.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--ef-accent);}.woocommerce #ship-to-different-address{margin:0 0 1.25rem;font-size:1rem;}.woocommerce #ship-to-different-address label{display:flex;align-items:center;gap:.75rem;cursor:pointer;}.woocommerce input[type="checkbox"],.woocommerce input[type="radio"]{width:18px;height:18px;margin:0;accent-color:var(--ef-accent);}.woocommerce .woocommerce-additional-fields textarea{min-height:7rem;}.woocommerce-checkout-review-order-table thead{display:none;}.woocommerce-checkout-review-order-table td.product-name{text-align:left !important;color:var(--ef-paper);}.woocommerce-checkout-review-order-table .product-quantity{color:var(--ef-muted);font-weight:400;}.woocommerce #payment{margin-top:1.5rem;background:none;border-radius:0;}.woocommerce #payment ul.payment_methods{margin:0 0 1.25rem;padding:0;border:0;list-style:none;}.woocommerce #payment ul.payment_methods li{padding:1rem 1.125rem;border:1px solid var(--ef-line-strong);border-radius:var(--ef-radius-s);}.woocommerce #payment ul.payment_methods li>label{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--ef-paper);}.woocommerce #payment div.payment_box{margin:.75rem 0 0;padding:0;background:none;color:var(--ef-paper-soft);font-size:.875rem;}.woocommerce #payment div.payment_box::before{content:none;}.woocommerce #payment div.payment_box p{margin:0;}.woocommerce .woocommerce-privacy-policy-text,.woocommerce .woocommerce-terms-and-conditions-wrapper{font-size:.8125rem;color:var(--ef-muted);}.woocommerce .woocommerce-privacy-policy-text a{color:var(--ef-paper-soft);text-decoration:underline;}.woocommerce .woocommerce-form-coupon-toggle + .checkout_coupon,.woocommerce form.checkout_coupon{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:1.25rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);}.woocommerce form.checkout_coupon p{margin:0;flex:1 1 14rem;}.woocommerce form.checkout_coupon p:first-child{flex-basis:100%;color:var(--ef-muted);font-size:.875rem;}.woocommerce form.checkout_coupon .form-row-last{flex:0 0 auto;}.woocommerce form.woocommerce-form-login{margin:0 0 2rem;padding:1.5rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);}.woocommerce-order{max-width:48rem;}.woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:2rem 0;padding:0;list-style:none;}.woocommerce ul.order_details li{padding:1rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius-s);font-family:var(--ef-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ef-muted);}.woocommerce ul.order_details li strong{display:block;margin-top:.375rem;font-family:var(--wp--preset--font-family--sans);font-size:1.0625rem;text-transform:none;letter-spacing:0;color:var(--ef-paper);}.woocommerce .wc-bacs-bank-details-heading,.woocommerce .woocommerce-order-details__title{margin-top:2.5rem;font-size:1.375rem;}.woocommerce ul.wc-bacs-bank-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;padding:1.25rem;border:1px solid var(--ef-accent);border-radius:var(--ef-radius);list-style:none;}.woocommerce ul.wc-bacs-bank-details li{font-size:.8125rem;color:var(--ef-muted);}.woocommerce ul.wc-bacs-bank-details li strong{display:block;font-size:1rem;color:var(--ef-paper);}@media (max-width:960px){.woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout{grid-template-columns:1fr;grid-template-areas:"customer" "heading" "review";}.woocommerce-cart .cart-collaterals,.woocommerce-checkout #order_review{position:static;}.woocommerce-checkout #order_review_heading{margin-top:2.5rem;}}@media (max-width:600px){.woocommerce-cart table.cart tr.cart_item{grid-template-columns:4.5rem minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb price remove" "thumb subtotal qty";}.woocommerce-cart td.product-thumbnail img{width:4.5rem;}.woocommerce-cart td.product-subtotal{text-align:left;}.woocommerce .woocommerce-billing-fields__field-wrapper,.woocommerce .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}.woocommerce .cart_totals,.woocommerce-checkout-review-order{padding:1.5rem;}}.woocommerce-cart .is-layout-constrained>.woocommerce,.woocommerce-checkout .is-layout-constrained>.woocommerce,.woocommerce-cart .is-layout-constrained>.wp-block-post-title,.woocommerce-checkout .is-layout-constrained>.wp-block-post-title,.woocommerce-cart main .is-layout-constrained>.alignwide,.woocommerce-checkout main .is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size,1320px);}.woocommerce-cart table.cart,.woocommerce-cart table.cart tbody{display:block;}

/* Category showcase (v1.0.4) */
.ef-cats{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.ef-cats__item{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:1fr auto;min-height:44rem;border:1px solid var(--ef-line);border-radius:20px;background:#0E0C0A;color:var(--ef-paper);transition:border-color .4s var(--ef-ease)}
.ef-cats__item:hover,.ef-cats__item:focus-visible{border-color:rgb(239 232 220 / .25);color:var(--ef-paper)}
.ef-cats__item:focus-visible{outline:2px solid var(--ef-accent);outline-offset:3px}
.ef-cats__glow{position:absolute;inset:-25%;z-index:-2;background-size:cover;background-position:center;filter:blur(70px) saturate(1.6);opacity:.5;transition:opacity .6s var(--ef-ease)}
.ef-cats__item::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgb(14 12 10 / .05) 0%,rgb(14 12 10 / .2) 45%,rgb(14 12 10 / .94) 78%)}
.ef-cats__item:hover .ef-cats__glow{opacity:.8}
.ef-cats__fan{display:flex;justify-content:center;align-items:center;padding:4rem 2rem 0}
.ef-cats__cover{position:relative;flex:0 0 auto;width:min(34%,13.5rem);aspect-ratio:3 / 4;overflow:hidden;border-radius:6px;box-shadow:0 30px 60px rgb(0 0 0 / .55),0 0 0 1px rgb(255 255 255 / .07);transition:transform .7s var(--ef-ease)}
.ef-cats__cover img{display:block;width:100%;height:100%;object-fit:cover}
.ef-cats__cover + .ef-cats__cover{margin-left:-8%}
.ef-cats__cover--0{transform:rotate(-8deg) translateY(9%)}
.ef-cats__cover--1{z-index:2;transform:translateY(-2%) scale(1.1)}
.ef-cats__cover--2{transform:rotate(8deg) translateY(9%)}
.ef-cats__item:hover .ef-cats__cover--0{transform:rotate(-12deg) translate(-14%,6%)}
.ef-cats__item:hover .ef-cats__cover--1{transform:translateY(-7%) scale(1.14)}
.ef-cats__item:hover .ef-cats__cover--2{transform:rotate(12deg) translate(14%,6%)}
.ef-cats__body{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:2.5rem}
.ef-cats__eyebrow{font-family:var(--ef-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ef-paper-soft)}
.ef-cats__title{font-size:clamp(2.5rem,4.2vw,4.5rem);font-weight:800;letter-spacing:-.035em;line-height:.95;text-wrap:balance}
.ef-cats__intro{max-width:32rem;color:var(--ef-paper-soft);line-height:1.6}
.ef-cats__cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.85rem 1.35rem;border-radius:999px;background:var(--ef-paper);color:var(--ef-ink);font-size:.9375rem;font-weight:700;transition:background-color .3s var(--ef-ease)}
.ef-cats__cta span{transition:transform .3s var(--ef-ease)}
.ef-cats__item:hover .ef-cats__cta{background:var(--ef-accent)}
.ef-cats__item:hover .ef-cats__cta span{transform:translateX(4px)}

.ef-cats__item--banner{grid-column:1 / -1;grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;min-height:0}
.ef-cats__item--banner::after{background:linear-gradient(to right,rgb(14 12 10 / .94) 32%,rgb(14 12 10 / .35))}
.ef-cats__item--banner .ef-cats__body{order:-1;padding:3rem}
.ef-cats__item--banner .ef-cats__fan{justify-content:flex-end;padding:3rem 3.5rem 3rem 0}
.ef-cats__item--banner .ef-cats__cover{width:min(19%,10.5rem)}
.ef-cats__item--banner .ef-cats__cover + .ef-cats__cover{margin-left:-3%}
.ef-cats__item--banner .ef-cats__cover--0{transform:rotate(-5deg)}
.ef-cats__item--banner .ef-cats__cover--1{transform:rotate(2deg) translateY(-5%)}
.ef-cats__item--banner .ef-cats__cover--2{transform:rotate(-2deg) translateY(3%)}
.ef-cats__item--banner .ef-cats__cover--3{transform:rotate(4deg) translateY(-3%)}
.ef-cats__item--banner .ef-cats__cover--4{transform:rotate(-3deg) translateY(2%)}
.ef-cats__item--banner:hover .ef-cats__cover{transform:rotate(0) translateY(-6%)}
.ef-cats__item--banner .ef-cats__title{font-size:clamp(2.25rem,3.5vw,3.5rem)}

@media (max-width:900px){
.ef-cats{grid-template-columns:1fr}
.ef-cats__item{min-height:38rem}
.ef-cats__item--banner{grid-template-columns:1fr;min-height:0}
.ef-cats__item--banner::after{background:linear-gradient(to bottom,rgb(14 12 10 / .2) 20%,rgb(14 12 10 / .94) 70%)}
.ef-cats__item--banner .ef-cats__body{order:0;padding:2rem}
.ef-cats__item--banner .ef-cats__fan{justify-content:center;padding:3rem 1.5rem 0}
.ef-cats__item--banner .ef-cats__cover{width:22%}
}
@media (max-width:600px){
.ef-cats__item{min-height:32rem;border-radius:16px}
.ef-cats__fan{padding:3rem 1rem 0}
.ef-cats__cover{width:40%}
.ef-cats__body{padding:1.75rem}
}

/* ==========================================================================
   Cart, checkout and mini-cart polish (v1.0.5)
   ========================================================================== */

/* ---------- Cart: one tidy row per issue ---------- */
.woocommerce-cart table.cart tr.cart_item {
	grid-template-columns: 5.5rem minmax(0, 1fr) auto 6.5rem 40px;
	grid-template-areas: "thumb name qty subtotal remove" "thumb price qty subtotal remove";
	grid-template-rows: auto auto;
	align-items: center;
	align-content: center;
	gap: .375rem 1.5rem;
	padding: 1.25rem 0;
}
.woocommerce-cart td.product-thumbnail { width: auto !important; min-width: 0; }
.woocommerce-cart td.product-thumbnail img { width: 5.5rem !important; max-width: 100%; border-radius: 6px; box-shadow: 0 10px 24px rgb(0 0 0 / .4); }
.woocommerce-cart td.product-name { align-self: end; font-size: 1.125rem; }
.woocommerce-cart td.product-price { align-self: start; }
.woocommerce-cart td.product-price::after { content: " each"; }
.woocommerce-cart td.product-quantity,
.woocommerce-cart td.product-subtotal,
.woocommerce-cart td.product-remove { align-self: center; }
.woocommerce-cart td.product-subtotal { justify-self: end; font-size: 1.125rem; }
.woocommerce-cart td.product-remove { justify-self: end; }
.woocommerce-cart td.product-quantity .quantity { margin: 0; }
.woocommerce-cart td.product-quantity .qty { width: 4.5rem; min-height: 44px !important; padding: 0 .5rem !important; text-align: center; }
/* Every issue is unique: no quantity box when only one is available. */
.woocommerce-cart td.product-quantity:has(input.qty[max="1"]) { display: none !important; }
.woocommerce-cart td.product-price:has(~ td.product-quantity input.qty[max="1"])::after { content: none; }

.woocommerce-cart table.cart td.actions { align-items: stretch; padding-top: 1.5rem; }
.woocommerce-cart td.actions .coupon { flex: 0 1 30rem; }
.woocommerce-cart td.actions .coupon .input-text { min-height: 48px !important; height: 48px; padding: 0 1rem !important; border-radius: var(--ef-radius) !important; }
.woocommerce-cart td.actions .button { min-height: 48px; height: 48px; white-space: nowrap; }
.woocommerce-cart td.actions > .button[disabled] { display: none; }

/* ---------- Totals boxes (cart and checkout) ---------- */
.woocommerce .cart_totals,
.woocommerce-checkout #order_review { box-sizing: border-box; padding: 1.75rem; border: 1px solid var(--ef-line); border-radius: var(--ef-radius); background: var(--ef-surface); }
.woocommerce-checkout #order_review .woocommerce-checkout-review-order { padding: 0; border: 0; background: none; }
.woocommerce .cart_totals h2 { margin: 0 0 .5rem; font-size: 1.25rem; }
.woocommerce .cart_totals table.shop_table,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table { margin: 0; border: 0 !important; border-radius: 0; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
	padding: 1rem 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	background: none !important;
	vertical-align: baseline;
	font-size: .9375rem;
	line-height: 1.4;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th { width: 40%; text-align: left; font-weight: 400; color: var(--ef-paper-soft); }
.woocommerce .cart_totals table.shop_table td,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td { text-align: right !important; font-weight: 600; color: var(--ef-paper); }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-name { width: auto; text-align: left !important; font-weight: 600; }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-name .product-quantity { display: inline; margin-left: .25rem; font-family: var(--ef-mono); font-size: .75rem; font-weight: 400; color: var(--ef-muted); }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr:first-child td { padding-top: 0 !important; }
.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.order-total td { padding-top: 1.25rem !important; padding-bottom: 0 !important; border-bottom: 0 !important; font-size: 1.375rem; font-weight: 800; color: var(--ef-paper); vertical-align: top; }
.woocommerce .order-total .includes_tax,
.woocommerce .order-total small { font-size: .75rem !important; font-weight: 400 !important; }

/* Single shipping rate: show only the amount, not "Shipping: €8.30". */
.woocommerce ul#shipping_method li:only-child label { font-size: 0; }
.woocommerce ul#shipping_method li:only-child label .amount { font-size: .9375rem; }
.woocommerce .woocommerce-shipping-destination { margin: .375rem 0 0; font-size: .75rem; font-weight: 400; line-height: 1.5; color: var(--ef-muted); }
.woocommerce .woocommerce-shipping-destination strong { font-weight: 500; color: var(--ef-paper-soft); }
.woocommerce .shipping-calculator-button { display: inline-block; margin-top: .375rem; font-size: .75rem; font-weight: 500; color: var(--ef-paper-soft) !important; text-decoration: underline; text-decoration-color: var(--ef-accent); text-underline-offset: 3px; }
.woocommerce .shipping-calculator-button::after { content: none !important; }
.woocommerce .wc-proceed-to-checkout { padding: 1.5rem 0 0; }
.woocommerce .wc-proceed-to-checkout .checkout-button { margin: 0; }

/* ---------- Checkout: payment block lines up with the totals ---------- */
.woocommerce-checkout #order_review_heading { margin: 0 0 1rem; }
.woocommerce-checkout #payment { margin-top: 1.75rem; padding: 0; border: 0; background: none !important; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0 0 1.25rem; padding: 0 !important; border: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 1.125rem 1.25rem; border: 1px solid var(--ef-line-strong); border-radius: var(--ef-radius-s); background: var(--ef-ink); }
.woocommerce-checkout #payment ul.payment_methods li > label { margin: 0; font-size: 1rem; }
.woocommerce-checkout #payment div.payment_box { margin: .5rem 0 0; padding: 0 !important; font-size: .875rem; line-height: 1.55; }
.woocommerce-checkout #payment div.form-row,
.woocommerce-checkout #payment .place-order { margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0 0 1.25rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text:empty { display: none; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex !important; align-items: flex-start; gap: .75rem; font-size: .875rem !important; line-height: 1.5; color: var(--ef-paper-soft) !important; cursor: pointer; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox > .required { display: none; }
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text::after { content: " *"; color: var(--ef-accent); }
.woocommerce-checkout .woocommerce-form__label-for-checkbox input { flex: none; margin-top: .15rem !important; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox a { color: var(--ef-paper); text-decoration: underline; text-decoration-color: var(--ef-accent); text-underline-offset: 3px; }
.woocommerce-checkout #place_order { float: none; width: 100%; margin: 0; }
.woocommerce-checkout #order_review::after {
	content: "Discreet packaging · Bank transfer";
	display: block;
	margin-top: 1rem;
	font-family: var(--ef-mono);
	font-size: .6875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: center;
	color: var(--ef-muted);
}
/* Form columns: same top line as the order box. */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading { font-size: 1.25rem; line-height: 1.3; }
.woocommerce-checkout form.checkout { column-gap: 4rem; }

/* ---------- Mini-cart drawer ---------- */
.wc-block-mini-cart__drawer.wc-block-components-drawer { width: min(440px, 100vw) !important; max-width: 100vw; border-left: 1px solid var(--ef-line); border-radius: 0 !important; background: var(--ef-ink) !important; color: var(--ef-paper); box-shadow: -30px 0 80px rgb(0 0 0 / .55); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background: var(--ef-ink) !important; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { padding: 0 !important; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block { display: flex; flex-direction: column; height: 100%; }

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { position: absolute; top: 1.25rem; right: 1.5rem; z-index: 2; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { position: static !important; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 0; padding: 0 !important; border: 1px solid var(--ef-line-strong) !important; border-radius: 50% !important; background: transparent !important; color: var(--ef-paper) !important; opacity: 1 !important; box-shadow: none !important; outline: none; transition: border-color .2s var(--ef-ease), transform .3s var(--ef-ease); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { width: 18px; height: 18px; fill: currentColor; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover { border-color: var(--ef-accent) !important; transform: rotate(90deg); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus-visible { outline: 2px solid var(--ef-accent); outline-offset: 2px; }

.wc-block-mini-cart__drawer .wc-block-mini-cart__title { display: flex; align-items: baseline; gap: .75rem; margin: 0 !important; padding: 1.75rem 5rem 1.5rem 1.75rem; border-bottom: 1px solid var(--ef-line); font-size: 1.5rem !important; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; mask-image: none !important; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block { font-family: var(--ef-mono); font-size: .75rem; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--ef-muted); }

.wc-block-mini-cart__drawer .wc-block-mini-cart__items { flex: 1 1 auto; padding: .5rem 1.75rem !important; overflow-y: auto; }
.wc-block-mini-cart__drawer .wc-block-cart-items { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
.wc-block-mini-cart__drawer .wc-block-cart-items__header { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { display: grid !important; grid-template-columns: 4.5rem minmax(0, 1fr) auto; align-items: start; gap: 0 1.125rem; padding: 1.25rem 0 !important; border-bottom: 1px solid var(--ef-line); }
.wc-block-mini-cart__drawer .wc-block-cart-items__row td { display: block; padding: 0 !important; border: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image { width: 4.5rem !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { display: block; width: 4.5rem !important; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: 6px; box-shadow: 0 10px 24px rgb(0 0 0 / .45); }
.wc-block-mini-cart__drawer .wc-block-cart-item__wrap { display: flex; flex-direction: column; align-items: flex-start; gap: .375rem; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { display: block; margin: 0 !important; font-size: 1rem !important; font-weight: 700; line-height: 1.3; color: var(--ef-paper) !important; text-decoration: none !important; }
.wc-block-mini-cart__drawer a.wc-block-components-product-name:hover { color: var(--ef-accent) !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata { margin: 0 !important; font-size: .8125rem !important; line-height: 1.45; color: var(--ef-muted); }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description p { display: inline; margin: 0; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description p + p::before { content: " · "; }
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity { display: flex; align-items: center; gap: .75rem; margin-top: .375rem; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { width: auto; min-height: 36px; margin: 0; border: 1px solid var(--ef-line-strong) !important; border-radius: 999px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector::after { content: none !important; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input { width: 2.5rem; min-height: 0; background: none !important; color: var(--ef-paper) !important; font-size: .875rem; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { min-width: 32px; color: var(--ef-paper-soft) !important; background: none !important; }
/* Unique issues: hide the quantity selector when only one can be bought. */
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector:has(input[max="1"]) { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { display: inline-flex !important; align-items: center; gap: .375rem; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0; background: none !important; color: var(--ef-muted) !important; font-size: .75rem !important; font-family: var(--ef-mono); letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link::after { content: "Remove"; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link svg { width: 16px; height: 16px; fill: currentColor; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover { color: var(--ef-accent) !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { text-align: right; font-size: 1rem; font-weight: 700; color: var(--ef-paper); }
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-sale-badge { margin-top: .25rem; }

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { margin-top: auto; padding: 1.5rem 1.75rem 1.75rem !important; border-top: 1px solid var(--ef-line); background: var(--ef-surface); box-shadow: none !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer::after { content: none !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; margin: 0 !important; padding: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label { font-size: 1rem; font-weight: 600; color: var(--ef-paper-soft); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value { font-size: 1.5rem; font-weight: 800; color: var(--ef-paper); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description { flex-basis: 100%; margin-top: .25rem; font-size: .8125rem; color: var(--ef-muted); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions { display: grid !important; grid-template-columns: 1fr 1.4fr; gap: .625rem; margin-top: 1.25rem; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 0 !important; padding: 0 1rem !important; border-radius: var(--ef-radius) !important; font-size: .9375rem !important; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background-color .2s var(--ef-ease), border-color .2s var(--ef-ease), color .2s var(--ef-ease); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart { border: 1px solid var(--ef-line-strong) !important; background: transparent !important; color: var(--ef-paper) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover { border-color: var(--ef-paper) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { border: 0 !important; background: var(--ef-accent) !important; color: var(--ef-ink) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover { background: var(--ef-paper) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions::after {
	content: "Discreet packaging · Ships worldwide";
	grid-column: 1 / -1;
	margin-top: .5rem;
	font-family: var(--ef-mono);
	font-size: .6875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: center;
	color: var(--ef-muted);
}
/* Empty state */
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block { padding: 5rem 1.75rem 2rem !important; text-align: center; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper p { font-size: 1.125rem; color: var(--ef-paper-soft); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-shopping-button-block .wc-block-components-button { min-height: 52px; padding: 0 1.75rem !important; border-radius: var(--ef-radius) !important; background: var(--ef-accent) !important; color: var(--ef-ink) !important; font-weight: 700; }
.wc-block-components-drawer__screen-overlay { background-color: rgb(8 7 6 / .7) !important; backdrop-filter: blur(4px); }

@media (max-width: 600px) {
	.woocommerce-cart table.cart tr.cart_item { grid-template-columns: 4.5rem minmax(0, 1fr) 40px; grid-template-areas: "thumb name remove" "thumb price remove" "thumb subtotal qty"; gap: .25rem 1rem; }
	.woocommerce-cart td.product-thumbnail img { width: 4.5rem !important; }
	.woocommerce-cart td.product-subtotal { justify-self: start; }
	.woocommerce-cart td.actions .coupon { flex: 1 1 100%; }
	.woocommerce .cart_totals,
	.woocommerce-checkout #order_review { padding: 1.25rem; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__title { padding: 1.5rem 4.5rem 1.25rem 1.25rem; }
	.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { top: 1.125rem; right: 1.25rem; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: .25rem 1.25rem !important; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding: 1.25rem !important; }
}

/* Category showcase, compact (v1.0.8) */
.ef-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ef-cats__item{min-height:0;border-radius:16px;clip-path:inset(0 round 16px)}
.ef-cats__item::after{background:linear-gradient(to bottom,rgb(14 12 10 / 0) 30%,rgb(14 12 10 / .5) 55%,rgb(14 12 10 / .95) 80%)}
.ef-cats__fan{height:15rem;box-sizing:border-box;padding:2rem 1.5rem 0}
.ef-cats__cover{width:min(33%,8.75rem);border-radius:4px;box-shadow:0 18px 36px rgb(0 0 0 / .55),0 0 0 1px rgb(255 255 255 / .07)}
.ef-cats__body{gap:.375rem;padding:1.25rem 1.5rem 1.5rem}
.ef-cats__eyebrow{font-size:.6875rem}
.ef-cats__title{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.05;letter-spacing:-.025em}
.ef-cats__intro{display:none}
.ef-cats__cta{margin-top:.5rem;padding:0;border-radius:0;background:none;color:var(--ef-paper);font-size:.875rem;font-weight:600}
.ef-cats__cta span{color:var(--ef-accent)}
.ef-cats__item:hover .ef-cats__cta{background:none;color:var(--ef-accent)}
@media (max-width:900px){
.ef-cats{grid-template-columns:1fr;gap:.75rem}
.ef-cats__item{min-height:0;grid-template-rows:none;grid-template-columns:9.5rem minmax(0,1fr);align-items:center}
.ef-cats__item::after{background:linear-gradient(to right,rgb(14 12 10 / .1),rgb(14 12 10 / .9) 45%)}
.ef-cats__fan{height:9.5rem;padding:1rem 0 1rem 1rem}
.ef-cats__cover{width:44%}
.ef-cats__cover + .ef-cats__cover{margin-left:-14%}
.ef-cats__body{padding:1rem 1.25rem}
.ef-cats__title{font-size:1.375rem}
.ef-cats__item:hover .ef-cats__cover--0,.ef-cats__item:hover .ef-cats__cover--2{transform:none}
}

/* Mini-cart fixes (v1.0.8) */
.wc-block-mini-cart__drawer .wc-block-cart-item__image img[hidden]{display:none!important}
.wc-block-mini-cart__drawer .wc-block-cart-item__prices{display:none!important}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)!important}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button{box-sizing:border-box;min-width:0!important;max-width:100%}

/* Header and promo bar (v1.0.9) */
.ef-promo{padding-block:0!important;background:#0B0A08!important;color:var(--ef-paper-soft)!important;border-bottom:1px solid var(--ef-line)}
.ef-promo__bar{min-height:2.5rem;align-items:center;gap:1.5rem}
.ef-promo p{margin:0;font-family:var(--ef-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;white-space:nowrap}
.ef-promo__side{flex:1 1 0;color:var(--ef-muted)}
.ef-promo__side--end{text-align:right}
.ef-promo__deal{flex:0 0 auto;display:inline-flex;align-items:center;gap:.75rem;color:var(--ef-paper)}
.ef-promo__code{display:inline-block;padding:.3rem .55rem;border:1px dashed var(--ef-accent);border-radius:4px;background:rgb(232 103 58 / .12);color:var(--ef-accent);font-weight:700;letter-spacing:.14em}

header.wp-block-template-part{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) - 2.5rem - 1px);z-index:50}
.ef-header{background:rgb(21 18 15 / .86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--ef-line)}
.ef-header__bar{min-height:4.75rem;padding-block:.75rem!important;align-items:center!important;gap:1rem 2.5rem}
.ef-header__bar > .ef-wordmark{flex:1 1 0}
.ef-header__bar > .ef-header__tools{flex:1 1 0;justify-content:flex-end}
.ef-header .ef-wordmark{font-size:1.25rem!important;letter-spacing:.3em!important}

.ef-header .wp-block-navigation{gap:.25rem!important}
.ef-header .wp-block-navigation__container{gap:.25rem!important}
.ef-header .wp-block-navigation-item__content{position:relative;display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .875rem!important;border-radius:999px;color:var(--ef-paper-soft)!important;font-size:.9375rem;font-weight:500;text-decoration:none!important;transition:color .2s var(--ef-ease),background-color .2s var(--ef-ease)}
.ef-header .wp-block-navigation-item__content:hover,
.ef-header .current-menu-item > .wp-block-navigation-item__content,
.ef-header .wp-block-navigation-item__content[aria-current]{color:var(--ef-paper)!important;background:rgb(239 232 220 / .07)}
.ef-header .wp-block-navigation-item__content::after{content:"";position:absolute;left:.875rem;right:.875rem;bottom:.35rem;height:2px;border-radius:2px;background:var(--ef-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ef-ease)}
.ef-header .wp-block-navigation-item__content:hover::after,
.ef-header .wp-block-navigation-item__content[aria-current]::after{transform:scaleX(1)}

.ef-header__tools{gap:.5rem!important;align-items:center}
.ef-header .wp-block-search{width:15rem;margin:0}
.ef-header .wp-block-search__input{box-sizing:border-box;height:2.75rem;min-height:2.75rem;padding:0 1rem 0 2.5rem!important;border:1px solid var(--ef-line)!important;border-radius:999px!important;background:var(--ef-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9086' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 1rem center/1rem!important;color:var(--ef-paper);font-size:.875rem;transition:border-color .2s var(--ef-ease),background-color .2s var(--ef-ease)}
.ef-header .wp-block-search__input:hover{border-color:var(--ef-line-strong)!important}
.ef-header .wp-block-search__input:focus{outline:none;border-color:var(--ef-accent)!important;box-shadow:0 0 0 3px rgb(232 103 58 / .2)}
.ef-header .wp-block-woocommerce-customer-account a,
.ef-header .wc-block-mini-cart__button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-height:0!important;padding:0!important;border:1px solid var(--ef-line);border-radius:50%;background:transparent;color:var(--ef-paper)!important;transition:border-color .2s var(--ef-ease),background-color .2s var(--ef-ease)}
.ef-header .wp-block-woocommerce-customer-account a:hover,
.ef-header .wc-block-mini-cart__button:hover{border-color:var(--ef-line-strong);background:rgb(239 232 220 / .06)}
.ef-header .wc-block-customer-account svg,
.ef-header .wc-block-mini-cart__icon{width:20px!important;height:20px!important}
.ef-header .wc-block-mini-cart__quantity-badge{position:static;display:flex;align-items:center;justify-content:center}
.ef-header .wc-block-mini-cart__badge{position:absolute!important;top:-3px!important;right:-3px!important;left:auto!important;transform:none!important;min-width:1.125rem;height:1.125rem;margin:0!important;padding:0 .25rem;box-sizing:border-box;border:2px solid var(--ef-ink)!important;border-radius:999px;background:var(--ef-accent)!important;color:var(--ef-ink)!important;font-size:.625rem!important;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}
.ef-header .wc-block-mini-cart__badge:empty{display:none}

@media (max-width:1100px){
.ef-promo__side{display:none}
.ef-promo__bar{justify-content:center}
.ef-header .wp-block-search{width:11rem}
}
@media (max-width:781px){
header.wp-block-template-part{top:calc(var(--wp-admin--admin-bar--height,0px) * 0 - 2.5rem - 1px)}
.ef-promo__deal{gap:.5rem;font-size:.625rem!important;letter-spacing:.06em!important}
.ef-header__bar{min-height:0;flex-wrap:wrap!important;gap:.75rem!important;padding-block:.75rem!important}
.ef-header__bar > .ef-wordmark{flex:1 1 auto;order:1}
.ef-header__bar > .wp-block-navigation{order:2;flex:0 0 auto}
.ef-header__bar > .ef-header__tools{order:3;flex:1 1 100%}
.ef-header .wp-block-search{flex:1;width:auto}
.ef-header .wp-block-navigation__responsive-container-open{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--ef-line);border-radius:50%;color:var(--ef-paper)}
}
.ef-header .wc-block-customer-account__visual img{display:none}
.wp-site-blocks > header.wp-block-template-part + *{margin-block-start:0}
.ef-cats__cta{gap:.375rem;white-space:nowrap}
@media (max-width:900px){.ef-cats__cta{margin-top:.25rem;font-size:.8125rem}.ef-cats__item{min-height:0!important}}

/* Cards, pagination and my account (v1.0.13) */
.ef-card{gap:1rem}
.ef-card__media{position:relative}
.ef-card__cover{border-radius:10px;box-shadow:0 14px 30px rgb(0 0 0 / .35)}
.ef-card__body{display:flex;flex-direction:column;gap:.375rem}
.ef-card__title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:-.005em}
.ef-card__title a{color:var(--ef-paper)}
.ef-card__title a:hover{color:var(--ef-accent)}
.ef-card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-height:0;margin:0}
.ef-card__meta{font-family:var(--ef-mono);font-size:.75rem;letter-spacing:.04em;color:var(--ef-muted)}
.ef-card__price{margin-left:auto;font-size:.9375rem;font-weight:600;color:var(--ef-paper-soft)}
.ef-card__foot > .ef-card__price:first-child{margin-left:0}

.ef-card__add{position:absolute;right:.75rem;bottom:.75rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:2.75rem;height:2.75rem;min-height:0;padding:0;overflow:hidden;border:0;border-radius:999px;background:var(--ef-paper);color:var(--ef-ink)!important;font-size:.8125rem;font-weight:700;white-space:nowrap;text-decoration:none;box-shadow:0 8px 20px rgb(0 0 0 / .4);opacity:0;transform:translateY(6px);transition:opacity .25s var(--ef-ease),transform .25s var(--ef-ease),width .3s var(--ef-ease),background-color .2s var(--ef-ease)}
.ef-card__add svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ef-card__added-icon{display:none}
.ef-card__add-label{display:none}
.ef-card:hover .ef-card__add,.ef-card:focus-within .ef-card__add,.ef-card__add.added,.ef-card__add.loading{opacity:1;transform:none}
.ef-card__add:hover,.ef-card__add:focus-visible{width:8.5rem;padding:0 1rem;background:var(--ef-accent)}
.ef-card__add:hover .ef-card__add-label,.ef-card__add:focus-visible .ef-card__add-label{display:inline}
.ef-card__add:focus-visible{outline:2px solid var(--ef-paper);outline-offset:2px}
.ef-card__add.loading{opacity:.7;pointer-events:none}
.ef-card__add.loading .ef-card__add-icon{animation:ef-spin .8s linear infinite}
.ef-card__add.added{width:2.75rem;padding:0;background:var(--wp--preset--color--in-stock,#5f9e6e);color:#fff!important}
.ef-card__add.added .ef-card__add-icon,.ef-card__add.added .ef-card__add-label{display:none}
.ef-card__add.added .ef-card__added-icon{display:block}
.ef-card .added_to_cart{display:none!important}
@keyframes ef-spin{to{transform:rotate(360deg)}}
@media (hover:none){.ef-card__add{opacity:1;transform:none;width:2.5rem;height:2.5rem;right:.5rem;bottom:.5rem}.ef-card__add:hover{width:2.5rem;padding:0;background:var(--ef-paper)}.ef-card__add:hover .ef-card__add-label{display:none}}

/* Pagination: no boxes, quiet numbers */
.ef-pagination ul.page-numbers{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none}
.ef-pagination li{margin:0}
.ef-pagination .page-numbers:not(ul){min-width:2.75rem;min-height:2.75rem;padding:0 .5rem;border:0;border-radius:999px;color:var(--ef-paper-soft);transition:background-color .2s var(--ef-ease),color .2s var(--ef-ease)}
.ef-pagination a.page-numbers:hover{background:rgb(239 232 220 / .07);color:var(--ef-paper)}
.ef-pagination .page-numbers.current{background:var(--ef-paper);color:var(--ef-ink);font-weight:700}
.ef-pagination .page-numbers.dots{min-width:1.5rem;color:var(--ef-muted)}
.ef-pagination .page-numbers.next,.ef-pagination .page-numbers.prev{padding:0 1.125rem;margin-inline:.5rem;border:1px solid var(--ef-line-strong);font-family:var(--wp--preset--font-family--sans,inherit);font-size:.875rem;font-weight:600;color:var(--ef-paper)}
.ef-pagination .page-numbers.next::after{content:"→";margin-left:.5rem;color:var(--ef-accent)}
.ef-pagination .page-numbers.prev::before{content:"←";margin-right:.5rem;color:var(--ef-accent)}
.ef-pagination .page-numbers.next:hover,.ef-pagination .page-numbers.prev:hover{border-color:var(--ef-accent);background:none}

/* My account */
.woocommerce-account .is-layout-constrained > .woocommerce,
.woocommerce-account .is-layout-constrained > .wp-block-post-title{max-width:var(--wp--style--global--wide-size,1320px)}
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:3rem;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{width:auto!important;float:none!important;margin:0}
.woocommerce-MyAccount-navigation{position:sticky;top:7rem;padding:.5rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface)}
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.woocommerce-MyAccount-navigation li{margin:0;padding:0}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;justify-content:space-between;min-height:2.875rem;padding:0 1rem;border-radius:calc(var(--ef-radius) - 4px);color:var(--ef-paper-soft)!important;font-size:.9375rem;font-weight:500;text-decoration:none!important;transition:background-color .2s var(--ef-ease),color .2s var(--ef-ease)}
.woocommerce-MyAccount-navigation a:hover{background:rgb(239 232 220 / .05);color:var(--ef-paper)!important}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ef-ink);color:var(--ef-paper)!important;font-weight:700;box-shadow:inset 3px 0 0 var(--ef-accent)}
.woocommerce-MyAccount-navigation li.is-active a::after{content:"→";color:var(--ef-accent)}
.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:.5rem!important;padding-top:.5rem!important;border-top:1px solid var(--ef-line)}
.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--ef-muted)!important;font-size:.875rem}

.woocommerce-MyAccount-content{font-size:1rem;line-height:1.65;color:var(--ef-paper-soft)}
.woocommerce-MyAccount-content > p:first-of-type{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;color:var(--ef-paper)}
.woocommerce-MyAccount-content > p:first-of-type a{font-size:.875rem;font-weight:500;color:var(--ef-muted);text-decoration:underline;text-underline-offset:3px}
.woocommerce-MyAccount-content > p{max-width:40rem}
.woocommerce-MyAccount-content a{color:var(--ef-paper);text-decoration:underline;text-decoration-color:var(--ef-accent);text-underline-offset:4px}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{margin:0 0 1rem;font-size:1.375rem;color:var(--ef-paper)}

.ef-account-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.ef-account-tiles a.ef-account-tile{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem 3.5rem 1.5rem 1.5rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface);color:var(--ef-paper);text-decoration:none;transition:border-color .2s var(--ef-ease),transform .3s var(--ef-ease)}
.ef-account-tiles a.ef-account-tile:hover{border-color:var(--ef-line-strong);transform:translateY(-2px)}
.ef-account-tile__label{font-size:1.125rem;font-weight:700}
.ef-account-tile__text{font-family:var(--ef-mono);font-size:.75rem;letter-spacing:.04em;color:var(--ef-muted)}
.ef-account-tile__arrow{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:var(--ef-accent);transition:transform .3s var(--ef-ease)}
.ef-account-tile:hover .ef-account-tile__arrow{transform:translate(4px,-50%)}

.woocommerce-account table.shop_table{border:0;border-collapse:collapse}
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td{padding:1rem .75rem 1rem 0!important;border:0!important;border-bottom:1px solid var(--ef-line)!important;background:none!important;text-align:left;font-size:.9375rem}
.woocommerce-account table.shop_table thead th{font-family:var(--ef-mono);font-size:.6875rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--ef-muted)}
.woocommerce-account table.shop_table .button{min-height:38px;padding:0 1rem;font-size:.8125rem}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1.5rem}
.woocommerce-account .woocommerce-Address{width:auto!important;float:none!important;padding:1.5rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface)}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.woocommerce-account .woocommerce-Address-title h2{margin:0;font-size:1.125rem}
.woocommerce-account .woocommerce-Address address{font-style:normal;line-height:1.6}
.woocommerce-account .woocommerce-EditAccountForm fieldset{margin:2rem 0;padding:1.5rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius)}
.woocommerce-account .woocommerce-EditAccountForm legend{padding:0 .5rem;font-weight:700;color:var(--ef-paper)}
.woocommerce-account .woocommerce-EditAccountForm,.woocommerce-account .woocommerce-address-fields{max-width:44rem}

/* Logged out: login and register side by side */
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.5rem}
.woocommerce-account:not(.logged-in) .u-column1,.woocommerce-account:not(.logged-in) .u-column2{width:auto!important;float:none!important;padding:2rem;border:1px solid var(--ef-line);border-radius:var(--ef-radius);background:var(--ef-surface)}
.woocommerce-account:not(.logged-in) .u-columns h2,.woocommerce-account:not(.logged-in) .woocommerce > h2{margin:0 0 1.25rem;font-size:1.375rem}
.woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register{margin:0;padding:0;border:0}
.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:.5rem;margin-right:1rem;font-size:.875rem}
.woocommerce-account .woocommerce-form-login__submit,.woocommerce-account .woocommerce-form-register__submit{border:0;background:var(--ef-accent);color:var(--ef-ink)}
.woocommerce-account .woocommerce-form-login__submit:hover,.woocommerce-account .woocommerce-form-register__submit:hover{background:var(--ef-paper);color:var(--ef-ink)}
.woocommerce-account .lost_password a{font-size:.875rem;color:var(--ef-muted)}

@media (max-width:900px){
.woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr;gap:1.5rem}
.woocommerce-MyAccount-navigation{position:static;padding:.375rem;overflow-x:auto}
.woocommerce-MyAccount-navigation ul{flex-direction:row;gap:.25rem}
.woocommerce-MyAccount-navigation a{min-height:2.5rem;padding:0 .875rem;white-space:nowrap;font-size:.875rem}
.woocommerce-MyAccount-navigation li.is-active a{box-shadow:inset 0 -2px 0 var(--ef-accent)}
.woocommerce-MyAccount-navigation li.is-active a::after{content:none}
.woocommerce-MyAccount-navigation-link--customer-logout{margin:0 0 0 auto!important;padding:0!important;border:0!important}
.ef-account-tiles{grid-template-columns:1fr}
}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{content:none!important;display:none!important}
.woocommerce-account main .is-layout-constrained > .woocommerce{width:100%!important;max-width:var(--wp--style--global--wide-size,1320px)!important}
.woocommerce-MyAccount-navigation ul li{margin:0!important;padding:0!important;border:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:.5rem!important;padding-top:.5rem!important;border-top:1px solid var(--ef-line)}
@media (max-width:900px){.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout{margin:0 0 0 auto!important;padding:0!important;border:0}}
.woocommerce-account .ef-main > .wp-block-post-content{max-width:var(--wp--style--global--wide-size,1320px)!important}

/* ---------- Faint hero photo behind the top of inner pages (v1.0.17) ---------- */
.ef-main:not(.ef-main--front) { position: relative; isolation: isolate; }
.ef-main:not(.ef-main--front)::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: clamp(340px, 40vw, 600px);
	background: var(--ef-subhead-img, none) center 40% / cover no-repeat;
	opacity: .2;
	filter: grayscale(.35) contrast(1.05);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, rgb(0 0 0 / .55) 40%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, rgb(0 0 0 / .55) 40%, transparent 100%);
	z-index: -1;
	pointer-events: none;
}
@media (max-width: 781px) {
	.ef-main:not(.ef-main--front)::before { height: 300px; opacity: .16; }
}

/* ---------- 1970s display type + orange logo (v1.0.18) ----------
   Fraunces (SIL OFL), self-hosted via the WordPress Font Library:
   /wp-content/uploads/fonts/fraunces-latin-full-normal.woff2 */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url("/wp-content/uploads/fonts/fraunces-latin-full-normal.woff2") format("woff2"); }
:root { --ef-display: "Fraunces", "Cooper Black", Georgia, serif; --ef-display-axes: "SOFT" 100, "WONK" 1, "opsz" 72; }
.ef-wordmark, .ef-header .ef-wordmark { font-family: var(--ef-display) !important; font-variation-settings: var(--ef-display-axes); font-weight: 900 !important; text-transform: none !important; letter-spacing: -.01em !important; font-size: 1.85rem !important; line-height: 1 !important; }
.ef-wordmark a, .ef-header .ef-wordmark a { color: var(--ef-accent) !important; }
.ef-wordmark a:hover { color: #F28A5C !important; }
:where(h1, h2, h3),
.ef-hero__title, .ef-term-header__title, .ef-pub-header__title, .ef-page-title, .ef-detail__title,
.ef-section-head__title, .ef-story__title, .ef-about__title, .ef-cats__title, .ef-cat-tile__title, .ef-tile__title {
	font-family: var(--ef-display);
	font-variation-settings: var(--ef-display-axes);
	font-weight: 800;
	letter-spacing: -.012em;
}
.ef-hero__title, .ef-term-header__title, .ef-pub-header__title, .ef-page-title, .ef-detail__title { font-weight: 900; line-height: 1; letter-spacing: -.02em; }

/* Hero intro: orange highlighter band with white text (wrap the text in <mark>) */
.ef-hero__intro mark, .ef-hero__intro .ef-hl {
	background: var(--ef-accent);
	color: var(--ef-ink);
	padding: .12em .35em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.ef-hero__intro { line-height: 1.75 !important; }

/* About: eyebrow + title across the full width (v1.0.20) */
.ef-about__intro { grid-column: 1 / -1; margin: 0 !important; }
.ef-about__intro .ef-eyebrow { margin: 0 !important; }
.ef-about__intro .ef-about__title { margin: 1rem 0 0 !important; font-size: var(--wp--preset--font-size--huge); max-width: none; }
.ef-about { row-gap: clamp(1.5rem, 3vw, 2.5rem) !important; }

/* About: text left, photo right on desktop (v1.0.21) */
@media (min-width: 901px) {
	.ef-about { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.ef-about__content { grid-column: 1; grid-row: 2; }
	.ef-about__media { grid-column: 2; grid-row: 2; }
	.ef-about .ef-about__image { transform: rotate(2deg); }
}
