/* =========================================================
   ALMOST FORGET — main.css
   Ink black / bone white / acid lime / care-label mono
   ========================================================= */

:root {
	--af-ink:   #0A0A0B;
	--af-panel: #141416;
	--af-line:  #232327;
	--af-bone:  #EDEAE3;
	--af-ash:   #8B8B93;
	--af-lime:  #C6F211;
	--af-display: "Archivo", sans-serif;
	--af-body:    "Archivo", sans-serif;
	--af-mono:    "Space Mono", monospace;
	--af-max: 1280px;
	--af-pad: clamp(16px, 4vw, 48px);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
	background: var(--af-ink);
	color: var(--af-bone);
	font-family: var(--af-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--af-lime); outline-offset: 3px; }
ul { list-style: none; }

.af-lime { color: var(--af-lime); }

/* ---------- Ticker ---------- */
.af-ticker {
	background: var(--af-lime);
	color: var(--af-ink);
	overflow: hidden;
	white-space: nowrap;
	font-family: var(--af-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 7px 0;
}
.af-ticker-track {
	display: inline-flex;
	gap: 24px;
	animation: af-marquee 30s linear infinite;
}
.af-tick-sep { opacity: .55; }
@keyframes af-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ---------- Header ---------- */
.af-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10,10,11,.92);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--af-line);
}
.af-header-inner {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad);
	height: 64px;
	display: flex;
	align-items: center;
	gap: 28px;
}
.af-logo { display: flex; align-items: baseline; gap: 8px; }
.af-logo img { max-height: 40px; width: auto; }
.af-logo-mark {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 125%;
	font-size: 20px;
	color: var(--af-lime);
}
.af-logo-word {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 115%;
	font-size: 15px;
	letter-spacing: .06em;
}
.af-nav { margin-left: auto; }
.af-nav-list { display: flex; gap: 26px; }
.af-nav-list a {
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--af-ash);
	transition: color .15s;
}
.af-nav-list a:hover { color: var(--af-lime); }

.af-header-actions { display: flex; align-items: center; }
.af-cart {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .1em;
}
.af-cart-count {
	background: var(--af-lime);
	color: var(--af-ink);
	font-weight: 700;
	min-width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 11px;
}

/* Burger — mobile */
.af-burger { display: none; background: none; border: 0; cursor: pointer; width: 28px; height: 22px; position: relative; }
.af-burger span {
	position: absolute; left: 0; width: 100%; height: 2px;
	background: var(--af-bone); transition: transform .2s, opacity .2s;
}
.af-burger span:nth-child(1) { top: 0; }
.af-burger span:nth-child(2) { top: 10px; }
.af-burger span:nth-child(3) { top: 20px; }
.af-burger.is-open span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
.af-burger.is-open span:nth-child(2) { opacity: 0; }
.af-burger.is-open span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }

@media (max-width: 860px) {
	.af-burger { display: block; }
	.af-nav {
		position: fixed;
		inset: 64px 0 0 0;
		background: var(--af-ink);
		transform: translateX(-100%);
		transition: transform .25s ease;
		padding: 40px var(--af-pad);
	}
	.af-nav.is-open { transform: translateX(0); }
	.af-nav-list { flex-direction: column; gap: 22px; }
	.af-nav-list a { font-size: 18px; color: var(--af-bone); }
}

/* ---------- Buttons ---------- */
.af-btn {
	display: inline-block;
	font-family: var(--af-mono);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 14px 30px;
	border: 1px solid var(--af-bone);
	transition: all .15s;
	cursor: pointer;
	text-align: center;
}
.af-btn--lime {
	background: var(--af-lime);
	border-color: var(--af-lime);
	color: var(--af-ink);
}
.af-btn--lime:hover { background: transparent; color: var(--af-lime); }
.af-btn--ghost { background: transparent; color: var(--af-bone); }
.af-btn--ghost:hover { border-color: var(--af-lime); color: var(--af-lime); }

