/**
 * Empire Digital Imaging — shopfront theme.
 * Tokens and components sliced from the bundled design export.
 */

@font-face {
	font-family: "Archivo Black";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/archivo-black-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Archivo Black";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/archivo-black-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/barlow-condensed-600-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/barlow-condensed-600-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/barlow-condensed-700-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/barlow-condensed-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--font-display: "Archivo Black", "Arial Black", Impact, sans-serif;
	--font-condensed: "Barlow Condensed", "Arial Narrow", sans-serif;
	--font-body: "Manrope", "Helvetica Neue", Arial, sans-serif;

	--yellow-500: #ebd51d;
	--yellow-400: #f3e250;
	--yellow-600: #cfba0f;
	--yellow-100: #fdf8d2;
	--red-500: #ba1826;
	--red-600: #96101c;
	--red-400: #d63a46;
	--red-100: #fbe3e5;
	--blue-700: #232765;
	--blue-600: #31377f;
	--blue-100: #e3e4f1;
	--green-600: #2f8f3e;
	--green-100: #e2f2e4;
	--ink-900: #14130e;
	--ink-700: #332f26;
	--ink-500: #5c574b;
	--ink-300: #a39d8e;
	--ink-200: #d7d2c4;
	--ink-100: #eeeade;
	--paper: #fffdf5;
	--white: #ffffff;

	--surface-page: var(--paper);
	--surface-card: var(--white);
	--surface-field: var(--yellow-500);
	--surface-plate: var(--ink-900);
	--surface-muted: var(--yellow-100);
	--text-body: var(--ink-900);
	--text-muted: var(--ink-500);
	--text-inverse: var(--white);
	--text-display: var(--red-500);
	--text-link: var(--red-500);
	--text-link-hover: var(--red-600);
	--border-strong: var(--ink-900);
	--focus-ring: var(--blue-700);

	--display-xl: 56px;
	--display-lg: 42px;
	--display-md: 32px;
	--display-sm: 24px;
	--display-leading: 0.92;
	--display-tracking: -0.02em;
	--label-lg: 20px;
	--label-md: 16px;
	--label-sm: 13px;
	--label-tracking: 0.06em;
	--body-lg: 18px;
	--body-md: 16px;
	--body-sm: 14px;
	--body-xs: 12px;
	--body-leading: 1.55;
	--body-leading-tight: 1.35;

	--page-max: 1200px;
	--page-pad: 20px;
	--touch-min: 44px;
	--border-sign: 3px;
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-bar: 16px;
	--shadow-hard-sm: 2px 2px 0 var(--ink-900);
	--shadow-hard: 4px 4px 0 var(--ink-900);
	--shadow-hard-lg: 7px 7px 0 var(--ink-900);
	--ease-snap: cubic-bezier(0.2, 0.9, 0.25, 1);
	--dur-fast: 110ms;
	--dur-med: 180ms;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--white);
	color: var(--text-body);
	font-family: var(--font-body);
	font-size: var(--body-md);
	line-height: var(--body-leading);
	-webkit-font-smoothing: antialiased;
}

/* Hide GeneratePress chrome — Empire header/footer replace it. */
.ed-site .site-header,
.ed-site .site-info,
.ed-site .gen-sidebar-nav,
.ed-site .main-navigation,
.ed-site #site-navigation {
	display: none !important;
}

.ed-site .site-footer {
	padding: 0;
	background: transparent;
}

