/*
Theme Name: A Smoke Above
Theme URI: https://asmokeabove.com
Author: A Smoke Above
Description: Premium Brooklyn-street WooCommerce theme for A Smoke Above.
Version: 1.3.4
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: a-smoke-above
License: GNU General Public License v2 or later
*/

:root {
  --asa-black: #0b0b0b;
  --asa-ink: #111111;
  --asa-panel: #171717;
  --asa-panel-2: #202020;
  --asa-cream: #f3efe6;
  --asa-muted: #aaa59b;
  --asa-line: rgba(243, 239, 230, 0.16);
  --asa-orange: #ff5a1f;
  --asa-orange-dark: #c93800;
  --asa-success: #8ee58b;
  --asa-warning: #ffbf69;
  --asa-radius: 18px;
  --asa-shadow: 0 24px 80px rgba(0,0,0,.38);
  --asa-max: 1280px;
  --asa-header: 78px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--asa-black);
  color: var(--asa-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--asa-orange); color: #fff; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}

.asa-shell { width: min(calc(100% - 40px), var(--asa-max)); margin-inline: auto; }
.asa-section { padding: 96px 0; }
.asa-section--tight { padding: 62px 0; }
.asa-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.asa-title, .page-title {
  margin: 0; max-width: 900px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.8rem, 7vw, 6.7rem); line-height: .88; letter-spacing: -.035em;
  text-transform: uppercase; font-weight: 900;
}
.asa-title--medium { font-size: clamp(2.35rem, 5vw, 4.8rem); }
.asa-copy { color: var(--asa-muted); font-size: clamp(1rem, 1.6vw, 1.18rem); max-width: 720px; }

.asa-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-element-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 13px 22px !important; border: 1px solid var(--asa-orange) !important;
  border-radius: 999px !important; background: var(--asa-orange) !important;
  color: #fff !important; font-weight: 900 !important; letter-spacing: .05em;
  text-transform: uppercase; transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.asa-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wp-element-button:hover { transform: translateY(-2px); background: var(--asa-orange-dark) !important; border-color: var(--asa-orange-dark) !important; }
.asa-btn--ghost { background: transparent !important; color: var(--asa-cream) !important; border-color: var(--asa-line) !important; }
.asa-btn--ghost:hover { background: var(--asa-cream) !important; color: var(--asa-black) !important; border-color: var(--asa-cream) !important; }

.site-header {
  position: sticky; z-index: 1000; top: 0; height: var(--asa-header);
  background: rgba(11,11,11,.88); border-bottom: 1px solid var(--asa-line);
  backdrop-filter: blur(18px);
}
.site-header__inner { height: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.custom-logo-link { display: flex; align-items: center; }
.custom-logo { max-height: 20px; width: auto; }
.site-brand {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.45rem; letter-spacing: .03em; text-transform: uppercase;
}
.site-brand span { color: #1f6faa }
.primary-menu { display: flex; justify-content: center; align-items: center; gap: 24px; list-style: none; padding: 0; margin: 0; }
.primary-menu a { font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #d9d5cd; }
.primary-menu a:hover { color: var(--asa-orange); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.store-pill {
  max-width: 230px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--asa-line);
  background: #151515; color: var(--asa-cream); border-radius: 999px; padding: 10px 14px;
  font-size: .76rem; font-weight: 800; white-space: nowrap;
}
.store-pill strong { color: var(--asa-orange); }
.menu-toggle {
  display: none; width: 46px; height: 46px; border: 1px solid var(--asa-line);
  border-radius: 50%; background: transparent; color: var(--asa-cream); font-size: 1.25rem;
}

.hero {
  position: relative; min-height: min(860px, calc(100vh - var(--asa-header)));
  display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--asa-line);
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.72) 52%, rgba(0,0,0,.3) 100%),
    radial-gradient(circle at 78% 32%, rgba(var(--asa-primary-rgb), .34), transparent 25%),
    linear-gradient(145deg, #111 10%, #2b2b2b 48%, #090909 80%);
}
.hero::before {
  content: ""; position: absolute; inset: 0; opacity: .13; pointer-events: none;
  background-image: repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,.15) 6px);
}
.hero::after {
  content: "A SMOKE ABOVE"; position: absolute; right: -2vw; top: 7%; color: rgba(255,255,255,.035);
  font-family: Impact, sans-serif; font-size: min(18vw, 250px); line-height: .8;
  writing-mode: vertical-rl; text-transform: uppercase;
}
.hero__inner { position: relative; z-index: 2; width: 100%; padding: 110px 40px 80px; }
.hero__headline {
  max-width: 980px; margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.3rem, 11vw, 10rem); line-height: .78; letter-spacing: -.045em; text-transform: uppercase;
}
.hero__headline em { display: block; color: var(--asa-orange); font-style: normal; }
.hero__copy { max-width: 690px; margin: 28px 0 0; color: #c9c5bd; font-size: clamp(1.06rem, 2vw, 1.35rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero__meta {
  display: flex; flex-wrap: wrap; gap: 18px 34px; margin-top: 52px; padding-top: 24px;
  border-top: 1px solid var(--asa-line); color: var(--asa-muted);
}
.hero__meta strong { display: block; color: var(--asa-cream); font-size: 1.05rem; }

