/* ============================================================
   Taste Skill polish layer
   Applied after the core child-theme stylesheet.
   Purpose: production-grade rhythm, accessibility, responsive
   resilience, empty states, and refined interaction states.
   ============================================================ */

/* ------------------------------------------------------------
   Duplicate page-title safety net (release collection pages only)
   ------------------------------------------------------------
   template-parts/release/collection-hero.php renders exactly one
   <h1 class="ett-release-hero__title"> — confirmed by grepping every
   the_title()/get_the_title() call in this child theme; there is no
   second title in this codebase.

   If a plain black page-title banner still appears behind the hero on
   the live site, it is being rendered by something OUTSIDE this child
   theme — most likely one of:
     1. The parent (Iona/ThemeRex) theme's own generic "page title" /
        breadcrumb module, often toggled per-post in a theme options
        panel or the Customizer. This child theme's header.php is a
        complete, self-contained override with no such module, so if
        the parent still renders one, it's hooked somewhere other than
        header.php (commonly wp_head, or a wrapper around the_content()).
     2. Elementor Pro Theme Builder: if a "Single Post/CPT" template is
        assigned to Limited Editions and includes a Page Title widget,
        Elementor's template_include hook can take over rendering before
        this theme's own single-release_collection.php ever runs — that
        template lives in the database (Templates > Theme Builder), not
        in theme files, so it can't be found or fixed here.
   The selectors below are the most common conventions for #1 and are
   scoped ONLY to the release_collection singular template (WordPress
   core adds this body class automatically) so they can never affect any
   other page. If the live site's title banner uses a different class,
   inspect it in the browser and add that selector to this list. */
body.single-release_collection .page-title,
body.single-release_collection .page-title-wrap,
body.single-release_collection .title_holder,
body.single-release_collection > .elementor-widget-theme-post-title,
body.single-release_collection .elementor-widget-theme-post-title {
	display: none !important;
}

:root {
	--ett-space-2xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);
	--ett-space-xs: clamp(0.5rem, 0.4rem + 0.5vw, 0.875rem);
	--ett-space-sm: clamp(0.875rem, 0.75rem + 0.65vw, 1.25rem);
	--ett-space-md: clamp(1.25rem, 1rem + 1.25vw, 2rem);
	--ett-space-lg: clamp(2rem, 1.45rem + 2.75vw, 4rem);
	--ett-space-xl: clamp(3rem, 2rem + 5vw, 7rem);
	--ett-measure: 68ch;
	--ett-measure-tight: 48ch;
	--ett-hit: 44px;
	--ett-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--ett-ease-standard: cubic-bezier(0.2, 0, 0, 1);
}

.ett-body {
	text-rendering: geometricPrecision;
}

.ett-body :where(p, li, figcaption, blockquote) {
	max-width: var(--ett-measure);
}

.ett-body :where(a, button, input, textarea, select) {
	-webkit-tap-highlight-color: transparent;
}

.ett-body :where(button, .ett-btn, .ett-header__login, .ett-mobile-menu__login, .ett-textlink) {
	min-height: var(--ett-hit);
	align-items: center;
	justify-content: center;
}

.ett-body a:not(.ett-btn):not(.ett-nav__link):not(.ett-header__wordmark) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.06em;
}

.ett-body a:focus-visible,
.ett-body button:focus-visible,
.ett-body input:focus-visible,
.ett-body select:focus-visible,
.ett-body textarea:focus-visible,
.ett-body [tabindex]:focus-visible {
	outline: 2px solid var(--ett-accent);
	outline-offset: 4px;
}

.ett-section,
.ett-release-page,
.ett-artwork-page,
.ett-login,
.ett-archive-release {
	isolation: isolate;
}

.ett-section__head,
.ett-release-hero__content,
.ett-artwork__summary,
.ett-newsletter__inner,
.ett-quote__inner {
	container-type: inline-size;
}