/* Pull GP's .site.grid-container out to the viewport so bands/filmstrips go edge-to-edge. */
body.ed-site.ed-full .site.grid-container,
body.ed-site.full-width-content .container.grid-container {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.ed-site.ed-full .site-content,
body.ed-site.ed-full .content-area,
body.ed-site.ed-full.separate-containers .site-main {
	display: block !important;
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ed-home,
.ed-order,
.ed-header,
.ed-footer,
.ed-ticker,
.ed-filmstrip {
	width: 100%;
}

body.ed-site.ed-full.separate-containers .inside-article,
body.ed-site.ed-full.separate-containers .comments-area,
body.ed-site.ed-full.separate-containers .page-header,
body.ed-site.ed-full.separate-containers .paging-navigation {
	margin: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}

/* One shared content rail: header, ticker, sections, footer. */
.ed-header__inner,
.ed-ticker__inner,
.ed-footer__inner,
.ed-container {
	width: 100%;
	max-width: var(--page-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--page-pad);
	padding-right: var(--page-pad);
	box-sizing: border-box;
}

.ed-label {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
}

/* Icons via CSS mask (Lucide SVGs from the design bundle). */
.ed-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: var(--ed-icon) center / contain no-repeat;
	mask: var(--ed-icon) center / contain no-repeat;
}

.ed-icon--lg {
	width: 22px;
	height: 22px;
}

.ed-icon--xl {
	width: 56px;
	height: 56px;
	opacity: 0.55;
}

.ed-icon--upload { --ed-icon: url("../icons/upload.svg"); }
.ed-icon--plus { --ed-icon: url("../icons/plus.svg"); }
.ed-icon--minus { --ed-icon: url("../icons/minus.svg"); }
.ed-icon--chevron-down { --ed-icon: url("../icons/chevron-down.svg"); }
.ed-icon--x { --ed-icon: url("../icons/x.svg"); }
.ed-icon--check { --ed-icon: url("../icons/check.svg"); }
.ed-icon--clock { --ed-icon: url("../icons/clock.svg"); }
.ed-icon--shirt { --ed-icon: url("../icons/shirt.svg"); }
.ed-icon--frame { --ed-icon: url("../icons/frame.svg"); }
.ed-icon--shopping-cart { --ed-icon: url("../icons/shopping-cart.svg"); }
.ed-icon--info { --ed-icon: url("../icons/info.svg"); }
.ed-icon--flag { --ed-icon: url("../icons/flag.svg"); }
.ed-icon--flame { --ed-icon: url("../icons/flame.svg"); }
.ed-icon--phone { --ed-icon: url("../icons/phone.svg"); }
.ed-icon--whatsapp { --ed-icon: url("../icons/whatsapp.svg"); }
.ed-icon--party-popper { --ed-icon: url("../icons/party-popper.svg"); }
.ed-icon--image { --ed-icon: url("../icons/image.svg"); }
.ed-icon--triangle-alert { --ed-icon: url("../icons/triangle-alert.svg"); }
.ed-icon--file-check { --ed-icon: url("../icons/file-check.svg"); }
.ed-icon--scan-line { --ed-icon: url("../icons/scan-line.svg"); }
.ed-icon--printer { --ed-icon: url("../icons/printer.svg"); }
.ed-icon--battery-charging { --ed-icon: url("../icons/battery-charging.svg"); }
.ed-icon--store { --ed-icon: url("../icons/store.svg"); }
.ed-icon--bike { --ed-icon: url("../icons/bike.svg"); }

.ed-filmstrip {
	height: 14px;
	background-color: var(--ink-900);
	background-image: repeating-linear-gradient(
		to right,
		var(--yellow-500) 0 6px,
		transparent 6px 14px
	);
	background-size: 100% 7px;
	background-repeat: repeat-x;
	background-position: 0 50%;
}

.ed-filmstrip--md {
	height: 18px;
	background-image: repeating-linear-gradient(
		to right,
		var(--yellow-500) 0 8px,
		transparent 8px 18px
	);
	background-size: 100% 9px;
}

.ed-tag {
	display: inline-block;
	padding: 4px 10px 5px;
	border: 2px solid var(--ink-900);
	border-radius: var(--radius-sm);
	background: var(--yellow-500);
	color: var(--ink-900);
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: var(--label-sm);
	line-height: 1.1;
}

.ed-sign {
	display: inline-block;
	margin: 0 !important;
	padding: 10px 20px 12px;
	background: var(--yellow-500);
	color: var(--ink-900);
	font-family: var(--font-display);
	text-transform: uppercase;
	font-size: var(--display-lg);
	line-height: var(--display-leading);
	letter-spacing: var(--display-tracking);
	max-width: 100%;
	box-sizing: border-box;
}

.ed-sign--xl {
	font-size: clamp(28px, 4.2vw, 56px);
}

.ed-sign-wrap {
	display: inline-block;
	max-width: 100%;
	border: var(--border-sign) solid var(--ink-900);
	box-shadow: var(--shadow-hard);
}

.ed-service-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 18px;
	border-radius: var(--radius-bar);
	border: var(--border-sign) solid var(--ink-900);
	background: var(--yellow-500);
	color: var(--ink-900);
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: var(--label-md);
	line-height: 1.2;
}