/* ---------- Hero ---------- */
.af-hero {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: clamp(40px, 8vw, 90px) var(--af-pad);
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 48px;
	align-items: center;
}
.af-hero-eyebrow, .af-page-eyebrow, .af-manifesto-eyebrow, .af-shop-eyebrow {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--af-ash);
	display: block;
	margin-bottom: 18px;
}
.af-hero-title, .af-page-title, .af-404-title {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 125%;
	text-transform: uppercase;
	line-height: .92;
	letter-spacing: -.01em;
}
.af-hero-title { font-size: clamp(56px, 9vw, 120px); }
.af-line { display: block; }
.af-line--outline {
	color: transparent;
	-webkit-text-stroke: 2px var(--af-lime);
}
.af-hero-sub, .af-page-sub {
	color: var(--af-ash);
	max-width: 440px;
	margin: 22px 0 30px;
	font-size: 16px;
}
.af-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

.af-hero-media { min-height: 420px; }
.af-hero-placeholder {
	height: 100%;
	min-height: 420px;
	background:
		repeating-linear-gradient(-45deg, transparent 0 18px, rgba(198,242,17,.05) 18px 19px),
		var(--af-panel);
	border: 1px solid var(--af-line);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.af-wolf-glyph { color: var(--af-lime); font-size: 34px; letter-spacing: .2em; }
.af-hero-placeholder-text {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .18em;
	color: var(--af-ash);
}

@media (max-width: 860px) {
	.af-hero { grid-template-columns: 1fr; }
	.af-hero-media { order: -1; min-height: 280px; }
	.af-hero-placeholder { min-height: 280px; }
}

/* ---------- Sections ---------- */
.af-section {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) var(--af-pad);
}
.af-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 34px;
	border-bottom: 1px solid var(--af-line);
	padding-bottom: 16px;
}
.af-section-title {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 120%;
	text-transform: uppercase;
	font-size: clamp(26px, 4vw, 44px);
	line-height: 1;
}
.af-section-link {
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--af-lime);
}

/* ---------- Care label (signature) ---------- */
.af-carelabel {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--af-ash);
	border: 1px dashed var(--af-line);
	padding: 18px 20px;
	display: inline-flex;
	flex-direction: column;
	gap: 8px;
	background: var(--af-panel);
}
.af-carelabel--block { display: flex; width: 100%; }
.af-carelabel-row { display: block; }

/* ---------- Collections ---------- */
.af-collections-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.af-collection-card {
	position: relative;
	aspect-ratio: 3/4;
	overflow: hidden;
	border: 1px solid var(--af-line);
	background: var(--af-panel);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 18px;
}
.af-collection-card img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: .75;
	transition: transform .35s, opacity .25s;
}
.af-collection-card:hover img { transform: scale(1.04); opacity: .95; }
.af-collection-fallback {
	position: absolute; inset: 0;
	background: repeating-linear-gradient(-45deg, transparent 0 14px, rgba(198,242,17,.04) 14px 15px);
}
.af-collection-name {
	position: relative;
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 115%;
	font-size: 18px;
	z-index: 1;
}
.af-collection-count {
	position: relative;
	font-family: var(--af-mono);
	font-size: 10px;
	letter-spacing: .15em;
	color: var(--af-lime);
	z-index: 1;
}
@media (max-width: 860px) { .af-collections-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Manifesto ---------- */
.af-manifesto {
	border-top: 1px solid var(--af-line);
	border-bottom: 1px solid var(--af-line);
	background: var(--af-panel);
}
.af-manifesto-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(50px, 8vw, 100px) var(--af-pad);
	text-align: center;
}
.af-manifesto-text {
	font-family: var(--af-display);
	font-weight: 700;
	font-stretch: 105%;
	font-size: clamp(22px, 3.4vw, 36px);
	line-height: 1.25;
	margin-bottom: 34px;
}
.af-manifesto-text em { font-style: italic; color: var(--af-ash); }