.marquee { overflow: hidden; border-bottom: 1px solid var(--asa-line); background: var(--asa-orange); color: #fff; }
.marquee__track {
  display: flex; width: max-content; gap: 44px; padding: 13px 0; animation: asa-marquee 28s linear infinite;
  font-family: Impact, sans-serif; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase;
}
.marquee__track span::after { content: "\2022"; margin-left: 44px; }
@keyframes asa-marquee { to { transform: translateX(-50%); } }

.store-grid, .category-grid, .feature-grid, .footer-grid {
  display: grid; gap: 18px;
}
.store-grid { grid-template-columns: repeat(3, 1fr); margin-top: 34px; }
.store-card {
  position: relative; padding: 26px; border: 1px solid var(--asa-line); border-radius: var(--asa-radius);
  background: linear-gradient(150deg, #1c1c1c, #101010); transition: transform .2s ease, border-color .2s ease;
}
.store-card:hover { transform: translateY(-5px); border-color: rgba(255,90,31,.7); }
.store-card__tag { font-size: .7rem; font-weight: 900; color: var(--asa-orange); text-transform: uppercase; letter-spacing: .12em; }
.store-card h3 { margin: 9px 0 5px; font-size: 1.5rem; }
.store-card p { margin: 0 0 20px; color: var(--asa-muted); }
.store-card__actions { display: flex; flex-wrap: wrap; gap: 9px; }
.store-card button, .store-card a {
  border: 1px solid var(--asa-line); background: transparent; color: var(--asa-cream);
  border-radius: 999px; padding: 9px 13px; font-size: .72rem; font-weight: 900; text-transform: uppercase;
}
.store-card button:hover, .store-card a:hover { border-color: var(--asa-orange); color: var(--asa-orange); }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 34px; }
.section-heading .asa-copy { margin: 0; }

.category-grid { grid-template-columns: repeat(4, 1fr); }
.category-card {
  position: relative; min-height: 290px; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 24px; overflow: hidden; border: 1px solid var(--asa-line); border-radius: var(--asa-radius);
  background: linear-gradient(155deg, #252525, #101010);
}
.category-card::before {
  content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; top: -70px; right: -70px;
  background: radial-gradient(circle, rgba(255,90,31,.43), transparent 68%);
}
.category-card__count { color: var(--asa-muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }
.category-card h3 { position: relative; margin: 8px 0 0; font-size: 1.5rem; text-transform: uppercase; }
.category-card:hover { border-color: var(--asa-orange); }

.catalog-strip { background: var(--asa-cream); color: var(--asa-black); }
.catalog-strip .asa-copy { color: #5f5b55; }
.catalog-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
  margin: 28px 0; padding: 14px; border: 1px solid rgba(0,0,0,.12); border-radius: 16px; background: #fff;
}
.catalog-toolbar label { font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.catalog-toolbar select, .catalog-toolbar input {
  min-height: 44px; border: 1px solid rgba(0,0,0,.16); border-radius: 999px; padding: 0 15px; background: #fff;
}

/* =========================================
   PRODUCT CATALOG
========================================= */

.asa-product-grid,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

.asa-product-card,
.woocommerce ul.products li.product {
	float: none !important;
	clear: none !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 20px !important;
	overflow: hidden;
	display: flex !important;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 16px;
}

.woocommerce ul.products li.product.first,
.woocommerce-page ul.products li.product.first {
	clear: none !important;
}

.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.last {
	margin-right: 0 !important;
}

.woocommerce ul.products.columns-4 li.product {
	width: auto !important;
}

.asa-product-card__image,
.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 !important;
	background: linear-gradient(145deg, #ece8df, #d7d2c8);
}

.asa-product-card__body {
	padding: 18px 18px 0;
}

.asa-product-card__brand {
	color: #6a655d;
	font-size: .68rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.asa-product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 5px 0 12px !important;
	padding: 0 18px !important;
	color: #111;
	font-size: 1.06rem !important;
}

.asa-product-card h3 {
	padding: 0 !important;
}

.asa-availability {
	margin: 13px 0 0;
	padding-top: 13px;
	border-top: 1px solid rgba(0,0,0,.1);
	color: #4f4b45;
	font-size: .78rem;
}

.asa-availability strong {
	color: #18713e;
}

.asa-availability--warehouse strong {
	color: #a4410e;
}

.woocommerce ul.products li.product .price {
	padding: 0 18px;
	color: #111 !important;
	font-weight: 900 !important;
}

.woocommerce ul.products li.product .button {
	margin: 14px 18px 0 !important;
	min-height: 44px;
	font-size: .72rem;
}

.feature-grid { grid-template-columns: repeat(3, 1fr); }
.feature-card { padding: 28px; border-top: 1px solid var(--asa-line); }
.feature-card__number { color: var(--asa-orange); font-family: Impact, sans-serif; font-size: 3.3rem; }
.feature-card h3 { margin: 8px 0; text-transform: uppercase; }
.feature-card p { color: var(--asa-muted); margin: 0; }

.request-banner {
  position: relative; overflow: hidden; padding: 60px; border-radius: 28px;
  background: var(--asa-orange); color: #fff; box-shadow: var(--asa-shadow);
}
.request-banner::after {
  content: "?"; position: absolute; right: 2%; top: -50%; color: rgba(255,255,255,.1);
  font-family: Impact, sans-serif; font-size: 28rem;
}
.request-banner > * { position: relative; z-index: 1; }
.request-banner .asa-btn { background: #0b0b0b !important; border-color: #0b0b0b !important; }
.request-banner p { max-width: 680px; font-size: 1.15rem; }

.site-footer { border-top: 1px solid var(--asa-line); padding: 70px 0 26px; background: #070707; }
.footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
.footer-title { font-family: Impact, sans-serif; font-size: 2.2rem; text-transform: uppercase; }
.footer-title span { color: var(--asa-secondary);}
.footer-column h3 { font-size: .75rem; color: var(--asa-orange); text-transform: uppercase; letter-spacing: .12em; }
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column li { margin: 9px 0; color: var(--asa-muted); }
.footer-bottom {
  display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 22px;
  border-top: 1px solid var(--asa-line); color: #7f7b73; font-size: .78rem;
}

.age-gate {
  position: fixed; z-index: 99999; inset: 0; display: none; place-items: center; padding: 20px;
  background: rgba(0,0,0,.92); backdrop-filter: blur(18px);
}
.age-gate.is-open { display: grid; }
.age-gate__panel {
  width: min(560px, 100%); padding: 38px; border: 1px solid var(--asa-line);
  border-radius: 24px; background: #111; box-shadow: var(--asa-shadow); text-align: center;
}
.age-gate__mark { color: var(--asa-orange); font-family: Impact, sans-serif; font-size: 4rem; }
.age-gate h2 { margin: 0; font-family: Impact, sans-serif; font-size: clamp(2.5rem, 8vw, 4.6rem); line-height: .9; text-transform: uppercase; }
.age-gate p { color: var(--asa-muted); }
.age-gate__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.age-gate__actions button { min-height: 52px; border-radius: 999px; font-weight: 900; text-transform: uppercase; }
.age-gate__yes { border: 0; background: var(--asa-orange); color: #fff; }
.age-gate__no { border: 1px solid var(--asa-line); background: transparent; color: var(--asa-cream); }

.content-area { min-height: 55vh; padding: 80px 0; }
.entry-card { padding: clamp(22px, 5vw, 60px); border: 1px solid var(--asa-line); border-radius: 24px; background: var(--asa-panel); }
.entry-title { margin-top: 0; font-family: Impact, sans-serif; font-size: clamp(2.6rem, 7vw, 6rem); line-height: .9; text-transform: uppercase; }
.entry-content { color: #d5d1c9; }
.entry-content a { color: var(--asa-orange); text-decoration: underline; }
.entry-content input, .entry-content textarea, .entry-content select,
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select {
  width: 100%; border: 1px solid var(--asa-line); border-radius: 12px; background: #111; color: var(--asa-cream);
  padding: 13px 14px;
}

.woocommerce .woocommerce-breadcrumb { color: var(--asa-muted); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product .product_title { font-family: Impact, sans-serif; font-size: clamp(2.8rem, 6vw, 5rem); line-height: .9; text-transform: uppercase; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--asa-orange); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--asa-orange); background: var(--asa-panel); color: var(--asa-cream);
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--asa-orange); }
.woocommerce table.shop_table { border-color: var(--asa-line); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--asa-line); }
.woocommerce-cart table.cart img { width: 84px; border-radius: 10px; }
.woocommerce .quantity .qty { background: #111; color: #fff; border: 1px solid var(--asa-line); border-radius: 8px; min-height: 44px; }

/* =========================================
   RESPONSIVE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CORE
========================================= */

@media (max-width: 1050px) {
	.primary-menu {
		display: none;
		position: absolute;
		left: 20px;
		right: 20px;
		top: calc(100% + 10px);
		padding: 24px;
		flex-direction: column;
		align-items: stretch;
		background: #111;
		border: 1px solid var(--asa-line);
		border-radius: 18px;
	}

	.primary-menu.is-open {
		display: flex;
	}

	.menu-toggle {
		display: inline-grid;
		place-items: center;
	}

	.site-header__inner {
		grid-template-columns: auto 1fr auto;
	}

	.header-actions .store-pill {
		display: none;
	}

	.category-grid,
	.asa-product-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.store-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1000px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	:root {
		--asa-header: 68px;
	}

	.asa-shell {
		width: min(calc(100% - 26px), var(--asa-max));
	}

	.asa-section {
		padding: 68px 0;
	}

	.hero {
		min-height: 720px;
	}

	.hero__inner {
		padding: 90px 0 48px;
	}

	.hero__headline {
		font-size: clamp(4rem, 20vw, 7.5rem);
	}

	.section-heading {
		display: block;
	}

	.section-heading .asa-copy {
		margin-top: 18px;
	}

	.store-grid,
	.category-grid,
	.feature-grid,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.asa-product-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}

	.asa-product-card__body {
		padding: 13px 13px 0;
	}

	.request-banner {
		padding: 34px 24px;
	}

	.footer-bottom {
		display: block;
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
	}

	.site-brand {
		font-size: 1.15rem;
	}
}

@media (max-width: 600px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 480px) {
	.asa-product-grid {
		grid-template-columns: 1fr !important;
	}

	.age-gate__actions {
		grid-template-columns: 1fr;
	}
}

/* =========================================
   STORE SELECTOR MODAL
========================================= */

.store-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.store-modal.is-open {
	display: flex;
}

.store-modal__panel {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 34px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 22px;
	background: #151515;
	color: #fff;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}

.store-modal__close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.store-modal__close:hover {
	background: rgba(255, 255, 255, 0.15);
}

.store-modal__eyebrow {
	margin: 0 0 8px;
	color: #aaa;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.store-modal__panel h2 {
	margin: 0 0 10px;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.05;
}

.store-modal__panel > p:not(.store-modal__eyebrow) {
	margin: 0 0 26px;
	color: #aaa;
	line-height: 1.6;
}

.store-modal__locations {
	display: grid;
	gap: 12px;
}

.store-modal__location {
	width: 100%;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	background: #1f1f1f;
	color: #fff;
	text-align: left;
	cursor: pointer;
	transition:
		transform 0.15s ease,
		border-color 0.15s ease,
		background 0.15s ease;
}

.store-modal__location:hover {
	transform: translateY(-2px);
	border-color: rgba(255, 255, 255, 0.25);
	background: #252525;
}

.store-modal__location strong,
.store-modal__location span,
.store-modal__location small {
	display: block;
}

.store-modal__location strong {
	margin-bottom: 5px;
	font-size: 19px;
}

.store-modal__location span {
	margin-bottom: 12px;
	color: #aaa;
	font-size: 14px;
}

.store-modal__location small {
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.store-modal__location.is-selected {
	border-color: #fff;
	background: #292929;
}

@media (max-width: 600px) {
	.store-modal {
		padding: 14px;
	}

	.store-modal__panel {
		padding: 28px 20px 22px;
		border-radius: 18px;
	}
}


/* =========================================
   CONTACT PAGE
========================================= */

.contact-hero {
	padding: 110px 0 55px;
	border-bottom: 1px solid var(--asa-line);
	background:
		radial-gradient(
			circle at 85% 25%,
			rgba(var(--asa-primary-rgb), 0.18),
			transparent 28%
		),
		#0b0b0b;
}

.contact-hero .asa-copy {
	margin-top: 20px;
}

.contact-location-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.contact-location-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 430px;
	padding: 34px;
	border: 1px solid var(--asa-line);
	border-radius: 24px;
	background:
		linear-gradient(145deg, #1c1c1c, #101010);
}

.contact-location-card__eyebrow {
	margin: 0 0 8px;
	color: var(--asa-orange);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.contact-location-card h2 {
	margin: 0 0 18px;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2rem, 4vw, 3.3rem);
	line-height: 0.95;
	text-transform: uppercase;
}

.contact-location-card__address {
	color: var(--asa-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.contact-location-card__details {
	display: grid;
	gap: 16px;
	margin: 30px 0;
	padding: 24px 0;
	border-top: 1px solid var(--asa-line);
	border-bottom: 1px solid var(--asa-line);
}

.contact-location-card__details div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.contact-location-card__details span {
	color: var(--asa-muted);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-location-card__details a,
.contact-location-card__details strong {
	color: var(--asa-cream);
	text-align: right;
}

.contact-location-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-form-section {
	padding: 90px 0;
	background: #111;
	border-top: 1px solid var(--asa-line);
}

.contact-form-layout {
	display: grid;
	grid-template-columns:
		minmax(0, 0.8fr)
		minmax(0, 1.2fr);
	gap: 70px;
	align-items: start;
}

.contact-form-copy h2 {
	margin: 0 0 18px;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.contact-form-copy > p:not(.asa-eyebrow) {
	max-width: 500px;
	color: var(--asa-muted);
	font-size: 1.05rem;
}

.contact-help-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.contact-help-list span {
	padding: 8px 12px;
	border: 1px solid var(--asa-line);
	border-radius: 999px;
	color: var(--asa-muted);
	font-size: 12px;
	font-weight: 800;
}


@media (max-width: 850px) {
	.contact-location-grid,
	.contact-form-layout {
		grid-template-columns: 1fr;
	}

	.contact-form-layout {
		gap: 38px;
	}
}

@media (max-width: 600px) {
	.contact-hero {
		padding: 80px 0 40px;
	}

	.contact-location-card {
		min-height: 0;
		padding: 24px;
	}

	.contact-location-card__details div {
		display: block;
	}

	.contact-location-card__details a,
	.contact-location-card__details strong {
		display: block;
		margin-top: 4px;
		text-align: left;
	}
}

/* =========================================
   LOCATIONS PAGE
========================================= */

.locations-hero {
	padding: 110px 0 55px;
	border-bottom: 1px solid var(--asa-line);
	background:
		radial-gradient(
			circle at 85% 20%,
			rgba(var(--asa-primary-rgb), 0.18),
			transparent 28%
		),
		#0b0b0b;
}

.locations-hero .asa-copy {
	margin-top: 20px;
}

.locations-page-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.location-page-card {
	min-height: 470px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 36px;
	border: 1px solid var(--asa-line);
	border-radius: 24px;
	background:
		linear-gradient(145deg, #1d1d1d, #101010);
}

.location-page-card__label {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--asa-orange);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.location-page-card h2 {
	margin: 0 0 18px;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.location-page-card__top p {
	color: var(--asa-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.location-page-card__info {
	display: grid;
	gap: 16px;
	margin: 34px 0;
	padding: 24px 0;
	border-top: 1px solid var(--asa-line);
	border-bottom: 1px solid var(--asa-line);
}

.location-page-card__info div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.location-page-card__info span {
	color: var(--asa-muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.location-page-card__info a,
.location-page-card__info strong {
	color: var(--asa-cream);
	text-align: right;
}

.location-page-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.locations-cta {
	padding: 70px 0;
	border-top: 1px solid var(--asa-line);
	background: #111;
}

.locations-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.locations-cta h2 {
	margin: 0;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	line-height: 0.9;
	text-transform: uppercase;
}

@media (max-width: 850px) {
	.locations-page-grid {
		grid-template-columns: 1fr;
	}

	.locations-cta__inner {
		display: block;
	}

	.locations-cta__inner .asa-btn {
		margin-top: 24px;
	}
}

@media (max-width: 600px) {
	.locations-hero {
		padding: 80px 0 40px;
	}

	.location-page-card {
		min-height: 0;
		padding: 24px;
	}

	.location-page-card__info div {
		display: block;
	}

	.location-page-card__info a,
	.location-page-card__info strong {
		display: block;
		margin-top: 4px;
		text-align: left;
	}
}

/* =========================================
   PRODUCT REQUEST PAGE
========================================= */

.product-request-hero {
	padding: 110px 0 55px;
	border-bottom: 1px solid var(--asa-line);
	background:
		radial-gradient(
			circle at 85% 20%,
			rgba(var(--asa-primary-rgb), 0.18),
			transparent 28%
		),
		#0b0b0b;
}

.product-request-hero .asa-copy {
	margin-top: 20px;
}

.product-request-section {
	padding: 80px 0;
}

.product-request-layout {
	display: grid;
	grid-template-columns:
		minmax(0, 0.85fr)
		minmax(0, 1.15fr);
	gap: 70px;
	align-items: start;
}

.product-request-copy h2 {
	margin: 0 0 18px;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.8rem, 5vw, 5rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.product-request-copy p {
	color: var(--asa-muted);
	max-width: 540px;
}

.product-request-note {
	margin-top: 28px;
	padding: 18px 20px;
	border: 1px solid var(--asa-line);
	border-radius: 16px;
	background: #151515;
}

.product-request-note strong,
.product-request-note span {
	display: block;
}

.product-request-note strong {
	color: var(--asa-muted);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.product-request-note span {
	margin-top: 5px;
	font-size: 18px;
	font-weight: 800;
}

@media (max-width: 850px) {
	.product-request-layout {
		grid-template-columns: 1fr;
		gap: 38px;
	}
}

@media (max-width: 600px) {
	.product-request-hero {
		padding: 80px 0 40px;
	}
}

.site-credit {
	color: #666;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.site-credit a,
.site-credit strong {
	color: #999;
	font-weight: 700;
	text-decoration: none;
}

.site-credit a:hover {
	color: var(--asa-orange);

}

/* =========================================
   FORM SYSTEM
========================================= */

.asa-contact-form,
#asa-product-request-form {
	width: 100%;
	margin: 0;
	padding: 30px;
	border: 1px solid var(--asa-line);
	border-radius: 22px;
	background: #171717;
	box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.asa-contact-form label,
#asa-product-request-form label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	color: var(--asa-cream);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.asa-contact-form input,
.asa-contact-form select,
.asa-contact-form textarea,
#asa-product-request-form input,
#asa-product-request-form select {
	display: block;
	width: 100% !important;
	min-width: 0;
	min-height: 52px;
	margin: 0 !important;
	padding: 13px 15px !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	border-radius: 12px !important;
	background-color: #0d0d0d !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 500;
	line-height: 1.35;
	outline: none;
	box-shadow: none !important;
	transition:
		border-color .18s ease,
		background .18s ease,
		box-shadow .18s ease;
}

.asa-contact-form textarea {
	min-height: 150px;
	resize: vertical;
}

.asa-contact-form input::placeholder,
.asa-contact-form textarea::placeholder,
#asa-product-request-form input::placeholder {
	color: #777;
	opacity: 1;
}

.asa-contact-form input:focus,
.asa-contact-form select:focus,
.asa-contact-form textarea:focus,
#asa-product-request-form input:focus,
#asa-product-request-form select:focus {
	border-color: var(--asa-orange) !important;
	background-color: #111 !important;
	box-shadow: 0 0 0 3px rgba(255,90,31,.12) !important;
}

.asa-contact-form select,
#asa-product-request-form select {
	appearance: none;
	-webkit-appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #999 50%),
		linear-gradient(135deg, #999 50%, transparent 50%);
	background-position:
		calc(100% - 18px) 21px,
		calc(100% - 13px) 21px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 42px !important;
}

.asa-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.asa-contact-form > label {
	margin-bottom: 16px;
}

.asa-contact-form .asa-btn,
#asa-product-request-form .asa-btn {
	width: 100%;
	min-height: 54px;
	margin-top: 4px;
}

.asa-contact-form__status,
#asa-product-request-status {
	min-height: 22px;
	margin: 0;
	color: var(--asa-muted);
	font-size: .9rem;
}

/* Contact */
.contact-form-layout {
	align-items: start;
}

.contact-help-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.contact-help-list span {
	padding: 8px 12px;
	border: 1px solid var(--asa-line);
	border-radius: 999px;
	background: #151515;
	color: var(--asa-muted);
	font-size: .72rem;
	font-weight: 800;
}

/* Product Request */
#asa-product-request-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

#asa-product-request-form label:first-of-type,
#asa-product-request-form button[type="submit"],
#asa-product-request-status {
	grid-column: 1 / -1;
}

#asa-product-request-form input,
#asa-product-request-form select {
	min-height: 54px;
}

#asa-product-request-form button[type="submit"] {
	min-height: 56px;
	margin: 4px 0 0 !important;
}

@media (max-width: 760px) {
	.asa-form-row,
	#asa-product-request-form {
		grid-template-columns: 1fr;
	}

	.asa-contact-form,
	#asa-product-request-form {
		padding: 22px;
	}

	#asa-product-request-form label:first-of-type,
	#asa-product-request-form button[type="submit"],
	#asa-product-request-status {
		grid-column: auto;
	}
}

/* =========================================
   CONTACT FORM ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â FINAL OVERRIDE
========================================= */

#asa-contact-form {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 30px !important;

	border: 1px solid var(--asa-line) !important;
	border-radius: 22px !important;

	background: #171717 !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22) !important;
}

#asa-contact-form .asa-form-row {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin-bottom: 16px !important;
}

#asa-contact-form label {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;

	margin: 0 0 16px !important;

	color: var(--asa-cream) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

#asa-contact-form input,
#asa-contact-form select,
#asa-contact-form textarea {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 52px !important;

	margin: 0 !important;
	padding: 13px 15px !important;

	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 12px !important;

	background: #0d0d0d !important;
	color: #fff !important;

	font-size: 1rem !important;
	font-weight: 500 !important;

	box-shadow: none !important;
	outline: none !important;
}

#asa-contact-form textarea {
	min-height: 150px !important;
	resize: vertical !important;
}

#asa-contact-form input:focus,
#asa-contact-form select:focus,
#asa-contact-form textarea:focus {
	border-color: var(--asa-orange) !important;
	background: #111 !important;
	box-shadow: 0 0 0 3px rgba(var(--asa-primary-rgb), 0.12) !important;
}

#asa-contact-form button[type="submit"] {
	width: 100% !important;
	min-height: 54px !important;
	margin-top: 4px !important;
}

@media (max-width: 760px) {
	#asa-contact-form .asa-form-row {
		grid-template-columns: 1fr !important;
	}

	#asa-contact-form {
		padding: 22px !important;
	}
}

/* =========================================
   NEW ARRIVALS PAGE
========================================= */

.new-arrivals-hero {
	padding: 110px 0 55px;
	border-bottom: 1px solid var(--asa-line);
	background:
		radial-gradient(
			circle at 85% 20%,
			rgba(var(--asa-primary-rgb), 0.18),
			transparent 28%
		),
		#0b0b0b;
}

.new-arrivals-hero .asa-copy {
	margin-top: 20px;
}

.new-arrivals-section {
	padding: 80px 0;
	background: var(--asa-black);
}

.new-arrivals-toolbar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 34px;
}