.ed-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 28px;
	min-height: 56px;
	font-family: var(--font-condensed);
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none !important;
	border-radius: var(--radius-sm);
	border: var(--border-sign) solid var(--ink-900);
	box-shadow: var(--shadow-hard);
	cursor: pointer;
	transition: transform var(--dur-fast) var(--ease-snap), box-shadow var(--dur-fast) var(--ease-snap);
}

.ed-btn:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--ink-900);
	color: inherit;
}

.ed-btn--secondary {
	background: var(--yellow-500);
	color: var(--ink-900);
}

.ed-btn--dark {
	background: var(--ink-900);
	color: var(--yellow-500);
}

.ed-btn--sm {
	padding: 8px 14px;
	min-height: 36px;
	font-size: 13px;
}

.ed-icon-btn {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--yellow-500);
	color: var(--ink-900);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	text-decoration: none !important;
	transition: box-shadow var(--dur-fast) var(--ease-snap);
}

.ed-icon-btn:hover {
	box-shadow: var(--shadow-hard-sm);
	color: var(--ink-900);
}

.ed-card {
	background: var(--white);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hard);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--dur-med) var(--ease-snap), box-shadow var(--dur-med) var(--ease-snap);
}

.ed-card:hover {
	transform: translate(-3px, -3px);
	box-shadow: var(--shadow-hard-lg);
}

.ed-card__media {
	aspect-ratio: 4 / 3;
	background: var(--yellow-500);
	border-bottom: var(--border-sign) solid var(--ink-900);
	display: grid;
	place-items: center;
	overflow: hidden;
}

.ed-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ed-card__body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ed-card__body h3 {
	font-family: var(--font-display);
	text-transform: uppercase;
	font-size: 20px;
	line-height: 1;
	margin: 0;
	letter-spacing: var(--display-tracking);
}

.ed-card__body p {
	margin: 0;
	font-size: var(--body-sm);
	color: var(--ink-500);
	line-height: var(--body-leading-tight);
}

.ed-card__action {
	margin-top: auto;
	padding-top: 6px;
}

.ed-alert {
	display: flex;
	gap: 12px;
	padding: 14px 16px;
	background: var(--yellow-100);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
}

.ed-alert__title {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: var(--label-md);
}

.ed-alert__body {
	font-size: var(--body-sm);
	line-height: var(--body-leading);
}

.ed-alert .ed-icon {
	margin-top: 2px;
	color: var(--yellow-600);
}

.ed-alert--success {
	background: var(--green-100);
}

.ed-alert--success .ed-icon {
	color: var(--green-600);
}

.ed-alert--warning {
	background: var(--yellow-100);
}

/* Header */
.ed-header {
	position: sticky;
	top: 0;
	z-index: 50;
}

body.admin-bar .ed-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .ed-header {
		top: 46px;
	}
}

html {
	scroll-padding-top: 140px;
}

body.admin-bar {
	scroll-padding-top: 172px;
}

.ed-header__bar {
	background: var(--ink-900);
	border-bottom: var(--border-sign) solid var(--ink-900);
}

.ed-header__inner {
	padding-top: 8px;
	padding-bottom: 10px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 8px;
}

.ed-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
	color: var(--white);
	min-width: 0;
}

.ed-brand img {
	display: block;
	width: 88px;
	height: auto;
	background: var(--yellow-500);
}

.ed-brand__word {
	font-family: var(--font-display);
	text-transform: uppercase;
	letter-spacing: -0.02em;
	font-size: 18px;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
}