/* ---------- Spec bar ---------- */
.af-specs {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad) clamp(50px, 6vw, 80px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.af-spec {
	border: 1px solid var(--af-line);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.af-spec-key {
	font-family: var(--af-mono);
	font-size: 10px;
	letter-spacing: .2em;
	color: var(--af-lime);
}
.af-spec-val {
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--af-bone);
}
@media (max-width: 860px) { .af-specs { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Page hero (inner pages) ---------- */
.af-page-hero {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: clamp(50px, 7vw, 90px) var(--af-pad) clamp(30px, 4vw, 50px);
}
.af-page-hero--small { padding-bottom: 10px; }
.af-page-title { font-size: clamp(40px, 7vw, 84px); }
.af-page-sub { max-width: 560px; }

/* ---------- About ---------- */
.af-about-body {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad) clamp(50px, 6vw, 80px);
}
.af-about-grid {
	display: grid;
	grid-template-columns: 1.4fr .6fr;
	gap: 48px;
	align-items: start;
}
.af-about-text p { margin-bottom: 20px; color: var(--af-ash); max-width: 640px; }
.af-about-text .af-lede {
	color: var(--af-bone);
	font-size: 20px;
	font-weight: 600;
}
.af-about-text em { color: var(--af-lime); font-style: normal; }
@media (max-width: 860px) { .af-about-grid { grid-template-columns: 1fr; } }

/* ---------- Lookbook ---------- */
.af-lookbook {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad) 40px;
}
.af-lookbook-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}
.af-lookbook-grid .wp-block-gallery,
.af-lookbook-grid .wp-block-image,
.af-lookbook-grid figure { grid-column: span 6; margin: 0; }
.af-lookbook-grid > *:nth-child(3n+1) { grid-column: span 4; }
.af-lookbook-grid > *:nth-child(3n+2) { grid-column: span 2; }
.af-lookbook-grid > *:nth-child(3n)   { grid-column: span 3; }
.af-lookbook-grid img { width: 100%; height: 100%; object-fit: cover; border: 1px solid var(--af-line); }
.af-look-tile {
	aspect-ratio: 4/5;
	border: 1px dashed var(--af-line);
	background: var(--af-panel);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	grid-column: span 2 !important;
}
.af-look-num {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 125%;
	font-size: 34px;
	color: var(--af-line);
}
.af-look-note {
	font-family: var(--af-mono);
	font-size: 9px;
	letter-spacing: .18em;
	color: var(--af-ash);
}
.af-lookbook-cta { text-align: center; padding: 20px var(--af-pad) 80px; }
@media (max-width: 860px) {
	.af-lookbook-grid > * { grid-column: span 6 !important; }
	.af-look-tile { grid-column: span 3 !important; }
}

/* ---------- Size guide ---------- */
.af-size-section, .af-size-howto {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad) clamp(36px, 5vw, 60px);
}
.af-size-head {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 118%;
	text-transform: uppercase;
	font-size: clamp(20px, 3vw, 30px);
	margin-bottom: 20px;
}
.af-table-wrap { overflow-x: auto; }
.af-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--af-mono);
	font-size: 13px;
}
.af-table th, .af-table td {
	border: 1px solid var(--af-line);
	padding: 12px 16px;
	text-align: left;
}
.af-table th {
	background: var(--af-panel);
	color: var(--af-lime);
	font-size: 11px;
	letter-spacing: .15em;
}
.af-table td:first-child { color: var(--af-lime); font-weight: 700; }
.af-howto-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 26px;
}
.af-howto { border: 1px solid var(--af-line); padding: 20px; }
.af-howto-key {
	font-family: var(--af-mono);
	font-size: 10px;
	letter-spacing: .2em;
	color: var(--af-lime);
	display: block;
	margin-bottom: 10px;
}
.af-howto p { color: var(--af-ash); font-size: 14px; }
.af-size-note { font-family: var(--af-mono); font-size: 12px; color: var(--af-ash); }
.af-size-note a { color: var(--af-lime); text-decoration: underline; }
@media (max-width: 860px) { .af-howto-grid { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.af-contact {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 0 var(--af-pad) 80px;
}
.af-contact-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 40px;
	margin-bottom: 60px;
}
.af-channel {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border: 1px solid var(--af-line);
	padding: 20px;
	margin-bottom: 14px;
	transition: border-color .15s;
}
.af-channel:not(.af-channel--static):hover { border-color: var(--af-lime); }
.af-channel-key {
	font-family: var(--af-mono);
	font-size: 10px;
	letter-spacing: .2em;
	color: var(--af-lime);
}
.af-channel-val { font-family: var(--af-mono); font-size: 14px; }
.af-faq {
	border: 1px solid var(--af-line);
	margin-bottom: 12px;
}
.af-faq summary {
	cursor: pointer;
	padding: 18px 20px;
	font-family: var(--af-mono);
	font-size: 13px;
	letter-spacing: .06em;
	list-style: none;
}
.af-faq summary::-webkit-details-marker { display: none; }
.af-faq summary::after { content: "+"; float: right; color: var(--af-lime); }
.af-faq[open] summary::after { content: "–"; }
.af-faq p { padding: 0 20px 18px; color: var(--af-ash); font-size: 14px; }
@media (max-width: 860px) { .af-contact-grid { grid-template-columns: 1fr; } }

/* ---------- Generic page content ---------- */
.af-page-content {
	max-width: 780px;
	margin: 0 auto;
	padding: 20px var(--af-pad) 80px;
}
.af-page-content h2, .af-page-content h3 {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 115%;
	text-transform: uppercase;
	margin: 34px 0 14px;
}
.af-page-content p, .af-page-content li { color: var(--af-ash); margin-bottom: 14px; }
.af-page-content a { color: var(--af-lime); text-decoration: underline; }
.af-post-item { border-bottom: 1px solid var(--af-line); padding: 24px 0; }

/* ---------- 404 ---------- */
.af-404 {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: clamp(70px, 12vw, 140px) var(--af-pad);
	text-align: center;
}
.af-404-title { font-size: clamp(44px, 8vw, 100px); margin-bottom: 20px; }
.af-404 .af-page-sub { margin: 0 auto 30px; }

/* =========================================================
   WOOCOMMERCE
   ========================================================= */

.af-wc-wrap {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: clamp(30px, 5vw, 60px) var(--af-pad) 80px;
}
.af-shop-head { margin-bottom: 40px; }
.af-shop-title {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 122%;
	text-transform: uppercase;
	font-size: clamp(36px, 6vw, 72px);
	line-height: .95;
}

/* Result count + ordering */
.woocommerce-result-count,
.woocommerce-ordering {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--af-ash);
	margin-bottom: 24px;
}
.woocommerce-result-count { float: left; }
.woocommerce-ordering { float: right; }
.woocommerce-ordering select {
	background: var(--af-panel);
	color: var(--af-bone);
	border: 1px solid var(--af-line);
	padding: 8px 12px;
	font-family: var(--af-mono);
	font-size: 11px;
}

