/* ==========================================================================
   Edisto Precision theme styles
   Colors, fonts and sizes come from theme.json presets.
   ========================================================================== */

:root {
	--ep-carbon: var(--wp--preset--color--carbon, #0D0F10);
	--ep-night: var(--wp--preset--color--night, #070809);
	--ep-steel: var(--wp--preset--color--steel, #1B1F22);
	--ep-gunmetal: var(--wp--preset--color--gunmetal, #2A3035);
	--ep-muted: var(--wp--preset--color--muted, #A7ADB1);
	--ep-soft: var(--wp--preset--color--soft, #C4C9CC);
	--ep-blaze: var(--wp--preset--color--blaze, #FF5B14);
	--ep-blaze-dark: var(--wp--preset--color--blaze-dark, #B33E06);
	--ep-brass: var(--wp--preset--color--brass, #C9A24A);
	--ep-bone: var(--wp--preset--color--bone, #F2F1EC);
	--ep-display: var(--wp--preset--font-family--display, Archivo, sans-serif);
	--ep-mono: var(--wp--preset--font-family--mono, monospace);
	--ep-hatch-dark: repeating-linear-gradient(135deg, #1B1F22 0 14px, #20252A 14px 28px);
	--ep-hatch-light: repeating-linear-gradient(135deg, #E9E7E0 0 12px, #E2E0D8 12px 24px);
}

/* Condensed display type: Archivo's width axis. */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-post-title,
.wp-block-query-title,
.wp-element-button,
.wp-block-button__link,
.wp-block-navigation,
.ep-display {
	font-stretch: 75%;
}
h3, h4, .wp-element-button, .wp-block-button__link, .wp-block-navigation {
	font-stretch: 85%;
}
h1 strong, h2 strong {
	color: var(--ep-blaze);
	font-weight: inherit;
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--ep-blaze);
	outline-offset: 3px;
}

/* --- Shared helpers ----------------------------------------------------- */

.ep-eyebrow {
	font-family: var(--ep-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ep-brass);
	margin: 0;
}
.ep-mono {
	font-family: var(--ep-mono);
}
.ep-lead {
	font-size: 1.1875rem;
	line-height: 1.55;
	color: var(--ep-soft);
	max-width: 34rem;
}

/* Image areas: hatched placeholder until a background image is set on the block. */
.ep-media {
	background-image: var(--ep-hatch-dark);
	background-size: cover;
	background-position: center;
	border: 1px solid var(--ep-gunmetal);
	border-radius: 4px;
	display: flex;
	align-items: flex-end;
	padding: 1.25rem;
	box-sizing: border-box;
}
.ep-media > p {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	color: var(--ep-muted);
	margin: 0;
}

/* Ruler divider. */
.wp-block-separator.ep-ruler {
	border: 0;
	height: 22px;
	opacity: 1;
	/* Every 60px: a tall blaze tick, a mid tick at 30px and short ticks every 12px. */
	background-image:
		linear-gradient(90deg, var(--ep-blaze) 0 2px, transparent 2px),
		linear-gradient(90deg, transparent 30px, #4B5257 30px 31px, transparent 31px),
		linear-gradient(90deg, transparent 12px, #4B5257 12px 13px, transparent 13px 24px, #4B5257 24px 25px, transparent 25px 36px, #4B5257 36px 37px, transparent 37px 48px, #4B5257 48px 49px, transparent 49px);
	background-size: 60px 22px, 60px 16px, 60px 10px;
	background-position: 0 0, 0 6px, 0 12px;
	background-repeat: repeat-x;
}

/* --- Header ------------------------------------------------------------- */

.ep-announce {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}
.ep-announce p {
	margin: 0;
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ep-announce a {
	color: inherit;
}

.ep-header {
	border-bottom: 1px solid var(--ep-gunmetal);
	padding-top: 1.125rem;
	padding-bottom: 1.125rem;
}
.ep-header__row {
	gap: 1.25rem 2.25rem;
	align-items: center;
}
.ep-header__tools {
	gap: 0.75rem;
	align-items: center;
	margin-left: auto;
}

.ep-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--ep-bone);
	text-decoration: none;
}
.ep-logo:hover {
	color: var(--ep-bone);
}
.ep-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 0.9;
}
.ep-logo__name {
	font-family: var(--ep-display);
	font-stretch: 75%;
	font-weight: 900;
	font-size: 1.75rem;
	letter-spacing: 0.02em;
}
.ep-logo__sub {
	font-family: var(--ep-mono);
	font-weight: 700;
	font-size: 0.5625rem;
	letter-spacing: 0.42em;
	margin-top: 3px;
}
.ep-logo--lg .ep-logo__name { font-size: 2rem; }
.ep-logo--lg .ep-logo__sub { font-size: 0.625rem; }

/* Search */
.ep-header .wp-block-search__inside-wrapper {
	background: var(--ep-steel);
	border: 1px solid var(--ep-gunmetal);
	border-radius: 3px;
	padding: 0;
	min-height: 44px;
}
.ep-header .wp-block-search__input {
	background: transparent;
	border: 0;
	color: var(--ep-bone);
	font-size: 0.875rem;
	padding: 0 0.75rem;
	min-width: 13rem;
}
.ep-header .wp-block-search__input::placeholder {
	color: var(--ep-muted);
}
.ep-header .wp-block-search__button {
	background: transparent;
	color: var(--ep-muted);
	padding: 0 0.75rem;
	margin: 0;
}
.ep-header .wp-block-search__button:hover {
	color: var(--ep-blaze);
}

/* Account + mini cart */
.ep-header .wc-block-customer-account a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ep-gunmetal);
	border-radius: 3px;
	color: var(--ep-bone);
	padding: 0;
}
.ep-header .wc-block-customer-account a:hover {
	border-color: var(--ep-blaze);
}
.ep-header .wc-block-mini-cart__button {
	height: 44px;
	padding: 0 0.875rem;
	background: var(--ep-bone);
	color: var(--ep-carbon);
	border-radius: 3px;
	font-family: var(--ep-mono);
	font-weight: 700;
}
.ep-header .wc-block-mini-cart__button:hover {
	background: var(--ep-blaze);
}
.ep-header .wc-block-mini-cart__badge {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
}

/* Mobile navigation overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--ep-carbon) !important;
	color: var(--ep-bone) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.75rem;
}

/* --- Sections ----------------------------------------------------------- */

.ep-section {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}
.ep-section-head {
	gap: 1rem;
	align-items: flex-end;
	margin-bottom: 2rem;
}
.ep-section-head h2 {
	margin: 0;
}
.ep-section-head .ep-more {
	margin: 0;
	font-family: var(--ep-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Light (bone) sections */
.ep-light {
	background: var(--ep-bone);
	color: var(--ep-carbon);
}
.ep-light a {
	color: var(--ep-blaze-dark);
}
.ep-light a:hover {
	color: var(--ep-carbon);
}
.ep-light .ep-eyebrow {
	color: var(--ep-blaze-dark);
}

/* Blaze band */
.ep-band {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
}
.ep-band h2 strong {
	color: inherit;
}
.ep-band p {
	font-weight: 500;
	font-size: 1.125rem;
	max-width: 38rem;
}
.ep-band .wp-block-button__link {
	background: var(--ep-carbon);
	color: var(--ep-bone);
}
.ep-band .wp-block-button__link:hover {
	background: var(--ep-bone);
	color: var(--ep-carbon);
}

/* --- Hero --------------------------------------------------------------- */

.ep-hero {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--50);
}
.ep-hero__cols {
	gap: 3rem;
}
.ep-hero h1 {
	margin: 1.5rem 0;
	font-stretch: 72%;
	line-height: 0.88;
}
.ep-hero__media {
	min-height: 520px;
}

/* --- Category tiles ----------------------------------------------------- */

.ep-tiles {
	gap: 1rem;
}
.ep-tile {
	position: relative;
	background: var(--ep-steel);
	border-radius: 4px;
	overflow: hidden;
	gap: 0;
}
.ep-tile .ep-media {
	min-height: 260px;
	border: 0;
	border-radius: 0;
	background-image: repeating-linear-gradient(135deg, #22272B 0 12px, #1E2327 12px 24px);
}
.ep-tile__body {
	padding: 1.25rem;
	border-top: 4px solid var(--ep-gunmetal);
	transition: border-color 0.15s ease;
}
.ep-tile:hover .ep-tile__body,
.ep-tile:focus-within .ep-tile__body {
	border-top-color: var(--ep-blaze);
}
.ep-tile__num {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	color: var(--ep-brass);
	margin: 0 0 0.375rem;
}
.ep-tile h3 {
	margin: 0;
	font-size: 1.75rem;
	line-height: 1;
}
.ep-tile h3 a {
	color: var(--ep-bone);
	text-decoration: none;
}
.ep-tile h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.ep-tile h3 a:hover {
	color: var(--ep-blaze);
}

/* --- Trust row ---------------------------------------------------------- */

.ep-trust {
	gap: 2rem;
}
.ep-trust__item {
	gap: 1rem;
	align-items: flex-start;
}
.ep-trust__item svg {
	flex: none;
	color: var(--ep-blaze);
}
.ep-trust__item h3 {
	font-size: 1.25rem;
	margin: 0 0 0.375rem;
}
.ep-trust__item p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--ep-soft);
}

/* --- FFL ---------------------------------------------------------------- */

.ep-ffl {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: var(--ep-muted);
	margin: 0;
}
.ep-ffl-badge {
	display: inline-grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.125rem 0.875rem;
	padding: 0.75rem 1rem;
	border: 2px solid var(--ep-blaze);
	border-radius: 3px;
}
.ep-ffl-badge__type {
	grid-row: span 2;
	font-family: var(--ep-display);
	font-stretch: 75%;
	font-weight: 900;
	font-size: 2rem;
	line-height: 1;
	color: var(--ep-blaze);
}
.ep-ffl-badge__label {
	font-size: 0.875rem;
	font-weight: 600;
}
.ep-ffl-badge__number {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	color: var(--ep-muted);
}

/* Ammunition notice on product pages */
.ep-notice {
	display: flex;
	gap: 0.875rem;
	padding: 1rem;
	border: 1px solid #5A3A1E;
	background: #1E1611;
	border-radius: 3px;
	color: #E2D8CF;
}
.ep-notice svg {
	flex: none;
	color: var(--ep-blaze);
}
.ep-notice p {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
}
.ep-notice__ffl {
	font-family: var(--ep-mono);
	font-size: 0.6875rem;
	color: var(--ep-muted);
}

/* --- Footer ------------------------------------------------------------- */

.ep-footer {
	background: var(--ep-night);
	border-top: 1px solid var(--ep-gunmetal);
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: 2rem;
}
.ep-footer__cols {
	gap: 3rem;
}
.ep-footer h2 {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	font-stretch: 100%;
	margin: 0 0 0.75rem;
}
.ep-footer .wp-block-navigation {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: 0.9375rem;
	text-transform: none;
	letter-spacing: 0;
	font-stretch: 100%;
	gap: 0.75rem;
}
.ep-footer .wp-block-navigation a {
	color: var(--ep-soft);
}
.ep-footer .wp-block-navigation a:hover {
	color: var(--ep-blaze);
}
.ep-footer__about p {
	color: var(--ep-soft);
	font-size: 0.9375rem;
	max-width: 24rem;
}
.ep-footer__bottom {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ep-gunmetal);
	gap: 0.75rem 2rem;
}
.ep-footer__bottom p {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	color: var(--ep-muted);
	margin: 0;
}

/* --- WooCommerce: product grids ----------------------------------------- */

.wc-block-product-template {
	gap: 1rem !important;
}
.wc-block-product-template .wc-block-product {
	background: var(--ep-steel);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-bottom: 1.125rem;
	text-align: left;
}
.wc-block-product-template .wc-block-product > *:not(.wc-block-components-product-image) {
	margin-left: 1.125rem !important;
	margin-right: 1.125rem !important;
}
.wc-block-product-template .wc-block-components-product-image {
	margin: 0 0 0.5rem !important;
	background-image: var(--ep-hatch-dark);
}
.wc-block-product-template .wc-block-components-product-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.wc-block-product-template .wp-block-post-title {
	font-family: var(--ep-display);
	font-stretch: 85%;
	font-weight: 800;
	font-size: 1.375rem !important;
	line-height: 1.1;
	text-transform: uppercase;
	margin-top: 0.25rem;
}
.wc-block-product-template .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}
.wc-block-product-template .wc-block-components-product-price {
	font-family: var(--ep-mono);
	font-weight: 700;
	font-size: 1.125rem;
	margin-top: auto;
}
.wc-block-product-template .wp-block-button.wc-block-components-product-button {
	align-items: stretch;
}
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link {
	width: 100%;
	background: var(--ep-bone);
	color: var(--ep-carbon);
	font-size: 0.9375rem;
	padding: 0.875rem 1rem;
}
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link:hover {
	background: var(--ep-blaze);
}
.wc-block-components-product-sale-badge {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
	border: 0;
	border-radius: 2px;
	font-family: var(--ep-mono);
	font-weight: 700;
	text-transform: uppercase;
}

/* Product grid on light sections */
.ep-light .wc-block-product-template .wc-block-product {
	background: #FFFFFF;
	border: 1px solid #DAD8D0;
	color: var(--ep-carbon);
}
.ep-light .wc-block-product-template .wc-block-components-product-image {
	background-image: var(--ep-hatch-light);
}
.ep-light .wc-block-product-template .wc-block-components-product-button .wp-block-button__link {
	background: var(--ep-carbon);
	color: var(--ep-bone);
}
.ep-light .wc-block-product-template .wc-block-components-product-button .wp-block-button__link:hover {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
}

/* Shop archive */
.ep-shop-bar {
	border-top: 1px solid var(--ep-gunmetal);
	border-bottom: 1px solid var(--ep-gunmetal);
	padding: 0.75rem 0;
	align-items: center;
}
.ep-shop-bar p,
.ep-shop-bar .woocommerce-result-count {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ep-muted);
	margin: 0;
}
.woocommerce-ordering select,
.wc-block-catalog-sorting select {
	background: var(--ep-steel);
	color: var(--ep-bone);
	border: 1px solid var(--ep-gunmetal);
	border-radius: 3px;
	padding: 0.625rem 0.75rem;
	font: inherit;
	font-size: 0.875rem;
}
.wp-block-query-pagination {
	font-family: var(--ep-mono);
	font-weight: 700;
	margin-top: 2.5rem;
}
.wp-block-query-pagination .page-numbers {
	display: inline-block;
	min-width: 44px;
	padding: 0.625rem 0;
	text-align: center;
	color: var(--ep-bone);
}
.wp-block-query-pagination .page-numbers.current {
	background: var(--ep-blaze);
	color: var(--ep-carbon);
	border-radius: 3px;
}

/* --- WooCommerce: single product ---------------------------------------- */

.ep-product {
	gap: 3rem;
}
.ep-product__summary {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.ep-product__summary > * {
	margin: 0 !important;
}
.ep-product h1.wp-block-post-title {
	font-size: clamp(3rem, 5vw, 4.5rem);
	font-stretch: 72%;
	line-height: 0.9;
}
.ep-product .wc-block-components-product-price,
.ep-product .wp-block-woocommerce-product-price {
	font-size: 1.75rem;
}
.ep-product .wp-block-post-excerpt {
	color: var(--ep-soft);
	font-size: 1.0625rem;
}
.ep-product .wp-block-woocommerce-product-sku,
.ep-product .wp-block-post-terms {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-muted);
}
.ep-product .wp-block-post-terms a {
	color: var(--ep-blaze);
}

/* Add to cart form */
.ep-product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: stretch;
}
.ep-product form.cart .quantity input.qty,
.ep-product .wc-block-components-quantity-selector {
	height: 60px;
	min-width: 5rem;
	background: transparent;
	color: var(--ep-bone);
	border: 2px solid #3A4045;
	border-radius: 3px;
	font-family: var(--ep-mono);
	font-weight: 700;
	font-size: 1.125rem;
	text-align: center;
}
.ep-product form.cart .single_add_to_cart_button,
.ep-product .wc-block-components-product-add-to-cart-button,
.ep-product .single_add_to_cart_button {
	flex: 1 1 15rem;
	min-height: 60px;
	background: var(--ep-blaze) !important;
	color: var(--ep-carbon) !important;
	border: 0;
	border-radius: 3px;
	font-family: var(--ep-display);
	font-stretch: 85%;
	font-weight: 900;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}
.ep-product .single_add_to_cart_button:hover {
	background: var(--ep-bone) !important;
}
.ep-product table.variations {
	width: 100%;
	border: 0;
}
.ep-product table.variations th,
.ep-product table.variations label {
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ep-muted);
	text-align: left;
}
.ep-product table.variations select {
	width: 100%;
	min-height: 48px;
	background: var(--ep-steel);
	color: var(--ep-bone);
	border: 2px solid #3A4045;
	border-radius: 3px;
	padding: 0 0.75rem;
	font-family: var(--ep-mono);
	font-weight: 700;
}

/* Product tabs (Description / Additional information = spec table / Reviews) */
.wp-block-woocommerce-product-details .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	padding: 0 !important;
	margin: 0 0 2rem !important;
	border-bottom: 2px solid var(--ep-gunmetal);
	list-style: none;
}
.wp-block-woocommerce-product-details .wc-tabs::before,
.wp-block-woocommerce-product-details .wc-tabs li::before,
.wp-block-woocommerce-product-details .wc-tabs li::after {
	display: none !important;
}
.wp-block-woocommerce-product-details .wc-tabs li {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
.wp-block-woocommerce-product-details .wc-tabs li a {
	display: block;
	padding: 0.875rem 1.375rem;
	margin-bottom: -2px;
	border-bottom: 4px solid transparent;
	font-family: var(--ep-display);
	font-stretch: 85%;
	font-weight: 800;
	font-size: 1.0625rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ep-muted);
	text-decoration: none;
}
.wp-block-woocommerce-product-details .wc-tabs li.active a {
	color: var(--ep-bone);
	border-bottom-color: var(--ep-blaze);
}
.wp-block-woocommerce-product-details .woocommerce-Tabs-panel {
	color: var(--ep-soft);
	max-width: 760px;
}
.wp-block-woocommerce-product-details .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}
.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--ep-gunmetal);
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 0.875rem 0;
	border-bottom: 1px solid var(--ep-gunmetal);
	font-family: var(--ep-mono);
	text-align: left;
	vertical-align: top;
}
.woocommerce-product-attributes th {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-muted);
	width: 40%;
}
.woocommerce-product-attributes td {
	font-size: 0.875rem;
	color: var(--ep-bone);
}
.woocommerce-product-attributes td p {
	margin: 0;
}