.ed-header__tools {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ed-header__phone {
	color: var(--yellow-500) !important;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 15px;
	white-space: nowrap;
	text-decoration: none !important;
}

.ed-header__phone:hover {
	color: var(--yellow-400) !important;
}

.ed-nav {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 15px;
	padding-top: 8px;
	border-top: var(--border-sign) solid var(--ink-700);
}

.ed-nav::-webkit-scrollbar {
	display: none;
}

.ed-nav a {
	color: var(--white);
	display: inline-flex;
	align-items: center;
	min-height: var(--touch-min);
	white-space: nowrap;
	text-decoration: none !important;
	flex: 0 0 auto;
}

.ed-nav a:hover,
.ed-nav a.is-current {
	color: var(--yellow-500);
}

.ed-nav a.ed-nav__featured {
	background: var(--yellow-500);
	color: var(--ink-900);
	border: var(--border-sign) solid var(--ink-900);
	padding: 6px 14px;
}

.ed-nav a.ed-nav__featured:hover {
	color: var(--ink-900);
}

.ed-ticker {
	background: var(--yellow-500);
	border-top: var(--border-sign) solid var(--ink-900);
	border-bottom: var(--border-sign) solid var(--ink-900);
}

.ed-ticker__inner {
	padding-top: 12px;
	padding-bottom: 12px;
	display: flex;
	gap: 8px 28px;
	flex-wrap: wrap;
	align-items: center;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 15px;
	color: var(--ink-900);
}

/* Footer */
.ed-footer {
	background: var(--ink-900);
	padding: 32px 0;
}

.ed-footer__inner {
	display: flex;
	gap: 20px 40px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.ed-footer__brand {
	margin: 0;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 15px;
	color: var(--yellow-500);
}

.ed-footer__meta {
	margin: 0;
	font-size: 14px;
	color: var(--ink-300);
}

.ed-footer__meta a {
	color: var(--yellow-500);
	text-decoration: none;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.ed-footer__meta a:hover {
	color: var(--yellow-400);
}

.ed-wa {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 60;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	min-height: 52px;
	background: var(--yellow-500);
	color: var(--ink-900) !important;
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-hard);
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 15px;
	text-decoration: none !important;
}

.ed-wa:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--ink-900);
	color: var(--ink-900) !important;
}

body.admin-bar .ed-wa {
	bottom: 52px;
}

@media (max-width: 600px) {
	.ed-wa span:last-child {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.ed-wa {
		padding: 0;
		width: 52px;
		min-height: 52px;
		justify-content: center;
	}
}

/* Home sections */
.ed-home {
	background: var(--white);
}

.ed-section {
	padding: 56px 0;
	scroll-margin-top: 140px;
}

body.admin-bar .ed-section {
	scroll-margin-top: 172px;
}

.ed-section--rule {
	background: var(--white);
	border-top: var(--border-sign) solid var(--ink-900);
	border-bottom: var(--border-sign) solid var(--ink-900);
}

.ed-section--tight {
	padding: 48px 0 56px;
	border-bottom: var(--border-sign) solid var(--ink-900);
}

.ed-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.ed-section__lede {
	margin: 0;
	font-size: 16px;
	color: var(--ink-500);
	max-width: 42ch;
}

.ed-grid {
	display: grid;
	gap: 24px;
}

.ed-grid--products {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ed-grid--gifts {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.ed-grid--steps {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	margin-top: 24px;
}

.ed-grid--hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.ed-grid--hero > .ed-also {
	grid-column: 1 / -1;
}

.ed-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
	min-width: 0;
}

.ed-stack p {
	margin: 0;
	font-size: 19px;
	line-height: 1.55;
	max-width: 46ch;
}

.ed-stack .ed-note {
	font-size: 14px;
	color: var(--ink-700);
	max-width: none;
}

.ed-bars {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	max-width: 420px;
}

.ed-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.ed-thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.ed-thumb {
	margin: 0;
	background: var(--white);
	border: var(--border-sign) solid var(--ink-900);
	box-shadow: var(--shadow-hard);
}

.ed-thumb img {
	width: 100%;
	display: block;
	border-bottom: var(--border-sign) solid var(--ink-900);
}

.ed-thumb figcaption {
	padding: 8px 10px;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 13px;
	line-height: 1.25;
}

.ed-also {
	background: var(--yellow-500);
	border: var(--border-sign) solid var(--ink-900);
	box-shadow: var(--shadow-hard);
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.ed-also img {
	height: 76px;
	background: var(--white);
	border: var(--border-sign) solid var(--ink-900);
}

.ed-also p {
	margin: 0;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 17px;
	line-height: 1.3;
	color: var(--ink-900);
}

.ed-step {
	background: var(--white);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hard);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ed-step__n {
	font-family: var(--font-display);
	font-size: 34px;
	line-height: 1;
	color: var(--ink-900);
}

.ed-step h3 {
	margin: 0;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 19px;
}

.ed-step p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ink-700);
}

.ed-visit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.ed-visit h2 {
	margin: 0;
	font-family: var(--font-display);
	text-transform: uppercase;
	font-size: 40px;
	line-height: 0.92;
	letter-spacing: -0.02em;
}

.ed-visit p {
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
}

.ed-visit .ed-hours {
	font-size: 14px;
	color: var(--ink-500);
}

.ed-visit img {
	width: 100%;
	display: block;
	border: var(--border-sign) solid var(--ink-900);
	box-shadow: var(--shadow-hard);
}

.ed-fineprint {
	margin: 20px 0 0;
	font-size: 14px;
	color: var(--ink-700);
}

@media (max-width: 900px) {
	.ed-grid--hero,
	.ed-visit {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 700px) {
	.ed-sign,
	.ed-sign--xl,
	.ed-visit h2 {
		font-size: 32px;
	}

	.ed-thumbs {
		grid-template-columns: 1fr 1fr;
	}

	.ed-also {
		flex-wrap: wrap;
	}
}

/* T-shirt order form */
.ed-order {
	background: var(--white);
}

.ed-order__main {
	padding-top: 40px;
	padding-bottom: 64px;
}

.ed-back {
	display: block;
	width: fit-content;
	margin-bottom: 14px;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 14px;
	color: var(--ink-500);
	text-decoration: none !important;
}

.ed-back:hover {
	color: var(--red-500);
}

.ed-order .ed-sign-wrap {
	margin: 0 0 10px;
}

.ed-order__lede {
	margin: 0 0 32px;
	font-size: 18px;
	line-height: 1.55;
	max-width: 56ch;
}

.ed-sent {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	margin: 8px 0 24px;
	padding: 36px 28px 40px;
	background: var(--yellow-500);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hard-lg);
	min-height: min(70vh, 640px);
	justify-content: center;
}

.ed-sent:focus {
	outline: 3px solid var(--focus-ring);
	outline-offset: 4px;
}

.ed-sent__mark {
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	background: var(--ink-900);
	color: var(--yellow-500);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-hard);
}

