/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  AK Operators Union Local 47-74 "Surplus Crate" rebuild (Matchless Web, 2026-11). Source of truth: ~/Projects/ak4774/child-theme/bricks-child/ (deployed to staging, then live).
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.3.0
 Text Domain:  bricks
*/

/* BEGIN tokens */
/* ==========================================================================
   Surplus Crate tokens (design/brand-tokens.json "A", every pair AA-checked).
   Automatic.css owns the palette families, type roles, spacing and buttons
   (design/acss/build-acss-overrides.py). These name the surfaces ACSS has no
   exact role for. Each is light-dark(), so it follows color-scheme on <html>:
   the visitor's system by default, or the Toggle - Mode choice
   (html[data-brx-theme], which ACSS turns into color-scheme).
   ========================================================================== */
:root {
	--sc-bg: light-dark(#f2efe6, #14160f);
	--sc-surface: light-dark(#ffffff, #1d2017);
	--sc-surface-2: light-dark(#e6e1d1, #262a1e);
	--sc-ink: light-dark(#1b1d15, #ecebe2);
	--sc-muted: light-dark(#4a4f3e, #b4b8a4);
	--sc-line: light-dark(#cfc9b6, #3a3f2f);
	--sc-brand: light-dark(#cb3a00, #f0682e);
	--sc-brand-hover: light-dark(#a83000, #ff8a52); /* white on #a83000 6.8:1; ink on #ff8a52 7.82:1 */
	--sc-on-brand: light-dark(#ffffff, #14160f);
	--sc-brand-text: light-dark(#b23300, #ff7a3d);
	--sc-band: light-dark(#2b3022, #0c0e08);
	--sc-on-band: light-dark(#efece2, #ecebe2);
	--sc-band-muted: light-dark(#c3c7b2, #b4b8a4);
	--sc-accent: light-dark(#6e7957, #9aa57e);
	--sc-accent-text: light-dark(#535c40, #a9b38f);
	--sc-success: light-dark(#2f6b2a, #7fbf6a);
	--sc-danger: light-dark(#a32a12, #ff8a6a);

	/* Faces are Bricks custom fonts (Fontsource 5.3.0, latin woff2). The stencil is for the home hero
	   and the big crate numerals only (tasks/lessons.md); every other heading is Big Shoulders. */
	--sc-font-display: "Big Shoulders Stencil", "Big Shoulders", "Arial Narrow", sans-serif;
	--sc-font-head: "Big Shoulders", "Arial Narrow", sans-serif;
	--sc-font-body: "Saira", system-ui, sans-serif;
	--sc-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	--sc-radius: 3px;

	/* Header and footer (Jon's picks, 2026-11-07). #ff7a3d on the band: 5.2:1 light, 6.6:1 dark. */
	--sc-on-band-brand: #ff7a3d;
	--sc-plate: light-dark(#ffffff, #e2e0d8); /* product photos sit on a light plate in both schemes */
	--sc-shade: light-dark(#1b1d15, #000000);
	--sc-ease: cubic-bezier(.22, 1, .36, 1);
	--akou-pad: max(24px, calc((100% - 1320px) / 2));
}
/* END tokens */

/* BEGIN base */
/* Paragraphs avoid a one-word last line; headings balance. */
body {
	text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	text-wrap: balance;
}

::selection {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
}
/* END base */

/* BEGIN utilities */
/* The stencil face: home hero H1 and the 01-06 crate numerals, nothing else. */
.akou-stencil {
	font-family: var(--sc-font-display);
	font-weight: 900;
}

/* Mono labels: eyebrows, STK numbers, prices in spec rows. */
.akou-mono {
	font-family: var(--sc-font-mono);
}

.akou-eyebrow {
	font-family: var(--sc-font-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--sc-accent-text);
}

.akou-tabular {
	font-variant-numeric: tabular-nums;
}

/* Text for screen readers only (also defined by ACSS; repeated so the shortcodes never depend on it). */
.hidden-accessible:not(:focus):not(:focus-within) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.akou-ic {
	display: block;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ACSS draws the skip links as its default button: light orange on brand orange, 3.10:1 when focused. The brand
   button pair instead (white on orange in light mode, ink on orange in dark). */
body .skip-link,
body .skip-link:is(:hover, :focus, :focus-visible) {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
}
/* END utilities */

/* BEGIN modern-cart */
/* ==========================================================================
   Modern Cart: the slide-out takes the Surplus Crate colors in both schemes.
   Its own settings write one fixed palette to :root; :root:root outranks it.
   Adapted from the Mississippi Mane build (same plugin versions: modern-cart
   1.1.1, modern-cart-woo 1.2.7), where each rule was found in the browser.
   ========================================================================== */
:root:root {
	--moderncart-background-color: var(--sc-surface);
	--moderncart-header-background-color: var(--sc-surface);
	--moderncart-header-font-color: var(--sc-ink);
	--moderncart-heading-color: var(--sc-ink);
	--moderncart-body-color: var(--sc-ink);
	--moderncart-primary-color: var(--sc-brand);
	--moderncart-primary-color-light: color-mix(in srgb, var(--sc-brand) 7%, transparent);
	--moderncart-button-font-color: var(--sc-on-brand);
	--moderncart-highlight-color: var(--sc-success);
	--moderncart-quantity-font-color: var(--sc-ink);
	--moderncart-quantity-background-color: var(--sc-surface-2);
	--moderncart-floating-icon-color: var(--sc-on-brand);
	--moderncart-floating-icon-bg-color: var(--sc-brand);
	--moderncart-floating-count-text-color: var(--sc-on-band);
	--moderncart-floating-count-bg-color: var(--sc-band);
}

#moderncart-slide-out .moderncart-panel {
	color: var(--sc-ink);
}

#moderncart-slide-out .moderncart-slide-out-header-title,
#moderncart-slide-out .moderncart-slide-out-header-title span {
	font-family: var(--sc-font-head);
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

#moderncart-slide-out *:not(button):not(a) {
	border-color: var(--sc-line);
}

#moderncart-slide-out input[type="text"],
#moderncart-slide-out input[type="number"] {
	border-color: var(--sc-muted);
	background: var(--sc-surface);
	color: var(--sc-ink);
}

#moderncart-slide-out input::placeholder {
	color: var(--sc-muted);
	opacity: 1;
}

#moderncart-slide-out button:focus-visible,
#moderncart-slide-out a:focus-visible,
#moderncart-slide-out input:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

/* Its theme rules hard-code light colors at two ids of specificity, so these name both ids too. */
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity {
	border-color: var(--sc-muted);
	background: var(--sc-surface);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity button {
	background-color: transparent;
	color: var(--sc-ink);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity button:hover {
	background-color: var(--sc-surface-2);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity button svg,
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity button path {
	fill: currentColor;
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-quantity input[type="number"] {
	border-color: var(--sc-muted);
	background: transparent;
	color: var(--sc-ink);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-slide-out-header,
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-total,
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-line-items-item {
	border-color: var(--sc-line);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-have-coupon-code-area svg path {
	fill: var(--sc-ink);
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-slide-out-header-close:focus {
	box-shadow: none;
}

#moderncart-slide-out-modal #moderncart-slide-out .moderncart-slide-out-header-close:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

/* The drawer is 80% of a phone's width; keep its title on one line ("Review Your Cart"). */
@media (max-width: 479px) {
	#moderncart-slide-out .moderncart-slide-out-header-title,
	#moderncart-slide-out .moderncart-slide-out-header-title span {
		font-size: clamp(18px, calc(9vw - 12px), 22px);
		text-wrap: balance;
	}
}
/* END modern-cart */

/* BEGIN header */
/* ==========================================================================
   Header: H1 Quartermaster (Jon's pick, 2026-11-07), with the live search card
   adapted from H3. Bricks header template "Header: Quartermaster (H1)"; the
   reference implementation is design/picks/. Desktop from 992px (the Bricks
   tablet breakpoint); below that the phone layout with the Offcanvas menu.
   ========================================================================== */
#brx-header {
	position: relative;
	z-index: 50;
}

/* The menu drawer lives inside the header, so it can rise no higher than the header does. While it is open,
   lift the header over the WordPress admin bar (z-index 99999), or the bar covers the drawer's close button. */
body:has(#akou-oc.brx-open) #brx-header {
	z-index: 100000;
}

.akou-hdr .brxe-shortcode,
.akou-f2 .brxe-shortcode {
	display: contents;
}

.akou-hdr :focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

/* Shipping strip */
.akou-strip {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 12px;
	padding: 8px var(--akou-pad);
	background: var(--sc-band);
	color: var(--sc-on-band);
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.akou-strip .akou-ic {
	color: var(--sc-on-band-brand);
}

.akou-strip .akou-strip__link {
	color: var(--sc-on-band-brand);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-strip :focus-visible {
	outline-color: var(--sc-on-band-brand);
}

.akou-strip__short {
	display: none;
}

/* Main bar */
.akou-bar {
	position: relative;
	z-index: 5;
	background: var(--sc-surface);
	color: var(--sc-ink);
	border-bottom: 1px solid var(--sc-line);
}

.akou-main {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 88px;
	padding: 0 var(--akou-pad);
}

.akou-main > .brxe-toggle.akou-menubtn {
	display: none;
}

/* Logo A "Straight Shot" (2026-11-07): inline SVG from [akou_logo]. Ink is currentColor and the orange reads
   --sc-brand-text / --sc-brand, so both follow the light/dark toggle. One lockup from 600px up, the stacked
   phone lockup below 600px; the link's aria-label names it. */
.akou-lockup {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-logo-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.akou-logo {
	display: block;
	flex: none;
}

.akou-logo--d {
	width: 354.81px;
	height: 42.92px;
}

.akou-logo--p {
	display: none;
	width: 112px;
	height: 36.89px;
}

@media (max-width: 599px) {
	.akou-lockup .akou-logo--d {
		display: none;
	}

	.akou-lockup .akou-logo--p {
		display: block;
	}
}

/* Buttons and actions */
.akou-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: none;
}

.akou-iconbtn,
.brxe-toggle-mode.akou-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	color: inherit;
	cursor: pointer;
}

.akou-iconbtn:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
}

.brxe-toggle-mode.akou-iconbtn svg {
	width: 22px;
	height: 22px;
}

.akou-actions > .akou-stoggle {
	display: none;
}

.akou-act {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 10px;
	border-radius: var(--sc-radius);
	color: inherit;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.akou-act:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
}

.akou-cartbtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: none;
	min-height: 44px;
	padding: 0 13px;
	background: var(--sc-surface-2);
	color: var(--sc-ink);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}

.akou-cartbtn:hover {
	background: color-mix(in srgb, var(--sc-ink) 12%, var(--sc-surface-2));
	color: var(--sc-ink);
}

.akou-cart-count__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	background: var(--sc-brand);
	color: var(--sc-on-brand);
	border-radius: 11px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
}

.akou-cart-count[data-count="0"] .akou-cart-count__num {
	display: none;
}

/* Bricks Toggles (phone menu open and close) drawn with our stroke icons instead of the bars. */
.brxe-toggle.akou-tg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	cursor: pointer;
}

.brxe-toggle.akou-tg:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
}

.akou-tg .brxa-wrap {
	display: none;
}

.akou-tg::after {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: var(--akou-tg-ic) center / contain no-repeat;
	mask: var(--akou-tg-ic) center / contain no-repeat;
}

.akou-menubtn {
	--akou-tg-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
}

.akou-occlose {
	--akou-tg-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}

/* Nav row */
.akou-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px 16px;
	min-height: 50px;
	padding: 0 var(--akou-pad) 0 calc(var(--akou-pad) - 11px);
	border-top: 1px dashed var(--sc-line);
}

.akou-navlist {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.akou-navlist > li {
	margin: 0;
}

.akou-navlink {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 48px;
	padding: 0 11px;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--sc-ink);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: inset 0 -3px 0 transparent;
	transition: box-shadow 0.2s;
}

.akou-navlink:hover,
.akou-navlink[aria-expanded="true"],
.akou-navlink[aria-current="page"] {
	color: var(--sc-ink);
	box-shadow: inset 0 -3px 0 var(--sc-brand);
}

.akou-navlink .akou-ic {
	transition: transform 0.3s var(--sc-ease);
}

.akou-navlink[aria-expanded="true"] .akou-ic {
	transform: rotate(180deg);
}

.akou-manifest {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--sc-muted);
}

/* Shop mega menu */
.akou-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 6;
	background: var(--sc-surface);
	border-top: 1px solid var(--sc-line);
	border-bottom: 3px solid var(--sc-ink);
	box-shadow: 0 28px 40px -28px color-mix(in srgb, var(--sc-shade) 60%, transparent);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s var(--sc-ease), transform 0.28s var(--sc-ease), visibility 0s linear 0.28s;
}

.akou-mega.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.2s var(--sc-ease), transform 0.28s var(--sc-ease);
}

.akou-mega-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 26px;
	padding: 22px var(--akou-pad) 24px;
}

.akou-mega-lbl {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.akou-mega-lbl a {
	color: var(--sc-brand-text);
}

.akou-crates {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.akou-crates a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: end;
	column-gap: 12px;
	row-gap: 4px;
	min-height: 92px;
	padding: 12px 14px;
	background: var(--sc-bg);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	text-decoration: none;
	transition: border-color 0.2s, transform 0.2s var(--sc-ease);
}

.akou-crates a:hover {
	border-color: var(--sc-ink);
	transform: translateY(-2px);
}

.akou-cr-num {
	grid-column: 1;
	grid-row: 1 / 3;
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 52px;
	line-height: 0.78;
	letter-spacing: -0.02em;
	color: var(--sc-brand-text);
}

.akou-cr-ct {
	grid-column: 2;
	grid-row: 1;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-cr-name {
	grid-column: 2;
	grid-row: 2;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	line-height: 1.05;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-wrap: balance;
}

.akou-mega-also {
	margin: 14px 0 0;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	color: var(--sc-muted);
}

.akou-mega-also a {
	color: var(--sc-brand-text);
}

/* Product tag card */
.akou-feat {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-feat:hover {
	border-color: var(--sc-ink);
	color: var(--sc-ink);
}

.akou-tagrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	border-bottom: 1px dashed var(--sc-line);
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--sc-muted);
}

.akou-hole {
	width: 10px;
	height: 10px;
	border: 1.5px solid var(--sc-line);
	border-radius: 50%;
}

.akou-feat__pic {
	display: block;
	height: 150px;
	padding: 12px;
	background: var(--sc-plate);
}

.akou-feat__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.akou-feat__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 14px 14px;
}

.akou-feat__name {
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.12;
	text-wrap: balance;
}

.akou-feat__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}

.akou-price {
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 15px;
	color: var(--sc-ink);
}

.akou-price .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.akou-stock {
	display: inline-flex;
	padding: 2px 7px;
	border: 1.5px solid currentColor;
	border-radius: 2px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--sc-success);
}

.akou-stock--out {
	color: var(--sc-danger);
}

.akou-feat__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
}

/* Search field */
.akou-search {
	position: relative;
	display: flex;
	flex: 1 1 260px;
	max-width: 480px;
	min-width: 0;
	margin: 0 0 0 auto;
}

.akou-search__field {
	position: relative;
	display: flex;
	flex: 1;
	min-width: 0;
}

.akou-search__ic {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--sc-muted);
	pointer-events: none;
}

.akou-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 40px 0 42px;
	background: var(--sc-bg);
	color: var(--sc-ink);
	border: 1.5px solid var(--sc-accent);
	border-right: 0;
	border-radius: var(--sc-radius) 0 0 var(--sc-radius);
	box-shadow: none;
	font: inherit;
	font-size: 16px;
	-webkit-appearance: none;
	appearance: none;
}

.akou-search input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.akou-search input[type="search"]::placeholder {
	color: var(--sc-muted);
	opacity: 1;
}

.akou-search input[type="search"]:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

.akou-search__clear {
	position: absolute;
	right: 2px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	color: var(--sc-muted);
	transform: translateY(-50%);
	cursor: pointer;
}

.akou-search__clear:hover {
	color: var(--sc-ink);
}

.akou-search__clear[hidden] {
	display: none;
}

.akou-search__go {
	flex: none;
	height: 46px;
	margin: 0;
	padding: 0 16px;
	background: var(--sc-ink);
	color: var(--sc-bg);
	border: 0;
	border-radius: 0 var(--sc-radius) var(--sc-radius) 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.akou-search__go:hover {
	background: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

/* Live search card: drops from the field on desktop, a sheet under the header on phones. */
.akou-scard {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 8;
	width: max(100%, 540px);
	max-height: min(72vh, 660px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 14px 14px 12px;
	background: var(--sc-surface);
	color: var(--sc-ink);
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	box-shadow: 0 24px 36px -24px color-mix(in srgb, var(--sc-shade) 60%, transparent);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s var(--sc-ease), transform 0.28s var(--sc-ease), visibility 0s linear 0.28s;
}

.akou-hdr.is-sopen .akou-scard {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.2s var(--sc-ease), transform 0.28s var(--sc-ease);
}

.akou-slbl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 2px 4px 6px;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-slbl [data-akou-scount] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.akou-slist {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.akou-slist[aria-busy="true"] {
	opacity: 0.55;
	transition: opacity 0.2s 0.15s;
}

.akou-srow {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) 16px;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 6px 8px;
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	font: inherit;
	font-size: 15px;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.akou-srow--product {
	grid-template-columns: 48px minmax(0, 1fr) 16px;
}

.akou-srow:hover,
.akou-srow:focus-visible {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

.akou-srow .akou-ic {
	color: var(--sc-muted);
}

.akou-hdr.is-sopen .akou-srow {
	animation: akou-row-in 0.36s var(--sc-ease) both;
	animation-delay: calc(var(--i, 0) * 30ms);
}

@keyframes akou-row-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
}

.akou-srow__pic {
	display: block;
	width: 48px;
	height: 48px;
	padding: 4px;
	background: var(--sc-plate);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-srow__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.akou-srow__txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.akou-srow__nm {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

.akou-srow__pr {
	font-family: var(--sc-font-mono);
	font-size: 13px;
	color: var(--sc-muted);
}

.akou-srow mark {
	padding: 0;
	background: color-mix(in srgb, var(--sc-brand) 22%, transparent);
	color: inherit;
	border-radius: 2px;
}

.akou-sempty {
	padding: 8px;
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-ssug {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: -4px 4px 14px;
}

.akou-ssug[hidden] {
	display: none;
}

.akou-ssug__lbl {
	margin-right: 4px;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-ssug button {
	min-height: 32px;
	margin: 0;
	padding: 0 12px;
	background: transparent;
	border: 1px solid var(--sc-line);
	border-radius: 999px;
	color: var(--sc-ink);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.akou-ssug button:hover {
	border-color: var(--sc-ink);
}

.akou-schips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 2px 12px;
	padding: 0;
	list-style: none;
}

.akou-schip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 10px;
	background: var(--sc-bg);
	border: 1.5px solid var(--sc-line);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.akou-schip:hover {
	border-color: var(--sc-ink);
	color: var(--sc-ink);
}

.akou-schip b {
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 17px;
	color: var(--sc-brand-text);
}

.akou-sfoot {
	margin: 0;
	padding: 10px 4px 0;
	border-top: 1px dashed var(--sc-line);
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

.akou-sfoot a {
	color: var(--sc-brand-text);
	text-underline-offset: 3px;
}

/* Phone menu (Bricks Offcanvas, from the left) */
#akou-oc .akou-oc {
	flex-direction: column;
	align-items: stretch; /* the Bricks Block sets flex-start, which shrinks every row to its content */
	flex-wrap: nowrap; /* and wrap, which moves the last rows into a second column off screen on a short phone */
	width: min(340px, 86vw);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--sc-surface);
	color: var(--sc-ink);
	border-right: 3px solid var(--sc-ink);
}

#akou-oc .brx-offcanvas-backdrop {
	background: color-mix(in srgb, var(--sc-band) 64%, transparent);
}

.akou-oc-head {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 60px;
	padding: 6px 8px 6px 16px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-oc-head .akou-logo--p {
	display: block;
}

.akou-oc-title {
	flex: 1;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-oc-lbl {
	margin: 0;
	padding: 16px 16px 6px;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-oc-crates,
.akou-oc-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.akou-oc-crates a {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 6px 16px;
	border-bottom: 1px solid var(--sc-line);
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-oc-crates a:hover {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

.akou-oc-num {
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 30px;
	line-height: 0.8;
	color: var(--sc-brand-text);
}

.akou-oc-name {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	line-height: 1.08;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.akou-oc-ct {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	color: var(--sc-muted);
}

.akou-oc-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 10px 8px;
}

.akou-oc-links a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 8px;
	color: var(--sc-ink);
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}

.akou-oc-mode {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 48px;
	margin: 4px 16px 0;
	padding: 0 2px 0 12px;
	background: var(--sc-bg);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.akou-oc-foot {
	margin: auto 0 0;
	padding: 16px;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

@media (max-width: 1199px) {
	.akou-manifest {
		display: none;
	}

	.akou-mega-grid {
		grid-template-columns: minmax(0, 1fr) 240px;
	}

	.akou-crates {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Phone and tablet layout */
@media (max-width: 991px) {
	.akou-strip {
		padding: 7px 12px;
		font-size: 13px;
	}

	.akou-strip__long,
	.akou-strip .akou-strip__link {
		display: none;
	}

	.akou-strip__short {
		display: inline;
	}

	.akou-main {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		gap: 0;
		min-height: 64px;
		padding: 6px 8px;
	}

	.akou-main > .brxe-toggle.akou-menubtn {
		display: inline-flex;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.akou-lockup {
		grid-column: 2;
		grid-row: 1;
	}

	.akou-actions {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.akou-actions > .akou-stoggle {
		display: inline-flex;
	}

	.akou-actions > .akou-mode,
	.akou-actions > .akou-act {
		display: none;
	}

	.akou-cartbtn {
		width: 44px;
		padding: 0;
		justify-content: center;
		background: transparent;
	}

	.akou-cartbtn:hover {
		background: color-mix(in srgb, currentColor 10%, transparent);
	}

	.akou-cartbtn__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.akou-cart-count__num {
		position: absolute;
		top: 3px;
		right: 0;
		min-width: 18px;
		height: 18px;
		padding: 0 4px;
		font-size: 11px;
		border-radius: 9px;
	}

	.akou-search {
		position: static;
		display: none;
		grid-column: 1 / -1;
		grid-row: 2;
		max-width: none;
		margin: 6px 0 4px;
	}

	.akou-hdr.is-search .akou-search {
		display: flex;
	}

	.akou-nav,
	.akou-mega {
		display: none;
	}

	/* The card becomes a sheet: full width under the bar, down to the bottom of the screen. */
	.akou-scard {
		top: 100%;
		left: 0;
		right: 0;
		width: auto;
		max-height: calc(100vh - var(--akou-sheet-top, 140px));
		max-height: calc(100dvh - var(--akou-sheet-top, 140px));
		padding: 12px 16px 20px;
		border: 0;
		border-top: 1px dashed var(--sc-line);
		border-bottom: 3px solid var(--sc-ink);
		border-radius: 0;
		box-shadow: 0 28px 40px -28px color-mix(in srgb, var(--sc-shade) 70%, transparent);
	}

	.akou-srow {
		min-height: 48px;
		padding: 6px 4px;
	}

	/* A backdrop under the sheet. A tap on it lands on the header, so it closes the sheet without
	   following a link underneath; akou.js also stops the page scrolling while the sheet is open. */
	.akou-hdr.is-sopen .akou-bar::after {
		content: "";
		position: fixed;
		top: var(--akou-sheet-top, 0px);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 7;
		background: color-mix(in srgb, var(--sc-shade) 45%, transparent);
		animation: akou-fade 0.2s var(--sc-ease) both;
	}

	.akou-schips {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-inline: 0;
	}

	/* Each crate fills its column, so the two columns line up; a long name wraps inside its chip. */
	.akou-schips > li {
		display: flex;
	}

	.akou-schip {
		flex: 1 1 auto;
		min-width: 0;
		min-height: 44px;
		padding-block: 6px;
		line-height: 1.1;
		white-space: normal;
	}
}

/* At 320px "02 AK Accessories" broke to leave "Accessories" alone on its line. A little less type and padding
   keeps a two-word name on one line (5px to spare at 320) while a longer name can still wrap. */
@media (max-width: 359px) {
	.akou-schip {
		padding-inline: 8px;
		font-size: 14px;
	}
}

html.akou-lock {
	overflow: hidden;
}

@keyframes akou-fade {
	from {
		opacity: 0;
	}
}

@media (min-width: 600px) and (max-width: 991px) {
	.akou-schips {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Automatic.css 4 types every <button> outside a <nav> as a button:
   button:not(nav button, [class*="btn--"]) sets family, weight, case, tracking, alignment and
   line-height, at specificity 0,1,1 and loaded after this file, so it beats one-class rules.
   Restate the type of the header buttons that carry words; the icon-only buttons draw no text. */
.akou-hdr button.akou-srow,
.akou-hdr .akou-ssug button {
	font-family: inherit;
	font-weight: inherit;
	font-style: normal;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	text-align: left;
}

.akou-hdr button.akou-search__go {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
}
/* END header */

/* BEGIN footer */
/* ==========================================================================
   Footer: F2 Giant stencil wordmark (Jon's pick, 2026-11-07). Bricks footer
   template "Footer: Stencil wordmark (F2)". The wordmark is sized to the
   footer's width by akou.js; its letters rise once the footer is in view.
   ========================================================================== */
.akou-f2 {
	position: relative;
	overflow: hidden;
	container-type: inline-size;
	padding: 30px var(--akou-pad) 0;
	background: var(--sc-band);
	color: var(--sc-on-band);
}

.akou-f2 a {
	text-underline-offset: 3px;
}

.akou-f2 :focus-visible {
	outline: 2px solid var(--sc-on-band-brand);
	outline-offset: 2px;
}

.akou-f2-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 44px;
}

.akou-f2-motto {
	max-width: 15ch;
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: clamp(32px, 5.4cqi, 64px);
	line-height: 0.92;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--sc-on-band);
}

.akou-f2-key {
	display: grid;
	place-items: center;
	flex: none;
	width: 46px;
	height: 90px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--sc-on-band);
	color: var(--sc-band);
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	transition: transform 0.35s var(--sc-ease), border-radius 0.35s var(--sc-ease);
}

.akou-f2-key:hover {
	transform: translateY(-3px);
	border-radius: 999px;
}

.akou-f2-key:hover .akou-ic,
.akou-f2-key:focus-visible .akou-ic {
	animation: akou-shoot 0.7s cubic-bezier(.6, 0, .2, 1);
}

@keyframes akou-shoot {
	45% {
		transform: translateY(-170%);
	}

	46% {
		transform: translateY(170%);
	}
}

.akou-f2-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 28px;
	padding-bottom: 30px;
}

.akou-f2-col {
	min-width: 0;
}

.akou-ftr-h {
	margin: 0 0 12px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-on-band-brand);
}

.akou-f2-addr p:not(.akou-ftr-h) {
	margin: 0;
	color: var(--sc-band-muted);
}

.akou-f2-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.akou-f2-links a {
	display: inline-block;
	margin-left: -3px;
	padding: 4px 3px;
	color: var(--sc-on-band);
	text-decoration: none;
	background: linear-gradient(var(--sc-on-band), var(--sc-on-band)) left / 0 100% no-repeat;
	transition: background-size 0.35s cubic-bezier(.7, 0, .2, 1), color 0.25s;
}

.akou-f2-links a:hover,
.akou-f2-links a:focus-visible {
	background-size: 100% 100%;
	color: var(--sc-band);
}

.akou-social {
	display: flex;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.akou-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid color-mix(in srgb, var(--sc-on-band) 40%, transparent);
	border-radius: var(--sc-radius);
	color: var(--sc-on-band);
}

.akou-social a:hover {
	border-color: currentColor;
	color: var(--sc-on-band);
}

.akou-f2-news {
	min-width: 0;
	margin: 0;
}

.akou-f2-line {
	display: flex;
	align-items: center;
	border-bottom: 2px solid var(--sc-on-band);
}

.akou-f2-line:focus-within {
	outline: 2px solid var(--sc-on-band-brand);
	outline-offset: 4px;
}

.akou-f2-line input {
	flex: 1;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 2px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	color: var(--sc-on-band);
	font: inherit;
	font-size: 17px;
}

.akou-f2-line input::placeholder {
	color: var(--sc-band-muted);
	opacity: 1;
}

.akou-f2-line button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 48px;
	margin: 0;
	padding: 0 2px 0 10px;
	background: transparent;
	border: 0;
	color: var(--sc-on-band-brand);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.akou-sub-hint {
	min-height: 1.5em;
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--sc-band-muted);
}

.akou-sub-hint.is-error {
	color: var(--sc-on-band-brand);
	font-weight: 600;
}

.akou-sub-hint.is-ok {
	color: var(--sc-on-band);
	font-weight: 600;
}

.akou-f2-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px 20px;
	padding: 9px 20px;
	border: 1px solid var(--sc-on-band);
	border-radius: 999px;
	font-size: 14px;
	color: var(--sc-band-muted);
}

.akou-f2-bar a {
	color: var(--sc-on-band);
}

.akou-mono-cap {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.akou-f2-word {
	margin-top: 20px;
	line-height: 0;
}

.akou-f2-word-in {
	display: inline-block;
	white-space: nowrap;
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 22cqi;
	line-height: 0.8;
	letter-spacing: 0.02em;
	color: var(--sc-on-band-brand);
	transform: translateY(10%);
}

.akou-f2-word-in span {
	display: inline-block;
	transition: transform 1s cubic-bezier(.16, .9, .18, 1);
	transition-delay: var(--d, 0ms);
}

.akou-f2.is-rise:not(.is-shown) .akou-f2-word-in span {
	transform: translateY(105%);
}

@media (max-width: 767px) {
	.akou-f2 {
		padding: 20px 16px 0;
	}

	.akou-f2-top {
		margin-bottom: 30px;
	}

	.akou-f2-key {
		width: 40px;
		height: 74px;
	}

	.akou-f2-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}

	.akou-f2-addr,
	.akou-f2-news {
		grid-column: 1 / -1;
	}

	.akou-f2-bar {
		padding: 10px 14px;
		border-radius: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.akou-hdr *,
	.akou-f2 * {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
	}
}

/* Automatic.css 4's bare-button type would turn Subscribe into its own button style (see the note
   at the end of the header section); restate it above that rule. */
.akou-f2 .akou-f2-line button {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
}
/* END footer */

/* BEGIN home */
/* ==========================================================================
   Home page (board a-home, phone a-phone). Bricks page 38 holds the structure and words
   (tools/home.py); the store's data comes from the [akou_*] shortcodes in functions.php.
   Stencil only on the hero H1 and the 01-06 section numbers.
   Automatic.css gives every top-level <section> flex, padding, and a gap to its direct
   children (all at zero specificity), so each home section restates them.
   ========================================================================== */
.akou-ic .akou-ic__fill {
	fill: currentColor;
	stroke: none;
}

:is(.akou-home, .akou-shop, .akou-pg) .brxe-shortcode {
	display: contents;
}

:is(.akou-home, .akou-shop, .akou-pg) :focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

.akou-home .akou-band :focus-visible,
.akou-home .akou-hero :focus-visible {
	outline-color: var(--sc-on-band-brand);
}

.akou-home section.akou-sec {
	display: block;
	gap: 0;
	padding: 96px 0;
}

.akou-home section.akou-sec--crates {
	padding-bottom: 88px;
}

.akou-home section.akou-sec--combo,
.akou-home section.akou-sec--reviews {
	padding-top: 0;
}

.akou-wrap {
	padding-inline: var(--akou-pad);
}

.akou-only-phone {
	display: none;
}

/* Corner brackets: one pseudo-element draws all four (or two) corners. */
.akou-brk {
	position: relative;
}

.akou-brk::after {
	--c: var(--brk-c, var(--sc-ink));
	--w: var(--brk-w, 3px);
	--l: var(--brk-l, 20px);
	content: "";
	position: absolute;
	inset: var(--brk-in, -1px);
	pointer-events: none;
	background:
		linear-gradient(var(--c), var(--c)) top left / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) top left / var(--w) var(--l),
		linear-gradient(var(--c), var(--c)) top right / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) top right / var(--w) var(--l),
		linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) bottom left / var(--w) var(--l),
		linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) bottom right / var(--w) var(--l);
	background-repeat: no-repeat;
}

.akou-brk--2::after {
	background:
		linear-gradient(var(--c), var(--c)) top left / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) top left / var(--w) var(--l),
		linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--w),
		linear-gradient(var(--c), var(--c)) bottom right / var(--w) var(--l);
	background-repeat: no-repeat;
}

/* Buttons. Not "btn--": Automatic.css styles every [class*="btn--"] as its own button. */
.akou-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1.5px solid transparent;
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	font-size: 17px;
	line-height: 1.1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.akou-cta-lg {
	min-height: 52px;
	padding: 0 24px;
	font-size: 19px;
}

.akou-cta-block {
	display: flex;
	width: 100%;
}

.akou-cta-brand {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
}

.akou-cta-brand:hover {
	background: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

.akou-cta-line {
	background: transparent;
	border-color: var(--sc-ink);
	color: var(--sc-ink);
}

.akou-cta-line:hover {
	background: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-cta-wait {
	background: var(--sc-surface-2);
	border: 1.5px dashed var(--sc-muted);
	color: var(--sc-ink);
}

.akou-cta-wait:hover {
	border-style: solid;
	border-color: var(--sc-ink);
	color: var(--sc-ink);
}

.akou-cta-onband {
	background: transparent;
	border-color: var(--sc-on-band);
	color: var(--sc-on-band);
}

.akou-cta-onband:hover {
	background: var(--sc-on-band);
	color: var(--sc-band);
}

/* Automatic.css types a bare <button> at 0,1,1, after this file: restate the type at 0,2,1. */
:is(.akou-home, .akou-shop, .akou-pg) button.akou-cta {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	line-height: 1.1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
}

/* WooCommerce's "View cart" link after an AJAX add: Modern Cart's slide-out opens instead. */
:is(.akou-home, .akou-shop, .akou-pg) .added_to_cart {
	display: none;
}

:is(.akou-home, .akou-shop, .akou-pg) .akou-cta.loading {
	opacity: 0.7;
	cursor: progress;
}

/* Section head: stencil number, eyebrow, heading, optional link */
.akou-shead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	padding-bottom: 20px;
	margin-bottom: 36px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-shead__l {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	min-width: 0;
}

.akou-shead__t,
.akou-trust__t {
	min-width: 0;
}

.akou-snum {
	flex: none;
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 96px;
	line-height: 0.74;
	letter-spacing: -0.02em;
	color: var(--sc-accent-text);
}

.akou-seyebrow {
	margin: 0 0 8px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--sc-muted);
}

.akou-home .akou-sh2 {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 56px;
	line-height: 0.9;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-shead__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sc-brand-text);
}

.akou-shead__link:hover {
	color: var(--sc-ink);
}

/* Hero */
.akou-home section.akou-hero {
	position: relative;
	display: block;
	gap: 0;
	padding: 0;
	overflow: hidden;
	background: var(--sc-band);
	border-bottom: 1px solid var(--sc-line);
}

.akou-hero .akou-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 70% 50%;
	border-radius: 0;
}

.akou-hero__in {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 700px;
	padding: 72px var(--akou-pad);
	box-sizing: border-box;
}

.akou-hero__card {
	--brk-c: var(--sc-on-band-brand);
	--brk-w: 2px;
	--brk-l: 16px;
	--brk-in: 12px;
	width: min(600px, 100%);
	padding: 48px 48px 44px;
	box-sizing: border-box;
	background: var(--sc-band);
	border-radius: var(--sc-radius);
	color: var(--sc-on-band);
}

.akou-hero__eyebrow {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sc-on-band-brand);
}

.akou-home .akou-hero__h1 {
	margin: 16px 0 0;
	font-family: var(--sc-font-display);
	font-weight: 900;
	font-size: 76px;
	line-height: 0.88;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-on-band);
}

.akou-hero__lede {
	max-width: 470px;
	margin: 22px 0 0;
	font-size: 18px;
	line-height: 1.55;
	color: var(--sc-band-muted);
}

.akou-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

/* 01 Crates */
.akou-hc {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.akou-hc > li {
	display: flex;
	min-width: 0;
}

.akou-hc__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	width: 100%;
	min-height: 184px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	text-decoration: none;
	overflow: hidden;
	transition: border-color 0.15s;
}

.akou-hc__card:hover {
	border-color: var(--sc-ink);
	color: var(--sc-ink);
}

.akou-hc__txt {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
	padding: 18px 20px 20px;
	border-right: 1px dashed var(--sc-line);
}

.akou-hc__no {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-hc__ct {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.akou-hc__n {
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 60px;
	line-height: 0.8;
	color: var(--sc-brand-text);
}

.akou-hc__u {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-hc__name {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 22px;
	line-height: 1.05;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-wrap: balance;
}

.akou-hc__pic {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	background: var(--sc-plate);
	isolation: isolate;
}

.akou-hc__pic img {
	display: block;
	width: 100%;
	height: 130px;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
}

.akou-hc-also {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 32px;
	margin-top: 20px;
	padding: 6px 20px;
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-hc-also__lbl {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-hc-also__link {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	min-height: 44px;
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-hc-also__link:hover {
	color: var(--sc-brand-text);
}

.akou-hc-also__name {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 19px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.akou-hc-also__note {
	font-size: 15px;
	color: var(--sc-muted);
}

/* 02 Combo */
.akou-combo {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-combo__pic {
	min-width: 0;
	padding: 28px;
	border-right: 1px dashed var(--sc-line);
}

.akou-combo__plate {
	padding: 20px;
	background: var(--sc-plate);
	border-radius: 2px;
	isolation: isolate;
}

.akou-combo__plate img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 550 / 367;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
}

.akou-combo__cap {
	margin: 14px 0 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

.akou-combo__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: 36px 40px 40px;
}

.akou-combo__tag {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 12px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-home .akou-combo__name {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 36px;
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.akou-combo__name a,
.akou-pc__name a,
.akou-wl__name a {
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-combo__name a:hover,
.akou-pc__name a:hover,
.akou-wl__name a:hover {
	color: var(--sc-brand-text);
}

.akou-combo__desc {
	margin: 0;
	font-size: 17px;
	color: var(--sc-muted);
}

.akou-combo__specs {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 0;
	border-top: 1px dashed var(--sc-line);
	font-family: var(--sc-font-mono);
	font-size: 13px;
	line-height: 1.45;
}

.akou-combo__specs dt {
	padding: 9px 18px 9px 0;
	border-bottom: 1px dashed var(--sc-line);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-combo__specs dd {
	margin: 0;
	padding: 9px 0;
	border-bottom: 1px dashed var(--sc-line);
	color: var(--sc-ink);
	text-wrap: balance;
}

.akou-combo__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.akou-home .akou-combo__price {
	margin: 0;
	font-size: 28px;
	line-height: 1.1;
}

.akou-rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	color: var(--sc-muted);
}

.akou-rating .akou-ic {
	color: var(--sc-brand-text);
}

.akou-rating__n {
	color: var(--sc-ink);
}

.akou-combo .akou-rating {
	font-size: 14px;
}

/* Prices: WooCommerce's sale and range markup */
.akou-price del {
	margin-right: 6px;
	font-weight: 400;
	font-size: 0.85em;
	color: var(--sc-muted);
}

.akou-price ins {
	text-decoration: none;
}

/* Trust points */
.akou-home section.akou-trust {
	display: block;
	gap: 0;
	padding: 0;
	background: var(--sc-surface);
	border-top: 1px solid var(--sc-line);
	border-bottom: 1px solid var(--sc-line);
}

.akou-trust__list {
	list-style: none;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.akou-trust__list > li {
	display: flex;
	gap: 18px;
	min-width: 0;
	padding: 30px 28px;
}

.akou-trust__list > li:first-child {
	padding-left: 0;
}

.akou-trust__list > li:last-child {
	padding-right: 0;
}

.akou-trust__list > li + li {
	border-left: 1px dashed var(--sc-line);
}

.akou-trust__ic {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	box-sizing: border-box;
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	color: var(--sc-brand-text);
}

.akou-trust__code,
.akou-trust__title,
.akou-trust__text {
	display: block;
}

.akou-trust__code {
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	color: var(--sc-muted);
}

.akou-trust__title {
	margin-top: 2px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 22px;
	line-height: 1.1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.akou-trust__text {
	margin-top: 4px;
	font-size: 16px;
	color: var(--sc-muted);
}

/* 03 Product tag cards */
.akou-pcs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.akou-pcs > li,
.akou-wls > li,
.akou-revs > li {
	display: flex;
	min-width: 0;
}

.akou-pc,
.akou-wl {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	transition: border-color 0.15s;
}

.akou-pc:hover,
.akou-wl:hover {
	border-color: var(--sc-muted);
}

.akou-pc .akou-tagrow,
.akou-wl .akou-tagrow {
	padding: 10px 14px;
}

.akou-pc .akou-hole {
	width: 11px;
	height: 11px;
	box-sizing: border-box;
	border-color: var(--sc-muted);
}

.akou-pc__pic,
.akou-wl__pic {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	padding: 18px;
	box-sizing: border-box;
	background: var(--sc-plate);
	isolation: isolate;
}

.akou-pc__pic img,
.akou-wl__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
}

.akou-pc__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	padding: 16px 16px 0;
}

:is(.akou-home, .akou-shop, .akou-pg) .akou-pc__name {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.15;
	letter-spacing: 0.01em;
}

.akou-pc__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 6px;
}

.akou-pc .akou-price {
	font-size: 17px;
}

.akou-pc__act {
	padding: 14px 16px 16px;
}

/* Feature band */
.akou-home section.akou-band {
	display: block;
	gap: 0;
	padding: 0;
	background: var(--sc-band);
	border-top: 1px solid var(--sc-line);
	border-bottom: 1px solid var(--sc-line);
	color: var(--sc-on-band);
}

.akou-band__in {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 56px;
	padding-block: 88px;
}

.akou-band__txt {
	min-width: 0;
}

.akou-band__eyebrow {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sc-on-band-brand);
}

.akou-home .akou-band__h2 {
	margin: 14px 0 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 60px;
	line-height: 0.9;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-on-band);
}

.akou-band__lede {
	margin: 20px 0 0;
	font-size: 18px;
	color: var(--sc-band-muted);
}

.akou-rows {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	border-top: 1px dashed var(--sc-line);
}

.akou-rows a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	border-bottom: 1px dashed var(--sc-line);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 20px;
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sc-on-band);
}

.akou-rows a:hover {
	color: var(--sc-on-band-brand);
}

.akou-rows__ct {
	flex: none;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-on-band-brand);
}

.akou-band__cta {
	margin-top: 28px;
}

.akou-band__fig {
	--brk-c: var(--sc-on-band-brand);
	--brk-w: 3px;
	--brk-l: 22px;
	--brk-in: -2px;
	min-width: 0;
	margin: 0;
	padding: 14px;
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-band__fig .akou-band__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 2px;
}

.akou-band__cap {
	margin-top: 12px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-band-muted);
}

/* 04 Waitlist cards */
.akou-wls {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.akou-wl__pic {
	height: 300px;
	padding: 20px;
}

.akou-wl__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	padding: 20px 20px 0;
}

.akou-wl__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.akou-chip {
	display: inline-flex;
	padding: 2px 8px;
	background: var(--sc-surface-2);
	border-radius: 2px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	color: var(--sc-ink);
}

.akou-chip--new,
.akou-chip--sale {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
	font-weight: 500;
}

.akou-home .akou-wl__name {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 26px;
	line-height: 1.05;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.akou-wl__desc {
	margin: 0;
	font-size: 16px;
	color: var(--sc-muted);
}

.akou-home .akou-wl__price {
	margin: auto 0 0;
	padding-top: 6px;
	font-size: 19px;
}

.akou-wl__act {
	padding: 16px 20px 20px;
}

.akou-wl__note {
	margin: 8px 0 0;
	font-size: 14px;
	text-align: center;
	color: var(--sc-muted);
}

/* 05 Reviews */
.akou-revs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.akou-rev-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 26px 26px 24px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-top: 4px solid var(--sc-accent);
	border-radius: var(--sc-radius);
}

.akou-rev-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.akou-rev-card__stars {
	display: inline-flex;
	gap: 2px;
	color: var(--sc-brand-text);
}

.akou-rev-card__date {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-rev-card__q {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--sc-font-body);
	font-style: normal;
	font-size: 18px;
	line-height: 1.55;
	color: var(--sc-ink);
}

.akou-rev-card__who {
	margin-top: auto;
	color: var(--sc-ink);
	padding-top: 14px;
	border-top: 1px dashed var(--sc-line);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Brands strip */
.akou-home section.akou-brands {
	display: block;
	gap: 0;
	padding: 0;
	background: var(--sc-surface);
	border-top: 1px solid var(--sc-line);
	border-bottom: 1px solid var(--sc-line);
}

.akou-brands__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
	padding-block: 28px;
}

.akou-home .akou-brands__h2 {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-brands__list {
	flex: 1;
	min-width: 0;
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-brands__list span {
	color: var(--sc-accent-text);
}

/* 06 Email + YouTube, with the M1 floating-label form */
.akou-home section.akou-subsec {
	display: block;
	gap: 0;
	padding: 0;
	background: var(--sc-surface-2);
	border-bottom: 1px solid var(--sc-line);
}

.akou-subsec__in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 56px;
	padding-block: 88px;
}

.akou-subsec__txt {
	min-width: 0;
}

.akou-subsec__top {
	display: flex;
	align-items: flex-end;
	gap: 18px;
}

.akou-subsec__top .akou-seyebrow {
	margin: 0;
}

.akou-home .akou-subsec__h2 {
	margin: 22px 0 0;
	font-size: 54px;
	line-height: 0.92;
}

.akou-subsec__lede {
	max-width: 520px;
	margin: 20px 0 0;
	font-size: 18px;
	color: var(--sc-muted);
}

.akou-subsec__yt {
	margin-top: 28px;
}

.akou-sub {
	margin: 0;
	padding: 32px;
	min-width: 0;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-sub__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 16px;
	margin-bottom: 6px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-home .akou-sub__title {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 24px;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.akou-sub__form {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-sub__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.akou-fld {
	position: relative;
	min-width: 0;
	padding-top: 24px;
}

.akou-fld__box {
	position: relative;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
	transition: border-color 0.15s, background-color 0.15s;
}

.akou-fld__box:hover {
	border-color: var(--sc-accent);
}

.akou-fld:focus-within .akou-fld__box {
	border-color: var(--sc-ink);
	background: var(--sc-surface);
	outline: 2px solid var(--sc-brand);
	outline-offset: 2px;
}

.akou-fld input {
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 14px;
	box-sizing: border-box;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
}

.akou-fld input::placeholder {
	color: transparent;
}

.akou-fld__lbl {
	position: absolute;
	top: 42px;
	left: 16px;
	z-index: 1;
	font-family: var(--sc-font-body);
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	color: var(--sc-muted);
	transform-origin: 0 0;
	pointer-events: none;
	transition: transform 0.34s var(--sc-ease), color 0.15s;
}

.akou-fld:focus-within .akou-fld__lbl,
.akou-fld:has(input:not(:placeholder-shown)) .akou-fld__lbl {
	transform: translate(-16px, -42px) scale(0.88);
	color: var(--sc-ink);
}

.akou-fld__req {
	color: var(--sc-brand-text);
}

.akou-fld.is-error .akou-fld__box {
	border-color: var(--sc-danger);
}

.akou-fld.is-error .akou-fld__lbl {
	color: var(--sc-danger);
}

.akou-sub .akou-cta {
	margin-top: 22px;
}

.akou-sub .akou-sub-hint {
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--sc-muted);
}

.akou-sub .akou-sub-hint.is-error {
	color: var(--sc-danger);
}

@media (prefers-reduced-motion: reduce) {
	.akou-fld__lbl {
		transition: none;
	}
}

/* Narrower desktops */
@media (max-width: 1199px) {
	.akou-hc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.akou-pcs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.akou-home .akou-hero__h1 {
		font-size: 68px;
	}
}

/* Tablet */
@media (max-width: 991px) {
	.akou-home section.akou-sec {
		padding-block: 72px;
	}

	.akou-home section.akou-sec--crates {
		padding-bottom: 64px;
	}

	.akou-home section.akou-sec--combo,
	.akou-home section.akou-sec--reviews {
		padding-top: 0;
	}

	.akou-hero__in {
		min-height: 560px;
		padding-block: 56px;
	}

	.akou-combo {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-combo__pic {
		border-right: 0;
		border-bottom: 1px dashed var(--sc-line);
	}

	.akou-band__in,
	.akou-subsec__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		padding-block: 64px;
	}

	.akou-wls {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.akou-wl {
		display: grid;
		grid-template-columns: 200px minmax(0, 1fr);
		grid-template-areas: "tag tag" "pic body" "pic act";
		grid-template-rows: auto 1fr auto;
	}

	.akou-wl .akou-tagrow {
		grid-area: tag;
	}

	.akou-wl__pic {
		grid-area: pic;
		height: auto;
		min-height: 180px;
		padding: 14px;
	}

	.akou-wl__body {
		grid-area: body;
	}

	.akou-wl__act {
		grid-area: act;
	}

	.akou-revs {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}

/* Tablet: the trust icons sit above their text, or the three 235px columns split each title one word a line */
@media (min-width: 768px) and (max-width: 991px) {
	.akou-trust__list > li {
		flex-direction: column;
		gap: 12px;
		padding: 26px 22px;
	}

	.akou-trust__list > li:first-child {
		padding-left: 0;
	}

	.akou-trust__list > li:last-child {
		padding-right: 0;
	}

	.akou-trust__ic {
		width: 46px;
		height: 46px;
	}
}

/* Phone (board a-phone) */
@media (max-width: 767px) {
	.akou-home {
		--akou-pad: 16px;
	}

	.akou-only-phone {
		display: block;
	}

	.akou-home section.akou-sec {
		padding-block: 44px;
	}

	.akou-home section.akou-sec--crates {
		padding-bottom: 40px;
	}

	.akou-home section.akou-sec--combo,
	.akou-home section.akou-sec--reviews {
		padding-top: 0;
	}

	.akou-shead {
		gap: 12px;
		padding-bottom: 14px;
		margin-bottom: 20px;
	}

	.akou-shead__l {
		gap: 12px;
	}

	.akou-shead .akou-shead__link {
		display: none;
	}

	.akou-snum {
		font-size: 60px;
	}

	.akou-seyebrow {
		margin-bottom: 6px;
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.akou-home .akou-sh2 {
		font-size: 40px;
		line-height: 0.92;
	}

	.akou-endlink {
		margin-top: 16px;
	}

	.akou-endlink .akou-shead__link {
		display: flex;
		justify-content: center;
		min-height: 48px;
		font-size: 16px;
	}

	/* Hero: photo on top, the card below it */
	.akou-hero .akou-hero__img {
		position: relative;
		inset: auto;
		height: 230px;
	}

	.akou-hero__in {
		display: block;
		min-height: 0;
		padding: 0;
	}

	.akou-hero__card {
		--brk-l: 12px;
		--brk-in: 10px;
		width: 100%;
		padding: 26px 16px 28px;
		border-radius: 0;
	}

	.akou-hero__eyebrow {
		font-size: 12px;
		letter-spacing: 0.14em;
	}

	.akou-home .akou-hero__h1 {
		margin-top: 10px;
		font-size: 46px;
		line-height: 0.9;
	}

	.akou-hero__lede {
		margin-top: 14px;
		font-size: 16px;
	}

	.akou-hero__ctas {
		display: grid;
		gap: 10px;
		margin-top: 20px;
	}

	/* Crates: text cards, two across */
	.akou-hc {
		gap: 10px;
	}

	.akou-hc__card {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 134px;
	}

	.akou-hc__txt {
		flex: 1;
		gap: 8px;
		padding: 12px 12px 14px;
		border-right: 0;
	}

	.akou-hc__pic,
	.akou-hc__in {
		display: none;
	}

	.akou-hc__no {
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	.akou-hc__n {
		font-size: 44px;
	}

	.akou-hc__name {
		font-size: 17px;
	}

	.akou-hc-also {
		display: block;
		margin-top: 12px;
		padding: 4px 12px;
	}

	.akou-hc-also__lbl {
		display: none;
	}

	.akou-hc-also__link {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
		min-height: 48px;
		padding-block: 6px;
	}

	.akou-hc-also__link + .akou-hc-also__link {
		border-top: 1px dashed var(--sc-line);
	}

	.akou-hc-also__link .akou-hc__no {
		flex: none;
	}

	.akou-hc-also__name {
		flex: none;
		font-size: 17px;
	}

	.akou-hc-also__note {
		min-width: 0;
		font-size: 14px;
	}

	/* Combo */
	.akou-combo__pic {
		padding: 0;
	}

	.akou-combo__plate {
		padding: 14px;
		border-radius: 0;
	}

	.akou-combo__cap {
		margin: 0;
		padding: 10px 16px 0;
		font-size: 12px;
	}

	.akou-combo__body {
		gap: 12px;
		padding: 14px 16px 18px;
	}

	.akou-combo__tag {
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	.akou-combo__cat {
		display: none;
	}

	.akou-home .akou-combo__name {
		font-size: 26px;
		line-height: 1.02;
	}

	.akou-combo__desc {
		font-size: 16px;
	}

	.akou-home .akou-combo__price {
		font-size: 21px;
	}

	.akou-combo .akou-rating {
		font-size: 13px;
	}

	/* Trust: stacked */
	.akou-trust__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-trust__list > li {
		gap: 14px;
		padding: 16px 0;
	}

	.akou-trust__list > li + li {
		border-left: 0;
		border-top: 1px dashed var(--sc-line);
	}

	.akou-trust__ic {
		width: 44px;
		height: 44px;
	}

	.akou-trust__title {
		font-size: 19px;
		line-height: 1.15;
	}

	.akou-trust__text {
		font-size: 15px;
	}

	/* Product cards: two across */
	.akou-pcs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.akou-pc .akou-tagrow {
		padding: 7px 10px;
		font-size: 11px;
		letter-spacing: 0.08em;
	}

	.akou-pc .akou-hole {
		width: 9px;
		height: 9px;
	}

	.akou-pc__pic {
		height: 130px;
		padding: 12px;
	}

	/* Two across, a name's last run must fit: "Surplus - Unissued!" is 136.3px at 17px with no tracking, and the
	   card at 360 gives it 140px */
	.akou-pc__body {
		gap: 6px;
		padding: 12px 8px 0;
	}

	:is(.akou-home, .akou-shop, .akou-pg) .akou-pc__name {
		font-size: 17px;
		letter-spacing: 0;
	}

	.akou-pc .akou-rating {
		font-size: 12px;
	}

	.akou-pc__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		padding-top: 4px;
	}

	.akou-pc .akou-price {
		font-size: 15px;
	}

	.akou-pc .akou-stock {
		font-size: 10px;
	}

	.akou-pc__act {
		padding: 10px;
	}

	.akou-pc__act .akou-cta {
		min-height: 44px;
		padding: 0 8px;
		gap: 6px;
		font-size: 16px;
		letter-spacing: 0.05em;
	}

	/* Feature band: heading, photo, words, rows, button */
	.akou-band__in {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding-block: 44px;
	}

	.akou-band__txt {
		display: contents;
	}

	.akou-band__eyebrow { order: 1; font-size: 12px; letter-spacing: 0.14em; }
	.akou-band__h2 { order: 2; }
	.akou-band__fig { order: 3; margin-top: 20px; padding: 8px; }
	.akou-band__lede { order: 4; margin-top: 18px; font-size: 16px; }
	.akou-rows { order: 5; margin-top: 18px; }
	.akou-band__cta { order: 6; margin-top: 20px; }

	.akou-home .akou-band__h2 {
		margin-top: 10px;
		font-size: 42px;
		line-height: 0.92;
	}

	.akou-band__fig {
		--brk-l: 16px;
	}

	.akou-band__cap {
		margin-top: 8px;
		font-size: 11px;
	}

	.akou-rows a {
		gap: 12px;
		min-height: 50px;
		font-size: 18px;
	}

	.akou-rows__ct {
		font-size: 13px;
	}

	/* Waitlist: photo beside the words */
	.akou-wl {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.akou-wl .akou-tagrow {
		padding: 7px 12px;
		font-size: 11px;
	}

	.akou-wl__pic {
		min-height: 150px;
		padding: 10px;
	}

	.akou-wl__body {
		gap: 6px;
		padding: 12px 12px 0 14px;
	}

	.akou-wl__desc,
	.akou-wl__note {
		display: none;
	}

	.akou-chip {
		padding: 1px 6px;
		font-size: 11px;
	}

	.akou-home .akou-wl__name {
		font-size: 18px;
		line-height: 1.1;
	}

	.akou-home .akou-wl__price {
		font-size: 15px;
	}

	.akou-wl__act {
		padding: 10px 12px 12px 14px;
	}

	.akou-wl__act .akou-cta {
		min-height: 44px;
		font-size: 16px;
	}

	/* Reviews: two on a phone */
	.akou-revs {
		gap: 12px;
	}

	.akou-revs > li:nth-child(n + 3) {
		display: none;
	}

	.akou-rev-card {
		gap: 12px;
		padding: 18px;
	}

	.akou-rev-card__date {
		font-size: 11px;
	}

	.akou-rev-card__q {
		font-size: 16px;
	}

	.akou-rev-card__who {
		padding-top: 10px;
		font-size: 16px;
	}

	/* Brands */
	.akou-brands__in {
		gap: 8px;
		padding-block: 24px;
	}

	.akou-brands__list {
		flex-basis: 100%;
		font-size: 17px;
	}

	/* Sign-up: words, form, then the YouTube button */
	.akou-subsec__in {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding-block: 44px;
	}

	.akou-subsec__txt {
		display: contents;
	}

	.akou-subsec__top { order: 1; gap: 12px; }
	.akou-subsec__h2 { order: 2; }
	.akou-subsec__lede { order: 3; margin-top: 14px; font-size: 16px; }
	.akou-sub { order: 4; margin-top: 20px; padding: 18px; }
	.akou-subsec__yt { order: 5; margin-top: 12px; }

	.akou-home .akou-subsec__h2 {
		margin-top: 16px;
		font-size: 40px;
	}

	.akou-sub__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	.akou-home .akou-sub__title {
		font-size: 20px;
	}
}

@media (max-width: 359px) {
	.akou-home .akou-hero__h1 {
		font-size: 42px;
	}

	/* "One box. Glass and mount, sorted." keeps its last pair: 230px at 36px in a 217px column at 320 */
	.akou-home .akou-sh2 {
		font-size: 33px;
	}

	/* "Mosin Nagant Rifle Service / TuneUp ·" is one run: 116px at 14px in 114px */
	.akou-hc-also__note {
		font-size: 13px;
	}

	/* "Notify me" with its bell: 152px with 24px sides in a 148px button */
	.akou-wl__act .akou-cta {
		padding-inline: 16px;
	}

	/* Two-up product names and crate names at 320: the last run fits. The widest of all 79 names are
	   "M-Lok Handguards" (a hyphenated word holds together, see .akou-nw) and "Surplus - Unissued!": 120.2px at
	   15px in a 120px box, so 14.5px. */
	:is(.akou-home, .akou-shop, .akou-pg) .akou-pc__name {
		font-size: 14.5px;
	}

	.akou-hc__txt {
		padding-inline: 10px;
	}

	/* "Yugo Accessories" holds together: 116px at 16px in a 117px box */
	.akou-hc__name {
		font-size: 15px;
		letter-spacing: 0;
	}
}

/* Four crates across at 768-899: "Yugo Accessories" is 166px at 22px in a 157px box at 768 */
@media (min-width: 768px) and (max-width: 899px) {
	.akou-hc__name {
		font-size: 20px;
	}
}
/* END home */

/* BEGIN shop */
/* ==========================================================================
   Shop page and product category / tag archives (board a-shop, phone a-phone "02 Shop").
   Bricks section template "Shop archive" (tools/shop.py) holds the structure; the [akou_shop_*] and
   [akou_crumbs] shortcodes in functions.php fill it from WooCommerce's main query. The filters are a
   sidebar from 992px and a sheet below it (akou.js). Product cards are the home page's (.akou-pc).
   ========================================================================== */
.akou-shop {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

/* Automatic.css gives every <section> flex, padding and a gap (see the home block). */
.akou-shop section.akou-shophd,
.akou-shop section.akou-results {
	display: block;
	gap: 0;
	padding: 0;
}

/* Title band */
.akou-shop section.akou-shophd {
	padding-block: 28px 32px;
	border-bottom: 1px solid var(--sc-line);
}

.akou-crumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: var(--sc-muted);
}

/* The slash rides on the crumb before it, so a wrapped line never starts with one. */
.akou-crumbs li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 24px;
}

.akou-crumbs li:not(:last-child)::after {
	content: "/" / "";
}

.akou-crumbs a {
	color: var(--sc-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-crumbs a:hover {
	color: var(--sc-ink);
}

.akou-crumbs [aria-current] {
	color: var(--sc-ink);
}

.akou-shophd__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px 24px;
	margin-top: 18px;
}

.akou-shop .akou-shophd__h1 {
	margin: 0;
	max-width: 15ch;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 80px;
	line-height: 0.88;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-stats {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, auto);
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-stats > div {
	padding: 12px 22px;
}

.akou-stats > div + div {
	border-left: 1px dashed var(--sc-line);
}

.akou-stats dt {
	font-family: var(--sc-font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-stats dd {
	margin: 2px 0 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 44px;
	line-height: 0.9;
	color: var(--sc-ink);
}

.akou-stats__in dd {
	color: var(--sc-success);
}

.akou-stats__out dd {
	color: var(--sc-danger);
}

.akou-shophd__desc {
	max-width: 68ch;
	margin-top: 16px;
	font-size: 17px;
	color: var(--sc-muted);
}

.akou-shophd__desc p {
	margin: 0;
}

.akou-shophd__desc p + p {
	margin-top: 0.75em;
}

/* Filters beside the list */
.akou-shopbody {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	padding-block: 40px 96px;
}

.akou-filt {
	min-width: 0;
}

.akou-filt__scrim,
.akou-filt__x,
.akou-filt__foot {
	display: none;
}

.akou-filt__form {
	position: relative;
	margin: 0;
	padding: 0 20px 8px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

/* Two corner ticks on the top edge, as on the board */
.akou-filt__form::before {
	content: "";
	position: absolute;
	inset: -1px -1px auto;
	height: 16px;
	pointer-events: none;
	background:
		linear-gradient(var(--sc-ink), var(--sc-ink)) top left / 16px 3px,
		linear-gradient(var(--sc-ink), var(--sc-ink)) top left / 3px 16px,
		linear-gradient(var(--sc-ink), var(--sc-ink)) top right / 16px 3px,
		linear-gradient(var(--sc-ink), var(--sc-ink)) top right / 3px 16px;
	background-repeat: no-repeat;
}

.akou-filt__head {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 62px;
	border-bottom: 1px solid var(--sc-line);
}

.akou-shop .akou-filt__h {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 auto 0 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 22px;
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sc-ink);
	outline: none;
}

.akou-filt__clear,
.akou-active__clear {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--sc-brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-filt__clear:hover,
.akou-active__clear:hover {
	color: var(--sc-ink);
}

.akou-filt__set {
	min-width: 0;
	margin: 0;
	padding: 18px 0 12px;
	border: 0;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-filt__set:last-child {
	border-bottom: 0;
}

.akou-shop .akou-filt__set legend {
	padding: 0 0 6px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-chk {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font-size: 16px;
	line-height: 1.3;
	color: var(--sc-ink);
	cursor: pointer;
}

.akou-chk--sub {
	padding-left: 30px;
}

.akou-shop .akou-chk input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--sc-brand);
	cursor: inherit;
}

.akou-chk__t {
	flex: 1;
	min-width: 0;
}

.akou-chk__t .akou-ic {
	display: inline-block;
	margin-right: 6px;
	vertical-align: -2px;
	color: var(--sc-brand-text);
}

.akou-chk__n {
	font-family: var(--sc-font-mono);
	font-size: 13px;
	color: var(--sc-muted);
}

.akou-chk.is-off {
	color: var(--sc-muted);
	cursor: default;
}

/* Price: two range thumbs over one track (a pointer shortcut; the boxes below are the real controls) */
.akou-range {
	--lo: 0%;
	--hi: 100%;
	position: relative;
	height: 24px;
	margin: 8px 10px 14px;
}

.akou-range[hidden] {
	display: none;
}

.akou-range::before,
.akou-range__fill {
	content: "";
	position: absolute;
	top: 10px;
	height: 4px;
	border-radius: 2px;
}

.akou-range::before {
	left: 0;
	right: 0;
	background: var(--sc-line);
}

.akou-range__fill {
	left: var(--lo);
	right: calc(100% - var(--hi));
	background: var(--sc-brand);
}

.akou-shop .akou-range input {
	position: absolute;
	top: 0;
	left: -10px;
	width: calc(100% + 20px);
	height: 24px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
}

.akou-range input::-webkit-slider-runnable-track {
	height: 24px;
	background: none;
	border: 0;
}

.akou-range input::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 2.5px solid var(--sc-brand);
	border-radius: 3px;
	pointer-events: auto;
	cursor: grab;
}

.akou-range input::-moz-range-track {
	background: none;
	border: 0;
}

.akou-range input::-moz-range-thumb {
	width: 20px;
	height: 20px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 2.5px solid var(--sc-brand);
	border-radius: 3px;
	pointer-events: auto;
	cursor: grab;
}

.akou-filt__prices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding-bottom: 6px;
}

.akou-filt__p {
	min-width: 0;
}

.akou-shop .akou-filt__p label {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--sc-ink);
}

.akou-shop .akou-filt__p input[type="text"] {
	display: block;
	width: 100%;
	height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: 0 10px;
	font-family: var(--sc-font-mono);
	font-size: 16px;
	color: var(--sc-ink);
	background: var(--sc-bg);
	border: 1.5px solid var(--sc-accent);
	border-radius: var(--sc-radius);
	box-shadow: none;
}

.akou-shop .akou-filt__p input[type="text"]:focus {
	border-color: var(--sc-ink);
}

/* The list */
.akou-shop section.akou-results {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	min-width: 0;
}

.akou-results > *,
.akou-results > .brxe-shortcode > * {
	grid-column: 1 / -1;
}

.akou-shop .akou-rbar__count {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0 16px 16px 0;
	border-bottom: 1px dashed var(--sc-line);
	font-family: var(--sc-font-mono);
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

.akou-shop .akou-rbar {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-rbar__filt {
	display: none;
}

.akou-sort {
	display: flex;
	align-items: center;
	gap: 12px;
}

.akou-shop .akou-sort__lbl {
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-ink);
	white-space: nowrap;
}

.akou-sort__box {
	position: relative;
	display: flex;
	align-items: center;
}

.akou-sort__ic {
	display: none;
}

.akou-sort__dn {
	position: absolute;
	right: 12px;
	color: var(--sc-ink);
	pointer-events: none;
}

.akou-shop .akou-sort select {
	min-width: 220px;
	height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: 0 40px 0 12px;
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
	background: var(--sc-surface);
	border: 1.5px solid var(--sc-accent);
	border-radius: var(--sc-radius);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.akou-shop .akou-sort select:hover {
	border-color: var(--sc-ink);
}

.akou-active {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 14px;
}

.akou-active__lbl {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-fchip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 12px 0 14px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 1.5px solid var(--sc-ink);
	border-radius: 2px;
	font-size: 15px;
	font-weight: 500;
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-fchip:hover {
	background: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-fchip .akou-ic {
	flex: none;
}

.akou-results .akou-pcs--shop {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 24px;
}

.akou-notices {
	margin-bottom: 16px;
}

.akou-shop :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	list-style: none;
	margin: 0 0 8px;
	padding: 14px 16px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-left: 4px solid var(--sc-success);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
}

.akou-shop .woocommerce-error {
	border-left-color: var(--sc-danger);
}

.akou-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding: 48px 24px;
	text-align: center;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-shop .akou-empty__h {
	margin: 0;
	max-width: 22ch;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 30px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-empty__t {
	margin: 0 0 8px;
	color: var(--sc-muted);
}

.akou-pager {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px dashed var(--sc-line);
}

.akou-pager__of {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	color: var(--sc-muted);
}

.akou-pager ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.akou-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 48px;
	height: 48px;
	box-sizing: border-box;
	padding: 0 12px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 16px;
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-pager a.page-numbers:hover {
	border-color: var(--sc-ink);
}

.akou-pager .page-numbers.current {
	background: var(--sc-ink);
	border-color: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-pager .page-numbers.dots {
	min-width: 24px;
	padding: 0;
	background: none;
	border-color: transparent;
}

.akou-pager .page-numbers:is(.prev, .next) {
	padding: 0 16px;
	background: transparent;
	border: 1.5px solid var(--sc-ink);
	font-family: var(--sc-font-head);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.akou-pager .page-numbers:is(.prev, .next):hover {
	background: var(--sc-ink);
	color: var(--sc-bg);
}

/* While the next page loads after a filter change */
html.akou-busy {
	cursor: progress;
}

html.akou-busy .akou-results {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.2s;
}

@keyframes akou-sheet {
	from {
		transform: translateY(32px);
		opacity: 0;
	}
}

/* Narrower desktops: two cards across beside the filters */
@media (min-width: 992px) and (max-width: 1099px) {
	.akou-shopbody {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 28px;
	}

	.akou-results .akou-pcs--shop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Tablet and phone: the filters become a sheet, opened from a bar that stays at the top while the list scrolls */
@media (max-width: 991px) {
	.akou-shop .akou-shophd__h1 {
		font-size: 64px;
	}

	.akou-shopbody {
		display: block;
		padding-block: 0 72px;
	}

	.akou-filt {
		position: fixed;
		inset: 0;
		z-index: 100001;
		display: none;
	}

	.akou-filt.is-open {
		display: block;
	}

	.akou-filt__scrim {
		display: block;
		position: absolute;
		inset: 0;
		background: rgb(12 14 8 / 0.6);
		animation: akou-fade 0.2s;
	}

	.akou-filt__form {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		display: flex;
		flex-direction: column;
		max-height: 88vh;
		max-height: 88dvh;
		padding: 0;
		border-bottom: 0;
		border-radius: 10px 10px 0 0;
		animation: akou-sheet 0.25s var(--sc-ease);
	}

	.akou-filt__form::before {
		display: none;
	}

	.akou-filt__head {
		flex: none;
		padding: 0 8px 0 20px;
	}

	.akou-filt__x {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		background: none;
		border: 0;
		border-radius: var(--sc-radius);
		color: var(--sc-ink);
		cursor: pointer;
	}

	.akou-filt__body {
		flex: 1;
		min-height: 0;
		padding: 0 20px;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.akou-filt .akou-filt__foot {
		display: block;
		flex: none;
		padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
		background: var(--sc-surface);
		border-top: 1px solid var(--sc-line);
	}

	.akou-shop section.akou-results {
		display: block;
	}

	.akou-shop .akou-rbar {
		position: sticky;
		top: 0;
		z-index: 4;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-inline: calc(var(--akou-pad) * -1);
		padding: 12px var(--akou-pad);
		background: var(--sc-bg);
		border-bottom: 1px solid var(--sc-line);
	}

	.akou-rbar__filt {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-width: 0;
		min-height: 48px;
		padding: 0 10px;
		box-sizing: border-box;
		background: var(--sc-ink);
		border: 1.5px solid var(--sc-ink);
		border-radius: var(--sc-radius);
		color: var(--sc-bg);
		cursor: pointer;
	}

	.akou-shop button.akou-rbar__filt {
		font-family: var(--sc-font-head);
		font-weight: 800;
		font-size: 17px;
		line-height: 1.1;
		letter-spacing: 0.07em;
		text-transform: uppercase;
	}

	.akou-rbar__n {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 22px;
		height: 22px;
		padding: 0 6px;
		box-sizing: border-box;
		border-radius: 11px;
		background: var(--sc-brand);
		color: var(--sc-on-brand);
		font-family: var(--sc-font-mono);
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 0;
	}

	/* Sort: one framed box, "Sort by" small on top and the choice under it */
	.akou-sort {
		position: relative;
		display: block;
		min-width: 0;
	}

	.akou-shop .akou-sort__lbl {
		position: absolute;
		top: 7px;
		left: 32px;
		z-index: 1;
		font-family: var(--sc-font-mono);
		font-weight: 500;
		font-size: 10px;
		line-height: 1.2;
		letter-spacing: 0.14em;
		color: var(--sc-muted);
		pointer-events: none;
	}

	.akou-sort__ic {
		display: block;
		position: absolute;
		top: 6px;
		left: 12px;
		width: 14px;
		height: 14px;
		color: var(--sc-muted);
		pointer-events: none;
	}

	.akou-sort__dn {
		right: 10px;
	}

	.akou-shop .akou-sort select {
		width: 100%;
		min-width: 0;
		height: 48px;
		padding: 16px 32px 0 12px;
		font-size: 15px;
		border-color: var(--sc-ink);
	}

	.akou-shop .akou-rbar__count {
		display: block;
		margin-top: 14px;
		padding: 0;
		border: 0;
		font-size: 13px;
	}

	.akou-active {
		padding-top: 10px;
	}

	.akou-results .akou-pcs--shop {
		margin-top: 16px;
	}

	.akou-pager {
		margin-top: 40px;
	}
}

/* The admin bar is fixed from 601px, so the stuck bar starts under it (signed-in staff only) */
@media (min-width: 601px) and (max-width: 782px) {
	.admin-bar .akou-shop .akou-rbar {
		top: 46px;
	}
}

@media (min-width: 783px) and (max-width: 991px) {
	.admin-bar .akou-shop .akou-rbar {
		top: 32px;
	}
}

/* Phone */
@media (max-width: 767px) {
	.akou-shop {
		--akou-pad: 16px;
	}

	.akou-shop section.akou-shophd {
		padding-block: 16px 20px;
	}

	.akou-shophd__row {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		margin-top: 12px;
	}

	.akou-shop .akou-shophd__h1 {
		font-size: 48px;
		line-height: 0.9;
	}

	.akou-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.akou-stats > div {
		padding: 8px 12px;
	}

	.akou-stats dt {
		font-size: 10px;
	}

	.akou-stats dd {
		font-size: 32px;
	}

	.akou-stats__long {
		display: none;
	}

	.akou-shophd__desc {
		font-size: 16px;
	}

	.akou-results .akou-pcs--shop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.akou-empty {
		padding: 36px 16px;
	}

	.akou-shop .akou-empty__h {
		font-size: 26px;
	}

	.akou-pager {
		justify-content: center;
		padding-top: 20px;
	}

	.akou-pager__of {
		display: none;
	}

	.akou-pager__t {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.akou-pager .page-numbers:is(.prev, .next) {
		padding: 0;
	}
}

/* Two thumbs or six page buttons in 288px */
@media (max-width: 359px) {
	.akou-pager ul {
		gap: 6px;
	}

	.akou-pager .page-numbers {
		min-width: 42px;
		height: 44px;
	}

	/* The longest sort choice, "Most popular", is 91.7px at 15px in a 92px text area at 320 */
	.akou-shop .akou-sort select {
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.akou-filt__form,
	.akou-filt__scrim {
		animation: none;
	}
}

/* A hyphenated word holds together ("M-Lok"): akou_nowrap_hyphens() wraps it. */
.akou-nw {
	white-space: nowrap;
}

/* A card's action row under 133px (two cards across below about 352px wide): "Choose options" and "Add to cart"
   need the room the icon and the wide tracking take, or they break onto two lines. At 320: 100px of text in a
   105px box. */
.akou-pc__act {
	container-type: inline-size;
}

@container (max-width: 132.98px) {
	.akou-pc__act .akou-cta {
		gap: 0;
		padding: 0 4px;
		font-size: 15px;
		letter-spacing: 0.02em;
	}

	.akou-pc__act .akou-cta .akou-ic {
		display: none;
	}
}

/* Product search (the shop's layout): the words searched for are the H1, under a "Results for" label, and break
   anywhere rather than leave the box; matching articles follow the list. */
.akou-shop .akou-shophd__h1--q {
	max-width: 18ch;
	font-size: 64px;
	overflow-wrap: anywhere;
}

.akou-shophd__pre {
	display: block;
	margin-bottom: 12px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.14em;
	color: var(--sc-muted);
}

.akou-shop .akou-empty__h {
	overflow-wrap: anywhere;
}

/* Words someone typed can be any length: a hyphenated one may break after all */
:is(.akou-shophd__h1--q, .akou-empty__h, .akou-sposts__h) .akou-nw {
	white-space: normal;
}

.akou-sposts {
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px dashed var(--sc-line);
}

.akou-sposts__eb {
	margin: 0 0 6px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-shop .akou-sposts__h {
	margin: 0 0 20px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 32px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--sc-ink);
	overflow-wrap: anywhere;
}

.akou-sposts__list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
}

.akou-shop .akou-sposts__a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "t ic" "d ic";
	align-items: center;
	gap: 6px 16px;
	height: 100%;
	box-sizing: border-box;
	padding: 16px 18px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-shop .akou-sposts__a:hover {
	border-color: var(--sc-ink);
}

.akou-sposts__t {
	grid-area: t;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.3;
}

.akou-sposts__d {
	grid-area: d;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--sc-muted);
}

.akou-sposts__ic {
	grid-area: ic;
	color: var(--sc-brand-text);
}

@media (max-width: 991px) {
	.akou-shop .akou-shophd__h1--q {
		font-size: 52px;
	}
}

@media (max-width: 767px) {
	.akou-shop .akou-shophd__h1--q {
		font-size: 40px;
	}

	.akou-shophd__pre {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.akou-sposts {
		margin-top: 40px;
		padding-top: 20px;
	}

	.akou-shop .akou-sposts__h {
		font-size: 26px;
	}

	.akou-sposts__list {
		grid-template-columns: minmax(0, 1fr);
	}
}
/* END shop */

/* BEGIN product */
/* ==========================================================================
   Single product (board a-product, phone a-phone "03 Product"). Bricks template "Product" (type wc_product,
   tools/product.py) holds the structure and the words; the [akou_pdp_*] shortcodes in functions.php print the
   product. WooCommerce's own add-to-cart form sits in .akou-buy and is restyled here, so Modern Cart, the
   waitlist and the variation script keep working. The gallery, option pills, review list and the phone
   add-to-cart bar are in akou.js. Cards, section heads, stars and fields are the home page's.
   ========================================================================== */
.akou-pdp {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

/* Automatic.css gives every <section> flex, padding and a gap (see the home block). */
.akou-pdp section.akou-pdp__top,
.akou-pg section.akou-sec {
	display: block;
	gap: 0;
	padding: 0;
}

.akou-pdp__crumbs {
	padding-top: 24px;
}

.akou-pdp section.akou-pdp__top {
	padding: 24px 0 72px;
}

.akou-pdp__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 56px;
	align-items: start;
}

.akou-pdp__media,
.akou-pdp__buybox {
	min-width: 0;
}

/* Gallery */
.akou-gal__plate {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--sc-plate);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	isolation: isolate;
}

.akou-gal__plate img {
	position: absolute;
	inset: 24px;
	display: block;
	width: calc(100% - 48px);
	height: calc(100% - 48px);
	max-width: none;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
}

.akou-gal__ths {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
}

.akou-gal__ths li {
	min-width: 0;
	margin: 0;
}

.akou-pg button.akou-gal__th {
	display: block;
	width: 100%;
	height: 76px;
	margin: 0;
	padding: 6px;
	box-sizing: border-box;
	overflow: hidden;
	background: var(--sc-plate);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	box-shadow: none;
	cursor: pointer;
	isolation: isolate;
	transition: border-color 0.15s;
}

.akou-pg button.akou-gal__th:hover {
	background: var(--sc-plate);
	border-color: var(--sc-muted);
}

.akou-pg button.akou-gal__th[aria-pressed="true"] {
	padding: 4.5px;
	border: 2.5px solid var(--sc-brand);
}

.akou-gal__th img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
}

.akou-gal__cap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 12px 0 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

.akou-gal__num {
	margin-left: auto;
	white-space: nowrap;
}

.akou-gal__cap:not(:has(.akou-gal__num)):has([data-akou-gcap]:empty) {
	display: none;
}

/* Buy box: STK line, title, price, rating, short description */
.akou-pdp__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.akou-pdp__stk {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-pdp__stk a {
	color: var(--sc-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-pdp__stk a:hover {
	color: var(--sc-ink);
}

.akou-pdp .akou-pdp__meta .akou-stock {
	padding: 2px 8px;
	font-size: 12px;
}

.akou-pdp .akou-pdp__h1 {
	margin: 14px 0 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 50px;
	line-height: 0.92;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-pdp .akou-pdp__h1--long {
	font-size: 42px;
}

.akou-pdp .akou-pdp__h1--xlong {
	font-size: 36px;
	line-height: 0.95;
}

.akou-pdp__pricerow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin-top: 16px;
}

.akou-pdp .akou-pdp__price {
	margin: 0;
	font-size: 30px;
	line-height: 1.1;
}

.akou-pdp__rate {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--sc-font-mono);
	font-size: 14px;
	color: var(--sc-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-pdp__rate:hover {
	color: var(--sc-brand-text);
}

.akou-pdp__rate--none {
	color: var(--sc-muted);
}

.akou-pdp__lede {
	margin-top: 16px;
	font-size: 17px;
	line-height: 1.55;
	color: var(--sc-muted);
}

.akou-pdp__lede > :first-child {
	margin-top: 0;
}

.akou-pdp__lede > :last-child {
	margin-bottom: 0;
}

.akou-pdp__lede p {
	margin: 0 0 0.6em;
}

.akou-pdp__lede :is(ul, ol) {
	margin: 0 0 0.6em;
	padding-left: 1.25em;
}

/* Stars: an empty row with a filled row over it, clipped to the average */
.akou-stars {
	position: relative;
	display: inline-flex;
	flex: none;
	color: var(--sc-brand-text);
}

.akou-stars__off,
.akou-stars__on {
	display: inline-flex;
	gap: 1px;
}

.akou-stars__off {
	color: var(--sc-line);
}

.akou-stars__on {
	position: absolute;
	inset: 0 auto 0 0;
	overflow: hidden;
}

.akou-stars .akou-ic {
	flex: none;
}

/* The add-to-cart area: WooCommerce's markup */
.akou-buy {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px dashed var(--sc-line);
}

.akou-buy p.stock {
	margin: 0 0 16px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-success);
}

.akou-buy p.stock:is(.out-of-stock, .available-on-backorder) {
	color: var(--sc-danger);
}

.akou-buy form.cart {
	margin: 0;
}

.akou-buy table.variations {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: none;
}

/* width: Bricks' WooCommerce layer gives each td 50%, which halved the pills. */
.akou-buy table.variations :is(tbody, tr, th, td) {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

.akou-buy table.variations tr + tr {
	margin-top: 22px;
}

.akou-buy table.variations th.label,
.akou-buy table.variations th.label label {
	padding-bottom: 8px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

/* Kadence's swatch sheet (.variations_form .kt-variation-label, display: flex) loads after this one. */
.akou-buy .variations_form .kt-variation-label {
	display: none;
}

/* Without script the selects do the work; with it, the pills stand in for them. */
html:not(.akou-js) .akou-pills,
html.akou-js .akou-buy tr:has(.akou-pills) th.label,
html.akou-js .akou-buy .akou-pills ~ select {
	display: none;
}

.akou-buy table.variations select {
	width: 100%;
	height: 52px;
	padding: 0 14px;
	box-sizing: border-box;
	background-color: var(--sc-surface);
	border: 2px solid var(--sc-accent);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
}

.akou-pills {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.akou-pills__lg {
	float: left;
	width: 100%;
	padding: 0 0 8px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-pills__row {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.akou-pills--wide .akou-pills__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.akou-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	padding: 8px 16px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 2px solid var(--sc-accent);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-mono);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.25;
	color: var(--sc-ink);
	cursor: pointer;
	transition: border-color 0.15s;
}

.akou-pills--wide .akou-pill {
	display: flex;
	min-height: 58px;
	padding: 8px 14px;
	font-family: var(--sc-font-body);
	font-weight: 500;
}

.akou-pill:hover {
	border-color: var(--sc-ink);
}

.akou-pill input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.akou-pill__box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 1.5px solid var(--sc-accent);
	border-radius: 2px;
	color: transparent;
}

.akou-pill__box .akou-ic {
	stroke-width: 3;
}

.akou-pill__t {
	min-width: 0;
	overflow-wrap: anywhere;
}

.akou-pills--wide .akou-pill__t {
	flex: 1;
}

.akou-pill__d {
	margin-left: 8px;
	font-family: var(--sc-font-mono);
	font-weight: 400;
	font-size: 13px;
	white-space: nowrap;
	color: var(--sc-muted);
}

.akou-pills--wide .akou-pill__d {
	display: block;
	margin: 2px 0 0;
}

.akou-pill:has(input:checked) {
	border-color: var(--sc-brand);
}

.akou-pills:not(.akou-pills--wide) .akou-pill:has(input:checked) {
	font-weight: 500;
}

.akou-pills--wide .akou-pill:has(input:checked) {
	font-weight: 600;
}

.akou-pill:has(input:checked) .akou-pill__box {
	background: var(--sc-brand);
	border-color: var(--sc-brand);
	color: var(--sc-on-brand);
}

.akou-pill:has(input:focus-visible) {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

/* A choice WooCommerce cannot sell with the other options picked: kept, dashed and dimmed */
.akou-pill:has(input:disabled) {
	border-style: dashed;
	border-color: var(--sc-line);
	color: var(--sc-muted);
	cursor: not-allowed;
}

.akou-pill[hidden] {
	display: none;
}

/* .variations_form outranks Kadence's swatch sheet, which hides this link. */
.akou-buy .variations_form .reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 6px;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-buy .reset_variations:hover {
	color: var(--sc-ink);
}

.akou-buy__need {
	margin: 16px 0 0;
	padding: 10px 14px;
	border-left: 4px solid var(--sc-danger);
	background: var(--sc-surface);
	font-size: 15px;
	color: var(--sc-ink);
}

/* WooCommerce Waitlist: its sign-up sits under "Out of stock" in the buy box (its own sheet only spaces it). */
.akou-buy .wcwl_elements {
	margin-top: 14px;
	padding: 18px;
	background: var(--sc-surface);
	border: 1.5px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-buy .wcwl_intro {
	margin: 0 0 14px;
	font-family: var(--sc-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: var(--sc-ink);
}

.akou-buy .wcwl_email_elements {
	margin: 0 0 12px;
}

.akou-buy input.wcwl_email {
	display: block;
	width: 100%;
	height: 56px;
	margin: 0;
	padding: 0 16px;
	box-sizing: border-box;
	background: var(--sc-bg);
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
}

.akou-buy input.wcwl_email::placeholder {
	color: var(--sc-muted);
	opacity: 1;
}

.akou-buy input.wcwl_email:focus-visible {
	outline: 2px solid var(--sc-brand);
	outline-offset: 2px;
}

.akou-pg .akou-buy .wcwl_control button.woocommerce_waitlist {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 0 20px;
	box-sizing: border-box;
	background: var(--sc-brand);
	border: 0;
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 21px;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-on-brand);
	cursor: pointer;
	transition: background-color 0.15s;
}

.akou-pg .akou-buy .wcwl_control button.woocommerce_waitlist:hover {
	background: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

.akou-pg .akou-buy .wcwl_control button.woocommerce_waitlist:focus-visible {
	outline: 2px solid var(--sc-ink);
	outline-offset: 3px;
}

.akou-buy .wcwl_notice.woocommerce-message {
	margin: 0 0 14px;
	padding: 10px 44px 10px 14px;
	background: var(--sc-bg);
	border: 0;
	border-left: 4px solid var(--sc-success);
	border-radius: 0;
	font-size: 15px;
	color: var(--sc-ink);
}

.akou-buy .wcwl_notice.woocommerce-message::before {
	content: none;
}

.akou-buy .wcwl_notice_dismiss {
	top: 50%;
	right: 6px;
	width: 36px;
	height: 36px;
	transform: translateY(-50%);
	cursor: pointer;
}

.akou-buy .wcwl_notice_dismiss::before {
	color: var(--sc-ink);
}

.akou-buy .single_variation_wrap {
	margin-top: 16px;
}

.akou-buy .woocommerce-variation {
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-buy .woocommerce-variation-price {
	display: none;
}

.akou-buy .woocommerce-variation-description p {
	margin: 0 0 12px;
}

.akou-buy .woocommerce-variation-availability p.stock {
	margin-bottom: 12px;
}

/* Quantity and the button, side by side */
.akou-buy form.cart:not(.variations_form),
.akou-buy .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.akou-buy .quantity {
	position: relative;
	display: inline-flex;
	flex: none;
	height: 56px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
}

/* WooCommerce's variation script shows the box with an inline display: block (jQuery .show()), and makes the input
   type="hidden" when only one can be bought. These hold the layout against that inline style; an inline
   display: none (sold one at a time) still wins over the first. */
.akou-buy .quantity[style*="display: block"] {
	display: inline-flex !important;
}

.akou-buy .quantity:has(input[type="hidden"]) {
	display: none !important;
}

.akou-buy .quantity .action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	color: var(--sc-ink);
	cursor: pointer;
	user-select: none;
}

.akou-buy .quantity .action.minus {
	order: -1;
}

.akou-buy .quantity .action svg {
	width: 18px;
	height: 18px;
}

.akou-buy .quantity .action:hover {
	color: var(--sc-brand-text);
}

.akou-buy .quantity .action.disabled {
	color: var(--sc-line);
	cursor: default;
}

.akou-buy .quantity input.qty {
	width: 52px;
	height: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background: transparent;
	border: 0;
	border-left: 1px dashed var(--sc-line);
	border-right: 1px dashed var(--sc-line);
	border-radius: 0;
	box-shadow: none;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 18px;
	text-align: center;
	color: var(--sc-ink);
	-moz-appearance: textfield;
	appearance: textfield;
}

.akou-buy .quantity input.qty::-webkit-inner-spin-button,
.akou-buy .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.akou-buy .quantity input.qty:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: -2px;
}

.akou-pg .akou-buy button.single_add_to_cart_button {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	margin: 0;
	padding: 0 20px;
	box-sizing: border-box;
	background: var(--sc-brand);
	border: 0;
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	font-size: 21px;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	color: var(--sc-on-brand);
	cursor: pointer;
	transition: background-color 0.15s;
}

.akou-pg .akou-buy button.single_add_to_cart_button:hover {
	background: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

.akou-pg .akou-buy button.single_add_to_cart_button.disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.akou-pg .akou-buy button.single_add_to_cart_button.loading {
	opacity: 0.7;
	cursor: progress;
}

.akou-pg .akou-buy .added_to_cart {
	display: none;
}

/* Safe checkout box */
.akou-safe {
	margin-top: 20px;
	padding: 16px 18px;
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-safe__h {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-safe__h .akou-ic,
.akou-safe__ship .akou-ic {
	color: var(--sc-brand-text);
}

.akou-safe__t {
	margin: 4px 0 10px;
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-safe__cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.akou-safe__cards li {
	margin: 0;
	padding: 3px 8px;
	border: 1px solid var(--sc-accent);
	border-radius: 2px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: var(--sc-ink);
}

.akou-safe__ship {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--sc-line);
	font-size: 15px;
	line-height: 1.4;
	color: var(--sc-muted);
}

/* In-page links */
.akou-jump {
	background: var(--sc-surface);
	border-top: 1px solid var(--sc-line);
	border-bottom: 1px solid var(--sc-line);
}

.akou-jump__list {
	list-style: none;
	margin: 0;
	padding: 0 var(--akou-pad);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 28px;
	min-height: 56px;
}

.akou-jump__list li {
	margin: 0;
}

.akou-jump__list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sc-ink);
}

.akou-jump__list a:hover {
	color: var(--sc-brand-text);
}

.akou-jump__n {
	font-family: var(--sc-font-mono);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

/* Sections under the fold */
.akou-pg .akou-sh2 {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 56px;
	line-height: 0.9;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-pdp section.akou-pdp-det {
	padding: 88px 0;
}

.akou-pdp section.akou-pdp-rev {
	padding: 0 0 88px;
}

.akou-pdp section.akou-pdp-rel {
	padding: 0 0 96px;
}

.akou-pdp section.akou-pdp-rev:not(:has(.akou-revs-pdp)),
.akou-pdp section.akou-pdp-rel:not(:has(.akou-pcs)) {
	display: none;
}

.akou-pdp :is(#akou-det-h, #akou-rev-h, #akou-rel-h, #review_form_wrapper) {
	scroll-margin-top: 24px;
}

/* 01 Details: the description beside the spec sheet */
.akou-det {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	align-items: start;
}

.akou-det--solo {
	grid-template-columns: minmax(0, 760px);
}

.akou-det__side {
	position: sticky;
	top: 24px;
}

.admin-bar .akou-det__side {
	top: 56px;
}

.akou-prose {
	min-width: 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--sc-ink);
}

.akou-prose > :first-child {
	margin-top: 0;
}

.akou-prose > :last-child {
	margin-bottom: 0;
}

.akou-prose p {
	margin: 0 0 1em;
}

.akou-prose :is(h2, h3, h4) {
	margin: 1.6em 0 0.5em;
	font-family: var(--sc-font-head);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-prose h2 {
	font-size: 30px;
}

.akou-prose h3 {
	font-size: 24px;
}

.akou-prose h4 {
	font-size: 20px;
}

.akou-prose :is(ul, ol) {
	margin: 0 0 1em;
	padding-left: 1.3em;
}

.akou-prose li + li {
	margin-top: 0.35em;
}

.akou-prose ul li::marker {
	color: var(--sc-brand-text);
}

.akou-prose a {
	color: var(--sc-brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-prose a:hover {
	color: var(--sc-ink);
}

.akou-prose strong {
	font-weight: 600;
}

/* Descriptions stack photos in one paragraph with <br>s; the margin keeps them from touching. */
.akou-prose img {
	height: auto;
	max-width: 100%;
	margin-block: 6px;
	vertical-align: top;
	border-radius: var(--sc-radius);
}

.akou-prose :is(iframe, video, embed, object) {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--sc-radius);
}

.akou-prose figure {
	margin: 0 0 1em;
}

.akou-prose figcaption {
	margin-top: 8px;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	color: var(--sc-muted);
}

.akou-prose table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	margin: 0 0 1em;
	border-collapse: collapse;
	font-size: 15px;
}

.akou-prose :is(th, td) {
	padding: 8px 12px 8px 0;
	border-bottom: 1px dashed var(--sc-line);
	text-align: left;
	vertical-align: top;
}

.akou-prose blockquote {
	margin: 0 0 1em;
	padding: 4px 0 4px 18px;
	border-left: 4px solid var(--sc-accent);
	color: var(--sc-muted);
}

.akou-prose hr {
	margin: 1.5em 0;
	border: 0;
	border-top: 1px dashed var(--sc-line);
}

/* The spec sheet: a stapled card */
.akou-sheet {
	position: relative;
	padding: 34px 28px 18px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-sheet__punch {
	position: absolute;
	top: 12px;
	width: 36px;
	height: 5px;
	box-sizing: border-box;
	border: 1.5px solid var(--sc-muted);
	border-radius: 1px;
}

.akou-sheet__punch--l {
	left: 28px;
}

.akou-sheet__punch--r {
	right: 28px;
}

.akou-sheet__top {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--sc-ink);
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-spec {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: none;
	font-family: var(--sc-font-mono);
	font-size: 15px;
	line-height: 1.5;
}

.akou-spec th,
.akou-spec td {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px dashed var(--sc-line);
	background: none;
	text-align: left;
	vertical-align: top;
	color: var(--sc-ink);
}

.akou-spec tr:last-child :is(th, td) {
	border-bottom: 0;
}

.akou-spec th {
	width: 34%;
	padding: 14px 16px 12px 0;
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-spec td {
	overflow-wrap: anywhere;
}

.akou-spec a {
	color: var(--sc-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-spec a:hover {
	color: var(--sc-brand-text);
}

/* 02 Reviews: the average and spread beside the list */
.akou-revs-pdp {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.akou-rsum {
	position: sticky;
	top: 24px;
	padding: 24px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-top: 4px solid var(--sc-accent);
	border-radius: var(--sc-radius);
}

.admin-bar .akou-rsum {
	top: 56px;
}

.akou-rsum__avg {
	margin: 0 0 8px;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 64px;
	line-height: 0.85;
	color: var(--sc-brand-text);
}

.akou-rsum__n {
	margin: 8px 0 0;
	font-family: var(--sc-font-mono);
	font-size: 14px;
	color: var(--sc-muted);
}

.akou-rsum__none {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 24px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.akou-rsum__bars {
	list-style: none;
	margin: 16px 0 0;
	padding: 16px 0 0;
	border-top: 1px dashed var(--sc-line);
	display: grid;
	gap: 8px;
}

.akou-rsum__bars li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 30px;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	color: var(--sc-ink);
}

.akou-rsum__s {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}

.akou-rsum__s .akou-ic {
	color: var(--sc-brand-text);
}

.akou-rsum__bar {
	display: block;
	height: 8px;
	overflow: hidden;
	background: var(--sc-surface-2);
	border-radius: 1px;
}

.akou-rsum__bar > span {
	display: block;
	height: 100%;
	background: var(--sc-accent);
}

.akou-rsum__c {
	text-align: right;
	color: var(--sc-muted);
}

.akou-rsum .akou-cta {
	margin-top: 20px;
}

.akou-revs-pdp__main {
	min-width: 0;
}

.akou-rlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.akou-rlist > li {
	display: flex;
	min-width: 0;
	margin: 0;
}

html.akou-js .akou-rlist:not(.is-all) > .akou-rlist__more {
	display: none;
}

html:not(.akou-js) .akou-rlist__btn,
.akou-rlist.is-all ~ .akou-rlist__btn {
	display: none;
}

.akou-rev-card--pdp {
	gap: 12px;
	padding: 22px 24px 20px;
	border-top: 1px solid var(--sc-line);
	border-left: 4px solid var(--sc-accent);
}

.akou-rev-card--pdp .akou-rev-card__q {
	font-size: 17px;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.akou-rev-card--pdp .akou-rev-card__q p {
	margin: 0;
}

.akou-rev-card--pdp .akou-rev-card__q p + p {
	margin-top: 0.7em;
}

.akou-rev-card--pdp .akou-rev-card__who {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: auto 0 0;
	padding-top: 12px;
	font-size: 17px;
	line-height: 1.2;
}

.akou-chip--ver {
	padding: 1px 6px;
	border: 1.5px solid currentColor;
	background: transparent;
	font-weight: 500;
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-success);
}

.akou-pg button.akou-rlist__btn {
	margin-top: 24px;
}

.akou-rlist__empty {
	margin: 0;
	padding: 28px 24px;
	background: var(--sc-surface);
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
	font-size: 17px;
	color: var(--sc-muted);
}

/* The review form (M1 fields) */
.akou-rform {
	margin-top: 40px;
	padding: 28px 28px 30px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-rform:has(> #review_form > .akou-rform__note:only-child) {
	padding: 18px 22px;
}

.akou-rform .comment-respond {
	margin: 0;
}

.akou-pg .akou-rform__h {
	margin: 0 0 6px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 28px;
	line-height: 1.1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-rform__h small {
	display: block;
	margin-top: 6px;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: none;
}

.akou-rform__note {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--sc-muted);
}

.akou-rlist + .akou-rform,
.akou-rlist__btn + .akou-rform {
	margin-top: 32px;
}

.akou-rlist__empty + .akou-rform {
	margin-top: 20px;
}

.akou-rform .akou-rform__note a {
	color: var(--sc-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-rform form.comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 16px;
	margin: 0;
}

.akou-rform form.comment-form > :is(.akou-rform__note, .comment-form-rating, .comment-form-comment, .form-submit, .comment-form-cookies-consent, .akou-fld--area) {
	grid-column: 1 / -1;
}

.akou-rform form.comment-form > .akou-rform__note {
	margin-bottom: 4px;
}

.akou-rform .comment-form-rating {
	padding-top: 16px;
}

.akou-rform .comment-form-rating label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

/* WooCommerce's script turns the rating select into five star links */
.akou-rform p.stars {
	margin: 0;
	line-height: 1;
}

.akou-rform p.stars span {
	display: inline-flex;
	gap: 4px;
}

.akou-rform p.stars a {
	position: relative;
	display: inline-block;
	width: 44px;
	height: 44px;
	overflow: hidden;
	color: transparent;
	text-indent: 120%;
	white-space: nowrap;
	text-decoration: none;
}

.akou-rform p.stars a::before {
	content: "";
	position: absolute;
	inset: 6px;
	background: var(--sc-line);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.5 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.5 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.akou-rform p.stars:hover a::before,
.akou-rform p.stars.selected a.active::before,
.akou-rform p.stars.selected a:not(.active)::before {
	background: var(--sc-brand-text);
}

.akou-rform p.stars a:hover ~ a::before,
.akou-rform p.stars.selected a.active ~ a::before {
	background: var(--sc-line);
}

.akou-rform p.stars a:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 0;
}

.akou-rform .comment-form-rating select {
	height: 48px;
	padding: 0 12px;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
}

.akou-fld textarea {
	display: block;
	width: 100%;
	min-height: 150px;
	margin: 0;
	padding: 14px;
	box-sizing: border-box;
	resize: vertical;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	font-family: var(--sc-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: var(--sc-ink);
}

.akou-fld textarea::placeholder {
	color: transparent;
}

.akou-fld--area .akou-fld__lbl {
	top: 40px;
}

.akou-fld--area:has(textarea:not(:placeholder-shown)) .akou-fld__lbl {
	transform: translate(-16px, -40px) scale(0.88);
	color: var(--sc-ink);
}

.akou-fld--area:focus-within .akou-fld__lbl {
	transform: translate(-16px, -40px) scale(0.88);
}

.akou-rform .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 14px 0 0;
	font-size: 15px;
	color: var(--sc-muted);
}

/* The label arrived a fixed #9e9e9e (2.68:1 on the light card, found on live 2026-11-08): take the row's muted tone. */
.akou-rform .comment-form-cookies-consent label {
	color: inherit;
}

.akou-rform .comment-form-cookies-consent input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: var(--sc-brand);
}

.akou-rform .form-submit {
	margin: 20px 0 0;
}

/* 03 Related */
.akou-pcs--rel {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* WooCommerce notices (after a non-script add to cart): Bricks prints them above the template */
.single-product .woocommerce-notices-wrapper:not(:empty) {
	padding: 16px var(--akou-pad) 0;
	background: var(--sc-bg);
}

.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 16px;
	list-style: none;
	margin: 0 0 8px;
	padding: 14px 16px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-left: 4px solid var(--sc-success);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
}

.single-product .woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: var(--sc-danger);
}

.single-product .woocommerce-notices-wrapper a.button {
	order: 2;
	font-family: var(--sc-font-head);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
	background: none;
	padding: 0;
}

/* Phone add-to-cart bar: script shows it once the real button has scrolled away */
.akou-sticky {
	display: none;
}

/* Narrower desktops */
@media (max-width: 1199px) {
	.akou-pdp__grid {
		gap: 40px;
	}

	.akou-pdp .akou-pdp__h1 {
		font-size: 44px;
	}

	.akou-pdp .akou-pdp__h1--long {
		font-size: 38px;
	}

	.akou-pdp .akou-pdp__h1--xlong {
		font-size: 33px;
	}

	.akou-pills--wide .akou-pills__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-revs-pdp {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 28px;
	}

	.akou-rlist {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-pcs--rel {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.akou-pcs--rel > li:nth-child(4) {
		display: none;
	}
}

/* Tablet: one column */
@media (max-width: 991px) {
	.akou-pdp__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.akou-pdp section.akou-pdp__top {
		padding-bottom: 56px;
	}

	.akou-pills--wide .akou-pills__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.akou-pdp section.akou-pdp-det {
		padding: 72px 0;
	}

	.akou-pdp section.akou-pdp-rev {
		padding-bottom: 72px;
	}

	.akou-pdp section.akou-pdp-rel {
		padding-bottom: 80px;
	}

	.akou-det {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.akou-det__side,
	.akou-rsum {
		position: static;
	}

	.akou-revs-pdp {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.akou-rsum {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 4px 24px;
	}

	.akou-rsum > :is(.akou-rsum__avg, .akou-stars, .akou-rsum__n) {
		grid-column: 1;
	}

	.akou-rsum__bars {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin: 0;
		padding: 0 0 0 24px;
		border-top: 0;
		border-left: 1px dashed var(--sc-line);
	}

	.akou-rsum > :is(.akou-cta, .akou-rsum__none) {
		grid-column: 1 / -1;
	}

	.akou-rlist {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Phone (board a-phone "03 Product") */
@media (max-width: 767px) {
	.akou-pg {
		--akou-pad: 16px;
	}

	.akou-pdp__crumbs {
		padding-top: 14px;
	}

	.akou-pdp section.akou-pdp__top {
		padding: 12px 0 44px;
	}

	.akou-pdp__grid {
		gap: 20px;
	}

	.akou-gal__plate img {
		inset: 10px;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
	}

	.akou-gal__ths {
		margin-top: 8px;
		gap: 6px;
	}

	.akou-pg button.akou-gal__th {
		height: 48px;
		padding: 3px;
	}

	.akou-pg button.akou-gal__th[aria-pressed="true"] {
		padding: 1.5px;
	}

	.akou-gal__cap {
		margin-top: 8px;
		font-size: 12px;
	}

	.akou-pdp__stk {
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	.akou-pdp .akou-pdp__meta .akou-stock {
		padding: 1px 6px;
		font-size: 10px;
	}

	.akou-pdp .akou-pdp__h1 {
		margin-top: 10px;
		font-size: 40px;
	}

	.akou-pdp .akou-pdp__h1--long {
		font-size: 34px;
	}

	.akou-pdp .akou-pdp__h1--xlong {
		font-size: 30px;
	}

	.akou-pdp__pricerow {
		margin-top: 12px;
		gap: 0 12px;
	}

	.akou-pdp .akou-pdp__price {
		font-size: 24px;
		line-height: 1.15;
	}

	.akou-pdp__rate {
		font-size: 13px;
	}

	.akou-pdp__lede {
		margin-top: 4px;
		font-size: 16px;
	}

	.akou-buy {
		margin-top: 20px;
		padding-top: 16px;
	}

	.akou-buy table.variations tr + tr {
		margin-top: 20px;
	}

	.akou-pills__lg,
	.akou-buy table.variations th.label {
		font-size: 16px;
	}

	.akou-pills__row {
		gap: 8px;
	}

	.akou-pill {
		padding: 8px 14px;
	}

	.akou-pills--wide .akou-pills__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-pills--wide .akou-pill {
		min-height: 52px;
	}

	.akou-pills--wide .akou-pill__t {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 2px 10px;
	}

	.akou-pills--wide .akou-pill__d {
		margin: 0;
	}

	.akou-pg .akou-buy button.single_add_to_cart_button {
		font-size: 19px;
	}

	.akou-jump__list {
		gap: 0 18px;
		min-height: 52px;
	}

	.akou-jump__list a {
		font-size: 15px;
		letter-spacing: 0.06em;
	}

	.akou-pg .akou-sh2 {
		font-size: 40px;
		line-height: 0.92;
	}

	.akou-pdp section.akou-pdp-det {
		padding: 44px 0;
	}

	.akou-pdp section.akou-pdp-rev,
	.akou-pdp section.akou-pdp-rel {
		padding-bottom: 44px;
	}

	.akou-prose {
		font-size: 16px;
	}

	.akou-prose h2 {
		font-size: 26px;
	}

	.akou-prose h3 {
		font-size: 22px;
	}

	.akou-sheet {
		padding: 30px 16px 14px;
	}

	.akou-sheet__punch--l {
		left: 16px;
	}

	.akou-sheet__punch--r {
		right: 16px;
	}

	.akou-spec {
		font-size: 14px;
	}

	.akou-spec th {
		width: 30%;
		padding-right: 12px;
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	.akou-rsum {
		padding: 18px 16px;
		gap: 4px 16px;
	}

	.akou-rsum__avg {
		font-size: 52px;
	}

	.akou-rsum__bars {
		padding-left: 16px;
	}

	.akou-rsum__bars li {
		grid-template-columns: 30px minmax(0, 1fr) 24px;
		gap: 8px;
		font-size: 12px;
	}

	.akou-rlist {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.akou-rev-card--pdp {
		padding: 18px 16px 16px;
	}

	.akou-rev-card--pdp .akou-rev-card__q {
		font-size: 16px;
	}

	.akou-pg button.akou-rlist__btn {
		display: flex;
		width: 100%;
	}

	.akou-rform {
		margin-top: 28px;
		padding: 20px 16px 22px;
	}

	.akou-pg .akou-rform__h {
		font-size: 24px;
	}

	.akou-rform form.comment-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-pcs--rel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.akou-pcs--rel > li:nth-child(4) {
		display: flex;
	}

	/* The bar: fixed to the bottom while the real button is off screen */
	.akou-sticky:not([hidden]) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 40;
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 72px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) 16px;
		box-sizing: border-box;
		background: var(--sc-surface);
		border-top: 2px solid var(--sc-ink);
		box-shadow: 0 -6px 18px rgb(0 0 0 / 0.12);
	}

	.akou-sticky__t {
		flex: 1;
		min-width: 0;
	}

	.akou-pdp .akou-sticky__price {
		margin: 0;
		font-size: 15px;
		line-height: 1.3;
	}

	.akou-sticky__opt {
		margin: 0;
		font-family: var(--sc-font-mono);
		font-size: 11px;
		line-height: 1.4;
		color: var(--sc-muted);
	}

	.akou-pg .akou-sticky button.akou-cta {
		flex: none;
		min-height: 48px;
		padding: 0 16px;
		font-size: 17px;
	}

	/* Room under the footer so the bar never covers its last line */
	body:has(.akou-sticky:not([hidden])) {
		padding-bottom: 72px;
	}
}

/* 320-359: the narrowest phones */
@media (max-width: 359px) {
	.akou-pdp .akou-pdp__h1 {
		font-size: 34px;
	}

	.akou-pdp .akou-pdp__h1--long {
		font-size: 30px;
	}

	.akou-pdp .akou-pdp__h1--xlong {
		font-size: 27px;
	}

	.akou-gal__ths {
		gap: 4px;
	}

	.akou-pg button.akou-gal__th {
		height: 42px;
	}

	.akou-jump__list {
		gap: 0 14px;
	}

	.akou-jump__list a {
		gap: 6px;
		font-size: 14px;
		letter-spacing: 0.04em;
	}

	.akou-rsum {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-rsum__bars {
		grid-column: 1;
		grid-row: auto;
		margin-top: 12px;
		padding: 12px 0 0;
		border-left: 0;
		border-top: 1px dashed var(--sc-line);
	}

	.akou-pg .akou-sticky button.akou-cta {
		padding: 0 12px;
		font-size: 15px;
		letter-spacing: 0.04em;
	}

	.akou-pg .akou-sticky button.akou-cta .akou-ic {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.akou-pill,
	.akou-pg button.akou-gal__th {
		transition: none;
	}
}
/* END product */

/* BEGIN store pages */
/* ==========================================================================
   Cart, checkout, order received and my account (functions.php "store pages").
   The Bricks template "Store pages" draws the crumbs and the head band; under it
   are WooCommerce's own forms (Bricks' fallback templates), restyled here. Bricks'
   WooCommerce sheet sits in a cascade layer, so these unlayered rules win, but a
   property this block never sets still comes from it.
   ========================================================================== */
.akou-wcp {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

.akou-wcp__crumbs {
	padding-top: 24px;
}

/* Head band */
.akou-wcphd {
	padding: 18px 0 32px;
	border-bottom: 1px solid var(--sc-line);
}

.akou-wcphd__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px 40px;
}

.akou-wcphd__l {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	min-width: 0;
}

.akou-wcphd__t {
	min-width: 0;
}

.akou-wcphd .akou-seyebrow {
	overflow-wrap: anywhere;
}

.akou-wcphd__h1 {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 72px;
	line-height: 0.88;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

/* Steps: cart, checkout, confirmed */
.akou-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-steps li {
	display: flex;
	align-items: center;
	margin: 0;
	white-space: nowrap;
}

.akou-steps li + li::before {
	content: "";
	flex: none;
	width: 28px;
	height: 0;
	margin: 0 12px;
	border-top: 1.5px dashed var(--sc-line);
}

.akou-steps a {
	color: inherit;
	text-decoration: none;
}

.akou-steps a,
.akou-steps li > .akou-steps__n {
	display: inline-flex;
	align-items: center;
}

.akou-steps a .akou-steps__t {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-steps a:hover {
	color: var(--sc-ink);
}

.akou-steps__n {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 28px;
	height: 28px;
	margin-right: 8px;
	box-sizing: border-box;
	border: 1.5px solid var(--sc-line);
	border-radius: 2px;
	font-size: 12px;
	letter-spacing: 0;
}

.akou-steps .is-done .akou-steps__n {
	border-color: var(--sc-accent);
	color: var(--sc-accent-text);
}

.akou-steps [aria-current] {
	color: var(--sc-ink);
	font-weight: 600;
}

.akou-steps [aria-current] .akou-steps__n {
	background: var(--sc-brand);
	border-color: var(--sc-brand);
	color: var(--sc-on-brand);
}

/* Body */
.akou-wcp__body {
	padding: 40px 0 96px;
}

.akou-wcp .woocommerce {
	font-family: var(--sc-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: var(--sc-ink);
}

/* Bricks wraps the notices and the checkout form in its 1100px container. */
.akou-wcp .woocommerce .brxe-container {
	width: auto;
	max-width: none;
	margin: 0;
}

.akou-wcp .woocommerce .brxe-container:is(.before-cart, .before-checkout) {
	display: block;
}

.akou-wcp .woocommerce .before-cart:not(:has(:is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner))) {
	display: none;
}

.akou-wcp .woocommerce :where(a:not(.button, .akou-cta, .remove)):where(:not(:is(.akou-wcp-xs, .akou-safe) *)) {
	color: var(--sc-brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-wcp .woocommerce :where(a:not(.button, .akou-cta, .remove):hover):where(:not(:is(.akou-wcp-xs, .akou-safe) *)) {
	color: var(--sc-ink);
}

/* :where() keeps these at 0,2,0, so every rule below that names a heading or paragraph wins; the product cards
   and the safe-checkout box keep their own type. */
.akou-wcp .woocommerce :where(h2, h3):where(:not(:is(.akou-wcp-xs, .akou-safe) *)) {
	margin: 0 0 18px;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 32px;
	line-height: 0.95;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce :where(p, address):where(:not(:is(.akou-wcp-xs, .akou-safe) *)) {
	margin: 0 0 14px;
}

.akou-wcp .woocommerce .clear {
	display: none;
}

/* Notices */
.akou-wcp :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin: 0 0 20px;
	padding: 14px 18px;
	list-style: none;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-left: 4px solid var(--sc-accent);
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-size: 16px;
	line-height: 1.5;
	color: var(--sc-ink);
}

.akou-wcp :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before {
	content: none;
}

.akou-wcp :is(.woocommerce-message, .woocommerce-notice--success) {
	border-left-color: var(--sc-success);
}

.akou-wcp :is(.woocommerce-error, .woocommerce-notice--error) {
	display: block;
	border-left-color: var(--sc-danger);
}

.akou-wcp .woocommerce-error li {
	margin: 0;
	padding: 0;
}

.akou-wcp .woocommerce-error li + li {
	margin-top: 6px;
}

.akou-wcp .woocommerce-notices-wrapper:empty {
	display: none;
}

/* Buttons: WooCommerce's .button in the house style. The bare <button> type from Automatic.css is 0,1,1. */
/* No ids in these lists: :is() takes its most specific argument, and an id here outranks every layout rule below. */
.akou-wcp .woocommerce :is(a.button, button.button, input.button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto;
	min-height: 46px;
	margin: 0;
	padding: 0 20px;
	box-sizing: border-box;
	background: transparent;
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	font-size: 17px;
	line-height: 1.1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	color: var(--sc-ink);
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.akou-wcp .woocommerce :is(a.button, button.button, input.button):hover {
	background: var(--sc-ink);
	border-color: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-wcp .woocommerce :is(.checkout-button, .woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button.button, button[name="save_address"], button[name="save_account_details"], .woocommerce-ResetPassword .button, .return-to-shop .button, .button.alt) {
	background: var(--sc-brand);
	border-color: var(--sc-brand);
	color: var(--sc-on-brand);
}

.akou-wcp .woocommerce :is(.checkout-button, .woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button.button, button[name="save_address"], button[name="save_account_details"], .woocommerce-ResetPassword .button, .return-to-shop .button, .button.alt):hover {
	background: var(--sc-brand-hover);
	border-color: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

.akou-wcp .woocommerce :is(a.button, button.button, input.button):focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 2px;
}

.akou-wcp .woocommerce :is(button.button, input.button):disabled,
.akou-wcp .woocommerce :is(button.button, input.button):disabled:hover {
	background: transparent;
	border-color: var(--sc-line);
	color: var(--sc-muted);
	cursor: not-allowed;
	opacity: 1;
}

.akou-wcp .woocommerce .button.loading,
.akou-wcp .woocommerce .processing {
	opacity: 0.7;
	cursor: progress;
}

/* Fields: labels stay above their boxes (WooCommerce rewrites labels, placeholders and selects as the country
   changes, so the M1 floating label is not used here); the boxes are M1's. */
.akou-wcp .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea) {
	display: block;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 14px;
	box-sizing: border-box;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
	box-shadow: none;
	font-family: var(--sc-font-body);
	font-size: 16px;
	line-height: 1.4;
	color: var(--sc-ink);
	transition: border-color 0.15s, background-color 0.15s;
}

.akou-wcp .woocommerce textarea {
	min-height: 120px;
	padding: 12px 14px;
	resize: vertical;
}

.akou-wcp .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea):hover {
	border-color: var(--sc-accent);
}

.akou-wcp .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea):focus {
	border-color: var(--sc-ink);
	background: var(--sc-surface);
	outline: 2px solid var(--sc-brand);
	outline-offset: 2px;
}

.akou-wcp .woocommerce ::placeholder {
	color: var(--sc-muted);
	opacity: 1;
}

.akou-wcp .woocommerce :is(input[type="checkbox"], input[type="radio"]) {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--sc-brand);
}

.akou-wcp .woocommerce .form-row {
	margin: 0;
	padding: 0;
	width: auto;
	float: none;
}

.akou-wcp .woocommerce .form-row > label,
.akou-wcp .woocommerce fieldset > legend {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce .form-row > label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.akou-wcp .woocommerce :is(.required, abbr.required) {
	border: 0;
	text-decoration: none;
	color: var(--sc-brand-text);
}

.akou-wcp .woocommerce .optional {
	color: var(--sc-muted);
}

/* A checkbox row: the box beside its words */
.akou-wcp .woocommerce :is(label.checkbox, label.woocommerce-form__label-for-checkbox, .woocommerce-form-login__rememberme) {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-family: var(--sc-font-body);
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.4;
	color: var(--sc-ink);
	cursor: pointer;
}

.akou-wcp .woocommerce :is(label.checkbox, label.woocommerce-form__label-for-checkbox) input {
	margin-top: 1px;
}

/* Field grids: two columns where WooCommerce says first / last, one below 768px */
.akou-wcp .woocommerce :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .woocommerce-account-fields .create-account, form.woocommerce-EditAccountForm, form.woocommerce-form-login, form.woocommerce-form-register, form.lost_reset_password) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

.akou-wcp .woocommerce :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .woocommerce-account-fields .create-account, form.woocommerce-EditAccountForm, form.woocommerce-form-login, form.woocommerce-form-register, form.lost_reset_password) > * {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
}

.akou-wcp .woocommerce :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, form.woocommerce-EditAccountForm) > .form-row-first {
	grid-column: 1;
}

.akou-wcp .woocommerce :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, form.woocommerce-EditAccountForm) > .form-row-last {
	grid-column: 2;
}

.akou-wcp .woocommerce :is(form, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > :is(.clear, input[type="hidden"]) {
	display: none;
}

.akou-wcp .woocommerce .woocommerce-input-wrapper {
	display: block;
}

.akou-wcp .woocommerce .form-row .description {
	margin-top: 6px;
	font-size: 14px;
	color: var(--sc-muted);
}

/* WooCommerce marks a field it rejected */
.akou-wcp .woocommerce .form-row.woocommerce-invalid :is(input.input-text, select, .select2-selection) {
	border-color: var(--sc-danger);
}

.akou-wcp .woocommerce .form-row.woocommerce-invalid > label {
	color: var(--sc-danger);
}

.akou-wcp .woocommerce .checkout-inline-error-message {
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--sc-danger);
}

/* Show password: WooCommerce draws the eye with its icon font, which Bricks does not load. */
.akou-wcp .woocommerce .password-input {
	position: relative;
	display: block;
}

.akou-wcp .woocommerce .password-input input {
	padding-right: 52px;
}

.akou-wcp .woocommerce button.show-password-input {
	position: absolute;
	top: 50%;
	right: 6px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	box-shadow: none;
	color: var(--sc-muted);
	cursor: pointer;
}

.akou-wcp .woocommerce button.show-password-input::before,
.akou-wcp .woocommerce button.show-password-input::after {
	content: none;
}

.akou-wcp .woocommerce button.show-password-input {
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}

.akou-wcp .woocommerce button.show-password-input.display-password {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
}

.akou-wcp .woocommerce button.show-password-input:hover {
	color: var(--sc-ink);
}

.akou-wcp .woocommerce button.show-password-input:focus-visible {
	outline: 2px solid var(--sc-brand-text);
	outline-offset: 0;
}

/* Country and state pickers (selectWoo). The open list is attached to <body>, outside the page. */
.akou-wcp .select2-container {
	width: 100% !important;
}

.akou-wcp .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 52px;
	margin: 0;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .select2-container .select2-selection--single:hover {
	border-color: var(--sc-accent);
}

.akou-wcp .select2-container:is(.select2-container--open, .select2-container--focus) .select2-selection--single {
	border-color: var(--sc-ink);
	background: var(--sc-surface);
	outline: 2px solid var(--sc-brand);
	outline-offset: 2px;
}

.akou-wcp .select2-container .select2-selection--single .select2-selection__rendered {
	flex: 1;
	padding: 0 40px 0 14px;
	line-height: 48px;
	font-family: var(--sc-font-body);
	font-size: 16px;
	color: var(--sc-ink);
}

.akou-wcp .select2-container .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 0;
	right: 10px;
	height: 48px;
	width: 20px;
}

.akou-wcp .select2-container .select2-selection--single .select2-selection__arrow b {
	border-color: var(--sc-ink) transparent transparent;
}

:is(.woocommerce-checkout, .woocommerce-account) .select2-dropdown {
	background: var(--sc-surface);
	border: 2px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	font-family: var(--sc-font-body);
	font-size: 16px;
}

:is(.woocommerce-checkout, .woocommerce-account) .select2-search--dropdown .select2-search__field {
	min-height: 44px;
	padding: 0 12px;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-size: 16px;
	color: var(--sc-ink);
}

:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option {
	padding: 10px 14px;
}

:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option[aria-selected="true"],
:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option[data-selected="true"] {
	background: var(--sc-surface-2);
	color: var(--sc-ink);
}

:is(.woocommerce-checkout, .woocommerce-account) .select2-container--default .select2-results__option--highlighted[aria-selected],
:is(.woocommerce-checkout, .woocommerce-account) .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
}

/* Tables */
.akou-wcp .woocommerce table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: 0;
	background: transparent;
	font-size: 16px;
}

.akou-wcp .woocommerce table.shop_table :is(th, td) {
	width: auto;
	padding: 14px 0;
	background: transparent;
	border: 0;
	border-bottom: 1px dashed var(--sc-line);
	text-align: left;
	vertical-align: top;
	font-weight: 400;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce table.shop_table thead th {
	padding-block: 0 10px;
	border-bottom: 2px solid var(--sc-ink);
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce .woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Item details under a name: "Caliber: 7.62x39" */
.akou-wcp .woocommerce :is(dl.variation, ul.wc-item-meta) {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce dl.variation :is(dt, dd) {
	display: inline;
	margin: 0;
	padding: 0;
	float: none;
	font-weight: 400;
	overflow-wrap: anywhere;
}

.akou-wcp .woocommerce dl.variation dd::after {
	content: "\A";
	white-space: pre;
}

.akou-wcp .woocommerce :is(dl.variation, ul.wc-item-meta) p,
.akou-wcp .woocommerce ul.wc-item-meta li {
	display: inline;
	margin: 0;
}

.akou-wcp .woocommerce ul.wc-item-meta li {
	display: block;
}

.akou-wcp .woocommerce ul.wc-item-meta .wc-item-meta-label {
	float: none;
	margin-right: 4px;
	font-weight: 400;
}

/* Totals tables (cart totals, order review, order details): label left, amount right */
.akou-wcp .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table, table.order_details) tfoot :is(th, td),
.akou-wcp .woocommerce .cart_totals table.shop_table :is(th, td) {
	padding-block: 12px;
}

.akou-wcp .woocommerce .cart_totals table.shop_table td,
.akou-wcp .woocommerce :is(table.woocommerce-checkout-review-order-table, table.order_details, form#order_review table.shop_table) :is(td.product-total, td:last-child, tfoot td, thead th:last-child) {
	text-align: right;
}

.akou-wcp .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table, .order_details) .order-total :is(th, td),
.akou-wcp .woocommerce :is(table.order_details, form#order_review table.shop_table) tfoot tr:has(.woocommerce-Price-amount):not(:has(~ tr .woocommerce-Price-amount)) :is(th, td) {
	border-bottom: 0;
	padding-top: 16px;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
}

/* "Tax (estimated for the United States (US))": the note on its own line under the label */
.akou-wcp .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table) tr.tax-total th small {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce .order-total :is(small, .includes_tax) {
	display: block;
	margin-top: 6px;
	font-family: var(--sc-font-body);
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4;
	text-transform: none;
	color: var(--sc-muted);
}

/* Shipping in a totals table: the options stack under the label */
.akou-wcp .woocommerce tr:is(.shipping, .woocommerce-shipping-totals) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-bottom: 1px dashed var(--sc-line);
}

.akou-wcp .woocommerce tr:is(.shipping, .woocommerce-shipping-totals) :is(th, td) {
	padding: 12px 0 0;
	border: 0;
	text-align: left;
}

.akou-wcp .woocommerce tr:is(.shipping, .woocommerce-shipping-totals) td {
	padding: 8px 0 12px;
}

.akou-wcp .woocommerce tr:is(.shipping, .woocommerce-shipping-totals) td::before {
	content: none;
}

.akou-wcp .woocommerce ul#shipping_method,
.akou-wcp .woocommerce ul.woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.akou-wcp .woocommerce ul#shipping_method li {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 0;
	text-indent: 0;
	text-align: left;
}

.akou-wcp .woocommerce ul#shipping_method li label {
	margin: 0;
	font-family: var(--sc-font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	text-transform: none;
	color: var(--sc-ink);
}

/* Outranks the totals tables' right-aligned amount column (0,4,2) for the shipping row. */
.akou-wcp .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table, .order_details) tr.woocommerce-shipping-totals.shipping :is(th, td) {
	text-align: left;
}

.akou-wcp .woocommerce :is(.woocommerce-shipping-destination, .woocommerce-shipping-contents) {
	margin: 4px 0 0;
	font-size: 14px;
	color: var(--sc-muted);
}

/* ------------------------------------------------------------------ Cart */
.akou-wcp .woocommerce:has(> .woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	grid-template-areas:
		"notes notes"
		"form totals"
		"xs xs";
	gap: 0 48px;
	align-items: start;
}

.akou-wcp .woocommerce > .before-cart {
	grid-area: notes;
}

.akou-wcp .woocommerce > .woocommerce-cart-form {
	grid-area: form;
	min-width: 0;
}

.akou-wcp .woocommerce > .cart-collaterals {
	grid-area: totals;
	position: sticky;
	top: 24px;
	float: none;
	width: auto;
	min-width: 0;
}

.admin-bar .akou-wcp .woocommerce > .cart-collaterals {
	top: 56px;
}

.akou-wcp .woocommerce > .akou-wcp-xs {
	grid-area: xs;
}

/* The cart table as rows of a grid, so a row can become a card on phones */
.akou-wcp .woocommerce table.cart,
.akou-wcp .woocommerce table.cart :is(thead, tbody) {
	display: block;
}

.akou-wcp .woocommerce table.cart tr {
	display: block;
}

.akou-wcp .woocommerce table.cart :is(thead tr, tr.cart_item) {
	display: grid;
	grid-template-columns: 36px 96px minmax(0, 1fr) 104px 128px 104px;
	grid-template-areas: "remove thumb name price qty sub";
	align-items: center;
	column-gap: 16px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-wcp .woocommerce table.cart thead tr {
	border-bottom: 2px solid var(--sc-ink);
}

.akou-wcp .woocommerce table.cart :is(th, td) {
	display: block;
	padding: 0;
	border: 0;
	vertical-align: middle;
}

.akou-wcp .woocommerce table.cart thead th {
	padding: 0 0 10px;
	border: 0;
	line-height: 1.2;
}

.akou-wcp .woocommerce table.cart tr.cart_item > * {
	padding-block: 18px;
}

.akou-wcp .woocommerce table.cart :is(td, th)::before {
	content: none;
}

.akou-wcp .woocommerce table.cart .product-remove {
	grid-area: remove;
}

.akou-wcp .woocommerce table.cart .product-thumbnail {
	grid-area: thumb;
}

.akou-wcp .woocommerce table.cart .product-name {
	grid-area: name;
	min-width: 0;
	overflow-wrap: anywhere;
}

.akou-wcp .woocommerce table.cart .product-price {
	grid-area: price;
}

.akou-wcp .woocommerce table.cart .product-quantity {
	grid-area: qty;
}

.akou-wcp .woocommerce table.cart .product-subtotal {
	grid-area: sub;
	text-align: right;
}

.akou-wcp .woocommerce table.cart a.remove {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-size: 24px;
	line-height: 1;
	text-decoration: none;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce table.cart a.remove:hover {
	background: transparent;
	border-color: var(--sc-danger);
	color: var(--sc-danger);
}

.akou-wcp .woocommerce table.cart .product-thumbnail a {
	display: block;
}

.akou-wcp .woocommerce table.cart .product-thumbnail img {
	display: block;
	width: 96px;
	height: 96px;
	max-width: none;
	object-fit: contain;
	background: var(--sc-plate);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce table.cart .product-name > a {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 20px;
	line-height: 1.1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-decoration: none;
	overflow-wrap: anywhere;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce table.cart .product-name > a:hover {
	color: var(--sc-brand-text);
}

.akou-wcp .woocommerce table.cart .product-name .backorder_notification {
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce table.cart .product-subtotal {
	font-weight: 700;
}

/* Quantity: Bricks prints a minus and a plus (span.action) after the input. The three read as one box, like the
   product page's. */
.akou-wcp .woocommerce .quantity {
	display: inline-flex;
	align-items: stretch;
}

.akou-wcp .woocommerce .quantity input.qty {
	width: 84px;
	min-height: 46px;
	padding: 0 6px;
	text-align: center;
}

.akou-wcp .woocommerce .quantity:has(> .action) {
	width: auto;
	min-width: 0;
	height: 46px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce .quantity > .action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--sc-ink);
	cursor: pointer;
	user-select: none;
}

.akou-wcp .woocommerce .quantity > .action.minus {
	order: -1;
}

.akou-wcp .woocommerce .quantity > .action svg {
	width: 16px;
	height: 16px;
}

.akou-wcp .woocommerce .quantity > .action:hover {
	color: var(--sc-brand-text);
}

.akou-wcp .woocommerce .quantity > .action.disabled {
	color: var(--sc-line);
	cursor: default;
}

.akou-wcp .woocommerce .quantity:has(> .action) input.qty {
	flex: none;
	width: 48px;
	min-width: 0;
	height: 100%;
	min-height: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-left: 1px dashed var(--sc-line);
	border-right: 1px dashed var(--sc-line);
	border-radius: 0;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 17px;
	-moz-appearance: textfield;
	appearance: textfield;
}

.akou-wcp .woocommerce .quantity input.qty::-webkit-inner-spin-button,
.akou-wcp .woocommerce .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.akou-wcp .woocommerce .quantity:has(> .action) input.qty:focus {
	background: transparent;
	outline: 2px solid var(--sc-brand-text);
	outline-offset: -2px;
}

/* Kadence Shop Kit's cart notice ("Add 1 Mag to cart"). It prints inline colors and swaps them on hover with inline
   script, so the house look needs !important. The browser lifts it out of the table to the top of the cart form. */
.akou-wcp .woocommerce .kt-woo-cart-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: 0 0 20px;
	padding: 16px 18px;
	background: var(--sc-surface-2) !important;
	border: 1.5px dashed var(--sc-accent) !important;
	border-radius: var(--sc-radius);
	font-size: 16px;
	line-height: 1.4;
	text-align: left;
	color: var(--sc-ink) !important;
}

.akou-wcp .woocommerce .kt-woo-cart-notice::after {
	content: none;
}

.akou-wcp .woocommerce .kt-woo-cart-notice .kt-woo-cart-notice-message {
	display: block;
	flex: 1 1 260px;
	padding: 0;
	border: 0 !important;
	font-weight: 600;
}

.akou-wcp .woocommerce .kt-woo-cart-notice a.button {
	flex: none;
	float: none;
	min-height: 42px;
	margin: 0;
	padding: 0 16px;
	background: transparent !important;
	border: 1.5px solid var(--sc-ink) !important;
	color: var(--sc-ink) !important;
	font-size: 15px;
}

.akou-wcp .woocommerce .kt-woo-cart-notice a.button:hover {
	background: var(--sc-ink) !important;
	border-color: var(--sc-ink) !important;
	color: var(--sc-bg) !important;
}

/* Coupon and Update cart */
.akou-wcp .woocommerce table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	padding: 20px 0 0;
}

.akou-wcp .woocommerce table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 340px;
	max-width: 460px;
}

.akou-wcp .woocommerce table.cart td.actions .coupon input.input-text {
	flex: 1 1 180px;
	width: auto;
	min-height: 46px;
}

/* Totals box */
.akou-wcp .woocommerce .cart_totals {
	float: none;
	width: auto;
	padding: 24px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce .cart_totals > h2 {
	font-size: 28px;
}

.akou-wcp .woocommerce .cart_totals table.shop_table tr:not(.shipping, .woocommerce-shipping-totals) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0 16px;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-wcp .woocommerce .cart_totals table.shop_table tr.order-total {
	border-bottom: 0;
}

.akou-wcp .woocommerce .cart_totals table.shop_table :is(th, td) {
	display: block;
	border: 0;
}

.akou-wcp .woocommerce .cart_totals table.shop_table td::before {
	content: none;
}

.akou-wcp .woocommerce .cart_totals table.shop_table th {
	font-weight: 500;
}

.akou-wcp .woocommerce .wc-proceed-to-checkout {
	margin: 0;
	padding: 18px 0 0;
}

.akou-wcp .woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	min-height: 56px;
	margin: 0;
	font-size: 19px;
}

.akou-wcp .woocommerce .cart_totals .akou-safe {
	margin-top: 18px;
}

/* Cards under the cart and in the empty cart */
.akou-wcp section.akou-wcp-xs {
	display: block;
	gap: 0;
	padding: 72px 0 0;
}

.akou-wcp .woocommerce:has(> .wc-empty-cart-message) {
	display: flex;
	flex-direction: column;
}

.akou-wcp .woocommerce > .wc-empty-cart-message {
	order: 1;
}

.akou-wcp .woocommerce > .return-to-shop {
	order: 2;
	margin: 0;
}

.akou-wcp .woocommerce > .akou-wcp-xs {
	order: 3;
}

.akou-wcp .woocommerce > .wc-empty-cart-message .cart-empty {
	display: block;
	margin: 0 0 20px;
	padding: 36px 28px;
	border: 1.5px dashed var(--sc-line);
	border-left: 1.5px dashed var(--sc-line);
	background: var(--sc-surface);
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 36px;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
}

.akou-wcp .woocommerce > .return-to-shop {
	text-align: center;
}

.akou-wcp .woocommerce > .return-to-shop .button {
	min-height: 52px;
	padding: 0 24px;
	font-size: 19px;
}

/* ------------------------------------------------------------------ Checkout */
.akou-wcp .woocommerce > .before-checkout {
	margin-bottom: 8px;
}

.akou-wcp .woocommerce-form-login-toggle .woocommerce-info,
.akou-wcp .woocommerce-form-coupon-toggle .woocommerce-info {
	justify-content: flex-start;
}

.akou-wcp .before-checkout form.woocommerce-form-login {
	max-width: 640px;
	margin: 0 0 24px;
	padding: 22px;
	border: 1.5px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr);
	grid-template-rows: auto auto 1fr;
	gap: 0 56px;
	align-items: start;
	width: auto;
	max-width: none;
	margin: 0;
}

.akou-wcp form.checkout.woocommerce-checkout > * {
	grid-column: 1;
	min-width: 0;
}

.akou-wcp form.checkout.woocommerce-checkout > div:has(> #order_review) {
	grid-column: 2;
	grid-row: 1 / -1;
	padding: 24px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp form.checkout.woocommerce-checkout > wc-order-attribution-inputs {
	display: none;
}

.akou-wcp #customer_details.col2-set {
	display: block;
	width: auto;
}

.akou-wcp #customer_details :is(.col-1, .col-2) {
	float: none;
	width: auto;
	max-width: none;
	padding: 0;
}

.akou-wcp #customer_details .col-2 {
	margin-top: 36px;
}

.akou-wcp #customer_details :is(.woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields) > * + * {
	margin-top: 18px;
}

.akou-wcp #customer_details .woocommerce-account-fields {
	margin-top: 18px;
}

.akou-wcp #customer_details .woocommerce-additional-fields {
	margin-top: 36px;
}

.akou-wcp #ship-to-different-address {
	margin: 0;
	font-size: 22px;
}

.akou-wcp #ship-to-different-address label {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.akou-wcp #ship-to-different-address input {
	position: static;
	order: 0;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
}

.akou-wcp #ship-to-different-address span {
	font: inherit;
}

.akou-wcp #order_review_heading {
	font-size: 28px;
}

/* The order review as stacked grid rows, like the cart totals. Inside a real two-column table the one-column shipping
   row only spanned the first column (its divider stopped short). */
.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table,
.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table :is(thead, tbody, tfoot) {
	display: block;
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table tr:not(.woocommerce-shipping-totals) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0 16px;
}

/* Kept out of the rule above: its :not() would outrank the header's solid line. */
.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table tr {
	border-bottom: 1px dashed var(--sc-line);
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table thead tr {
	border-bottom: 2px solid var(--sc-ink);
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table tr.order-total {
	border-bottom: 0;
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table :is(th, td),
.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table thead th {
	display: block;
	border: 0;
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table .product-quantity {
	font-family: var(--sc-font-mono);
	font-weight: 500;
	white-space: nowrap;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce table.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 500;
}

.akou-wcp .woocommerce .coupon_inner_checkout {
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce a.coupon-modal-link {
	cursor: pointer;
}

/* Payment */
.akou-wcp .woocommerce #payment {
	margin-top: 22px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.akou-wcp .woocommerce #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.wc_payment_method {
	margin: 0 0 10px;
	padding: 14px 16px;
	background: var(--sc-bg);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) {
	border: 2px solid var(--sc-ink);
	padding: 13px 15px;
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.wc_payment_method > input {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.wc_payment_method > label {
	display: inline;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.wc_payment_method > label img {
	display: inline-block;
	max-height: 24px;
	margin-left: 6px;
	vertical-align: middle;
}

.akou-wcp .woocommerce #payment .payment_box {
	margin: 12px 0 0;
	padding: 12px 14px;
	background: var(--sc-surface);
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
	font-size: 15px;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce #payment .payment_box::before {
	content: none;
}

.akou-wcp .woocommerce #payment .payment_box p:last-child {
	margin-bottom: 0;
}

.akou-wcp .woocommerce #payment ul.payment_methods > li.woocommerce-notice {
	margin: 0;
}

.akou-wcp .woocommerce #payment .place-order {
	display: grid;
	gap: 14px;
	margin: 18px 0 0;
	padding: 0;
}

.akou-wcp .woocommerce #payment .place-order > * {
	margin: 0;
}

.akou-wcp .woocommerce .woocommerce-privacy-policy-text p,
.akou-wcp .woocommerce .woocommerce-terms-and-conditions-wrapper p {
	margin: 0;
	font-size: 14px;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce button#place_order {
	display: flex;
	width: 100%;
	min-height: 56px;
	font-size: 19px;
	float: none;
}

.akou-wcp .woocommerce #payment .place-order > .akou-safe {
	margin-top: 6px;
}

/* WooCommerce's "processing" veil over the review while it refreshes */
.akou-wcp .woocommerce .blockUI.blockOverlay {
	background: var(--sc-bg) !important;
}

/* Kadence Shop Kit's coupon window (opened from "Have a promo code?") */
.kadence-coupone-pro-modal .kt-modal-container {
	background: var(--sc-surface);
	color: var(--sc-ink);
	border: 2px solid var(--sc-ink);
	border-radius: var(--sc-radius);
}

.kadence-coupone-pro-modal form.kt_checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-family: var(--sc-font-body);
}

.kadence-coupone-pro-modal form.kt_checkout_coupon > p:first-child {
	flex: 1 1 100%;
	margin: 0;
}

.kadence-coupone-pro-modal form.kt_checkout_coupon .form-row {
	flex: 1 1 180px;
	float: none;
	width: auto;
	margin: 0;
}

.kadence-coupone-pro-modal form.kt_checkout_coupon input.input-text {
	width: 100%;
	min-height: 48px;
	padding: 0 12px;
	box-sizing: border-box;
	background: var(--sc-bg);
	border: 2px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-size: 16px;
	color: var(--sc-ink);
}

.kadence-coupone-pro-modal form.kt_checkout_coupon button.button {
	width: 100%;
	min-height: 48px;
	background: var(--sc-brand);
	border: 0;
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--sc-on-brand);
}

.kadence-coupone-pro-modal .kt-coupon-modal-close {
	color: var(--sc-ink);
}

/* ------------------------------------------------------------------ Order received and order details */
.akou-wcp .woocommerce-order > .woocommerce-notice {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 22px;
	line-height: 1.2;
	text-align: left;
	text-transform: uppercase;
}

.akou-wcp ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	overflow: hidden;
}

.akou-wcp ul.woocommerce-order-overview li {
	margin: 0 -1px -1px 0;
	padding: 14px 18px;
	border-right: 1px dashed var(--sc-line);
	border-bottom: 1px dashed var(--sc-line);
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-wcp ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-family: var(--sc-font-body);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	overflow-wrap: anywhere;
	color: var(--sc-ink);
}

/* Automatic.css makes every <section> a padded flex column (about 75px of padding here): these are plain blocks. */
.akou-wcp .woocommerce section:is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads, .woocommerce-bacs-bank-details) {
	display: block;
	padding: 0;
}

.akou-wcp .woocommerce section.woocommerce-columns--addresses {
	padding: 0;
}

.akou-wcp :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) {
	margin: 0 0 40px;
}

.akou-wcp :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) h2 {
	font-size: 36px;
}

/* Bricks' layer hides this table's header and paints the totals and the quantity #f5f6f7, white under dark mode's
   light text. */
.akou-wcp .woocommerce table.order_details thead {
	display: table-header-group;
}

.akou-wcp .woocommerce :is(table.order_details, form#order_review table.shop_table) :is(thead, tbody, tfoot, tr) {
	background: transparent;
}

.akou-wcp .woocommerce table.order_details tbody td.product-name a {
	font-weight: 600;
	text-underline-offset: 3px;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce table.order_details tbody td.product-name a:hover {
	color: var(--sc-brand-text);
}

.akou-wcp .woocommerce :is(table.order_details, form#order_review table.shop_table) strong.product-quantity {
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	white-space: nowrap;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce form#order_review table.shop_table td.product-quantity {
	white-space: nowrap;
}

.akou-wcp .woocommerce :is(table.order_details, form#order_review table.shop_table) tfoot th {
	font-weight: 500;
}

/* Pending orders: Pay and Cancel (the cell stays a table cell; a flex cell broke the row's divider) */
.akou-wcp .woocommerce table.order_details tfoot tr:has(> .order-actions--heading) td .button {
	margin: 0 0 6px 8px;
}

/* View order: "Order #N was placed on …" above the details */
.akou-wcp .woocommerce-MyAccount-content > p:has(> mark.order-number) {
	margin: 0 0 32px;
}

/* Order pay: product, quantity, total */
.akou-wcp .woocommerce form#order_review table.shop_table :is(th, td) + :is(th, td) {
	padding-left: 16px;
}

/* "Order #N was placed on … and is currently …": no highlighter */
.akou-wcp .woocommerce mark {
	padding: 0;
	background: transparent;
	font-weight: 700;
	color: var(--sc-ink);
}

.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses)::before,
.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses)::after {
	content: none;
}

.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses) > * {
	float: none;
	width: auto;
	max-width: none;
	min-width: 0;
	padding: 20px;
	background: var(--sc-surface);
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses) h2 {
	font-size: 24px;
}

.akou-wcp .woocommerce address {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.akou-wcp .woocommerce address p {
	margin: 8px 0 0;
}

.akou-wcp .woocommerce address p::before {
	content: none;
}

/* ------------------------------------------------------------------ My account */
.akou-wcp .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.akou-wcp .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	min-width: 0;
	background: transparent;
}

.akou-wcp .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	overflow: hidden;
}

.akou-wcp .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
}

.akou-wcp .woocommerce-MyAccount-navigation li + li {
	border-top: 1px dashed var(--sc-line);
}

.akou-wcp .woocommerce .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 8px 18px;
	box-sizing: border-box;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sc-ink);
}

.akou-wcp .woocommerce .woocommerce-MyAccount-navigation a:hover {
	background: var(--sc-surface-2);
	color: var(--sc-ink);
}

.akou-wcp .woocommerce .woocommerce-MyAccount-navigation .is-active a {
	background: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-wcp .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
	font-size: 17px;
}

.akou-wcp .woocommerce-MyAccount-content > p:first-of-type:has(strong) {
	font-size: 19px;
}

.akou-wcp .woocommerce-MyAccount-content form > h2,
.akou-wcp .woocommerce-MyAccount-content > h2 {
	font-size: 32px;
}

.akou-wcp .woocommerce :is(.woocommerce-address-fields, form.woocommerce-EditAccountForm, form.lost_reset_password) {
	max-width: 760px;
}

.akou-wcp .woocommerce .woocommerce-address-fields > p:last-child,
.akou-wcp .woocommerce form.woocommerce-EditAccountForm > p:last-of-type {
	margin-top: 22px;
}

.akou-wcp .woocommerce form.woocommerce-EditAccountForm fieldset {
	display: grid;
	gap: 18px;
	margin: 12px 0 0;
	padding: 20px;
	border: 1px dashed var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce form.woocommerce-EditAccountForm fieldset > legend {
	padding: 0 8px;
}

.akou-wcp .woocommerce form.woocommerce-EditAccountForm .form-row > span > em {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	color: var(--sc-muted);
}

.akou-wcp .woocommerce .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin-bottom: 12px;
}

.akou-wcp .woocommerce .woocommerce-Address-title::before,
.akou-wcp .woocommerce .woocommerce-Address-title::after {
	content: none;
}

.akou-wcp .woocommerce .woocommerce-Address-title h2 {
	margin: 0;
}

.akou-wcp .woocommerce .woocommerce-Address-title a.edit {
	float: none;
	font-family: var(--sc-font-mono);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Orders and downloads tables */
.akou-wcp .woocommerce table:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th, td) {
	padding-right: 12px;
	vertical-align: middle;
}

.akou-wcp .woocommerce table:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th, td):last-child {
	padding-right: 0;
	text-align: right;
}

.akou-wcp .woocommerce table.woocommerce-orders-table tbody th a {
	font-weight: 700;
}

.akou-wcp .woocommerce table.woocommerce-orders-table .button {
	min-height: 40px;
	padding: 0 14px;
	font-size: 15px;
}

.akou-wcp .woocommerce table.woocommerce-orders-table .button + .button {
	margin-left: 8px;
}

.akou-wcp .woocommerce table.woocommerce-orders-table td:is(.woocommerce-orders-table__cell-order-date, .woocommerce-orders-table__cell-order-status, .woocommerce-orders-table__cell-order-total) {
	white-space: nowrap;
}

.akou-wcp .woocommerce .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 22px;
}

/* Signed out: sign in beside open an account */
.akou-wcp .woocommerce #customer_login.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.akou-wcp .woocommerce #customer_login > * {
	float: none;
	width: auto;
	max-width: none;
	min-width: 0;
	padding: 28px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-wcp .woocommerce #customer_login h2 {
	font-size: 36px;
}

.akou-wcp .woocommerce > form.woocommerce-form-login:only-of-type,
.akou-wcp .woocommerce > form.lost_reset_password {
	max-width: 560px;
}

.akou-wcp .woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.akou-wcp .woocommerce :is(form.woocommerce-form-login, form.woocommerce-form-register) :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit) {
	min-height: 52px;
	padding: 0 26px;
	font-size: 19px;
}

.akou-wcp .woocommerce .lost_password {
	font-size: 15px;
}

/* ------------------------------------------------------------------ Narrower desktops and tablets */
@media (max-width: 1199px) {
	.akou-wcphd__h1 {
		font-size: 64px;
	}

	/* Beside a 320-400px totals column the table's name column fell to 32px at 1000px: the totals go under the
	   table from here down, at the right, and the table keeps the full width. */
	.akou-wcp .woocommerce:has(> .woocommerce-cart-form) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"notes"
			"form"
			"totals"
			"xs";
	}

	.akou-wcp .woocommerce > .cart-collaterals {
		position: static;
		justify-self: end;
		width: min(100%, 440px);
		margin-top: 32px;
	}

	.akou-wcp form.checkout.woocommerce-checkout {
		gap: 0 36px;
	}

	/* Orders and downloads: each row a block, each cell labeled. Below 1200px the account column is too narrow for five
	   columns and three buttons (at 768px "November 7, 2026" broke to strand "2026"). */
	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads),
	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(tbody, tr) {
		display: block;
	}

	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) thead {
		display: none;
	}

	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) tr {
		padding: 10px 0;
		border-bottom: 1px dashed var(--sc-line);
	}

	/* Block cells with the label floated left: a flex cell split "$542.49 for 4 items" into two items. */
	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th, td) {
		display: block;
		padding: 6px 0;
		border: 0;
		text-align: right;
	}

	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th, td)::after {
		content: "";
		display: table;
		clear: both;
	}

	.akou-wcp .woocommerce table.shop_table_responsive:is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th, td)[data-title]::before {
		content: attr(data-title);
		float: left;
		margin-right: 12px;
		line-height: 1.9;
		font-family: var(--sc-font-mono);
		font-weight: 500;
		font-size: 12px;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		text-align: left;
		color: var(--sc-muted);
	}

	.akou-wcp .woocommerce table.shop_table_responsive.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions[data-title]::before {
		line-height: 46px;
	}
}

@media (max-width: 991px) {
	.akou-wcp form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
	}

	.akou-wcp form.checkout.woocommerce-checkout > div:has(> #order_review) {
		grid-column: 1;
		grid-row: auto;
		margin-top: 40px;
	}

	.akou-wcp .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.akou-wcp .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
		background: transparent;
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	.akou-wcp .woocommerce-MyAccount-navigation li + li {
		border-top: 0;
	}

	.akou-wcp .woocommerce .woocommerce-MyAccount-navigation a {
		min-height: 44px;
		padding: 6px 14px;
		background: var(--sc-surface);
		border: 1px solid var(--sc-line);
		border-radius: var(--sc-radius);
		font-size: 16px;
	}

	.akou-wcp .woocommerce .woocommerce-MyAccount-navigation .is-active a {
		border-color: var(--sc-ink);
	}
}

/* ------------------------------------------------------------------ Phones */
@media (max-width: 767px) {
	.akou-wcp {
		--akou-pad: 16px;
	}

	.akou-wcp__crumbs {
		padding-top: 14px;
	}

	.akou-wcphd {
		padding: 12px 0 22px;
	}

	.akou-wcphd__row {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
	}

	.akou-wcphd__l {
		gap: 14px;
	}

	.akou-wcphd .akou-snum {
		font-size: 60px;
	}

	.akou-wcphd__h1 {
		font-size: 48px;
		line-height: 0.9;
	}

	.akou-steps {
		font-size: 12px;
	}

	.akou-steps li + li::before {
		width: 16px;
		margin: 0 8px;
	}

	.akou-wcp__body {
		padding: 24px 0 64px;
	}

	.akou-wcp .woocommerce :where(h2, h3):where(:not(:is(.akou-wcp-xs, .akou-safe) *)) {
		font-size: 28px;
	}

	/* One column of fields */
	.akou-wcp .woocommerce :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, form.woocommerce-EditAccountForm) > :is(.form-row-first, .form-row-last) {
		grid-column: 1 / -1;
	}

	/* A cart row becomes a card: photo, name and remove; the price; quantity and line total */
	.akou-wcp .woocommerce table.cart thead {
		display: none;
	}

	.akou-wcp .woocommerce table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb name remove"
			"thumb price price"
			"thumb qty sub";
		column-gap: 14px;
		row-gap: 6px;
		padding: 16px 0;
	}

	.akou-wcp .woocommerce table.cart tr.cart_item > * {
		padding-block: 0;
	}

	.akou-wcp .woocommerce table.cart .product-thumbnail {
		align-self: start;
	}

	.akou-wcp .woocommerce table.cart .product-thumbnail img {
		width: 76px;
		height: 76px;
	}

	.akou-wcp .woocommerce table.cart .product-remove {
		align-self: start;
	}

	.akou-wcp .woocommerce table.cart .product-name > a {
		font-size: 18px;
	}

	.akou-wcp .woocommerce table.cart .product-price {
		font-size: 15px;
		color: var(--sc-muted);
	}

	.akou-wcp .woocommerce table.cart .product-price::after {
		/* The space ends the escape: "\00a0each" read as U+A0EA followed by "ch". */
		content: "\00a0 each";
	}

	.akou-wcp .woocommerce table.cart :is(.product-quantity, .product-subtotal) {
		align-self: center;
		margin-top: 4px;
	}

	.akou-wcp .woocommerce table.cart td.actions .coupon {
		flex-basis: 100%;
		max-width: none;
	}

	.akou-wcp .woocommerce table.cart td.actions .coupon .button,
	.akou-wcp .woocommerce table.cart td.actions > .button {
		flex: 1 1 auto;
	}

	.akou-wcp .woocommerce > .cart-collaterals {
		justify-self: stretch;
		width: auto;
	}

	.akou-wcp .woocommerce .cart_totals,
	.akou-wcp form.checkout.woocommerce-checkout > div:has(> #order_review) {
		padding: 18px 16px;
	}

	.akou-wcp .woocommerce > .wc-empty-cart-message .cart-empty {
		padding: 28px 18px;
		font-size: 28px;
	}

	.akou-wcp section.akou-wcp-xs {
		padding-top: 48px;
	}

	.akou-wcp .woocommerce .akou-pcs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	/* Order details, addresses, sign in and register: one column */
	.akou-wcp :is(.woocommerce-columns--addresses, .woocommerce-Addresses),
	.akou-wcp .woocommerce #customer_login.col2-set {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-wcp .woocommerce #customer_login > * {
		padding: 20px 16px;
	}

	.akou-wcp :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) h2,
	.akou-wcp .woocommerce #customer_login h2 {
		font-size: 30px;
	}

	.akou-wcp ul.woocommerce-order-overview {
		grid-template-columns: minmax(0, 1fr);
	}

}

/* Narrow phones: the steps keep their numbers, and only the step you are on keeps its word */
@media (max-width: 479px) {
	.akou-steps li:not([aria-current]) .akou-steps__t {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.akou-steps li:not([aria-current]) .akou-steps__n {
		margin-right: 0;
	}

	.akou-wcphd__h1 {
		font-size: 44px;
	}

	/* A narrower photo gives a cart line's name and details room: "5.45x39/5.56/.308" fits whole at 320px. */
	.akou-wcp .woocommerce table.cart tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		column-gap: 12px;
	}

	.akou-wcp .woocommerce table.cart .product-thumbnail img {
		width: 64px;
		height: 64px;
	}

	.akou-wcp .woocommerce :is(dl.variation, ul.wc-item-meta) {
		font-size: 12px;
		letter-spacing: 0;
	}
}
/* END store pages */

/* BEGIN blog */
/* ==========================================================================
   Blog: the posts page, post categories / tags / authors / dates, and a single post (tools/blog.py). No board:
   built from the store pages' head band (.akou-wcphd), the shop's crumbs and pager, the inventory tag of the
   product cards, the numbered sections of the product page and the review form's M1 fields.
   ========================================================================== */
.akou-blog {
	background: var(--sc-bg);
	color: var(--sc-ink);
}

/* Head band */
.akou-bloghd__lede {
	max-width: 34em;
	margin: 18px 0 0;
	font-size: 18px;
	line-height: 1.5;
	color: var(--sc-muted);
}

.akou-bloghd__yt {
	flex: none;
}

.akou-bloghd .akou-seyebrow a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-bloghd .akou-seyebrow a:hover {
	color: var(--sc-ink);
}

.akou-wcphd__h1.akou-posthd__h1 {
	max-width: 24ch;
	font-size: 60px;
	line-height: 0.92;
	overflow-wrap: anywhere;
}

/* Category chips */
.akou-bchips ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 26px 0 0;
	padding: 0;
}

.akou-bchip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 0 14px;
	box-sizing: border-box;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	font-family: var(--sc-font-head);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sc-ink);
	text-decoration: none;
}

.akou-bchip:hover {
	border-color: var(--sc-ink);
}

.akou-bchip.is-on {
	background: var(--sc-ink);
	border-color: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-bchip__n {
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--sc-muted);
}

.akou-bchip.is-on .akou-bchip__n {
	color: var(--sc-bg);
}

/* The list */
.akou-bloglist {
	padding: 40px 0 96px;
}

.akou-postfeat {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	margin: 0 0 40px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-postfeat__pic,
.akou-post__pic {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--sc-plate);
}

.akou-postfeat__pic {
	border-radius: var(--sc-radius) 0 0 var(--sc-radius);
}

:is(.akou-postfeat__pic, .akou-post__pic) img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--sc-ease);
}

.akou-postfeat:hover .akou-postfeat__pic img,
.akou-post:hover .akou-post__pic img {
	transform: scale(1.03);
}

.akou-postfeat__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 14px;
	min-width: 0;
	padding: 32px 36px;
}

.akou-postfeat__body .akou-seyebrow {
	margin: 0;
}

.akou-blog .akou-postfeat__t {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 44px;
	line-height: 0.92;
	text-transform: uppercase;
	color: var(--sc-ink);
}

:is(.akou-postfeat__t, .akou-post__t) a {
	color: inherit;
	text-decoration: none;
}

:is(.akou-postfeat__t, .akou-post__t) a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.akou-postfeat__ex {
	margin: 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--sc-muted);
}

.akou-postfeat .akou-cta {
	margin-top: 6px;
}

/* The play mark on a video's still */
.akou-post__play {
	position: absolute;
	left: 14px;
	bottom: 14px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	background: var(--sc-brand);
	color: var(--sc-on-brand);
	border-radius: 50%;
	box-shadow: 0 2px 10px rgb(0 0 0 / 0.3);
}

.akou-post__play .akou-ic {
	margin-left: 3px;
}

.akou-post__play--lg {
	left: 20px;
	bottom: 20px;
	width: 68px;
	height: 68px;
}

.akou-post__plate {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--sc-muted);
}

/* Cards */
.akou-posts {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
}

.akou-posts > li {
	display: flex;
	min-width: 0;
}

.akou-post {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	transition: border-color 0.15s;
}

.akou-post:hover {
	border-color: var(--sc-muted);
}

.akou-post .akou-tagrow {
	padding: 10px 14px;
}

.akou-post .akou-hole {
	width: 11px;
	height: 11px;
	box-sizing: border-box;
	border-color: var(--sc-muted);
}

.akou-post__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 16px 20px;
}