/* Form fields site-wide (cart, checkout, account) on the dark ground */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-textarea,
.woocommerce form .input-text,
.woocommerce form select {
	background-color: var(--ep-steel) !important;
	color: var(--ep-bone) !important;
	border-color: #3A4045 !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label {
	color: var(--ep-muted) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--ep-steel);
	border-color: var(--ep-muted);
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--ep-blaze);
}

/* --- Age gate ----------------------------------------------------------- */

html.ep-age-pending body > *:not(#ep-age-gate) {
	visibility: hidden;
}
html.ep-age-gate-open,
html.ep-age-gate-open body {
	overflow: hidden;
}
.ep-age-gate {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(7, 8, 9, 0.96);
	overflow-y: auto;
	color: var(--ep-bone);
	font-family: var(--wp--preset--font-family--body, system-ui, sans-serif);
}
.ep-age-gate[hidden] {
	display: none;
}
.ep-age-gate__panel {
	width: 100%;
	max-width: 30rem;
	box-sizing: border-box;
	background: var(--ep-carbon);
	border: 1px solid var(--ep-gunmetal);
	border-top: 6px solid var(--ep-blaze);
	border-radius: 4px;
	padding: 2.25rem 2rem 1.75rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.ep-age-gate__eyebrow {
	margin: 0.5rem 0 0;
	font-family: var(--ep-mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ep-brass);
}
.ep-age-gate__title {
	margin: 0;
	font-family: var(--ep-display);
	font-stretch: 72%;
	font-weight: 900;
	font-size: clamp(2.25rem, 7vw, 3rem);
	line-height: 0.92;
	text-transform: uppercase;
}
.ep-age-gate__desc {
	margin: 0;
	color: var(--ep-soft);
	font-size: 0.9375rem;
}
.ep-age-gate__form {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.5rem;
}
.ep-age-gate__dob {
	border: 0;
	margin: 0;
	padding: 0;
}
.ep-age-gate__dob legend {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
.ep-age-gate__fields {
	display: grid;
	grid-template-columns: 1fr 1fr 1.5fr;
	gap: 0.625rem;
}
.ep-age-gate__fields label {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	text-align: left;
}
.ep-age-gate__fields span {
	font-family: var(--ep-mono);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ep-muted);
}
.ep-age-gate__fields input {
	width: 100%;
	box-sizing: border-box;
	height: 56px;
	background: var(--ep-steel);
	color: var(--ep-bone);
	border: 2px solid #3A4045;
	border-radius: 3px;
	font-family: var(--ep-mono);
	font-weight: 700;
	font-size: 1.25rem;
	text-align: center;
}
.ep-age-gate__fields input:focus {
	border-color: var(--ep-blaze);
	outline: none;
}
.ep-age-gate__error {
	margin: 0;
	padding: 0.625rem 0.75rem;
	background: #2A1309;
	border: 1px solid var(--ep-blaze);
	border-radius: 3px;
	color: #FFD3BF;
	font-size: 0.875rem;
}
.ep-age-gate__remember {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--ep-soft);
	cursor: pointer;
}
.ep-age-gate__remember input {
	width: 18px;
	height: 18px;
	accent-color: var(--ep-blaze);
}
.ep-age-gate__actions {
	display: flex;
	gap: 0.625rem;
}
.ep-age-gate__enter {
	flex: 1;
	min-height: 56px;
	border: 0;
	border-radius: 3px;
	background: var(--ep-blaze);
	color: var(--ep-carbon);
	font-family: var(--ep-display);
	font-stretch: 85%;
	font-weight: 900;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}
.ep-age-gate__enter:hover {
	background: var(--ep-bone);
}
.ep-age-gate__enter:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.ep-age-gate__exit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 1.5rem;
	border: 2px solid #3A4045;
	border-radius: 3px;
	color: var(--ep-bone);
	font-family: var(--ep-display);
	font-stretch: 85%;
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}
.ep-age-gate__exit:hover {
	border-color: var(--ep-bone);
	color: var(--ep-bone);
}
.ep-age-gate__ffl {
	margin: 0.5rem 0 0;
	font-family: var(--ep-mono);
	font-size: 0.6875rem;
	line-height: 1.6;
	color: var(--ep-muted);
}

@media (max-width: 781px) {
	.ep-header__tools {
		margin-left: 0;
		width: 100%;
	}
	.ep-header .wp-block-search {
		flex: 1;
	}
	.ep-header .wp-block-search__input {
		min-width: 0;
	}
	.ep-hero__media {
		min-height: 320px;
	}
}