.ed-sent__mark .ed-icon {
	width: 48px;
	height: 48px;
	margin: 0;
	color: var(--yellow-500);
}

.ed-sent .ed-sign-wrap {
	margin: 0;
	max-width: 100%;
}

.ed-sent .ed-sign {
	background: var(--white);
	font-size: clamp(32px, 6vw, 56px);
}

.ed-sent__body {
	margin: 0;
	max-width: 36ch;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.4;
	font-weight: 700;
	color: var(--ink-900);
}

.ed-sent .ed-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.ed-order__layout {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}

.ed-order__fields {
	flex: 1 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ed-panel {
	background: var(--white);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hard);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ed-panel h2 {
	margin: 0;
	font-family: var(--font-display);
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1;
	letter-spacing: var(--display-tracking);
}

.ed-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ed-field__label {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 15px;
	color: var(--ink-900);
}

.ed-field__label abbr {
	text-decoration: none;
	color: var(--red-500);
}

.ed-field__hint {
	margin: 0;
	font-size: 15px;
	color: var(--ink-500);
	line-height: 1.45;
}

.ed-fields-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}

.ed-input {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink-900);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	appearance: none;
}

.ed-input--area {
	min-height: 96px;
	resize: vertical;
}

.ed-input:focus {
	outline: 3px solid var(--focus-ring);
	outline-offset: 2px;
}

.ed-select {
	position: relative;
}

.ed-select select {
	padding-right: 40px;
}

.ed-select .ed-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.ed-radios {
	display: grid;
	gap: 8px;
}

.ed-radios--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ed-radios--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ed-radios--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ed-radio {
	display: block;
	cursor: pointer;
}

.ed-radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ed-radio__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	min-height: 56px;
	padding: 8px 10px;
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	background: var(--white);
	text-align: center;
	transition: background var(--dur-fast) var(--ease-snap), box-shadow var(--dur-fast) var(--ease-snap);
}

.ed-radio__label {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 15px;
	line-height: 1.15;
}

