/* =========================================================================
   Blurred Athletics — SHOP  (WooCommerce archive / PDP / cart / checkout)
   Dark, on-brand overrides. Layout for archive/PDP lives inline in the
   templates; this styles the native Woo bits + responsive behaviour.
   ========================================================================= */

:root { --bl-line: rgba(255,255,255,.12); }

.woocommerce, .woocommerce-page { color: #f2f0e9; }

/* ---- notices ---------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	background: #0e0e11;
	border: 1px solid var(--bl-line);
	border-top: 2px solid var(--acc, #d8ff2e);
	color: #f2f0e9;
	font-family: 'Space Mono', monospace;
	font-size: 12px;
	letter-spacing: .5px;
	border-radius: 1px;
	padding: 14px 16px 14px 44px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--acc, #d8ff2e); }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--acc, #d8ff2e); }

/* ---- generic Woo buttons --------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--acc, #d8ff2e);
	color: #0b0b0d;
	font-family: 'Space Mono', monospace;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: none;
	border-radius: 1px;
	padding: 14px 24px;
	transition: background .3s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--acc2, #eaffb0); color: #0b0b0d; }

.woocommerce .button.wc-backward,
.woocommerce a.added_to_cart {
	background: transparent;
	color: #b6b4ac;
	border: 1px solid var(--bl-line);
}

/* ---- PDP: add-to-bag form -------------------------------------------- */
.blurred-buy form.cart { display: flex; align-items: stretch; gap: 12px; margin: 0; flex-wrap: wrap; }
.blurred-buy form.cart .quantity { display: flex; }
.blurred-buy form.cart .quantity .qty {
	width: 72px;
	background: transparent;
	border: 1px solid rgba(255,255,255,.22);
	color: #f2f0e9;
	font-family: 'Space Mono', monospace;
	font-size: 14px;
	text-align: center;
	border-radius: 1px;
	padding: 16px 8px;
}
.blurred-buy form.cart button.single_add_to_cart_button {
	flex: 1 1 auto;
	min-width: 200px;
	background: var(--acc, #d8ff2e);
	color: #0b0b0d;
	font-family: 'Space Mono', monospace;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 18px;
	border: none;
	border-radius: 1px;
	cursor: pointer;
	transition: background .3s;
}
.blurred-buy form.cart button.single_add_to_cart_button:hover { background: var(--acc2, #eaffb0); }
.blurred-buy .stock, .blurred-buy .out-of-stock {
	font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 1px;
	text-transform: uppercase; color: #7d7b74; margin-top: 14px;
}
/* variation dropdowns, if a product is variable */
.blurred-buy table.variations td.value select {
	background: #0e0e11; color: #f2f0e9; border: 1px solid rgba(255,255,255,.22);
	font-family: 'Space Mono', monospace; padding: 12px; border-radius: 1px; width: 100%;
}
.blurred-buy .woocommerce-variation-price { font-family: 'Cormorant Garamond', serif; font-size: 24px; margin: 12px 0; }

/* ---- responsive: PDP + details collapse ------------------------------ */
@media (max-width: 880px) {
	[data-pdp-grid] { grid-template-columns: 1fr !important; }
	.ba-pdp-details { grid-template-columns: 1fr !important; }
	[data-pdp-grid] > div:first-child > div:first-child { height: 70svh !important; }
}

/* =========================================================================
   CART  (native Woo cart template, themed)
   ========================================================================= */
.woocommerce-cart .blurred-page-content,
.woocommerce-checkout .blurred-page-content,
.woocommerce-account .blurred-page-content {
	max-width: 1200px; margin: 0 auto;
	padding: clamp(40px,7vw,90px) clamp(20px,6vw,120px) clamp(70px,9vw,130px);
}

.woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-account h1 {
	font-family: 'Cormorant Garamond', serif; font-weight: 300;
	font-size: clamp(40px,7vw,96px); line-height: .94; letter-spacing: -.02em;
	margin-bottom: clamp(28px,4vw,52px);
}

.woocommerce table.shop_table {
	border: 1px solid var(--bl-line); border-radius: 0;
	background: transparent; color: #f2f0e9;
	border-collapse: collapse;
}
.woocommerce table.shop_table th {
	font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 2px;
	text-transform: uppercase; color: #7d7b74; border-bottom: 1px solid var(--bl-line);
	padding: 18px 12px;
}
.woocommerce table.shop_table td {
	border-top: 1px solid rgba(255,255,255,.08);
	padding: 20px 12px; vertical-align: middle; background: transparent;
}
.woocommerce table.shop_table td.product-name a { color: #f2f0e9; font-family: 'Cormorant Garamond', serif; font-size: 20px; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--acc, #d8ff2e); }
.woocommerce table.shop_table img { width: 72px; border-radius: 1px; }
.woocommerce table.shop_table .amount { font-family: 'Space Mono', monospace; font-size: 14px; }
.woocommerce .cart .quantity .qty {
	background: transparent; border: 1px solid rgba(255,255,255,.22); color: #f2f0e9;
	font-family: 'Space Mono', monospace; padding: 12px 8px; width: 64px; text-align: center; border-radius: 1px;
}
.woocommerce a.remove {
	color: #7d7b74 !important; font-weight: 400;
	border: 1px solid var(--bl-line); line-height: 1.6;
}
.woocommerce a.remove:hover { color: #0b0b0d !important; background: var(--acc, #d8ff2e) !important; }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals { width: 100%; }
.woocommerce .cart_totals h2 {
	font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 2px;
	text-transform: uppercase; color: #7d7b74; margin-bottom: 8px;
}
.woocommerce .cart_totals table { border: 1px solid var(--bl-line); background: #0e0e11; }
.woocommerce .cart_totals .order-total .amount { font-family: 'Cormorant Garamond', serif; font-size: 28px; }

/* coupon + inputs */
.woocommerce .coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	background: transparent; border: 1px solid rgba(255,255,255,.22); color: #f2f0e9;
	font-family: 'Space Mono', monospace; padding: 12px 14px; border-radius: 1px;
}
.woocommerce-checkout label { font-family: 'Space Mono', monospace; font-size: 12px; color: #b6b4ac; }

/* checkout review + account nav */
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table { background: #0e0e11; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--bl-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 14px 18px; font-family: 'Space Mono', monospace; font-size: 12px;
	letter-spacing: 1px; text-transform: uppercase; color: #b6b4ac; border-bottom: 1px solid rgba(255,255,255,.08);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--acc, #d8ff2e); }

/* collection grid — responsive, caps at 5 across so cards stay large */
.ba-collection-grid {
	display: grid;
	gap: clamp(16px,2vw,34px) clamp(14px,1.6vw,26px);
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px)  { .ba-collection-grid { grid-template-columns: repeat(3, 1fr); } }
/* desktop: always 4 across */
@media (min-width: 1000px) { .ba-collection-grid { grid-template-columns: repeat(4, 1fr); } }

/* price colour + links inside shop */
.woocommerce .price, .woocommerce span.amount { color: #f2f0e9; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { color: #7d7b74; font-family: 'Space Mono', monospace; font-size: 12px; }

/* =========================================================================
   CUSTOM CART  (woocommerce/cart/cart.php — ported design)
   ========================================================================= */
.blurred-cart { margin: 0; }
.ba-cart-grid { display: grid; grid-template-columns: 1.5fr .85fr; gap: clamp(30px,5vw,80px); align-items: start; }
.ba-cart-lines { border-top: 1px solid rgba(255,255,255,.12); }

.ba-cart-row { display: grid; grid-template-columns: 96px 1fr auto; gap: clamp(16px,2.5vw,32px); padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,.1); align-items: center; }
.ba-cart-thumb { position: relative; width: 96px; aspect-ratio: 3/4; overflow: hidden; background: #141416; display: block; }
.ba-cart-info { min-width: 0; }
.ba-cart-name { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(22px,2.2vw,28px); line-height: 1; color: #f2f0e9; }
.ba-cart-meta { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: .5px; color: #7d7b74; margin-top: 9px; }
.ba-cart-meta dl, .ba-cart-meta dd, .ba-cart-meta dt { display: inline; margin: 0; }
.ba-cart-controls { display: flex; align-items: center; gap: 18px; margin-top: 18px; flex-wrap: wrap; }
.ba-qty { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 1px; }
.ba-qty-btn { width: 34px; height: 34px; background: none; border: none; color: #f2f0e9; font-size: 16px; cursor: pointer; font-family: 'Space Mono', monospace; line-height: 1; }
.ba-qty-btn:hover { color: var(--acc, #d8ff2e); }
.ba-qty-input { width: 42px; height: 34px; text-align: center; background: transparent; border: none; color: #f2f0e9; font-family: 'Space Mono', monospace; font-size: 13px; -moz-appearance: textfield; }
.ba-qty-input::-webkit-outer-spin-button, .ba-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ba-cart-remove { font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: #7d7b74; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.ba-cart-remove:hover { color: #f2f0e9; }
.ba-cart-linetotal { font-family: 'Space Mono', monospace; font-size: 15px; text-align: right; white-space: nowrap; color: #f2f0e9; }
.ba-cart-actions { margin-top: 22px; }
.ba-cart-update { background: transparent; border: 1px solid rgba(255,255,255,.2); color: #b6b4ac; font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; padding: 10px 16px; cursor: pointer; border-radius: 1px; }
.ba-cart-update:hover { color: #f2f0e9; }

.ba-cart-summary { position: sticky; top: 88px; border: 1px solid rgba(255,255,255,.12); padding: clamp(28px,2.5vw,40px); background: #0e0e11; }
.ba-cart-summary-title { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #7d7b74; margin-bottom: 26px; }
.ba-cart-line { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: #b6b4ac; padding: 10px 0; }
.ba-cart-line .ba-mono, .ba-cart-line .ba-mono .amount { font-family: 'Space Mono', monospace; color: #f2f0e9; }
.ba-cart-line--rule { border-bottom: 1px solid rgba(255,255,255,.12); }
.ba-coupon-remove { color: #7d7b74; margin-left: 6px; }
.ba-coupon-remove:hover { color: var(--acc, #d8ff2e); }
.ba-cart-total { display: flex; justify-content: space-between; align-items: baseline; padding: 22px 0 4px; }
.ba-cart-total span:first-child { font-family: 'Cormorant Garamond', serif; font-size: 24px; }
.ba-cart-total span:last-child, .ba-cart-total .amount, .ba-cart-total bdi { font-family: 'Cormorant Garamond', serif !important; font-size: 32px; color: #f2f0e9; }
.ba-cart-promo { display: flex; gap: 8px; margin: 22px 0; }
.ba-promo-input { flex: 1; min-width: 0; background: transparent; border: 1px solid rgba(255,255,255,.2); color: #f2f0e9; font-family: 'Space Mono', monospace; font-size: 12px; padding: 12px 14px; border-radius: 1px; outline: none; }
.ba-promo-apply { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; padding: 0 16px; background: transparent; border: 1px solid rgba(255,255,255,.2); color: #b6b4ac; cursor: pointer; border-radius: 1px; }
.ba-promo-apply:hover { color: #f2f0e9; }
.ba-cart-checkout { display: block; text-align: center; width: 100%; background: var(--acc, #d8ff2e); color: #0b0b0d; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; padding: 18px; border-radius: 1px; transition: background .3s; }
.ba-cart-checkout:hover { background: var(--acc2, #eaffb0); color: #0b0b0d; }
.ba-cart-badges { display: flex; gap: 18px; justify-content: center; margin-top: 18px; font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: #7d7b74; }

.ba-cart-empty { padding: clamp(40px,10vw,140px) 0; text-align: center; }
.ba-cart-empty-line { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(26px,4vw,44px); color: #7d7b74; }
.ba-cart-empty-cta { display: inline-block; margin-top: 30px; font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; background: var(--acc, #d8ff2e); color: #0b0b0d; padding: 15px 28px; border-radius: 1px; }

@media (max-width: 860px) {
	.ba-cart-grid { grid-template-columns: 1fr; }
	.ba-cart-summary { position: static; }
}

/* =========================================================================
   PDP (cinematic) — responsive + slide-in bag drawer + mini-cart
   ========================================================================= */
.bl-add-btn:hover:not(:disabled) { background: var(--acc2, #eaffb0) !important; }
.bl-add-btn:disabled { opacity: .85; cursor: default; }

@media (max-width: 820px) {
	.bl-pdp-hero { height: auto !important; min-height: 0 !important; }
	.bl-pdp-hero .kb { position: relative !important; height: 62svh; animation: none; }
	.bl-pdp-titleblock { position: static !important; max-width: none !important; margin: 26px clamp(20px,5vw,28px) 0 !important; }
	.bl-config { position: static !important; width: auto !important; margin: 24px clamp(20px,5vw,28px) 44px !important; transform: none !important; }
	.bl-pdp-hero > div[style*="cue"], .bl-pdp-hero > div:last-child { display: none; }
	.bl-pdp-split { grid-template-columns: 1fr !important; }
	.bl-pdp-split > div:first-child { min-height: 60svh !important; }
}

/* --- drawer --- */
.bl-drawer { position: fixed; inset: 0; z-index: 120; }
.bl-drawer[hidden] { display: none; }
.bl-drawer-scrim { position: absolute; inset: 0; background: rgba(5,5,7,.6); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.bl-drawer.is-open .bl-drawer-scrim { opacity: 1; }
.bl-drawer-panel { position: absolute; top: 0; right: 0; height: 100%; width: min(440px,92vw); background: #0e0e11; border-left: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .42s cubic-bezier(.2,.7,.2,1); box-shadow: -30px 0 80px rgba(0,0,0,.5); }
.bl-drawer.is-open .bl-drawer-panel { transform: translateX(0); }
.bl-drawer-head { display: flex; align-items: center; gap: 10px; padding: 22px 26px; border-bottom: 1px solid rgba(255,255,255,.1); }
.bl-drawer-added { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--acc, #d8ff2e); }
.bl-drawer-title { font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; margin-left: auto; color: #f2f0e9; }
.bl-drawer-x { background: none; border: none; color: #b6b4ac; font-size: 22px; cursor: pointer; line-height: 1; margin-left: 8px; }
.bl-drawer-x:hover { color: #f2f0e9; }
.bl-drawer-body { flex: 1; overflow-y: auto; padding: 8px 26px; }
.bl-drawer-foot { padding: 22px 26px; border-top: 1px solid rgba(255,255,255,.12); }
.bl-drawer-checkout { display: block; text-align: center; width: 100%; background: var(--acc, #d8ff2e); color: #0b0b0d; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; padding: 16px; border-radius: 1px; }
.bl-drawer-checkout:hover { background: var(--acc2, #eaffb0); color: #0b0b0d; }
.bl-drawer-keep { width: 100%; background: none; border: none; color: #7d7b74; font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; margin-top: 14px; cursor: pointer; }
.bl-drawer-keep:hover { color: #f2f0e9; }

/* --- WooCommerce mini-cart inside the drawer --- */
.bl-minicart ul.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.bl-minicart li.woocommerce-mini-cart-item { position: relative; padding: 18px 26px 18px 70px; border-bottom: 1px solid rgba(255,255,255,.09); min-height: 84px; }
.bl-minicart li.woocommerce-mini-cart-item img { position: absolute; left: 0; top: 18px; width: 56px; height: auto; border-radius: 1px; }
.bl-minicart li.woocommerce-mini-cart-item a.remove { position: absolute; right: 0; top: 18px; color: #7d7b74 !important; border: 1px solid rgba(255,255,255,.15); width: 18px; height: 18px; line-height: 15px; text-align: center; border-radius: 50%; font-size: 12px; }
.bl-minicart li.woocommerce-mini-cart-item a.remove:hover { color: #0b0b0d !important; background: var(--acc, #d8ff2e); }
.bl-minicart li.woocommerce-mini-cart-item > a:not(.remove) { font-family: 'Cormorant Garamond', serif; font-size: 18px; line-height: 1.1; color: #f2f0e9; display: block; }
.bl-minicart .quantity { display: block; font-family: 'Space Mono', monospace; font-size: 11px; color: #7d7b74; margin-top: 6px; }
.bl-minicart dl.variation { font-family: 'Space Mono', monospace; font-size: 10px; color: #7d7b74; margin: 6px 0 0; }
.bl-minicart dl.variation dt, .bl-minicart dl.variation dd { display: inline; margin: 0 4px 0 0; }
.bl-minicart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; font-family: 'Space Mono', monospace; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: #7d7b74; padding: 18px 0 2px; border-top: 1px solid rgba(255,255,255,.12); margin-top: 8px; }
.bl-minicart .woocommerce-mini-cart__total .amount, .bl-minicart .woocommerce-mini-cart__total bdi { font-family: 'Cormorant Garamond', serif; font-size: 24px; color: #f2f0e9; }
.bl-minicart .woocommerce-mini-cart__buttons { display: none; }
.bl-minicart p.woocommerce-mini-cart__empty-message { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #7d7b74; padding: 34px 0; text-align: center; }