.akou-post__cat {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
}

.akou-blog .akou-post__t {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 24px;
	line-height: 1.02;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-blog .akou-empty__h {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 30px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--sc-ink);
}

/* A post */
.akou-postbody {
	padding: 40px 0 72px;
}

.akou-post__copy,
.akou-posttags,
.akou-postcom {
	max-width: 820px;
}

.akou-post__copy .wp-block-embed {
	margin: 28px 0;
}

/* Core's 16:9 spacer (.wp-embed-responsive .wp-has-aspect-ratio …::before, three classes) is for an iframe laid
   over it; the still and the player size themselves, so the spacer would leave a blank band above the video. */
:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .wp-block-embed .wp-block-embed__wrapper::before {
	content: none;
	display: none;
}

/* A post laid out with the old theme's Kadence rows (PSL54): the row sits in the text column like any block, without
   its full-bleed breakout, its 6-10rem padding and its own light panels (they stayed light in dark mode, under light
   text). Its heading, text and button take the site's styles. Kadence's rules are one or two classes plus an
   attribute; these carry four. Kadence's color classes (some !important) read the old theme's nine palette
   variables: here they read the site's colors, so they follow light and dark. */
:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) {
	--global-palette1: var(--sc-brand-text);
	--global-palette2: var(--sc-brand-text);
	--global-palette3: var(--sc-ink);
	--global-palette4: var(--sc-ink);
	--global-palette5: var(--sc-muted);
	--global-palette6: var(--sc-muted);
	--global-palette7: var(--sc-surface-2);
	--global-palette8: var(--sc-surface-2);
	--global-palette9: var(--sc-surface);
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .kb-row-layout-wrap.wp-block-kadence-rowlayout {
	position: static;
	width: auto;
	max-width: 100%;
	margin: 28px 0;
	padding: 0;
	background: none;
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .kb-row-layout-wrap > .kt-row-column-wrap.kt-row-column-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px 36px;
	align-items: center;
	max-width: none;
	margin: 0;
	padding: 0;
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .wp-block-kadence-column.wp-block-kadence-column,
:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .kt-inside-inner-col.kt-inside-inner-col {
	margin: 0;
	padding: 0;
	text-align: inherit;
	background: none;
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) h2.wp-block-kadence-advancedheading[data-kb-block] {
	margin: 0 0 0.5em;
	font-size: 30px;
	line-height: 1.1;
	color: var(--sc-ink);
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) p.wp-block-kadence-advancedheading[data-kb-block] {
	margin: 0 0 1em;
	font-size: inherit;
	line-height: inherit;
	color: var(--sc-ink);
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .wp-block-kadence-advancedbtn .kb-button.kb-button {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--sc-radius);
	background: var(--sc-brand);
	color: var(--sc-on-brand);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 17px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .wp-block-kadence-advancedbtn .kb-button.kb-button:hover {
	background: var(--sc-brand-hover);
	color: var(--sc-on-brand);
}

:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .kb-row-layout-wrap .wp-block-image {
	margin: 0;
}

@media (min-width: 768px) {
	:is(.akou-blog .akou-post__copy, .akou-page .akou-pagecopy) .kb-row-layout-wrap > .kt-has-2-columns.kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.akou-yt {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
	border-radius: var(--sc-radius);
}

.akou-prose .akou-yt__go {
	position: absolute;
	inset: 0;
	display: block;
	color: var(--sc-on-brand);
	text-decoration: none;
}

.akou-prose .akou-yt img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
}

.akou-yt__go::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgb(0 0 0 / 0) 45%, rgb(0 0 0 / 0.4));
}

.akou-yt__btn {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	padding: 0 26px 0 20px;
	box-sizing: border-box;
	background: var(--sc-brand);
	color: var(--sc-on-brand);
	border-radius: var(--sc-radius);
	box-shadow: 0 6px 24px rgb(0 0 0 / 0.35);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 20px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	transform: translate(-50%, -50%);
	transition: transform 0.2s var(--sc-ease), background-color 0.15s;
}

.akou-yt__go:hover .akou-yt__btn {
	background: var(--sc-brand-hover);
	transform: translate(-50%, -50%) scale(1.04);
}

.akou-blog .akou-yt__go:focus-visible {
	outline: 3px solid var(--sc-on-brand);
	outline-offset: -6px;
}

.akou-prose .akou-yt iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	border: 0;
}