.new-arrivals-toolbar h2 {
	margin: 0;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.6rem, 5vw, 4.8rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.new-arrivals-grid {
	margin-top: 0 !important;
}

.new-arrivals-empty {
	padding: 50px;
	border: 1px solid var(--asa-line);
	border-radius: 22px;
	background: var(--asa-panel);
	text-align: center;
}

.new-arrivals-empty h3 {
	margin-top: 0;
	font-size: 2rem;
}

.new-arrivals-empty p {
	color: var(--asa-muted);
}

.new-arrivals-cta {
	padding: 70px 0;
	border-top: 1px solid var(--asa-line);
	background: #111;
}

.new-arrivals-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.new-arrivals-cta h2 {
	margin: 0;
	font-family: Impact, Haettenschweiler,
		"Arial Narrow Bold", sans-serif;
	font-size: clamp(2.6rem, 5vw, 4.8rem);
	line-height: 0.9;
	text-transform: uppercase;
}

@media (max-width: 850px) {
	.new-arrivals-toolbar,
	.new-arrivals-cta__inner {
		display: block;
	}

	.new-arrivals-toolbar .asa-btn,
	.new-arrivals-cta__inner .asa-btn {
		margin-top: 24px;
	}
}

@media (max-width: 600px) {
	.new-arrivals-hero {
		padding: 80px 0 40px;
	}

	.new-arrivals-section {
		padding: 60px 0;
	}
}

/* =========================================
   NEW ARRIVALS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â TIGHTER PRODUCT GRID
========================================= */

.new-arrivals-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.new-arrivals-grid li.product {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.new-arrivals-grid li.product a img {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	max-height: 280px !important;
	background: #f5f5f5 !important;
}

@media (max-width: 1000px) {
	.new-arrivals-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.new-arrivals-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	.new-arrivals-grid {
		grid-template-columns: 1fr !important;
	}
}

.new-arrivals-grid {
	list-style: none !important;
}

.new-arrivals-grid li {
	list-style: none !important;
}

.new-arrivals-grid li::marker {
	content: "" !important;
}

.footer-legal-links {
	display: flex;
	align-items: center;
	gap: 8px;
}

.footer-legal-links a {
	color: inherit;
}

.footer-legal-links a:hover {
	color: var(--asa-orange);
}

/* ========================================
   CUSTOMER WELCOME
======================================== */

.asa-welcome {
	display: flex;
	align-items: center;
	gap: 10px;

	margin: 0 0 22px;

	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asa-welcome__label {
	color: var(--asa-orange);
}

.asa-welcome__name {
	color: var(--asa-cream);
}

/* =========================================
   SHOP PAGE
========================================= */

.shop-hero {
	padding: 90px 0 52px;
	border-bottom: 1px solid var(--asa-line);

	background:
		radial-gradient(
			circle at 85% 10%,
			rgba(var(--asa-primary-rgb), 0.17),
			transparent 30%
		),
		#0b0b0b;
}

.shop-hero .asa-copy {
	max-width: 720px;
	margin-top: 18px;
}


/* =========================================
   SHOP CATALOG
========================================= */

.shop-catalog {
	padding: 65px 0 90px;
	background: var(--asa-black);
}


/* =========================================
   TOOLBAR
========================================= */

.shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 24px;
	margin-bottom: 32px;
}

.shop-toolbar__left {
	display: flex;
	align-items: center;
	gap: 18px;
}

.shop-toolbar__right {
	margin-left: auto;
}

.shop-result-count {
	margin: 0;

	color: var(--asa-muted);
	font-size: 0.88rem;
	font-weight: 700;
}


/* =========================================
   STORE SELECTOR
========================================= */

.shop-store-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	min-height: 42px;
	padding: 9px 14px;

	border: 1px solid var(--asa-line);
	border-radius: 999px;

	background: #151515;
	color: var(--asa-cream);

	cursor: pointer;
}

.shop-store-button span {
	color: var(--asa-muted);

	font-size: 0.72rem;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.shop-store-button strong {
	color: var(--asa-orange);

	font-size: 0.8rem;
	font-weight: 900;
}

.shop-store-button:hover {
	border-color: var(--asa-orange);
}


/* =========================================
   WOO SORTING
========================================= */

.shop-toolbar .woocommerce-ordering {
	margin: 0 !important;
	float: none !important;
}

.shop-toolbar .woocommerce-ordering select {
	min-width: 210px;
	min-height: 46px;

	padding: 10px 42px 10px 14px;

	border: 1px solid var(--asa-line);
	border-radius: 12px;

	background: #151515;
	color: var(--asa-cream);

	font-size: 0.85rem;

	outline: none;
}


/* =========================================
   PRODUCT GRID
========================================= */

.woocommerce ul.products.asa-shop-grid,
.asa-shop-grid {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 22px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}

.asa-shop-grid li.product {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 18px !important;

	overflow: hidden;

	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;

	background: #fff !important;
	color: #111 !important;
}

.asa-shop-grid li.product::marker {
	content: "";
}


/* =========================================
   PRODUCT IMAGE
========================================= */

.asa-shop-grid li.product img {
	display: block !important;

	width: 100% !important;
	height: auto !important;

	aspect-ratio: 1 / 1;

	margin: 0 !important;

	object-fit: contain;

	background: #f4f5f5;
}


/* =========================================
   PRODUCT TITLE
========================================= */

.asa-shop-grid
li.product
.woocommerce-loop-product__title {
	margin: 0 !important;

	padding: 16px 17px 5px !important;

	color: #111 !important;

	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.3 !important;
}


/* =========================================
   PRODUCT PRICE
========================================= */

.asa-shop-grid li.product .price {
	display: block !important;

	margin: 0 !important;
	padding: 0 17px 10px !important;

	color: #111 !important;

	font-size: 0.92rem !important;
	font-weight: 900 !important;
}

.asa-shop-grid li.product .price del {
	opacity: 0.45;
}

.asa-shop-grid li.product .price ins {
	text-decoration: none;
}


/* =========================================
   AVAILABILITY
========================================= */

.asa-shop-grid .asa-product-card__body {
	padding: 0 17px !important;
}

.asa-shop-grid .asa-availability {
	margin-top: 7px !important;

	padding-top: 12px !important;

	border-top: 1px solid rgba(0, 0, 0, 0.1);

	color: #555 !important;

	font-size: 0.76rem !important;
	line-height: 1.55 !important;
}

.asa-shop-grid .asa-availability strong {
	color: #13743d !important;
	font-weight: 900 !important;
}


/* =========================================
   PRODUCT BUTTON
========================================= */

.asa-shop-grid li.product .button {
	align-self: flex-start;

	margin:
		auto
		17px
		0 !important;

	min-height: 42px;

	padding:
		11px
		17px !important;

	border: 0 !important;
	border-radius: 999px !important;

	background:
		var(--asa-orange) !important;

	color: #fff !important;

	font-size: 0.72rem !important;
	font-weight: 900 !important;

	text-transform: uppercase;

	box-shadow: none !important;
}

.asa-shop-grid li.product .button:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
}


/* =========================================
   SALE BADGE
========================================= */

.asa-shop-grid
li.product
.onsale {
	top: 12px !important;
	left: 12px !important;
	right: auto !important;

	min-width: auto !important;
	min-height: auto !important;

	margin: 0 !important;

	padding:
		6px
		10px !important;

	border-radius: 999px !important;

	background:
		var(--asa-orange) !important;

	color: #fff !important;

	font-size: 0.65rem !important;
	font-weight: 900 !important;

	line-height: 1 !important;
}


/* =========================================
   PAGINATION
========================================= */

.asa-shop-pagination {
	margin-top: 46px;
}

.asa-shop-pagination
.woocommerce-pagination {
	text-align: center;
}

.asa-shop-pagination
.page-numbers {
	display: flex !important;
	justify-content: center;

	gap: 7px;

	border: 0 !important;
}

.asa-shop-pagination
.page-numbers
li {
	border: 0 !important;
}

.asa-shop-pagination
.page-numbers
a,
.asa-shop-pagination
.page-numbers
span {
	display: flex !important;

	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	border: 1px solid var(--asa-line) !important;
	border-radius: 10px;

	background: #151515 !important;
	color: var(--asa-cream) !important;
}

.asa-shop-pagination
.page-numbers
.current {
	border-color:
		var(--asa-orange) !important;

	background:
		var(--asa-orange) !important;

	color: #fff !important;
}


/* =========================================
   EMPTY SHOP
========================================= */

.shop-empty {
	padding: 60px;

	border: 1px solid var(--asa-line);
	border-radius: 20px;

	background: var(--asa-panel);

	text-align: center;
}

.shop-empty h2 {
	margin:
		8px
		0
		12px;

	font-family:
		Impact,
		Haettenschweiler,
		"Arial Narrow Bold",
		sans-serif;

	font-size:
		clamp(
			2.4rem,
			5vw,
			4.5rem
		);

	text-transform: uppercase;
}

.shop-empty p {
	color: var(--asa-muted);
}


/* =========================================
   REMOVE DEFAULT WOO FLOATS
========================================= */

.woocommerce
.products
ul::after,

.woocommerce
ul.products::after,

.woocommerce
.products
ul::before,

.woocommerce
ul.products::before {
	display: none !important;
	content: none !important;
}

.woocommerce
ul.products
li.product {
	float: none !important;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

	.woocommerce ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns:
			repeat(3, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 820px) {

	.shop-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.shop-toolbar__left {
		align-items: flex-start;
		flex-direction: column;
	}

	.shop-toolbar__right {
		width: 100%;
		margin-left: 0;
	}

	.shop-toolbar
	.woocommerce-ordering,
	.shop-toolbar
	.woocommerce-ordering
	select {
		width: 100%;
	}

	.woocommerce ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 540px) {

	.shop-hero {
		padding:
			70px
			0
			38px;
	}

	.shop-catalog {
		padding:
			45px
			0
			70px;
	}

	.woocommerce ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns:
			1fr !important;

		gap: 18px !important;
	}

}

/* SHOP PAGE ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â COMPACT HEADER */

.post-type-archive-product .shop-hero {
	padding: 58px 0 30px !important;
}

.post-type-archive-product .shop-catalog {
	padding-top: 30px !important;
}

.post-type-archive-product .shop-hero .asa-title {
	margin: 0 !important;
	line-height: 0.9;
}

/* Smaller product imagery */
.post-type-archive-product .asa-shop-grid li.product img {
	aspect-ratio: 1 / 0.82 !important;
	object-fit: contain !important;
	padding: 18px !important;
	box-sizing: border-box;
}

/* Keep cards consistent */
.post-type-archive-product .asa-shop-grid li.product {
	min-width: 0 !important;
}

/* Tighter card typography */
.post-type-archive-product
.asa-shop-grid
li.product
.woocommerce-loop-product__title {
	font-size: 0.95rem !important;
	line-height: 1.25 !important;
}

/* Remove WooCommerce add-to-cart button from catalog */
.post-type-archive-product
.asa-shop-grid
li.product
.add_to_cart_button {
	display: none !important;
}

/* =========================================================
   FULL SHOP EXPERIENCE
========================================================= */

.shop-hero {
	padding: 64px 0 48px;
	border-bottom: 1px solid var(--asa-line);
	background:
		radial-gradient(
			circle at 85% 25%,
			rgba(var(--asa-primary-rgb), .20),
			transparent 32%
		),
		#0b0b0b;
}

.shop-hero__content {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 50px;
}

.shop-hero .asa-copy {
	max-width: 700px;
	margin-top: 18px;
}

.shop-hero-store {
	min-width: 220px;
	padding: 18px 20px;
	border: 1px solid var(--asa-line);
	border-radius: 16px;
	background: #151515;
	color: var(--asa-cream);
	text-align: left;
	cursor: pointer;
}

.shop-hero-store span,
.shop-hero-store small {
	display: block;
	color: var(--asa-muted);
}

.shop-hero-store span {
	margin-bottom: 5px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.shop-hero-store strong {
	display: block;
	color: var(--asa-orange);
	font-size: 18px;
}

.shop-hero-store small {
	margin-top: 7px;
	font-size: 11px;
}


/* Catalog */

.shop-catalog {
	padding: 45px 0 90px;
	background: var(--asa-black);
}


/* Main filter panel */

.shop-filter-panel {
	margin-bottom: 34px;
	padding: 22px;
	border: 1px solid var(--asa-line);
	border-radius: 18px;
	background: #151515;
}

.shop-filter-form {
	display: grid;
	gap: 18px;
}


/* Search */

.shop-search-field > label {
	display: block;
	margin-bottom: 8px;
	color: var(--asa-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.shop-search-control {
	display: flex;
	gap: 10px;
}

.shop-search-control input {
	flex: 1;
	min-width: 0;
	min-height: 54px;
	padding: 0 17px;
	border: 1px solid var(--asa-line);
	border-radius: 12px;
	background: #0c0c0c;
	color: #fff;
	font-size: 16px;
	outline: none;
}

.shop-search-control input:focus {
	border-color: var(--asa-orange);
	box-shadow:
		0 0 0 3px
		rgba(255,90,31,.11);
}

.shop-search-control button {
	min-width: 120px;
	padding: 0 20px;
	border: 0;
	border-radius: 12px;
	background: var(--asa-orange);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}


/* Filters */

.shop-filter-fields {
	display: grid;
	grid-template-columns:
		repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.shop-filter-fields label {
	min-width: 0;
}

.shop-filter-fields label > span {
	display: block;
	margin-bottom: 7px;
	color: var(--asa-muted);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.shop-filter-fields select {
	width: 100%;
	min-height: 48px;
	padding: 0 40px 0 13px;
	border: 1px solid var(--asa-line);
	border-radius: 11px;
	background: #0c0c0c;
	color: #fff;
	outline: none;
}

.shop-filter-fields select:focus {
	border-color: var(--asa-orange);
}


/* Filter actions */

.shop-filter-actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.shop-filter-actions .asa-btn {
	min-height: 46px;
}

.shop-clear-filters {
	color: var(--asa-muted);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.shop-clear-filters:hover {
	color: var(--asa-orange);
}


/* Results header */

.shop-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.shop-result-count {
	margin: 0;
	color: var(--asa-cream);
	font-size: 16px;
}

.shop-result-count strong {
	font-size: 20px;
}

.shop-result-store {
	margin: 5px 0 0;
	color: var(--asa-muted);
	font-size: 12px;
}

.shop-result-store strong {
	color: var(--asa-orange);
}

.shop-change-store {
	padding: 10px 15px;
	border: 1px solid var(--asa-line);
	border-radius: 999px;
	background: transparent;
	color: var(--asa-cream);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	cursor: pointer;
}

.shop-change-store:hover {
	border-color: var(--asa-orange);
}


/* Product grid */

.woocommerce ul.products.asa-shop-grid,
.asa-shop-grid {
	display: grid !important;
	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.asa-shop-grid li.product {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 18px !important;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 16px;
	background: #fff !important;
	color: #111 !important;
	transition:
		transform .18s ease,
		box-shadow .18s ease;
}

.asa-shop-grid li.product:hover {
	transform: translateY(-3px);
	box-shadow:
		0 18px 40px
		rgba(0,0,0,.28);
}

.asa-shop-grid li.product[hidden] {
	display: none !important;
}

.asa-shop-grid li.product::marker {
	content: "";
}


/* Images */

.asa-shop-grid li.product img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / .84;
	margin: 0 !important;
	padding: 18px !important;
	object-fit: contain !important;
	box-sizing: border-box;
	background: #f3f5f5;
}


/* Product title */

.asa-shop-grid
.woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 15px 17px 5px !important;
	color: #111 !important;
	font-size: .96rem !important;
	font-weight: 900 !important;
	line-height: 1.28 !important;
}


/* Price */

.asa-shop-grid .price {
	display: block !important;
	margin: 0 !important;
	padding: 0 17px 10px !important;
	color: #111 !important;
	font-size: .9rem !important;
	font-weight: 900 !important;
}

.asa-shop-grid .price ins {
	text-decoration: none;
}


/* Availability */

.asa-shop-grid
.asa-product-card__body {
	padding: 0 17px !important;
}

.asa-shop-grid
.asa-availability {
	margin-top: 6px !important;
	padding-top: 11px !important;
	border-top:
		1px solid rgba(0,0,0,.09);
	color: #555 !important;
	font-size: .75rem !important;
	line-height: 1.5 !important;
}

.asa-shop-grid
.asa-availability strong {
	color: #11783d !important;
	font-weight: 900 !important;
}


/* Buttons */

.asa-shop-grid
li.product
.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-height: 43px;
	margin:
		auto
		17px
		0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background:
		var(--asa-orange) !important;
	color: #fff !important;
	font-size: .7rem !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

.asa-shop-grid
li.product
.button:hover {
	filter: brightness(1.05);
}


/* Pagination */

.asa-shop-pagination {
	margin-top: 45px;
}

.asa-shop-pagination
.woocommerce-pagination {
	text-align: center;
}

.asa-shop-pagination
ul.page-numbers {
	display: flex !important;
	justify-content: center;
	gap: 7px;
	border: 0 !important;
}

.asa-shop-pagination
ul.page-numbers li {
	border: 0 !important;
}

.asa-shop-pagination
.page-numbers a,
.asa-shop-pagination
.page-numbers span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border:
		1px solid var(--asa-line) !important;
	border-radius: 10px;
	background: #151515 !important;
	color: #fff !important;
}

.asa-shop-pagination
.page-numbers .current {
	border-color:
		var(--asa-orange) !important;
	background:
		var(--asa-orange) !important;
}


/* Client-side empty result */

.shop-filter-empty,
.shop-empty {
	margin-top: 30px;
	padding: 55px;
	border: 1px solid var(--asa-line);
	border-radius: 20px;
	background: #151515;
	text-align: center;
}

.shop-filter-empty h2,
.shop-empty h2 {
	margin: 8px 0 12px;
	font-family:
		Impact,
		Haettenschweiler,
		"Arial Narrow Bold",
		sans-serif;
	font-size:
		clamp(2.4rem,5vw,4rem);
	text-transform: uppercase;
}

.shop-filter-empty p,
.shop-empty p {
	color: var(--asa-muted);
}


/* Request CTA */

.shop-request-strip {
	padding: 70px 0;
	border-top: 1px solid var(--asa-line);
	background:
		linear-gradient(
			135deg,
			#141414,
			#0b0b0b
		);
}

.shop-request-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.shop-request-strip h2 {
	margin: 5px 0 10px;
	font-family:
		Impact,
		Haettenschweiler,
		"Arial Narrow Bold",
		sans-serif;
	font-size:
		clamp(2.8rem,5vw,5rem);
	line-height: .92;
	text-transform: uppercase;
}

.shop-request-strip p:not(.asa-eyebrow) {
	max-width: 650px;
	color: var(--asa-muted);
}


/* Kill Woo floats */

.woocommerce
ul.products::before,
.woocommerce
ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce
ul.products
li.product {
	float: none !important;
}


/* Responsive */

@media (max-width: 1100px) {
	.shop-filter-fields {
		grid-template-columns:
			repeat(2, minmax(0,1fr));
	}

	.woocommerce
	ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns:
			repeat(3, minmax(0,1fr)) !important;
	}
}

@media (max-width: 820px) {
	.shop-hero__content,
	.shop-request-strip__inner {
		align-items: stretch;
		flex-direction: column;
	}

	.shop-hero-store {
		width: 100%;
	}

	.woocommerce
	ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns:
			repeat(2, minmax(0,1fr)) !important;
	}
}

@media (max-width: 620px) {
	.shop-filter-fields {
		grid-template-columns: 1fr;
	}

	.shop-search-control {
		flex-direction: column;
	}

	.shop-search-control button {
		min-height: 48px;
	}

	.shop-results-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.shop-filter-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.shop-filter-actions .asa-btn {
		width: 100%;
	}

	.woocommerce
	ul.products.asa-shop-grid,
	.asa-shop-grid {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================
   A SMOKE ABOVE ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â GREEN + RED COLOR OVERRIDE
========================================= */

:root {
	/* Orange -> Green */
	--asa-orange: #22c55e;
	--asa-orange-dark: #15803d;

	/* Keep existing system colors */
	--asa-success: #22c55e;
}

/* Blue -> Red */
.site-brand span,
.footer-title span {
	color: #e11d2e !important;
}

/* Replace old orange glow backgrounds with green */
.hero {
	background:
		linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.72) 52%, rgba(0,0,0,.3) 100%),
		radial-gradient(circle at 78% 32%, rgba(var(--asa-primary-rgb),.34), transparent 25%),
		linear-gradient(145deg, #111 10%, #2b2b2b 48%, #090909 80%);
}

.shop-hero,
.contact-hero,
.locations-hero,
.product-request-hero,
.new-arrivals-hero {
	background:
		radial-gradient(
			circle at 85% 20%,
			rgba(var(--asa-primary-rgb),.18),
			transparent 28%
		),
		#0b0b0b;
}

/* Green focus glow */
.asa-contact-form input:focus,
.asa-contact-form select:focus,
.asa-contact-form textarea:focus,
#asa-product-request-form input:focus,
#asa-product-request-form select:focus,
#asa-contact-form input:focus,
#asa-contact-form select:focus,
#asa-contact-form textarea:focus {
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(var(--asa-primary-rgb),.12) !important;
}

/* Green hover glow on cards */
.store-card:hover {
	border-color: rgba(var(--asa-primary-rgb),.7);
}

.category-card::before {
	background: radial-gradient(circle, rgba(var(--asa-primary-rgb),.43), transparent 68%);
}

/* =========================================
   FEATURED BRANDS Ã¢â‚¬â€ 3D ORBIT
========================================= */

.featured-brands {
	position: relative;
	overflow: hidden;

	padding: 95px 0 80px;

	border-bottom: 1px solid var(--asa-line);

	background:
		radial-gradient(
			circle at 50% 50%,
			rgba(var(--asa-primary-rgb), .12),
			transparent 42%
		),
		#090909;
}

.featured-brands__heading {
	position: relative;
	z-index: 5;

	max-width: 700px;

	margin-bottom: 25px;
}

.featured-brands__heading .asa-copy {
	margin-top: 12px;
}


/* 3D viewport */

.brand-stage {
	position: relative;
	height: 390px;
	perspective: 1100px;
	perspective-origin: 50% 50%;
	overflow: hidden;
}

.brand-orbit {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
}

.brand-orbit__item {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 240px;
	height: 190px;

	display: flex;
	align-items: center;
	justify-content: center;

	transform-style: preserve-3d;

	will-change:
		transform,
		opacity,
		filter;

	backface-visibility: hidden;
}

.brand-stage::before {
	content: "";

	position: absolute;
	z-index: 3;

	left: 50%;
	bottom: 35px;

	width: 420px;
	height: 60px;

	transform:
		translateX(-50%);

	border-radius: 50%;

	background:
		radial-gradient(
			ellipse,
			rgba(var(--asa-primary-rgb), .17),
			transparent 70%
		);

	filter: blur(12px);

	pointer-events: none;
}

.brand-orbit__item a,
.brand-orbit__link {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 220px;
	height: 160px;

	padding: 30px;

	border:
		1px solid
		rgba(255,255,255,.09);

	border-radius: 24px;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.075),
			rgba(255,255,255,.015)
		);

	box-shadow:
		0 30px 80px
		rgba(0,0,0,.45);

	backdrop-filter:
		blur(8px);

	text-decoration: none;

	transition:
		border-color .25s ease,
		background .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.brand-orbit__item img {
	display: block;

	max-width: 100%;
	max-height: 100%;

	object-fit: contain;

	filter:
		drop-shadow(
			0 12px 20px
			rgba(0,0,0,.4)
		);

	user-select: none;
}


/* Hover */

.brand-orbit__item a:hover,
.brand-orbit__link:hover {
	border-color:
		var(--asa-orange);

	background:
		rgba(255,255,255,.09);

	transform:
		translateZ(15px)
		scale(1.04);

	box-shadow:
		0 35px 90px
		rgba(0,0,0,.55);
}


/* Controls */

.brand-stage__controls {
	display: flex;

	align-items: center;
	justify-content: center;

	gap: 20px;

	margin-top: -5px;
}

.brand-stage__controls button {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	padding: 0;

	border:
		1px solid
		var(--asa-line);

	border-radius: 50%;

	background: #151515;
	color: var(--asa-cream);

	font-size: 20px;

	cursor: pointer;

	transition:
		background .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.brand-stage__controls button:hover {
	border-color:
		var(--asa-orange);

	background:
		var(--asa-orange);

	color: #fff;

	transform:
		scale(1.08);
}

.brand-stage__status {
	display: flex;

	gap: 6px;

	min-width: 70px;

	justify-content: center;

	color: var(--asa-muted);

	font-size: 11px;
	font-weight: 900;

	letter-spacing: .12em;
}

.brand-stage__status
[data-brand-current] {
	color:
		var(--asa-orange);
}


/* Mobile */

@media (max-width: 760px) {

	.featured-brands {
		padding:
			70px
			0
			60px;
	}

	.brand-stage {
		height: 320px;

		perspective:
			850px;
	}

	.brand-orbit {
		width: 190px;
		height: 150px;
	}

	.brand-orbit__item a,
	.brand-orbit__link {
		width: 180px;
		height: 135px;

		padding: 24px;
	}

}

/* =========================================================
   A SMOKE ABOVE Ã¢â‚¬â€ CINEMATIC BRAND HERO
   ========================================================= */

.hero--brand {
	position: relative;
	min-height: 680px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 50% 40%,
			rgba(108, 160, 0, 0.09),
			transparent 42%
		),
		#050505;
	isolation: isolate;
}

/* Ambient green glow behind hero */
.hero__brand-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse at 50% 55%,
			rgba(111, 168, 0, 0.10) 0%,
			rgba(0, 0, 0, 0) 58%
		),
		linear-gradient(
			180deg,
			#050505 0%,
			#080a06 50%,
			#050505 100%
		);
}