/* Product grid */
ul.products {
	clear: both;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
}
ul.products::before, ul.products::after { display: none; }
ul.products li.product { width: 100% !important; margin: 0 !important; float: none !important; }
@media (max-width: 860px) { ul.products { grid-template-columns: repeat(2, 1fr); } }

/* Card */
.af-card-link { display: block; }
.af-card-media {
	position: relative;
	aspect-ratio: 4/5;
	overflow: hidden;
	background: var(--af-panel);
	border: 1px solid var(--af-line);
	margin-bottom: 14px;
}
.af-card-media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.af-card:hover .af-card-media img { transform: scale(1.045); }
.af-card-hover {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	background: var(--af-lime);
	color: var(--af-ink);
	font-family: var(--af-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
	text-align: center;
	padding: 10px 0;
	transform: translateY(100%);
	transition: transform .22s ease;
}
.af-card:hover .af-card-hover { transform: translateY(0); }
.af-badge {
	position: absolute;
	top: 12px; left: 12px;
	z-index: 2;
	font-family: var(--af-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	padding: 5px 10px;
}
.af-badge--sale { background: var(--af-lime); color: var(--af-ink); }
.af-badge--soldout { background: var(--af-ink); color: var(--af-bone); border: 1px solid var(--af-line); }
.af-card-meta { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.af-card-title {
	font-family: var(--af-body);
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.af-card-price, .price {
	font-family: var(--af-mono);
	font-size: 13px;
	color: var(--af-lime);
	white-space: nowrap;
}
.price del { color: var(--af-ash); margin-right: 6px; }
.price ins { text-decoration: none; }

/* Pagination */
.woocommerce-pagination { margin-top: 44px; text-align: center; }
.woocommerce-pagination ul.page-numbers {
	display: inline-flex; gap: 8px; border: 0;
}
.woocommerce-pagination .page-numbers li { border: 0; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
	font-family: var(--af-mono);
	font-size: 12px;
	padding: 10px 16px;
	border: 1px solid var(--af-line);
	color: var(--af-ash);
	display: block;
}
.woocommerce-pagination .page-numbers span.current {
	background: var(--af-lime); color: var(--af-ink); border-color: var(--af-lime);
}

/* ---------- Single product ---------- */
.af-wc-wrap--product .product {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	align-items: start;
}
.af-wc-wrap--product .woocommerce-product-gallery { position: relative; }
.af-wc-wrap--product .woocommerce-product-gallery img { border: 1px solid var(--af-line); }
.af-wc-wrap--product .flex-control-thumbs {
	display: flex; gap: 10px; margin-top: 12px;
}
.af-wc-wrap--product .flex-control-thumbs li { width: 72px; cursor: pointer; }
.af-wc-wrap--product .flex-control-thumbs img { opacity: .5; border: 1px solid var(--af-line); }
.af-wc-wrap--product .flex-control-thumbs img.flex-active,
.af-wc-wrap--product .flex-control-thumbs img:hover { opacity: 1; border-color: var(--af-lime); }

.af-wc-wrap--product .product_title {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 118%;
	text-transform: uppercase;
	font-size: clamp(28px, 4vw, 46px);
	line-height: .98;
	margin-bottom: 14px;
}
.af-wc-wrap--product .summary .price { font-size: 22px; display: block; margin-bottom: 8px; }
.af-wc-wrap--product .product_meta {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--af-ash);
	text-transform: uppercase;
	margin-bottom: 18px;
	display: block;
}
.af-wc-wrap--product .product_meta a { color: var(--af-lime); }
.af-wc-wrap--product .woocommerce-product-details__short-description {
	color: var(--af-ash); margin-bottom: 24px;
}

/* Variations (size selector) */
table.variations { width: 100%; margin-bottom: 18px; border-collapse: collapse; }
table.variations th, table.variations td { padding: 6px 0; text-align: left; }
table.variations label {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--af-ash);
}
table.variations select {
	width: 100%;
	background: var(--af-panel);
	color: var(--af-bone);
	border: 1px solid var(--af-line);
	padding: 13px 14px;
	font-family: var(--af-mono);
	font-size: 13px;
}
.reset_variations { font-family: var(--af-mono); font-size: 11px; color: var(--af-ash); }

/* Qty + add to cart */
form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin-bottom: 26px; }
form.cart .variations_button { display: flex; gap: 12px; width: 100%; }
form.cart .quantity input.qty {
	width: 74px;
	background: var(--af-panel);
	color: var(--af-bone);
	border: 1px solid var(--af-line);
	padding: 13px 10px;
	font-family: var(--af-mono);
	font-size: 14px;
	text-align: center;
	height: 100%;
}
.single_add_to_cart_button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.checkout-button,
#place_order {
	background: var(--af-lime) !important;
	color: var(--af-ink) !important;
	border: 1px solid var(--af-lime) !important;
	border-radius: 0 !important;
	font-family: var(--af-mono) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	padding: 14px 30px !important;
	cursor: pointer;
	transition: all .15s;
	flex: 1;
}
.single_add_to_cart_button:hover,
.woocommerce button.button:hover,
#place_order:hover {
	background: transparent !important;
	color: var(--af-lime) !important;
}
.woocommerce a.added_to_cart {
	font-family: var(--af-mono); font-size: 12px; color: var(--af-lime);
	display: inline-block; margin-top: 10px;
}

/* Tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 30px; }
.woocommerce-tabs ul.tabs {
	display: flex; gap: 4px; border-bottom: 1px solid var(--af-line);
	margin-bottom: 24px; padding: 0;
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li {
	background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important;
	border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--af-ash);
	padding: 12px 18px;
	display: block;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--af-lime); box-shadow: inset 0 -2px 0 var(--af-lime); }
.woocommerce-tabs .panel h2 { display: none; }
.woocommerce-tabs .panel { color: var(--af-ash); }

/* Related */
.related.products { grid-column: 1 / -1; margin-top: 50px; }
.related.products > h2 {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 120%;
	text-transform: uppercase;
	font-size: clamp(22px, 3vw, 34px);
	margin-bottom: 24px;
	border-bottom: 1px solid var(--af-line);
	padding-bottom: 14px;
}

@media (max-width: 860px) {
	.af-wc-wrap--product .product { grid-template-columns: 1fr; gap: 28px; }
}

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--af-panel) !important;
	border-top: 2px solid var(--af-lime) !important;
	color: var(--af-bone) !important;
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .04em;
	padding: 16px 20px !important;
	margin-bottom: 24px;
	list-style: none;
}
.woocommerce-error { border-top-color: #FF4D4D !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message a.button, .woocommerce-info a.button { float: right; padding: 8px 16px !important; }

/* ---------- Cart page ---------- */
table.shop_table {
	width: 100%;
	border-collapse: collapse !important;
	border: 1px solid var(--af-line) !important;
	font-family: var(--af-mono);
	font-size: 13px;
	border-radius: 0 !important;
}
table.shop_table th, table.shop_table td {
	border: 1px solid var(--af-line) !important;
	padding: 14px 16px !important;
	text-align: left;
}
table.shop_table th {
	background: var(--af-panel);
	color: var(--af-lime);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
}
table.shop_table img { width: 64px; border: 1px solid var(--af-line); }
.product-remove a.remove {
	color: var(--af-ash) !important;
	font-size: 20px;
	width: 26px; height: 26px; line-height: 24px;
	border: 1px solid var(--af-line);
	border-radius: 0;
	display: inline-block; text-align: center;
}
.product-remove a.remove:hover { background: #FF4D4D !important; color: var(--af-ink) !important; }
.coupon { display: flex; gap: 10px; }
.coupon input.input-text, 
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background: var(--af-panel) !important;
	color: var(--af-bone) !important;
	border: 1px solid var(--af-line) !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	font-family: var(--af-mono);
	font-size: 13px;
}
.cart_totals h2, #order_review_heading, .woocommerce-billing-fields > h3, #ship-to-different-address {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 115%;
	text-transform: uppercase;
	font-size: 22px;
	margin: 26px 0 16px;
}
.woocommerce form .form-row label {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--af-ash);
}