.ett-hero__heading,
.ett-section__heading,
.ett-release-hero__title,
.ett-artwork__title,
.ett-quote__text {
	text-wrap: balance;
}

.ett-hero__copy,
.ett-release-hero__description,
.ett-artwork__description,
.ett-prose,
.ett-newsletter__copy {
	text-wrap: pretty;
}

.ett-card,
.ett-artwork-card,
.ett-artist-card,
.ett-release-card {
	position: relative;
	min-width: 0;
	transition: transform 0.28s var(--ett-ease-out), border-color 0.28s var(--ett-ease-standard), opacity 0.28s var(--ett-ease-standard);
}

.ett-card:hover,
.ett-artwork-card:hover,
.ett-artist-card:hover,
.ett-release-card:hover {
	transform: translateY(-2px);
}

.ett-card__media,
.ett-artwork-card__media,
.ett-artist-card__media,
.ett-release-card__media,
.ett-artwork__imagewrap {
	background: var(--ett-line);
	overflow: hidden;
}

.ett-card__media img,
.ett-artwork-card__media img,
.ett-artist-card__media img,
.ett-release-card__media img,
.ett-artwork__imagewrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--ett-ease-out), opacity 0.35s var(--ett-ease-standard);
}

.ett-card:hover img,
.ett-artwork-card:hover img,
.ett-artist-card:hover img,
.ett-release-card:hover img {
	transform: scale(1.018);
}

.ett-btn,
.ett-textlink,
.ett-nav__link,
.ett-header__login,
.ett-mobile-menu__login {
	transition-duration: 0.22s;
	transition-timing-function: var(--ett-ease-standard);
}

.ett-btn {
	display: inline-flex;
	gap: 0.5rem;
	line-height: 1.1;
}

.ett-btn--primary:hover:not(:disabled),
.ett-btn--ghost:hover:not(:disabled),
.ett-btn--ghost-light:hover:not(:disabled) {
	transform: translateY(-1px);
}

.ett-form-row,
.ett-field,
.ett-apply-form__field {
	min-width: 0;
}

.ett-body input,
.ett-body select,
.ett-body textarea {
	font: inherit;
	color: var(--ett-ink);
	background-color: var(--ett-paper-raised);
}

.ett-body input::placeholder,
.ett-body textarea::placeholder {
	color: color-mix(in srgb, var(--ett-ink-soft) 70%, transparent);
}

.ett-body input:invalid:not(:placeholder-shown),
.ett-body textarea:invalid:not(:placeholder-shown),
.ett-body select:invalid:not(:focus) {
	border-color: var(--ett-accent);
}

.ett-form-status,
.ett-empty-state,
.ett-application-message {
	border: 1px solid var(--ett-line);
	background: var(--ett-paper-raised);
	padding: var(--ett-space-sm);
	font-size: var(--ett-fs-ui);
	letter-spacing: 0.02em;
}

.ett-countdown {
	min-width: 0;
}

.ett-countdown__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.4rem, 1.5vw, 1rem);
}

.ett-countdown__unit {
	min-width: 0;
	padding-inline: clamp(0.4rem, 1.5vw, 1rem);
}

.ett-countdown__number {
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
	line-height: 1;
}

.ett-release-sticky,
.ett-artwork-sticky,
.ett-release-toolbar {
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	background: color-mix(in srgb, var(--ett-paper) 86%, transparent);
	border-block: 1px solid color-mix(in srgb, var(--ett-line) 86%, transparent);
}

.ett-press-kit__button[aria-disabled="true"],
.ett-btn[aria-disabled="true"] {
	pointer-events: none;
	opacity: 0.48;
}

.ett-mobile-menu:not([hidden]) {
	max-height: calc(100dvh - 72px);
	overflow: auto;
	overscroll-behavior: contain;
}

@media (max-width: 900px) {
	.ett-header__inner {
		gap: var(--ett-space-sm);
	}

	.ett-nav__list {
		gap: var(--ett-space-md);
	}
}