/* Subtle texture */
.hero__brand-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.12;
	background-image:
		linear-gradient(
			rgba(255,255,255,0.025) 1px,
			transparent 1px
		);
	background-size: 100% 4px;
	pointer-events: none;
}

.hero__inner--brand {
	width: 100%;
	padding-top: 70px;
	padding-bottom: 42px;
}

/* Welcome user */
.asa-welcome--hero {
	margin-bottom: 26px;
	position: relative;
	z-index: 4;
}

/* Main banner */
.hero__brand-content {
	width: min(1100px, 100%);
	margin: 0 auto;
	text-align: center;
	position: relative;
}

.hero__brand-image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;

	filter:
		drop-shadow(0 20px 45px rgba(0, 0, 0, 0.75))
		drop-shadow(0 0 30px rgba(157, 190, 55, 0.07));

	transform: translateZ(0);

	animation:
		asaHeroArrival 900ms cubic-bezier(.16,1,.3,1) both,
		asaHeroFloat 8s ease-in-out 1s infinite;
}

/* Copy beneath artwork */
.hero__brand-copy {
	max-width: 680px;
	margin: 26px auto 0;

	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.55;
	color: rgba(255,255,255,0.76);
}

/* Buttons */
.hero__actions--brand {
	justify-content: center;
	margin-top: 28px;
}