/* Checkout payment box */
#payment {
	background: var(--af-panel) !important;
	border: 1px solid var(--af-line);
	border-radius: 0 !important;
}
#payment .payment_methods li {
	border-bottom: 1px solid var(--af-line);
	padding: 14px 18px;
	list-style: none;
}
#payment .payment_box {
	background: var(--af-ink) !important;
	color: var(--af-ash) !important;
	font-size: 13px;
}
#payment .payment_box::before { display: none !important; }
#payment .place-order { padding: 18px !important; }

/* Account */
.woocommerce-MyAccount-navigation ul { border: 1px solid var(--af-line); }
.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--af-line);
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 18px;
	font-family: var(--af-mono);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--af-ash);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { color: var(--af-lime); }

/* ---------- Footer ---------- */
.af-footer {
	border-top: 1px solid var(--af-line);
	overflow: hidden;
}
.af-footer-giant {
	font-family: var(--af-display);
	font-weight: 900;
	font-stretch: 125%;
	font-size: clamp(52px, 11vw, 160px);
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px var(--af-line);
	padding: 40px 0 10px;
	user-select: none;
}
.af-footer-grid {
	max-width: var(--af-max);
	margin: 0 auto;
	padding: 30px var(--af-pad) 40px;
	display: grid;
	grid-template-columns: 1.2fr .6fr .6fr .6fr;
	gap: 34px;
}
.af-footer-head {
	font-family: var(--af-mono);
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--af-lime);
	margin-bottom: 16px;
}
.af-footer-col ul li { margin-bottom: 10px; }
.af-footer-col ul a {
	font-size: 14px;
	color: var(--af-ash);
	transition: color .15s;
}
.af-footer-col ul a:hover { color: var(--af-bone); }
.af-footer-bar {
	border-top: 1px solid var(--af-line);
	padding: 18px var(--af-pad);
	max-width: 100%;
	display: flex;
	justify-content: space-between;
	font-family: var(--af-mono);
	font-size: 10px;
	letter-spacing: .15em;
	color: var(--af-ash);
}
@media (max-width: 860px) {
	.af-footer-grid { grid-template-columns: 1fr 1fr; }
	.af-footer-bar { flex-direction: column; gap: 8px; }
}

/* Screen-reader only */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px; width: 1px; overflow: hidden;
}

.af-empty-note {
	font-family: var(--af-mono);
	font-size: 12px;
	color: var(--af-ash);
	border: 1px dashed var(--af-line);
	padding: 24px;
	grid-column: 1 / -1;
}

/* ============================================================
   JS-DRIVEN STATES (reveal, scrolled header, nav lock)
   ============================================================ */
.af-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.af-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.af-reveal{opacity:1;transform:none;transition:none}}

.af-header.is-scrolled{box-shadow:0 1px 0 var(--af-ash, #1B1B1B)}
.af-header.is-scrolled .af-header-inner{padding-top:12px;padding-bottom:12px}

body.af-nav-lock{overflow:hidden}