.akou-posttags {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px 16px;
	margin-top: 36px;
	padding-top: 20px;
	border-top: 1px dashed var(--sc-line);
}

.akou-posttags__h {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-posttags ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.akou-bchip--tag {
	min-height: 32px;
	padding: 0 10px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.02em;
	text-transform: none;
}

.akou-blog section.akou-post-com,
.akou-blog section.akou-post-more,
.akou-blog section.akou-post-shelf {
	padding: 80px 0;
	border-top: 1px solid var(--sc-line);
}

.akou-blog section.akou-post-more {
	background: var(--sc-surface-2);
}

.akou-blog section.akou-post-shelf {
	padding-bottom: 96px;
}

.akou-posts__all {
	margin: 28px 0 0;
}

.akou-post-shelf .akou-pcs {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Comments */
.akou-cmts,
.akou-cmts .children {
	list-style: none;
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.akou-cmts .children {
	margin: 14px 0 0 12px;
	padding-left: 24px;
	border-left: 2px solid var(--sc-line);
}

.akou-cmt__card {
	padding: 18px 20px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

.akou-cmt--rob > .akou-cmt__card {
	border-left: 4px solid var(--sc-brand);
}

.akou-cmt__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
}

.akou-cmt__who {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	min-width: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.akou-cmt__date {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--sc-muted);
}

.akou-cmt__wait {
	margin: 8px 0 0;
	font-size: 14px;
	color: var(--sc-brand-text);
}

.akou-cmt__text {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.akou-cmt__text p {
	margin: 0 0 0.8em;
}

.akou-cmt__text > :last-child {
	margin-bottom: 0;
}

.akou-cmt__text a {
	color: var(--sc-brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-cmt__reply {
	margin: 8px 0 0;
}

.akou-cmt__reply a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.akou-cmts + .akou-cform {
	margin-top: 32px;
}

.akou-cmt .akou-cform {
	margin-top: 14px;
}

.akou-cform #cancel-comment-reply-link {
	display: block;
	margin-top: 8px;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--sc-brand-text);
}

@media (prefers-reduced-motion: reduce) {
	:is(.akou-postfeat__pic, .akou-post__pic) img,
	.akou-yt__btn {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.akou-post-shelf .akou-pcs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.akou-wcphd__h1.akou-posthd__h1 {
		font-size: 46px;
	}

	.akou-postfeat {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-postfeat__pic {
		border-radius: var(--sc-radius) var(--sc-radius) 0 0;
	}

	.akou-postfeat__body {
		padding: 24px 24px 28px;
	}

	.akou-blog .akou-postfeat__t {
		font-size: 38px;
	}

	.akou-posts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	/* Two across: the third "more" card would sit alone */
	.akou-posts--more > li:nth-child(3) {
		display: none;
	}

	.akou-blog section.akou-post-com,
	.akou-blog section.akou-post-more,
	.akou-blog section.akou-post-shelf {
		padding: 64px 0;
	}
}

@media (max-width: 767px) {
	.akou-blog {
		--akou-pad: 16px;
	}

	.akou-bloghd__lede {
		margin-top: 12px;
		font-size: 16px;
	}

	.akou-bchips ul {
		gap: 6px;
		margin-top: 20px;
	}

	.akou-bchip {
		min-height: 38px;
		padding: 0 12px;
		font-size: 15px;
	}

	.akou-bchip--tag {
		min-height: 32px;
		padding: 0 9px;
		font-size: 12px;
	}

	.akou-wcphd__h1.akou-posthd__h1 {
		font-size: 34px;
		line-height: 0.95;
	}

	.akou-bloglist {
		padding: 24px 0 72px;
	}

	.akou-postfeat {
		margin-bottom: 24px;
	}

	.akou-postfeat__body {
		gap: 12px;
		padding: 18px 16px 22px;
	}

	.akou-blog .akou-postfeat__t {
		font-size: 30px;
	}

	.akou-postfeat__ex {
		font-size: 16px;
	}

	.akou-post__play--lg {
		left: 14px;
		bottom: 14px;
		width: 56px;
		height: 56px;
	}

	.akou-blog .akou-post__t {
		font-size: 22px;
	}

	.akou-postbody {
		padding: 24px 0 56px;
	}

	.akou-post__copy .wp-block-embed {
		margin: 20px 0;
	}

	.akou-yt__btn {
		min-height: 52px;
		padding: 0 18px 0 14px;
		font-size: 17px;
	}

	.akou-blog section.akou-post-com,
	.akou-blog section.akou-post-more,
	.akou-blog section.akou-post-shelf {
		padding: 52px 0;
	}

	.akou-cmt__card {
		padding: 14px 14px 16px;
	}

	.akou-cmts .children {
		margin-left: 6px;
		padding-left: 12px;
	}
}

@media (max-width: 599px) {
	.akou-posts {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-posts--more > li:nth-child(3) {
		display: flex;
	}
}
/* END blog */

/* BEGIN pages */
/* About, Contact, FAQ, Contact Success, the 404 page and the "Page" template (tools/pages.py; functions.php "pages").
   The shop's and the blog's pieces: crumbs, the head band, numbered sections, M1 fields, cards. */
.akou-pagehd .akou-wcphd__row {
	align-items: flex-end;
}

.akou-wcphd__h1.akou-pagehd__h1 {
	max-width: 16ch;
	font-size: 64px;
	overflow-wrap: anywhere;
}

.akou-pagehd__lede {
	max-width: 36em;
	margin: 18px 0 0;
	font-size: 18px;
	line-height: 1.5;
	color: var(--sc-muted);
}

.akou-pagehd__lede a {
	color: var(--sc-brand-text);
}

.akou-pagehd__ctas,
.akou-nf__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.akou-pages.akou-pg section.akou-sec {
	padding: 80px 0;
	border-top: 1px solid var(--sc-line);
}

.akou-pages .akou-pagehd + section.akou-sec {
	border-top: 0;
}

.akou-pages.akou-pg section.akou-pg-more,
.akou-pages.akou-pg section.akou-ab-revs {
	background: var(--sc-surface-2);
}

.akou-pagebody {
	padding: 48px 0 88px;
}

.akou-cta-ink {
	background: var(--sc-ink);
	color: var(--sc-bg);
}

.akou-cta-ink:hover {
	background: var(--sc-brand);
	color: var(--sc-on-brand);
}

/* ---- About */
.akou-ab-team__card {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px;
	align-items: center;
	padding: 28px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
}

.akou-ab-team__pic {
	margin: 0;
}

.akou-ab-team__pic img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 600 / 496;
	object-fit: cover;
	border-radius: var(--sc-radius);
}

.akou-ab-team__name {
	margin: 4px 0 20px;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 56px;
	line-height: 0.9;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-ab-team__specs {
	margin: 0 0 24px;
	border-top: 1px dashed var(--sc-line);
}

.akou-ab-team__spec {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px dashed var(--sc-line);
}

.akou-ab-team__spec dt {
	font-family: var(--sc-font-mono);
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-ab-team__spec dd {
	margin: 0;
	font-size: 17px;
	line-height: 1.45;
	color: var(--sc-ink);
}

.akou-pages section#story {
	scroll-margin-top: 140px;
}

.akou-ab-story__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	align-items: start;
}

.akou-ab-story__pic {
	margin: 0;
}

.akou-ab-story__pic img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sc-radius);
}

.akou-ab-quote {
	margin: 56px 0 0;
	padding: 4px 0 4px 28px;
	background: none;
	border-left: 6px solid var(--sc-brand);
}

/* the framework's blockquote default drew a second, grey bar and 30px of padding inside the quote */
.akou-pages .akou-ab-quote__q {
	padding: 0;
	border: 0;
	background: none;
}

.akou-ab-quote__q {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 56px;
	line-height: 0.95;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-ab-quote__who {
	margin: 14px 0 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 20px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-ab-quote__who span {
	margin-left: 10px;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.12em;
	color: var(--sc-muted);
}

.akou-rev-card__on {
	display: block;
	margin-top: 4px;
	font-family: var(--sc-font-body);
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sc-muted);
}

.akou-rev-card__on a {
	color: var(--sc-brand-text);
}

.akou-ab-revs__note,
.akou-ab-brands__lede {
	margin: 24px 0 0;
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-ab-brands__lede {
	max-width: 40em;
	margin: 0 0 28px;
	font-size: 18px;
	line-height: 1.5;
}

.akou-ab-logos {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.akou-ab-logos__i {
	display: grid;
	place-items: center;
	height: 112px;
	padding: 18px 22px;
	box-sizing: border-box;
	background: var(--sc-plate);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
}

/* Raptor Tactical's logo is white and red on transparent: on the light plate it all but vanished */
.akou-ab-logos__i--dark {
	background: var(--sc-band);
	border-color: var(--sc-band);
}

/* ALG and Meridian ship on white boxes, which showed as patches on the beige dark-mode plate */
.akou-ab-logos__i:not(.akou-ab-logos__i--dark) img {
	mix-blend-mode: multiply;
}

.akou-ab-logos__i img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 64px;
	object-fit: contain;
}

/* ---- Contact: the M1 form and the side cards */
.akou-ct,
.akou-fq {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: 40px;
	align-items: start;
}

.akou-ct__form {
	padding: 32px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
}

.akou-cf__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.akou-cf__h {
	margin: 0;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 34px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-cf__req {
	margin: 0;
	font-family: var(--sc-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.akou-cf__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 16px;
	margin-top: 8px;
}

.akou-cf__grid .akou-fld--wide {
	grid-column: 1 / -1;
}

.akou-fld__hint {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	min-height: 20px;
	margin: 5px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--sc-muted);
}

.akou-fld__msg {
	min-width: 0;
}

.akou-fld__count {
	flex: none;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	font-variant-numeric: tabular-nums;
}

.akou-fld.is-error .akou-fld__hint {
	font-weight: 600;
	color: var(--sc-danger);
}

.akou-fld.is-error .akou-fld__msg::before {
	content: "! ";
	font-family: var(--sc-font-mono);
}

.akou-fld textarea::placeholder {
	color: transparent;
}

.akou-fld--area:focus-within .akou-fld__lbl,
.akou-fld--area:has(textarea:not(:placeholder-shown)) .akou-fld__lbl {
	transform: translate(-16px, -40px) scale(0.88);
	color: var(--sc-ink);
}

.akou-fld.akou-fld--check {
	min-width: 0;
	margin: 14px 0 0;
	padding: 0;
	border: 0;
}

.akou-fld__legend {
	margin: 0 0 10px;
	padding: 0;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 16px;
	line-height: 1.4;
	color: var(--sc-ink);
	cursor: pointer;
}

.akou-check input {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: var(--sc-brand);
	cursor: pointer;
}

.akou-cf__go {
	margin-top: 28px;
}

.akou-cf__status {
	margin: 12px 0 0;
	font-size: 15px;
	color: var(--sc-muted);
}

.akou-cf__status:empty {
	display: none;
}

.akou-cf__status.is-error {
	font-weight: 600;
	color: var(--sc-danger);
}

.akou-ct__side,
.akou-fq__side {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.akou-ct-card {
	padding: 24px;
	background: var(--sc-surface);
	border: 1px solid var(--sc-line);
}

.akou-ct-card__h {
	margin: 6px 0 10px;
	font-family: var(--sc-font-head);
	font-weight: 900;
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--sc-ink);
}

.akou-ct-card__p {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--sc-muted);
}

.akou-ct-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ---- FAQ: Q2 Proximity (akou.js initQ2). Without script every answer shows. */
.akou-draftnote {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0 0 28px;
	padding: 12px 16px;
	background: var(--sc-surface);
	border: 1.5px dashed var(--sc-brand-text);
	border-radius: var(--sc-radius);
	font-size: 15px;
	color: var(--sc-ink);
}

.akou-draftnote b {
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
}

.akou-draft {
	margin: 0 0 6px;
	font-family: var(--sc-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sc-brand-text);
}

.akou-todo {
	padding: 0 2px;
	color: var(--sc-brand-text);
	background: color-mix(in srgb, var(--sc-brand) 10%, transparent);
	border-bottom: 1.5px dashed var(--sc-brand-text);
}

.akou-q2 {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 0;
	border-top: 1px solid var(--sc-line);
	border-bottom: 1px solid var(--sc-line);
}

.akou-q2__pill {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 0;
	border-radius: var(--sc-radius);
	background: color-mix(in srgb, var(--sc-ink) 7%, transparent);
	opacity: 0;
	pointer-events: none;
	transition: transform 0.45s cubic-bezier(0.34, 1.3, 0.64, 1), height 0.45s cubic-bezier(0.34, 1.3, 0.64, 1), opacity 0.18s;
}

.akou-q2__pill.is-on {
	opacity: 1;
}

.akou-q2__pill.is-still {
	transition: opacity 0.18s;
}

.akou-q2__item {
	position: relative;
	border-radius: var(--sc-radius);
	transition: background-color 0.25s;
}

.akou-q2__item.is-open {
	background: color-mix(in srgb, var(--sc-accent) 15%, transparent);
}

.akou-q2__h {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.akou-q2__btn {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	margin: 0;
	padding: 16px 12px;
	background: transparent;
	border: 0;
	border-radius: var(--sc-radius);
	text-align: left;
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-size: 24px;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--sc-muted);
	cursor: pointer;
	transition: color 0.15s;
}

/* ACSS's button:not(nav button, [class*="btn--"]) is 0,1,1 and set these from its --btn-* variables,
   centering every question */
.akou-q2 .akou-q2__btn {
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: left;
}

.akou-q2__btn::after {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.akou-q2__btn:hover,
.akou-q2__item.is-open .akou-q2__btn,
.akou-q2__item.is-near .akou-q2__btn,
.akou-q2:not(.is-ready) .akou-q2__btn {
	color: var(--sc-ink);
}

.akou-q2__btn:focus-visible {
	outline: 2px solid var(--sc-brand);
	outline-offset: -2px;
}

.akou-q2__item.is-open .akou-q2__btn::after,
.akou-q2:not(.is-ready) .akou-q2__btn::after {
	transform: rotate(90deg);
}

.akou-q2__no {
	flex: none;
	font-family: var(--sc-font-mono);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--sc-muted);
}

.akou-q2__t {
	flex: 1;
	min-width: 0;
	text-wrap: balance;
}

.akou-q2.is-ready .akou-q2__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.5s var(--sc-ease);
}

.akou-q2.is-ready .akou-q2__item.is-open .akou-q2__panel {
	grid-template-rows: 1fr;
}

.akou-q2__in {
	min-height: 0;
	overflow: hidden;
}

.akou-q2__body {
	padding: 0 12px 20px 68px;
}

.akou-q2.is-ready .akou-q2__body {
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.2s, transform 0.25s;
}

.akou-q2.is-ready .akou-q2__item.is-open .akou-q2__body {
	opacity: 1;
	transform: none;
	transition: opacity 0.3s 0.07s, transform 0.35s 0.07s var(--sc-ease);
}

.akou-q2__a {
	font-size: 17px;
}

.akou-fq__side {
	position: sticky;
	top: 140px;
}

/* ---- the 404 page */
.akou-nfs {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	max-width: 720px;
}

.akou-nfs .akou-fld {
	flex: 1;
}

.akou-nfs .akou-cta {
	min-height: 56px;
}

.akou-nfs input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.akou-nf__ctas {
	margin-top: 28px;
}

/* ---- any other page (template "Page"): its own text, any old Kadence rows folded in like a post's */
.akou-pagecopy {
	max-width: 820px;
	/* /home-testing-only/ has a Kadence testimonial title that is one 400px run of escaped markup */
	overflow-wrap: break-word;
}

/* a bare URL as link text ran 32px past a 320 screen on /coming-soon/ */
.akou-pagecopy a {
	overflow-wrap: anywhere;
}

/* old Kadence carousels: Kadence's Splide script and stylesheet don't load under Bricks, so the track
   spilled 1,500px sideways on /home-testing-only/. Splide's own CSS clips its track the same way. */
.akou-pagecopy .splide__track {
	overflow: hidden;
}

.akou-pagecopy--empty {
	margin: 0;
	color: var(--sc-muted);
}

@media (prefers-reduced-motion: reduce) {
	.akou-q2__pill,
	.akou-q2__item,
	.akou-q2__btn::after,
	.akou-q2.is-ready .akou-q2__panel,
	.akou-q2.is-ready .akou-q2__body,
	.akou-q2.is-ready .akou-q2__item.is-open .akou-q2__body {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.akou-ab-logos {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.akou-wcphd__h1.akou-pagehd__h1 {
		font-size: 52px;
	}

	.akou-pages.akou-pg section.akou-sec {
		padding: 64px 0;
	}

	.akou-ab-team__card,
	.akou-ab-story__grid,
	.akou-ct,
	.akou-fq {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-ab-team__card {
		gap: 28px;
	}

	.akou-ab-team__pic {
		max-width: 480px;
	}

	.akou-ab-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.akou-fq__side {
		position: static;
	}
}

@media (max-width: 767px) {
	.akou-wcphd__h1.akou-pagehd__h1 {
		font-size: 40px;
	}

	.akou-pagehd__lede {
		font-size: 17px;
	}

	.akou-pages.akou-pg section.akou-sec {
		padding: 52px 0;
	}

	.akou-pagebody {
		padding: 32px 0 64px;
	}

	.akou-ab-team__card {
		padding: 18px;
	}

	.akou-ab-team__name {
		font-size: 44px;
	}

	.akou-ab-quote {
		margin-top: 40px;
		padding-left: 18px;
	}

	.akou-ab-quote__q {
		font-size: 38px;
	}

	.akou-ab-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.akou-ab-logos__i {
		height: 96px;
		padding: 14px 16px;
	}

	.akou-ct__form {
		padding: 20px 16px;
	}

	.akou-cf__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.akou-cf__h {
		font-size: 28px;
	}

	.akou-q2__btn {
		gap: 10px;
		padding: 14px 8px;
		font-size: 20px;
	}

	.akou-q2__body {
		padding: 0 8px 18px;
	}

	.akou-nfs {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 479px) {
	/* label above value: "Squad Designated Marksman" is 232px, the value column was 138px at 320 */
	.akou-ab-team__spec {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
}

@media (max-width: 374px) {
	/* "Trusted brands" is 264px at 40px beside a 213px column at 320 (211px at 32px) */
	.akou-pages .akou-sh2 {
		font-size: 32px;
	}
}
/* END pages */

/* BEGIN builder defaults */
/* Bricks' own Button element, for anything added in the builder later. Bricks' stock look was a yellow
   "primary" and a pink "secondary"; these give its styles the house CTA. The palette colors themselves are in
   the Bricks theme style "Surplus Crate". .brxe-button.bricks-button (0,2,0) outranks ACSS's
   button:not(nav button, [class*="btn--"]) (0,1,1); Bricks' own rules sit in @layer bricks. */
.brxe-button.bricks-button {
	min-height: 46px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1.5px solid var(--sc-ink);
	border-radius: var(--sc-radius);
	color: var(--sc-ink);
	font-family: var(--sc-font-head);
	font-weight: 800;
	font-style: normal;
	font-size: 17px;
	line-height: 1.1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

/* only where no background style is chosen: the theme style's color classes are 0,1,0 */
.brxe-button.bricks-button:where(:not([class*="bricks-background-"])) {
	background-color: transparent;
}

.brxe-button.bricks-button:where(.sm) {
	min-height: 38px;
	padding: 0 14px;
	font-size: 15px;
}

.brxe-button.bricks-button:where(.lg) {
	min-height: 52px;
	padding: 0 24px;
	font-size: 19px;
}

.brxe-button.bricks-button:where(.xl) {
	min-height: 58px;
	padding: 0 28px;
	font-size: 21px;
}

.brxe-button.bricks-button:where(:not([class*="bricks-background-"]):not(.outline)):hover {
	background-color: var(--sc-ink);
	color: var(--sc-bg);
}

.brxe-button.bricks-button.bricks-background-primary {
	border-color: transparent;
	color: var(--sc-on-brand);
}

.brxe-button.bricks-button.bricks-background-primary:hover {
	background-color: var(--sc-brand-hover);
}

.brxe-button.bricks-button.bricks-background-secondary {
	border-color: transparent;
	color: var(--sc-on-brand);
}

.brxe-button.bricks-button.bricks-background-light {
	border-color: transparent;
	color: var(--sc-shade);
}

.brxe-button.bricks-button.bricks-background-dark {
	border-color: transparent;
	color: var(--sc-on-band);
}

.brxe-button.bricks-button.bricks-background-muted {
	border-color: transparent;
	color: var(--sc-bg);
}

.brxe-button.bricks-button.outline {
	border-color: currentColor;
	background-color: transparent;
}

.brxe-button.bricks-button.outline.bricks-color-primary {
	color: var(--sc-brand-text);
}

.brxe-button.bricks-button.outline.bricks-color-secondary {
	color: var(--sc-accent-text);
}
/* END builder defaults */

/* BEGIN forms */
/* The forms' post to SureContact (functions.php "forms", akou.js sendForm): a honeypot no person sees, the box
   Turnstile draws into only when Cloudflare needs a click, the sending and success states, the checkout box. */
.akou-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.akou-ts {
	max-width: 100%;
}

.akou-ts.is-shown {
	margin-top: 14px;
}

:is(.akou-f2-news, .akou-sub, .akou-cf)[aria-busy="true"] [type="submit"] {
	opacity: 0.65;
	cursor: progress;
}

.akou-sub .akou-sub-hint.is-ok,
.akou-cf__status.is-ok {
	font-weight: 600;
	color: var(--sc-success);
}

.akou-wcp .woocommerce .woocommerce-billing-fields .akou-optin {
	margin: 22px 0 0;
}
/* END forms */