/* Bottom information */
.hero__meta--brand {
	margin-top: 50px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,0.10);
}

/* Entrance */
@keyframes asaHeroArrival {
	from {
		opacity: 0;
		transform: translateY(22px) scale(.985);
		filter:
			blur(5px)
			drop-shadow(0 20px 45px rgba(0,0,0,.75));
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
		filter:
			blur(0)
			drop-shadow(0 20px 45px rgba(0,0,0,.75));
	}
}

/* Barely moving Ã¢â‚¬â€ expensive, not corny */
@keyframes asaHeroFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-5px);
	}
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

	.hero--brand {
		min-height: auto;
	}

	.hero__inner--brand {
		padding-top: 45px;
		padding-bottom: 30px;
	}

	.hero__brand-image {
		width: 115%;
		max-width: none;
		margin-left: -7.5%;
	}

	.hero__brand-copy {
		font-size: 16px;
		padding: 0 10px;
	}

	.hero__actions--brand {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.hero__actions--brand .asa-btn {
		width: 100%;
		justify-content: center;
	}

	.hero__meta--brand {
		margin-top: 35px;
	}

}


/* Respect accessibility settings */
@media (prefers-reduced-motion: reduce) {

	.hero__brand-image {
		animation: none;
	}

}
/* =========================================
   CUSTOM SINGLE PRODUCT
========================================= */
.asa-single-product {
	padding: 46px 0 90px;
}