.ed-radio__note {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: var(--ink-500);
}

.ed-radio input:checked + .ed-radio__box {
	background: var(--yellow-500);
	box-shadow: var(--shadow-hard-sm);
}

.ed-radio input:focus-visible + .ed-radio__box {
	outline: 3px solid var(--focus-ring);
	outline-offset: 2px;
}

.ed-drop__input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}

.ed-drop {
	position: relative;
}

.ed-drop__zone {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 180px;
	padding: 24px 16px;
	border: 3px dashed var(--ink-900);
	border-radius: var(--radius-md);
	background: var(--yellow-100);
	text-align: center;
	cursor: pointer;
}

.ed-drop.is-over .ed-drop__zone,
.ed-drop__zone:hover {
	background: var(--yellow-500);
}

.ed-drop__zone strong {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 16px;
}

.ed-drop__zone span:last-child {
	font-size: 14px;
	color: var(--ink-500);
}

.ed-drop__list {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ed-drop__list li {
	padding: 8px 12px;
	border: 2px solid var(--ink-900);
	border-radius: var(--radius-sm);
	background: var(--white);
	font-size: 14px;
}

.ed-sizes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 16px;
}

.ed-size {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ed-size__label {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 15px;
}

.ed-qty {
	display: inline-flex;
	align-items: center;
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	overflow: hidden;
	width: 100%;
	max-width: 160px;
	background: var(--white);
}

.ed-qty__btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: var(--yellow-500);
	color: var(--ink-900);
	cursor: pointer;
	padding: 0;
}

.ed-qty__btn:hover {
	background: var(--yellow-400);
}

.ed-qty__n {
	flex: 1;
	min-width: 0;
	height: 40px;
	border: 0;
	border-left: var(--border-sign) solid var(--ink-900);
	border-right: var(--border-sign) solid var(--ink-900);
	text-align: center;
	font-family: var(--font-display);
	font-size: 18px;
	appearance: textfield;
	background: var(--white);
}

.ed-qty__n::-webkit-outer-spin-button,
.ed-qty__n::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.ed-total {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--yellow-500);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-sm);
	padding: 12px 16px;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 17px;
}

.ed-total span:last-child {
	margin-left: auto;
	font-family: var(--font-display);
	font-size: 24px;
	line-height: 1;
	letter-spacing: var(--display-tracking);
}

.ed-check {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	cursor: pointer;
}

.ed-check input {
	width: 22px;
	height: 22px;
	margin-top: 2px;
	accent-color: var(--ink-900);
	flex: 0 0 auto;
}

.ed-check strong {
	display: block;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 15px;
}

.ed-check span span {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	color: var(--ink-500);
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--font-body);
	font-weight: 400;
}

.ed-summary {
	flex: 1 1 300px;
	max-width: 360px;
	position: sticky;
	top: 130px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ed-summary__card {
	background: var(--yellow-500);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hard);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ed-summary__card h2 {
	margin: 0;
	font-family: var(--font-display);
	text-transform: uppercase;
	font-size: 20px;
	line-height: 1;
}

.ed-summary__card dl {
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 14px;
	font-size: 15px;
}

.ed-summary__card dt {
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
}

.ed-summary__card dd {
	margin: 0;
	text-align: right;
	font-weight: 700;
}

.ed-summary__card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

.ed-btn--full {
	width: 100%;
}

button.ed-btn {
	appearance: none;
	font: inherit;
}

.ed-summary__call {
	background: var(--ink-900);
	border: var(--border-sign) solid var(--ink-900);
	border-radius: var(--radius-md);
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ed-summary__kicker {
	margin: 0;
	font-family: var(--font-condensed);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--label-tracking);
	font-size: 15px;
	color: var(--yellow-500);
}

.ed-summary__call p {
	margin: 0;
	font-size: 15px;
	color: var(--white);
	line-height: 1.5;
}

.ed-summary__call a {
	color: var(--yellow-500);
	text-decoration: underline;
}

.ed-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 900px) {
	.ed-radios--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-summary {
		position: static;
		max-width: none;
		flex: 1 1 100%;
	}
}

@media (max-width: 560px) {
	.ed-radios--3,
	.ed-radios--2 {
		grid-template-columns: 1fr;
	}
}