@media(max-width:428px) {
	.ett-section {
		padding-block: var(--ett-space-xl);
	}

	.ett-btn {
		width: 100%;
		max-width: 100%;
	}

	.ett-hero__actions,
	.ett-release-hero__actions,
	.ett-artwork__actions,
	.ett-newsletter__form {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--ett-space-xs);
	}

	.ett-countdown__label {
		font-size: 0.58rem;
		letter-spacing: 0.12em;
	}
}

@media (max-width: 428px) {
	:root {
		--ett-gutter: 1rem;
		--ett-tracking-wide: 0.12em;
	}

	.ett-header__inner {
		padding-block: 0.9rem;
	}

	.ett-header__wordmark {
		font-size: 0.82rem;
		letter-spacing: 0.12em;
		max-width: 68vw;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ett-hero {
		min-height: 78svh;
	}

	.ett-countdown__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ett-countdown__unit {
		padding-block: 0.75rem;
	}

	.ett-artwork-card__meta,
	.ett-card__meta {
		display: grid;
		gap: 0.25rem;
	}

	.ett-release-toolbar,
	.ett-release-sticky,
	.ett-artwork-sticky {
		position: sticky;
		top: 0;
		z-index: 120;
	}
}

@media (max-width: 428px) {
	.ett-btn {
		padding-inline: 1rem;
		letter-spacing: 0.08em;
	}

	.ett-eyebrow,
	.ett-nav__link,
	.ett-header__login,
	.ett-mobile-menu__login {
		letter-spacing: 0.1em;
	}
}

@media (hover: none) {
	.ett-card:hover,
	.ett-artwork-card:hover,
	.ett-artist-card:hover,
	.ett-release-card:hover,
	.ett-card:hover img,
	.ett-artwork-card:hover img,
	.ett-artist-card:hover img,
	.ett-release-card:hover img {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ett-body *,
	.ett-body *::before,
	.ett-body *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}
}

/* Emergency release-system fixes: visible form, reliable apply anchor, timer fit. */
.ett-apply-panel {
	background: var(--ett-surface, #f7f6f2);
	padding-top: clamp(2.5rem, 6vw, 6rem);
	padding-bottom: clamp(2.5rem, 6vw, 6rem);
	scroll-margin-top: 96px;
}

.ett-apply-panel__inner {
	width: min(100% - 32px, 980px);
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: start;
}

.ett-apply-panel__intro {
	position: sticky;
	top: 104px;
}

.ett-apply-form {
	background: #fff;
	border: 1px solid var(--ett-border, #deded8);
	padding: clamp(1rem, 3vw, 2rem);
}

.ett-field + .ett-field,
.ett-field-row + .ett-field,
.ett-field + .ett-field-row,
.ett-field-row + .ett-field-row {
	margin-top: 1rem;
}

.ett-field-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.ett-field__label {
	display: block;
	font: 500 0.72rem/1.2 var(--ett-font-sans, Inter, sans-serif);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 0.45rem;
}

.ett-field__input,
.ett-field select,
.ett-field textarea {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--ett-border, #deded8);
	background: #fff;
	padding: 0.8rem 0.9rem;
	font: 400 1rem/1.4 var(--ett-font-sans, Inter, sans-serif);
	border-radius: 0;
}

.ett-field textarea {
	min-height: 120px;
	resize: vertical;
}

.ett-field__consent {
	display: flex;
	gap: 0.7rem;
	align-items: flex-start;
	font: 400 0.92rem/1.5 var(--ett-font-sans, Inter, sans-serif);
}

.ett-apply-form__submit {
	margin-top: 1.25rem;
	width: 100%;
}

.ett-form-feedback {
	margin-top: 1rem;
	font: 500 0.9rem/1.4 var(--ett-font-sans, Inter, sans-serif);
}

.ett-form-feedback.is-success { color: #195f39; }
.ett-form-feedback.is-error { color: #8a1f11; }

.ett-countdown {
	max-width: 100%;
}

.ett-countdown__timer {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.5rem;
	max-width: min(100%, 520px);
}

.ett-countdown__unit {
	min-width: 0;
	text-align: center;
}

@media(max-width:428px) {
	.ett-apply-panel__inner {
		grid-template-columns: 1fr;
	}
	.ett-apply-panel__intro {
		position: static;
	}
}

@media (max-width: 428px) {
	.ett-apply-panel {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.ett-apply-panel__inner {
		width: min(100% - 24px, 980px);
	}
	.ett-field-row {
		grid-template-columns: 1fr;
	}
	.ett-countdown__timer {
		gap: 0.35rem;
	}
	.ett-countdown__value {
		font-size: clamp(1.35rem, 10vw, 2.4rem);
	}
	.ett-countdown__unit-label {
		font-size: 0.62rem;
	}
}

/* Transparent escalating release pricing */
.ett-tier-price{margin:1.5rem 0;padding:1.35rem;border:1px solid rgba(20,70,51,.2);background:#fbfcfa}.ett-tier-price__eyebrow{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.ett-tier-price__current{font-family:"EB Garamond",serif;font-size:clamp(2.25rem,5vw,3.6rem);line-height:1;margin:0}.ett-tier-price__next,.ett-tier-price__deadline{margin:.45rem 0 0}.ett-tier-price__track{display:flex;gap:5px;margin:1.1rem 0 .75rem}.ett-tier-price__step{height:4px;flex:1;background:rgba(20,70,51,.15)}.ett-tier-price__step.is-active{background:#144633}.ett-tier-price__schedule{list-style:none;margin:0;padding:0;border-top:1px solid rgba(20,70,51,.14)}.ett-tier-price__schedule li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(20,70,51,.14);opacity:.62}.ett-tier-price__schedule li.is-current{opacity:1;font-weight:600}.ett-tier-price__buy{width:100%;margin-top:1rem;text-align:center}.ett-tier-price__note{font-size:.78rem;line-height:1.45;opacity:.68;margin:1rem 0 0}.ett-card__price{margin:.45rem 0 0;font-weight:500}

/* v1.7 — Black-and-white editorial WooCommerce product page */
body.single-product{background:#fff;color:#0a0a0a}.et-product-page{width:100%;max-width:none;padding:0;background:#fff}.et-single-product{--et-product-pad:clamp(20px,5vw,90px);color:#0a0a0a}.et-product-breadcrumb{padding:20px var(--et-product-pad);border-bottom:1px solid #111}.et-product-breadcrumb .woocommerce-breadcrumb{margin:0;font:500 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#666}.et-product-breadcrumb a{color:#111}.et-product-primary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:calc(100vh - 120px);border-bottom:1px solid #111}.et-product-gallery{padding:clamp(24px,4vw,70px);border-right:1px solid #111;background:#f4f4f2}.et-product-gallery .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}.et-product-gallery .woocommerce-product-gallery__image{background:#fff}.et-product-gallery img{width:100%;height:auto;display:block;filter:none}.et-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px!important}.et-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important}.et-product-summary{position:sticky;top:0;align-self:start;width:auto!important;float:none!important;margin:0!important;padding:clamp(50px,7vw,115px) var(--et-product-pad)}.et-product-kicker{margin:0 0 24px;font:500 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}.et-product-summary .product_title{margin:0 0 18px!important;font:400 clamp(48px,6vw,92px)/.92 "EB Garamond",Georgia,serif!important;letter-spacing:-.045em;color:#0a0a0a}.et-product-summary .price{display:block;margin:0 0 35px!important;font:400 clamp(23px,2.4vw,35px)/1.2 "EB Garamond",Georgia,serif!important;color:#0a0a0a!important}.et-product-summary .woocommerce-product-details__short-description{max-width:650px;margin-bottom:35px;font:300 16px/1.7 Inter,Arial,sans-serif}.et-product-summary form.cart{display:flex;flex-wrap:wrap;gap:10px;padding:28px 0;border-top:1px solid #111;border-bottom:1px solid #111}.et-product-summary .quantity .qty{height:54px;width:74px;border:1px solid #111!important;border-radius:0!important;background:#fff;color:#111}.et-product-summary .single_add_to_cart_button{min-height:54px;flex:1;padding:15px 25px!important;border:1px solid #111!important;border-radius:0!important;background:#111!important;color:#fff!important;font:500 11px/1 Inter,Arial,sans-serif!important;letter-spacing:.14em;text-transform:uppercase}.et-product-summary .single_add_to_cart_button:hover{background:#fff!important;color:#111!important}.et-product-summary .product_meta{display:grid;gap:8px;margin-top:28px;padding-top:0;border:0;font:400 11px/1.5 Inter,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.et-product-summary .product_meta a{color:#111;text-decoration:underline}.et-product-secondary{padding:0 var(--et-product-pad)}.et-product-secondary .woocommerce-tabs{padding:clamp(55px,8vw,120px) 0}.et-product-secondary .woocommerce-tabs ul.tabs{display:flex;gap:30px;margin:0 0 45px!important;padding:0!important;border-bottom:1px solid #111}.et-product-secondary .woocommerce-tabs ul.tabs:before,.et-product-secondary .woocommerce-tabs ul.tabs li:before,.et-product-secondary .woocommerce-tabs ul.tabs li:after{display:none!important}.et-product-secondary .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}.et-product-secondary .woocommerce-tabs ul.tabs li a{padding:0 0 14px!important;font:500 10px/1 Inter,Arial,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#777!important}.et-product-secondary .woocommerce-tabs ul.tabs li.active a{color:#111!important;border-bottom:2px solid #111}.et-product-secondary .woocommerce-Tabs-panel{max-width:900px;font:400 clamp(18px,2vw,27px)/1.55 "EB Garamond",Georgia,serif}.et-product-secondary .related.products,.et-product-secondary .upsells.products{padding:55px 0;border-top:1px solid #111}.et-product-secondary .related.products>h2,.et-product-secondary .upsells.products>h2{font:400 clamp(37px,4vw,60px)/1 "EB Garamond",Georgia,serif}.et-product-secondary ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.et-product-secondary ul.products li.product{width:auto!important;float:none!important;margin:0!important}.et-product-secondary ul.products img{filter:grayscale(100%);transition:filter .25s ease}.et-product-secondary ul.products li:hover img{filter:grayscale(0)}.et-product-secondary ul.products .woocommerce-loop-product__title{font:400 26px/1.1 "EB Garamond",Georgia,serif!important;color:#111}.et-product-secondary ul.products .price{color:#111!important;font:400 16px/1.3 Inter,Arial,sans-serif!important}.et-product-secondary ul.products .button{border:1px solid #111!important;border-radius:0!important;background:#fff!important;color:#111!important;font:500 10px/1 Inter,Arial,sans-serif!important;letter-spacing:.12em;text-transform:uppercase}.et-product-secondary ul.products .button:hover{background:#111!important;color:#fff!important}@media(max-width:900px){.et-product-primary{grid-template-columns:1fr;min-height:0}.et-product-gallery{border-right:0;border-bottom:1px solid #111}.et-product-summary{position:static}.et-product-secondary ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:428px){.et-single-product{--et-product-pad:20px}.et-product-gallery{padding:18px}.et-product-summary{padding:45px 20px}.et-product-summary form.cart{display:grid;grid-template-columns:80px 1fr}.et-product-secondary .woocommerce-tabs ul.tabs{overflow-x:auto;gap:22px}.et-product-secondary ul.products{grid-template-columns:1fr}.et-product-gallery .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}