.asa-product-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 26px;
	color: var(--asa-muted);
	font-size: .82rem;
}

.asa-product-breadcrumb a {
	color: var(--asa-muted);
	text-decoration: none;
}

.asa-product-breadcrumb a:hover { color: var(--asa-cream); }

.woocommerce .asa-product-detail {
	display: grid;
	grid-template-columns: minmax(360px, 540px) minmax(0, 1fr);
	gap: clamp(42px, 7vw, 96px);
	align-items: center;
}

.asa-product-gallery__frame {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 560px;
	padding: clamp(32px, 5vw, 68px);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 26px;
	background: #f2f0eb;
	overflow: hidden;
}

.asa-product-gallery__zoom {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.asa-product-gallery__image {
	display: block;
	width: 100%;
	max-width: 390px;
	max-height: 430px;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.asa-product-summary { max-width: 620px; }

.woocommerce .asa-product-summary .product_title {
	margin: 8px 0 22px;
	font-size: clamp(3.5rem, 6vw, 6.8rem);
	letter-spacing: -.025em;
}

.asa-product-taxonomy {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}

.asa-product-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	border: 1px solid var(--asa-line);
	border-radius: 999px;
	color: var(--asa-cream);
	font-size: .82rem;
	font-weight: 800;
	text-decoration: none;
}

.asa-product-chip span {
	color: var(--asa-muted);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.asa-product-summary .asa-single-stock {
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid var(--asa-line);
	border-bottom: 1px solid var(--asa-line);
	font-size: .92rem;
}

.asa-product-summary .asa-single-stock strong {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 1rem;
}

.asa-product-actions {
	display: flex;
	gap: 10px;
	margin: 24px 0 32px;
}

.asa-product-actions .asa-btn {
	min-height: 50px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}

.asa-btn--ghost {
	border: 1px solid var(--asa-line);
	background: transparent;
	color: var(--asa-cream);
}

.asa-product-description {
	margin-top: 8px;
	padding-top: 4px;
	color: #c9c5bd;
	line-height: 1.7;
}

.asa-product-description h2 {
	margin: 0 0 10px;
	color: var(--asa-cream);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.asa-product-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--asa-line);
	color: var(--asa-muted);
	font-size: .78rem;
}

.asa-product-meta span { display: grid; gap: 3px; }
.asa-product-meta small {
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.asa-single-product { padding-top: 28px; }
	.woocommerce .asa-product-detail { grid-template-columns: 1fr; gap: 34px; }
	.asa-product-gallery__frame { min-height: 430px; }
	.asa-product-summary { max-width: none; }
	.woocommerce .asa-product-summary .product_title { font-size: clamp(3.2rem, 14vw, 5.5rem); }
}

@media (max-width: 560px) {
	.asa-product-gallery__frame { min-height: 360px; padding: 28px; border-radius: 20px; }
	.asa-product-gallery__image { max-height: 310px; }
	.asa-product-actions { flex-direction: column; }
	.asa-product-actions .asa-btn { width: 100%; justify-content: center; }
}

/* Staff-only barcode on product cards */

.woocommerce ul.products li.product {
	position: relative;
}

.asa-staff-barcode {
	position: absolute;
	right: 12px;
	bottom: 12px;

	width: 105px;
	padding: 5px 6px;

	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 5px;

	z-index: 10;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.asa-staff-barcode svg {
	display: block;
	width: 100%;
	height: 28px;
}

.asa-staff-barcode span {
	font-family: monospace;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	color: #111;
	white-space: nowrap;
}

/* =========================================
   STAFF PRODUCT CARD BARCODES
   ========================================= */

.asa-shop-grid > li.product {
	position: relative;
}

.asa-staff-barcode {
	position: absolute;
	right: 12px;
	top: 12px;

	width: 108px;
	height:max-content;
	padding: 6px;

	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 5px;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);

	z-index: 20;
}

.asa-staff-barcode svg {
	display: block;

	width: 100%;
	height: 28px;
}

.asa-staff-barcode__number {
	display: block;

	margin-top: 3px;

	font-family: monospace;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;

	color: #111;
	text-align: center;
	white-space: nowrap;
}
/* Gallery-first variable products */
.asa-variation-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:650px;padding:14px;overflow:auto;border:1px solid var(--asa-line);border-radius:26px;background:#111}
.asa-variation-tile{position:relative;display:flex;flex-direction:column;gap:7px;padding:10px;border:2px solid transparent;border-radius:18px;background:#f2f0eb;color:#111;text-align:left;cursor:pointer;transition:.18s ease}
.asa-variation-tile:hover,.asa-variation-tile.is-selected{border-color:#ff5a1f;transform:translateY(-2px)}
.asa-variation-tile img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:12px;background:#fff}
.asa-variation-tile span{font-weight:900;font-size:.9rem}.asa-variation-tile small{font-weight:800}.asa-variation-tile em{position:absolute;top:18px;right:18px;padding:5px 8px;border-radius:999px;background:#111;color:#fff;font-size:.65rem;font-style:normal;text-transform:uppercase}
.asa-selected-item{display:grid;gap:3px;margin:18px 0 10px}.asa-selected-item small{color:var(--asa-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.asa-selected-item strong{font-size:1.15rem}
.asa-gallery-cart{display:flex;align-items:center;gap:10px}.asa-gallery-cart .quantity{margin:0!important}
@media(max-width:900px){.asa-variation-catalog{max-height:none}}@media(max-width:520px){.asa-variation-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px}.asa-variation-tile{padding:7px;border-radius:13px}}
