﻿/* ==========================================================================
   EQUIPPEDLY â€” BATCH 4 CONTENT ARCHITECTURE
   Footer, newsletter, journal, support, forms, policy notices, reviews shell.
   Reuses foundation tokens/classes. No competing design system.
   ========================================================================== */

/* --- Caption utility ----------------------------------------------------- */

.eq-caption {
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-caption);
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin: 0;
}

.eq-on-dark .eq-text-muted,
.eq-section--dark .eq-text-muted,
.eq-footer .eq-text-muted {
	color: color-mix(in srgb, var(--eq-color-chalk-white) 55%, transparent);
}

/* --- Footer Â· Hi-Fi FOOTER ---------------------------------------------- */

.eq-footer {
	background: var(--eq-color-ink-black);
	color: var(--eq-color-chalk-white);
	padding-block: var(--eq-space-3xl) var(--eq-space-xl);
}

.eq-footer a {
	color: color-mix(in srgb, var(--eq-color-chalk-white) 80%, transparent);
	text-decoration: none;
}

.eq-footer a:hover {
	color: var(--eq-color-chalk-white);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.eq-footer__main {
	display: grid;
	gap: var(--eq-space-2xl);
}

@media (min-width: 992px) {
	.eq-footer__main {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr);
		align-items: start;
		gap: var(--eq-space-3xl);
	}
}

.eq-footer__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
	color: inherit !important;
}

.eq-footer__logo.eq-brand-logo__link {
	max-width: 220px;
}

.eq-footer .eq-brand-logo__plate {
	padding: 0;
	background: transparent;
}

.eq-footer .eq-brand-logo__img {
	display: block;
	width: auto;
	height: 28px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

/* Text fallback if the image asset is unavailable. */
.eq-footer__logo:not(.eq-brand-logo__link) {
	font-family: var(--eq-font-display);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--eq-color-chalk-white) !important;
}

.eq-footer__tagline {
	margin: var(--eq-space-sm) 0 0;
	color: color-mix(in srgb, var(--eq-color-chalk-white) 65%, transparent);
}

.eq-footer__social-note {
	margin-top: var(--eq-space-lg);
}

.eq-footer__groups {
	display: grid;
	gap: 0;
}

@media (min-width: 768px) {
	.eq-footer__groups {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--eq-space-xl);
	}
}

.eq-footer__group-toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--eq-color-border-dark);
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
	text-align: left;
}

@media (min-width: 768px) {
	.eq-footer__group-toggle {
		display: none;
	}
}

.eq-footer__group-label,
.eq-footer__group-heading {
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-caption);
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--eq-color-chalk-white) 65%, transparent);
	margin: 0;
}

.eq-footer__chevron {
	width: 10px;
	height: 10px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--eq-motion-micro) var(--eq-ease);
}

.eq-footer__group-toggle[aria-expanded="true"] .eq-footer__chevron {
	transform: rotate(-135deg);
}

.eq-footer__group-panel {
	padding-bottom: var(--eq-space-md);
}

@media (max-width: 767px) {
	.eq-footer__group-panel[hidden] {
		display: none;
	}

	.eq-footer__group-heading {
		display: none;
	}
}

@media (min-width: 768px) {
	.eq-footer__group-panel {
		display: block !important;
		padding: 0;
	}

	.eq-footer__group-heading {
		margin-bottom: var(--eq-space-lg);
	}
}

.eq-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.eq-footer__links a {
	font-size: var(--eq-type-body-sm);
}

.eq-footer__bottom {
	margin-top: var(--eq-space-2xl);
	padding-top: var(--eq-space-xl);
	border-top: 1px solid var(--eq-color-border-dark);
}

.eq-footer__bottom-inner {
	display: grid;
	gap: var(--eq-space-md);
	justify-items: center;
	text-align: center;
}

@media (min-width: 768px) {
	.eq-footer__bottom-inner {
		grid-template-columns: 1fr 1fr;
		justify-items: stretch;
		text-align: left;
	}

	.eq-footer__copy {
		grid-column: 1 / -1;
	}

	.eq-footer__payments {
		text-align: right;
	}
}

.eq-footer__copy {
	color: color-mix(in srgb, var(--eq-color-chalk-white) 55%, transparent);
}

/* --- Newsletter Â· Hi-Fi Â§13 --------------------------------------------- */

.eq-newsletter__inner {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
}

.eq-newsletter__title {
	color: var(--eq-color-chalk-white);
}

.eq-newsletter__copy {
	margin: var(--eq-space-lg) 0 0;
	color: color-mix(in srgb, var(--eq-color-chalk-white) 85%, transparent);
}

.eq-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: var(--eq-space-xl);
	position: relative;
}

.eq-newsletter__input {
	flex: 1 1 220px;
	max-width: 320px;
	min-height: 48px;
	padding: 0 var(--eq-space-md);
	border: 1px solid var(--eq-color-border-dark);
	border-radius: var(--eq-radius-md);
	background: var(--eq-color-graphite);
	color: var(--eq-color-chalk-white);
	font: inherit;
}

.eq-newsletter__input:focus {
	outline: 2px solid var(--eq-color-volt);
	outline-offset: 2px;
	border-color: var(--eq-color-volt);
}

.eq-newsletter__consent,
.eq-newsletter__boundary {
	margin-top: var(--eq-space-md);
}

.eq-newsletter__hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.eq-newsletter__boundary.is-success {
	color: var(--eq-color-chalk-white);
}

@media (max-width: 767px) {
	.eq-newsletter__form {
		flex-direction: column;
		align-items: stretch;
	}

	.eq-newsletter__input {
		max-width: none;
	}
}

/* --- Forms -------------------------------------------------------------- */

.eq-form {
	display: grid;
	gap: var(--eq-space-lg);
	max-width: 560px;
}

.eq-form--help,
.eq-help-panel .eq-form {
	max-width: none;
	width: 100%;
}

.eq-form__row {
	display: grid;
	gap: var(--eq-space-sm);
}

.eq-form__label {
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
}

.eq-form__input {
	min-height: 48px;
	padding: 0 var(--eq-space-md);
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-md);
	background: var(--eq-color-pure-white);
	color: var(--eq-color-ink-black);
	font: inherit;
	width: 100%;
}

.eq-form__textarea {
	min-height: 140px;
	padding: var(--eq-space-md);
	resize: vertical;
}

.eq-form__input:focus {
	outline: 2px solid var(--eq-color-volt);
	outline-offset: 2px;
	border-color: var(--eq-color-ink-black);
}

.eq-contact-form__heading {
	margin: 0 0 var(--eq-space-lg);
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.eq-contact-form .eq-turnstile {
	margin: var(--eq-space-md) 0 var(--eq-space-lg);
}

.eq-contact-form [data-eq-contact-status].is-error,
.eq-newsletter__boundary.is-error {
	color: var(--eq-color-error);
}

.eq-contact-form [data-eq-contact-status].is-success {
	color: var(--eq-color-success);
}

/* --- Journal ------------------------------------------------------------ */

.eq-journal-grid {
	display: grid;
	gap: var(--eq-space-xl);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.eq-journal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.eq-journal-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.eq-journal-card {
	display: flex;
	flex-direction: column;
	gap: var(--eq-space-md);
	min-width: 0;
}

.eq-journal-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--eq-radius-sm);
	background: var(--eq-color-chalk-white);
}

.eq-journal-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eq-journal-card__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(135deg, var(--eq-color-border-light), transparent 60%),
		var(--eq-color-chalk-white);
	color: var(--eq-color-text-muted);
	font-size: var(--eq-type-caption);
	text-align: center;
	padding: var(--eq-space-md);
}

.eq-journal-card__placeholder::before {
	content: attr(data-eq-placeholder);
}

.eq-journal-card__body {
	display: grid;
	gap: var(--eq-space-sm);
}

.eq-journal-card__body a {
	color: inherit;
	text-decoration: none;
}

.eq-journal-card__body a:hover {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.eq-journal-empty {
	display: grid;
	gap: var(--eq-space-md);
	max-width: 560px;
}

.eq-article {
	display: grid;
	gap: var(--eq-space-2xl);
	max-width: 760px;
	margin-inline: auto;
}

.eq-article__header {
	display: grid;
	gap: var(--eq-space-md);
}

.eq-article__hero {
	margin: 0;
}

.eq-article__hero-img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--eq-radius-sm);
}

.eq-article__body {
	display: grid;
	gap: var(--eq-space-md);
}

.eq-article__footer {
	display: grid;
	gap: var(--eq-space-lg);
	padding-top: var(--eq-space-xl);
	border-top: 1px solid var(--eq-color-border-light);
}

.eq-article__related {
	display: grid;
	gap: var(--eq-space-xl);
	padding-top: var(--eq-space-2xl);
	border-top: 1px solid var(--eq-color-border-light);
	max-width: none;
}

.eq-article__related .eq-journal-grid {
	max-width: none;
}

/* --- Technology page ---------------------------------------------------- */

.eq-tech-concepts {
	display: grid;
	gap: var(--eq-space-lg);
}

@media (min-width: 992px) {
	.eq-tech-concepts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--eq-space-xl);
	}
}

.eq-tech-card {
	display: grid;
	gap: var(--eq-space-sm);
	padding: var(--eq-space-lg);
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-lg);
	background: var(--eq-color-pure-white);
}

.eq-tech-diagram {
	min-height: 220px;
	border: 1px dashed var(--eq-color-border-light);
	border-radius: var(--eq-radius-lg);
	background: var(--eq-color-chalk-white);
	display: grid;
	place-items: center;
	padding: var(--eq-space-xl);
	text-align: center;
	color: var(--eq-color-text-muted);
}

/* --- Support ------------------------------------------------------------ */

.eq-support-grid {
	display: grid;
	gap: var(--eq-space-md);
	grid-template-columns: 1fr;
}

/* Two hub cards: FAQ and Contact, equal columns. */
@media (min-width: 768px) {
	.eq-support-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.eq-support-card {
	display: grid;
	gap: var(--eq-space-sm);
	padding: var(--eq-space-lg);
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-lg);
	background: var(--eq-color-pure-white);
	color: inherit;
	text-decoration: none;
	transition: border-color var(--eq-motion-micro) var(--eq-ease);
}

.eq-support-card:hover {
	border-color: var(--eq-color-ink-black);
}

.eq-faq {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--eq-color-border-light);
	max-width: var(--eq-prose-wide, 68rem);
	width: 100%;
}

.eq-faq-stack {
	display: grid;
	gap: var(--eq-space-2xl);
}

.eq-faq-group {
	display: grid;
	gap: var(--eq-space-md);
}

.eq-faq-group__title {
	margin: 0;
}

.eq-faq__item {
	border-bottom: 1px solid var(--eq-color-border-light);
}

.eq-faq__q {
	margin: 0;
}

.eq-faq__q button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: var(--eq-space-md);
	min-height: 56px;
	padding: var(--eq-space-md) 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-family: var(--eq-font-heading);
	font-size: var(--eq-type-h4);
	font-weight: 500;
	text-align: left;
	cursor: pointer;
}

.eq-faq__icon {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--eq-motion-micro) var(--eq-ease);
}

.eq-faq__q button[aria-expanded="true"] .eq-faq__icon {
	transform: rotate(-135deg);
}

.eq-faq__a {
	padding: 0 0 var(--eq-space-lg);
	max-width: var(--eq-prose, 62rem);
}

.eq-faq__a[hidden] {
	display: none;
}

/* --- Help & Support system ---------------------------------------------
   Full-width section → 1200px canvas → nav + main. Reuses content-page
   header clearance and container tokens. No competing layout system. */

.eq-help-page .eq-help-hero {
	padding-bottom: var(--eq-space-xl);
	border-bottom: 1px solid var(--eq-color-border-light);
}

.eq-help-page .eq-help-hero > .eq-container {
	display: grid;
	gap: var(--eq-space-md);
	max-width: calc(var(--eq-container) + (var(--eq-gutter) * 2));
}

.eq-help-page .eq-help-hero .eq-h1 {
	max-width: 18ch;
}

.eq-help-page .eq-help-hero .eq-body-lg {
	max-width: var(--eq-prose-wide, 68rem);
	margin: 0;
}

/* Utility heroes: no decorative content-hero field. */
.eq-help-page .eq-help-hero > .eq-container::after,
.eq-help-page .eq-content-hero > .eq-container::after {
	content: none !important;
	display: none !important;
}

.eq-help-page .eq-help-hero > .eq-container,
.eq-help-page .eq-content-hero > .eq-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.eq-help-body {
	padding-top: var(--eq-space-2xl);
}

.eq-help-layout {
	display: grid;
	gap: var(--eq-space-xl);
	align-items: start;
}

@media (min-width: 992px) {
	.eq-help-layout {
		grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-xl);
	}
}

.eq-help-nav-slot {
	min-width: 0;
}

.eq-help-main {
	min-width: 0;
	display: grid;
	gap: var(--eq-space-xl);
}

.eq-help-main > :is(h2, .eq-h2, h3, .eq-h3) {
	max-width: 28ch;
}

.eq-help-main > :is(p, .eq-body, .eq-body-lg, .eq-body-sm) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

.eq-help-main .eq-policy-notice,
.eq-help-main .eq-faq,
.eq-help-main .eq-support-grid,
.eq-help-main .eq-help-panel,
.eq-help-main .eq-contact-form {
	max-width: none;
}

/* Help navigation — editorial rail, not WP admin chrome. */
.eq-help-nav {
	display: grid;
	gap: var(--eq-space-md);
	position: sticky;
	top: calc(var(--eq-header-h-scrolled) + var(--eq-space-md));
}

.eq-help-nav__label {
	margin: 0;
}

.eq-help-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.eq-help-nav__link {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 12px;
	border-radius: var(--eq-radius-md);
	color: var(--eq-color-text-secondary-light);
	text-decoration: none;
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
	line-height: 1.3;
	border-left: 2px solid transparent;
	transition:
		color var(--eq-motion-micro) var(--eq-ease),
		background-color var(--eq-motion-micro) var(--eq-ease),
		border-color var(--eq-motion-micro) var(--eq-ease);
}

.eq-help-nav__link:hover {
	color: var(--eq-color-ink-black);
	background: color-mix(in srgb, var(--eq-color-chalk-white) 70%, var(--eq-color-pure-white));
}

.eq-help-nav__link.is-current {
	color: var(--eq-color-ink-black);
	border-left-color: var(--eq-color-volt);
	background: var(--eq-color-pure-white);
}

.eq-help-nav__mobile {
	display: none;
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-md);
	background: var(--eq-color-pure-white);
}

.eq-help-nav__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eq-space-md);
	min-height: 48px;
	padding: 0 var(--eq-space-md);
	cursor: pointer;
	list-style: none;
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
}

.eq-help-nav__summary::-webkit-details-marker {
	display: none;
}

.eq-help-nav__chevron {
	width: 10px;
	height: 10px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--eq-motion-micro) var(--eq-ease);
	flex: 0 0 auto;
}

.eq-help-nav__mobile[open] .eq-help-nav__chevron {
	transform: rotate(-135deg);
}

.eq-help-nav__list--mobile {
	padding: 0 var(--eq-space-sm) var(--eq-space-sm);
	border-top: 1px solid var(--eq-color-border-light);
}

@media (max-width: 991px) {
	.eq-help-nav {
		position: static;
	}

	.eq-help-nav__label,
	.eq-help-nav__list--desktop {
		display: none;
	}

	.eq-help-nav__mobile {
		display: block;
	}
}

@media (min-width: 992px) {
	.eq-help-nav__mobile {
		display: none;
	}
}

/* Utility / form panels — used sparingly. */
.eq-help-panel {
	display: grid;
	gap: var(--eq-space-md);
	padding: var(--eq-space-xl);
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-lg);
	background: var(--eq-color-pure-white);
}

.eq-help-panel .eq-eyebrow {
	margin: 0;
}

.eq-help-panel__actions {
	margin-top: var(--eq-space-sm);
}

.eq-help-blocks {
	display: grid;
	gap: var(--eq-space-2xl);
}

.eq-help-block {
	display: grid;
	gap: var(--eq-space-md);
	max-width: var(--eq-prose-wide, 68rem);
	padding-top: var(--eq-space-lg);
	border-top: 1px solid var(--eq-color-border-light);
}

.eq-help-block:first-child {
	padding-top: 0;
	border-top: 0;
}

.eq-help-block > :is(p, .eq-body, .eq-body-sm) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

.eq-help-related {
	display: grid;
	gap: var(--eq-space-sm);
	padding-top: var(--eq-space-lg);
	border-top: 1px solid var(--eq-color-border-light);
}

.eq-help-related__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.eq-help-related__links a {
	color: inherit;
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
	text-decoration: none;
	text-underline-offset: 0.18em;
}

.eq-help-related__links a:hover {
	text-decoration: underline;
}

/* Contact: intro column + form panel. */
@media (min-width: 992px) {
	.eq-help-main--contact {
		grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr);
		column-gap: var(--eq-space-3xl);
		align-items: start;
	}

	.eq-help-main--contact > .eq-help-contact-copy {
		grid-column: 1;
	}

	.eq-help-main--contact > .eq-contact-form,
	.eq-help-main--contact > .eq-help-panel {
		grid-column: 2;
		grid-row: 1 / span 8;
	}
}

.eq-help-contact-copy {
	display: grid;
	gap: var(--eq-space-md);
}

.eq-help-contact-copy > :is(p, .eq-body, .eq-body-sm) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

/* Hub: topic cards span the main column fully. */
.eq-page-support.eq-help-page .eq-support-grid {
	width: 100%;
}

/* Disable About-style content-stack on Help pages (was causing sparse rail). */
.eq-help-page .eq-section > .eq-container.eq-content-stack {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: calc(var(--eq-container) + (var(--eq-gutter) * 2));
}

.eq-help-page .eq-section > .eq-container.eq-content-stack > :is(h1, .eq-h1, h2, .eq-h2, h3, .eq-h3),
.eq-help-page .eq-section > .eq-container.eq-content-stack > :not(h1):not(.eq-h1):not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
	grid-column: 1;
	max-width: none;
}

.eq-help-page .eq-section--white > .eq-container.eq-content-stack > :is(h2, .eq-h2, h3, .eq-h3),
.eq-help-page .eq-section--white > .eq-container.eq-content-stack > :not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
	grid-column: 1;
}

/* --- Policy notice (launch-blocking status) ----------------------------- */

.eq-policy-notice {
	display: grid;
	gap: var(--eq-space-sm);
	padding: var(--eq-space-lg) var(--eq-space-xl);
	border: 1px solid color-mix(in srgb, var(--eq-color-warning) 55%, var(--eq-color-border-light));
	border-left: 3px solid var(--eq-color-warning);
	border-radius: var(--eq-radius-md);
	background: color-mix(in srgb, var(--eq-color-warning) 8%, var(--eq-color-pure-white));
	margin: 0;
	max-width: var(--eq-prose-wide, 68rem);
}

.eq-policy-notice__label,
.eq-policy-notice .eq-eyebrow {
	margin: 0;
	color: color-mix(in srgb, var(--eq-color-warning) 75%, var(--eq-color-ink-black));
}

.eq-policy-notice__body,
.eq-policy-notice .eq-body {
	margin: 0;
	max-width: var(--eq-prose, 62rem);
	color: var(--eq-color-text-secondary-light);
}

/* --- Legal / Policy document system -------------------------------------
   Same 1200px canvas as Help/content pages. Nav + readable document.
   Does NOT use marketing content-hero visual fields or content-stack
   two-column storytelling (those push H1/body into the right column). */

.eq-legal-page .eq-legal-hero {
	padding-bottom: var(--eq-space-xl);
	border-bottom: 1px solid var(--eq-color-border-light);
}

.eq-legal-page .eq-legal-hero > .eq-container {
	display: grid;
	gap: var(--eq-space-md);
	max-width: calc(var(--eq-container) + (var(--eq-gutter) * 2));
}

.eq-legal-page .eq-legal-hero .eq-h1 {
	max-width: 22ch;
	margin: 0;
}

.eq-legal-page .eq-legal-hero .eq-body-lg {
	max-width: var(--eq-prose-wide, 68rem);
	margin: 0;
}

/* Kill decorative hero placeholder field on legal pages. */
.eq-legal-page .eq-legal-hero > .eq-container::after,
.eq-legal-page .eq-content-hero > .eq-container::after {
	content: none !important;
	display: none !important;
}

.eq-legal-page .eq-legal-hero > .eq-container,
.eq-legal-page .eq-content-hero > .eq-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.eq-legal-body {
	padding-top: var(--eq-space-2xl);
}

.eq-legal-layout {
	display: grid;
	gap: var(--eq-space-xl);
	align-items: start;
}

@media (min-width: 992px) {
	.eq-legal-layout {
		grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-xl);
	}
}

.eq-legal-nav-slot {
	min-width: 0;
}

.eq-legal-document {
	min-width: 0;
	display: grid;
	gap: var(--eq-space-xl);
	max-width: var(--eq-prose-wide, 68rem);
}

.eq-legal-document > :is(h2, .eq-h2),
.eq-legal-document .eq-legal-section > :is(h2, .eq-h2) {
	margin: 0;
	max-width: 28ch;
	font-size: var(--eq-type-h3);
	line-height: 1.25;
	font-weight: 600;
}

.eq-legal-document > :is(h3, .eq-h3),
.eq-legal-document .eq-legal-section > :is(h3, .eq-h3) {
	margin: 0;
	max-width: 32ch;
	font-size: var(--eq-type-h4);
	line-height: 1.3;
	font-weight: 500;
}

.eq-legal-document > :is(p, .eq-body, .eq-body-lg, .eq-body-sm) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

.eq-legal-document > :is(ul, ol) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
	padding-inline-start: 1.25em;
	display: grid;
	gap: 0.45em;
}

.eq-legal-document > :is(ul, ol) li {
	padding-inline-start: 0.15em;
}

.eq-legal-document a:not(.eq-btn) {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

.eq-legal-document a:not(.eq-btn):hover {
	color: var(--eq-color-ink-black);
}

.eq-legal-document .eq-policy-notice,
.eq-legal-document .eq-content-cta-row,
.eq-legal-document .eq-legal-section {
	max-width: none;
}

/* Editable document sections — typography, not cards. */
.eq-legal-section {
	display: grid;
	gap: var(--eq-space-md);
	padding-top: var(--eq-space-lg);
	border-top: 1px solid var(--eq-color-border-light);
	max-width: var(--eq-prose-wide, 68rem);
}

.eq-legal-section:first-child {
	padding-top: 0;
	border-top: 0;
}

.eq-legal-section > :is(h2, .eq-h2, h3, .eq-h3) {
	margin: 0;
	max-width: 28ch;
}

.eq-legal-section > :is(p, .eq-body, .eq-body-sm, ul, ol) {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

.eq-legal-section + .eq-legal-section {
	margin-top: 0;
}

.eq-legal-document .eq-content-cta-row {
	margin-top: var(--eq-space-md);
	padding-top: var(--eq-space-xl);
	border-top: 1px solid var(--eq-color-border-light);
}

/* --- Privacy / Terms legal documents (shortcodes) -----------------------
   Matches Legal page shell: hero → (legal nav | document).
   Internal TOC is compact/collapsible inside the document column only. */
.eq-privacy-policy,
.eq-terms-conditions,
.eq-returns-refunds {
	color: var(--eq-color-ink-black, #141414);
}

.eq-privacy-policy-page #brx-content.wordpress > h1:first-child,
.eq-terms-conditions-page #brx-content.wordpress > h1:first-child,
.eq-returns-refunds-page #brx-content.wordpress > h1:first-child {
	display: none !important;
}

.eq-privacy-policy__hero-section,
.eq-terms-conditions__hero-section,
.eq-returns-refunds__hero-section {
	padding-top: var(--eq-space-lg);
	padding-bottom: var(--eq-space-xl);
}

.eq-privacy-policy__hero-section > .eq-container,
.eq-terms-conditions__hero-section > .eq-container,
.eq-returns-refunds__hero-section > .eq-container {
	display: grid;
	gap: var(--eq-space-md);
	max-width: calc(var(--eq-container) + (var(--eq-gutter) * 2));
}

.eq-privacy-policy__eyebrow,
.eq-terms-conditions__eyebrow,
.eq-returns-refunds__eyebrow {
	margin: 0;
	color: var(--eq-color-text-secondary-light);
}

.eq-privacy-policy__title,
.eq-terms-conditions__title,
.eq-returns-refunds__title {
	margin: 0;
	max-width: 22ch;
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
}

.eq-privacy-policy__lead,
.eq-terms-conditions__lead,
.eq-returns-refunds__lead {
	margin: 0;
	max-width: var(--eq-prose-wide, 68rem);
	color: var(--eq-color-text-secondary-light);
}

.eq-privacy-policy__meta,
.eq-terms-conditions__meta,
.eq-returns-refunds__meta {
	margin: 0;
}

.eq-privacy-policy__draft-notice,
.eq-terms-conditions__draft-notice,
.eq-returns-refunds__draft-notice {
	margin-top: var(--eq-space-sm);
}

.eq-privacy-policy__body-section,
.eq-terms-conditions__body-section,
.eq-returns-refunds__body-section {
	padding-top: var(--eq-space-xl);
}

.eq-privacy-policy__toc,
.eq-terms-conditions__toc,
.eq-returns-refunds__toc {
	margin: 0 0 var(--eq-space-lg);
	max-width: var(--eq-prose, 62rem);
}

.eq-privacy-policy__toc-details,
.eq-terms-conditions__toc-details,
.eq-returns-refunds__toc-details {
	border: 1px solid var(--eq-color-border-light);
	border-radius: 3px;
	padding: 10px 12px;
	background: #fff;
}

.eq-privacy-policy__toc-summary,
.eq-terms-conditions__toc-summary,
.eq-returns-refunds__toc-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	list-style: none;
	color: var(--eq-color-ink-black, #141414);
}

.eq-privacy-policy__toc-details summary::-webkit-details-marker,
.eq-terms-conditions__toc-details summary::-webkit-details-marker,
.eq-returns-refunds__toc-details summary::-webkit-details-marker {
	display: none;
}

.eq-privacy-policy__toc-chevron,
.eq-terms-conditions__toc-chevron,
.eq-returns-refunds__toc-chevron {
	width: 0.55em;
	height: 0.55em;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	flex-shrink: 0;
	opacity: 0.55;
	transition: transform 0.15s ease;
}

.eq-privacy-policy__toc-details[open] .eq-privacy-policy__toc-chevron,
.eq-terms-conditions__toc-details[open] .eq-terms-conditions__toc-chevron,
.eq-returns-refunds__toc-details[open] .eq-returns-refunds__toc-chevron {
	transform: rotate(225deg);
}

.eq-privacy-policy__toc-details[open] .eq-privacy-policy__toc-list,
.eq-terms-conditions__toc-details[open] .eq-terms-conditions__toc-list,
.eq-returns-refunds__toc-details[open] .eq-returns-refunds__toc-list {
	margin-top: 10px;
}

.eq-privacy-policy__toc-list,
.eq-terms-conditions__toc-list,
.eq-returns-refunds__toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35em;
	font-size: 0.9375rem;
	line-height: 1.35;
	columns: 1;
}

@media (min-width: 992px) {
	.eq-privacy-policy__toc-list,
	.eq-terms-conditions__toc-list,
	.eq-returns-refunds__toc-list {
		columns: 2;
		column-gap: var(--eq-space-xl);
	}

	.eq-privacy-policy__toc-list li,
	.eq-terms-conditions__toc-list li,
	.eq-returns-refunds__toc-list li {
		break-inside: avoid;
	}
}

.eq-privacy-policy__toc-list a,
.eq-terms-conditions__toc-list a,
.eq-returns-refunds__toc-list a {
	color: inherit;
	text-decoration: none;
}

.eq-privacy-policy__toc-list a:hover,
.eq-privacy-policy__toc-list a:focus-visible,
.eq-terms-conditions__toc-list a:hover,
.eq-terms-conditions__toc-list a:focus-visible,
.eq-returns-refunds__toc-list a:hover,
.eq-returns-refunds__toc-list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.eq-privacy-policy__toc-list a:focus-visible,
.eq-terms-conditions__toc-list a:focus-visible,
.eq-returns-refunds__toc-list a:focus-visible {
	outline: 2px solid var(--eq-color-volt, #cbff4d);
	outline-offset: 2px;
}

.eq-privacy-policy__body,
.eq-terms-conditions__body,
.eq-returns-refunds__body {
	display: grid;
	gap: var(--eq-space-xl);
	min-width: 0;
}

.eq-privacy-policy__body > .eq-body,
.eq-terms-conditions__body > .eq-body,
.eq-returns-refunds__body > .eq-body {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
}

.eq-terms-conditions__list,
.eq-returns-refunds__list,
.eq-legal-md__list {
	max-width: var(--eq-prose, 62rem);
	margin: 0;
	padding-left: 1.25em;
}

.eq-terms-conditions__list li,
.eq-returns-refunds__list li,
.eq-legal-md__list li {
	margin: 0.35em 0;
}

.eq-terms-conditions__rule,
.eq-returns-refunds__rule,
.eq-legal-md__rule {
	border: 0;
	border-top: 1px solid var(--eq-color-border-light);
	margin: var(--eq-space-md) 0;
	max-width: var(--eq-prose, 62rem);
}

.eq-terms-conditions__body .eq-legal-section,
.eq-returns-refunds__body .eq-legal-section {
	scroll-margin-top: calc(var(--eq-header-h-scrolled, 72px) + 16px);
}

.eq-terms-conditions__body .eq-legal-section h3,
.eq-returns-refunds__body .eq-legal-section h3 {
	scroll-margin-top: calc(var(--eq-header-h-scrolled, 72px) + 16px);
}

.eq-privacy-policy__body .eq-legal-section h2,
.eq-privacy-policy__body .eq-legal-section h3,
.eq-terms-conditions__body .eq-legal-section h2,
.eq-terms-conditions__body .eq-legal-section h3,
.eq-returns-refunds__body .eq-legal-section h2,
.eq-returns-refunds__body .eq-legal-section h3 {
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	scroll-margin-top: calc(var(--eq-header-h-scrolled, 72px) + 16px);
}

.eq-privacy-policy__body .eq-legal-section p,
.eq-privacy-policy__body .eq-legal-section li,
.eq-terms-conditions__body .eq-legal-section p,
.eq-terms-conditions__body .eq-legal-section li,
.eq-returns-refunds__body .eq-legal-section p,
.eq-returns-refunds__body .eq-legal-section li {
	font-family: var(--eq-font-body, Inter, sans-serif);
	line-height: 1.65;
}

.eq-privacy-policy__footer {
	margin-top: 0;
	padding-top: var(--eq-space-xl);
	border-top: 1px solid var(--eq-color-border-light);
}

/* Legal side navigation — restrained rail. */
.eq-legal-nav {
	display: grid;
	gap: var(--eq-space-md);
	position: sticky;
	top: calc(var(--eq-header-h-scrolled) + var(--eq-space-md));
}

.eq-legal-nav__label {
	margin: 0;
}

.eq-legal-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.eq-legal-nav__link {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 12px;
	border-radius: var(--eq-radius-md);
	color: var(--eq-color-text-secondary-light);
	text-decoration: none;
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
	line-height: 1.3;
	border-left: 2px solid transparent;
	transition:
		color var(--eq-motion-micro) var(--eq-ease),
		background-color var(--eq-motion-micro) var(--eq-ease),
		border-color var(--eq-motion-micro) var(--eq-ease);
}

.eq-legal-nav__link:hover {
	color: var(--eq-color-ink-black);
	background: color-mix(in srgb, var(--eq-color-chalk-white) 70%, var(--eq-color-pure-white));
}

.eq-legal-nav__link.is-current {
	color: var(--eq-color-ink-black);
	border-left-color: var(--eq-color-volt);
	background: var(--eq-color-pure-white);
}

.eq-legal-nav__mobile {
	display: none;
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-md);
	background: var(--eq-color-pure-white);
}

.eq-legal-nav__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eq-space-md);
	min-height: 48px;
	padding: 0 var(--eq-space-md);
	cursor: pointer;
	list-style: none;
	font-family: var(--eq-font-body);
	font-size: var(--eq-type-body-sm);
	font-weight: 500;
}

.eq-legal-nav__summary::-webkit-details-marker {
	display: none;
}

.eq-legal-nav__chevron {
	width: 10px;
	height: 10px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--eq-motion-micro) var(--eq-ease);
	flex: 0 0 auto;
}

.eq-legal-nav__mobile[open] .eq-legal-nav__chevron {
	transform: rotate(-135deg);
}

.eq-legal-nav__list--mobile {
	padding: 0 var(--eq-space-sm) var(--eq-space-sm);
	border-top: 1px solid var(--eq-color-border-light);
}

@media (max-width: 991px) {
	.eq-legal-nav {
		position: static;
	}

	.eq-legal-nav__label,
	.eq-legal-nav__list--desktop {
		display: none;
	}

	.eq-legal-nav__mobile {
		display: block;
	}
}

@media (min-width: 992px) {
	.eq-legal-nav__mobile {
		display: none;
	}
}

/* Neutralise About-style content-stack on legal pages if present. */
.eq-legal-page .eq-section > .eq-container.eq-content-stack {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: calc(var(--eq-container) + (var(--eq-gutter) * 2));
}

.eq-legal-page .eq-section > .eq-container.eq-content-stack > :is(h1, .eq-h1, h2, .eq-h2, h3, .eq-h3),
.eq-legal-page .eq-section > .eq-container.eq-content-stack > :not(h1):not(.eq-h1):not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
	grid-column: 1;
	max-width: none;
}

.eq-legal-page .eq-section--white > .eq-container.eq-content-stack > :is(h2, .eq-h2, h3, .eq-h3),
.eq-legal-page .eq-section--white > .eq-container.eq-content-stack > :not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
	grid-column: 1;
}

/* --- Content page rhythm ------------------------------------------------ */

/* Shared readable measure â€” wide canvas, controlled line length. */
.eq-prose {
	max-width: var(--eq-prose, 62rem);
}

.eq-prose--wide {
	max-width: var(--eq-prose-wide, 68rem);
}

/* Fixed header clearance for informational pages (same token as commerce). */
.eq-content-page #brx-content {
	padding-top: var(--eq-header-h-scrolled);
}

/*
 * Bricks default page template uses #brx-content.wordpress { width: 1100px }.
 * That collapses shortcode-driven pages (Affiliate) into a narrow rail while
 * Bricks-built pages use full-bleed <main id="brx-content">. Neutralise it so
 * Equippedly .eq-container owns the canvas.
 */
.eq-content-page #brx-content.wordpress {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

@media (max-width: 1023px) {
	.eq-content-page #brx-content {
		padding-top: var(--eq-header-h-mobile);
	}
}

.eq-content-hero .eq-body-lg {
	max-width: var(--eq-prose-wide, 68rem);
}

/*
 * Wide page canvas + controlled measure for Bricks body copy that sits
 * directly in .eq-container (heroes, intros). Does not stretch paragraphs
 * to the full 1200px rail.
 */
.eq-content-page .eq-section > .eq-container > :is(p, .eq-body, .eq-body-lg, .eq-body-sm) {
	max-width: var(--eq-prose-wide, 68rem);
}

.eq-content-page .eq-section > .eq-container > :is(p.eq-body, p.eq-text-secondary, .eq-body) {
	max-width: var(--eq-prose, 62rem);
}

/*
 * Content heroes: copy measure on the left + lightweight visual field on the
 * right so desktop composition uses the canvas without fake stock imagery.
 */
@media (min-width: 992px) {
	.eq-content-page .eq-content-hero > .eq-container,
	.eq-page-about .eq-section--dark > .eq-container:has(.eq-content-cta-row) {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 0.85fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-md);
		align-items: end;
	}

	.eq-content-page .eq-content-hero > .eq-container > *,
	.eq-page-about .eq-section--dark > .eq-container:has(.eq-content-cta-row) > * {
		grid-column: 1;
		max-width: var(--eq-prose-wide, 68rem);
	}

	.eq-content-page .eq-content-hero > .eq-container::after,
	.eq-page-about .eq-section--dark > .eq-container:has(.eq-content-cta-row)::after {
		content: '';
		grid-column: 2;
		grid-row: 1 / span 12;
		align-self: stretch;
		min-height: 16rem;
		border-radius: var(--eq-radius-lg);
		border: 1px solid var(--eq-color-border-light);
		background:
			linear-gradient(145deg, color-mix(in srgb, var(--eq-color-border-light) 65%, transparent), transparent 55%),
			var(--eq-color-chalk-white);
	}

	.eq-page-about .eq-section--dark > .eq-container:has(.eq-content-cta-row)::after {
		border-color: color-mix(in srgb, var(--eq-color-chalk-white) 18%, transparent);
		background:
			linear-gradient(145deg, color-mix(in srgb, var(--eq-color-chalk-white) 10%, transparent), transparent 55%),
			color-mix(in srgb, var(--eq-color-graphite) 70%, var(--eq-color-ink-black));
	}
}

/*
 * Editorial stack: previously max-width 42rem on the whole container,
 * which left a huge empty desktop field. Now the container uses the full
 * site canvas; copy remains measured via heading / body placement.
 */
.eq-content-stack {
	display: grid;
	gap: var(--eq-space-lg);
	max-width: none;
}

@media (min-width: 992px) {
	.eq-section > .eq-container.eq-content-stack {
		grid-template-columns: minmax(16rem, 1fr) minmax(22rem, 1.45fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-md);
		align-items: start;
	}

	.eq-section > .eq-container.eq-content-stack > :is(h2, .eq-h2, h3, .eq-h3) {
		grid-column: 1;
		grid-row: 1 / span 20;
		max-width: 18ch;
	}

	.eq-section > .eq-container.eq-content-stack > :not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
		grid-column: 2;
		max-width: none; /* column width is the measure */
	}

	/* Alternate rhythm on white sections for About-style storytelling. */
	.eq-section--white > .eq-container.eq-content-stack {
		grid-template-columns: minmax(22rem, 1.45fr) minmax(16rem, 1fr);
	}

	.eq-section--white > .eq-container.eq-content-stack > :is(h2, .eq-h2, h3, .eq-h3) {
		grid-column: 2;
	}

	.eq-section--white > .eq-container.eq-content-stack > :not(h2):not(.eq-h2):not(h3):not(.eq-h3) {
		grid-column: 1;
	}
}

.eq-content-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eq-space-md);
	margin-top: var(--eq-space-xl);
}

/* Technology: concept grid uses the full inner canvas (already inside .eq-container). */
.eq-tech-concepts {
	width: 100%;
	max-width: none;
	margin-top: var(--eq-space-xl);
}

@media (min-width: 992px) {
	/* Intro copy as asymmetric band; concept cards span the full canvas below. */
	.eq-section > .eq-container:has(> .eq-tech-concepts) {
		display: grid;
		grid-template-columns: minmax(14rem, 0.9fr) minmax(18rem, 1.1fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-md);
		align-items: start;
	}

	.eq-section > .eq-container:has(> .eq-tech-concepts) > :is(h2, .eq-h2) {
		grid-column: 1;
		grid-row: 1;
		max-width: 16ch;
	}

	.eq-section > .eq-container:has(> .eq-tech-concepts) > :is(p, .eq-body) {
		grid-column: 2;
		grid-row: 1;
		max-width: var(--eq-prose, 62rem);
		margin: 0;
	}

	.eq-section > .eq-container:has(> .eq-tech-concepts) > .eq-tech-concepts {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: var(--eq-space-2xl);
	}
}

/* Technology: future deep-dive â€” copy + structural visual field. */
@media (min-width: 992px) {
	.eq-section > .eq-container:has(> .eq-tech-diagram) {
		display: grid;
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		column-gap: var(--eq-space-3xl);
		row-gap: var(--eq-space-md);
		align-items: start;
	}

	.eq-section > .eq-container:has(> .eq-tech-diagram) > :is(h2, .eq-h2) {
		grid-column: 1;
		max-width: 18ch;
	}

	.eq-section > .eq-container:has(> .eq-tech-diagram) > :is(p, .eq-body):not(.eq-tech-diagram) {
		grid-column: 1;
		max-width: var(--eq-prose, 62rem);
	}

	.eq-section > .eq-container:has(> .eq-tech-diagram) > .eq-tech-diagram {
		grid-column: 2;
		grid-row: 1 / span 8;
		max-width: none;
		min-height: 16rem;
		align-self: stretch;
	}
}

@media (min-width: 1200px) {
	.eq-tech-concepts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* --- PDP reviews shell -------------------------------------------------- */

.eq-pdp-reviews {
	padding-block: var(--eq-space-2xl);
	border-top: 1px solid var(--eq-color-border-light);
}

.eq-pdp-reviews .commentlist,
.eq-pdp-reviews .woocommerce-Reviews-title,
.eq-pdp-reviews .comment-reply-title {
	font-family: var(--eq-font-heading);
}

.eq-pdp-reviews .comment-form input,
.eq-pdp-reviews .comment-form textarea {
	min-height: 48px;
	padding: var(--eq-space-sm) var(--eq-space-md);
	border: 1px solid var(--eq-color-border-light);
	border-radius: var(--eq-radius-md);
	width: 100%;
}

/* --- Overflow safety ---------------------------------------------------- */

.eq-footer,
.eq-newsletter,
.eq-journal-archive,
.eq-article,
.eq-support-grid,
.eq-tech-concepts,
.eq-help-layout,
.eq-faq-stack {
	max-width: 100%;
	overflow-x: clip;
}


/* ==========================================================================
   FOOTER MARKET SELECTOR · staging: interactive selector in footer
   Tokens: Ink #141414 / Volt #CBFF4D / Inter body. Panel opens upward on
   desktop so it is not clipped by the page bottom. Mobile keeps the existing
   bottom-sheet rules from header.css (.eq-market__panel @max-width 767px).
   ========================================================================== */

.eq-footer__market {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--eq-space-sm);
}

@media (min-width: 768px) {
	.eq-footer__market {
		align-items: flex-start;
	}
}

.eq-footer__market-heading {
	margin: 0;
	color: color-mix(in srgb, var(--eq-color-chalk-white) 70%, transparent);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.eq-footer__market .eq-market {
	position: relative;
	margin-right: 0;
	color: var(--eq-color-chalk-white);
	font-family: var(--eq-font-body, Inter, system-ui, sans-serif);
}

.eq-footer__market .eq-market__toggle {
	min-height: 44px;
	padding: 0 var(--eq-space-md);
	border: 1px solid color-mix(in srgb, var(--eq-color-chalk-white) 28%, transparent);
	border-radius: var(--eq-radius-md);
	background: transparent;
	color: var(--eq-color-chalk-white);
	font-family: var(--eq-font-body, Inter, system-ui, sans-serif);
	font-size: var(--eq-type-body-sm, 14px);
	font-weight: 500;
	cursor: pointer;
}

.eq-footer__market .eq-market__toggle:hover {
	background-color: color-mix(in srgb, var(--eq-color-chalk-white) 8%, transparent);
	border-color: color-mix(in srgb, var(--eq-color-chalk-white) 45%, transparent);
}

.eq-footer__market .eq-market__toggle:focus-visible {
	outline: 2px solid var(--eq-color-volt, #CBFF4D);
	outline-offset: 3px;
}

.eq-footer__market .eq-market__toggle:disabled,
.eq-footer__market .eq-market__toggle[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Desktop / tablet: drop-up so the panel is not clipped by the viewport edge */
@media (min-width: 768px) {
	.eq-footer__market .eq-market__panel {
		top: auto;
		bottom: calc(100% + var(--eq-space-sm));
		right: auto;
		left: 0;
		transform: translateY(4px);
		z-index: 40;
		background-color: var(--eq-color-pure-white, #fff);
		color: var(--eq-color-ink-black, #141414);
		border: 1px solid var(--eq-color-border-light, #e6e6e6);
	}

	.eq-footer__market .eq-market__panel.is-open {
		transform: translateY(0);
	}
}

.eq-footer__market .eq-market__option:focus-within {
	outline: 2px solid var(--eq-color-volt, #CBFF4D);
	outline-offset: 2px;
}

.eq-footer__market .eq-market__confirm:focus-visible {
	outline: 2px solid var(--eq-color-volt, #CBFF4D);
	outline-offset: 3px;
}

.eq-footer__market .eq-market__option input {
	accent-color: var(--eq-color-volt, #CBFF4D);
}

/* --- Footer payment card icons ------------------------------------------ */

.eq-footer__payments {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.eq-footer__payment-icons {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eq-footer__payment-icon {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.eq-footer__payment-icon img {
	display: block;
	width: 44px;
	height: auto;
	max-height: 28px;
	object-fit: contain;
	border-radius: 4px;
	overflow: hidden;
}

.eq-footer__payments-note {
	margin: 0;
	color: color-mix(in srgb, var(--eq-color-chalk-white) 55%, transparent);
	text-align: center;
	font-size: 0.75rem;
	line-height: 1.3;
}

@media (min-width: 768px) {
	.eq-footer__payments {
		align-items: flex-end;
	}

	.eq-footer__payment-icons {
		justify-content: flex-end;
	}

	.eq-footer__payments-note {
		text-align: right;
	}

	.eq-footer__payment-icon img {
		width: 48px;
		max-height: 30px;
	}
}

/* --- FAQ hub · category cards + accordion polish ------------------------- */

.eq-faq-hub {
	display: grid;
	gap: var(--eq-space-2xl);
	width: 100%;
	max-width: none;
	margin-inline: 0;
	color: #141414;
}

.eq-help-main .eq-faq-hub {
	max-width: none;
	width: 100%;
}

.eq-faq-hub__cats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	align-items: stretch;
}

.eq-faq-hub__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
	height: 100%;
	min-height: 228px;
	padding: 28px 64px 28px 24px;
	border: 1px solid color-mix(in srgb, #141414 16%, transparent);
	border-radius: 4px;
	background: #f7f5f1;
	color: #141414;
	text-align: left;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.eq-faq-hub__card:hover {
	border-color: #141414;
	transform: translateY(-2px);
}

.eq-faq-hub__card.is-active:hover {
	border-color: #141414;
	filter: brightness(0.98);
}

.eq-faq-hub__card:focus-visible {
	outline: 2px solid #141414;
	outline-offset: 2px;
}

.eq-faq-hub__card.is-active {
	background: #cbff4d;
	border-color: #cbff4d;
	color: #141414;
	box-shadow: none;
}

.eq-faq-hub__card-icon-wrap {
	display: inline-flex;
	color: inherit;
}

.eq-faq-hub__card-icon {
	display: block;
	width: 56px;
	height: 56px;
}

.eq-faq-hub__card-mark {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1.5px solid color-mix(in srgb, #141414 28%, transparent);
	color: #141414;
}

.eq-faq-hub__card-check {
	display: none;
}

.eq-faq-hub__card.is-active .eq-faq-hub__card-arrow {
	display: none;
}

.eq-faq-hub__card.is-active .eq-faq-hub__card-check {
	display: block;
}

.eq-faq-hub__card.is-active .eq-faq-hub__card-mark {
	background: #141414;
	border-color: #141414;
	color: #cbff4d;
}

.eq-faq-hub__card-copy {
	display: grid;
	gap: 6px;
}

.eq-faq-hub__card-title {
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	font-size: clamp(22px, 2.2vw, 32px);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.05;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.eq-faq-hub__card-sub {
	font-family: var(--eq-font-body, Inter, sans-serif);
	font-size: clamp(14px, 1.2vw, 18px);
	font-weight: 400;
	line-height: 1.35;
	color: color-mix(in srgb, #141414 78%, transparent);
}

.eq-faq-hub__card.is-active .eq-faq-hub__card-sub {
	color: #141414;
}

.eq-faq-hub__card-meta {
	margin-top: 8px;
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	font-size: clamp(13px, 1.1vw, 16px);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.eq-faq-hub__panel[hidden] {
	display: none !important;
}

.eq-faq-hub .eq-faq-stack {
	gap: var(--eq-space-2xl);
	width: 100%;
}

.eq-faq-hub .eq-faq,
.eq-faq-hub .eq-faq-group {
	max-width: none;
	width: 100%;
}

.eq-faq-hub .eq-faq-group__title {
	margin: 0;
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	font-size: var(--eq-type-h3);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #141414;
}

.eq-faq-hub .eq-faq-group__toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	margin: 0;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, #141414 12%, transparent);
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-align: left;
	cursor: pointer;
}

.eq-faq-hub .eq-faq-group__toggle:focus-visible {
	outline: 2px solid #141414;
	outline-offset: 3px;
}

.eq-faq-hub .eq-faq-group__chevron {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 160ms ease;
}

.eq-faq-hub .eq-faq-group__toggle[aria-expanded="true"] .eq-faq-group__chevron {
	transform: rotate(-135deg);
}

.eq-faq-hub .eq-faq-group__panel[hidden] {
	display: none !important;
}

.eq-faq-hub .eq-faq__q button {
	font-family: var(--eq-font-heading, "Barlow Condensed", sans-serif);
	font-size: var(--eq-type-h4);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: normal;
	min-height: 56px;
	padding: var(--eq-space-md) 0;
	align-items: center;
}

.eq-faq-hub .eq-faq__q button:focus-visible {
	outline: 2px solid #141414;
	outline-offset: 2px;
}

.eq-faq-hub .eq-faq__q-text {
	flex: 1 1 auto;
}

/* Plus / minus icon */
.eq-faq-hub .eq-faq__icon {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border: 0;
	transform: none;
	transition: none;
}

.eq-faq-hub .eq-faq__icon::before,
.eq-faq-hub .eq-faq__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: currentColor;
	transform: translate(-50%, -50%);
}

.eq-faq-hub .eq-faq__icon::before {
	width: 12px;
	height: 1.5px;
}

.eq-faq-hub .eq-faq__icon::after {
	width: 1.5px;
	height: 12px;
}

.eq-faq-hub .eq-faq__q button[aria-expanded="true"] .eq-faq__icon {
	transform: none;
}

.eq-faq-hub .eq-faq__q button[aria-expanded="true"] .eq-faq__icon::after {
	opacity: 0;
}

/* Critical: do not let display:grid override [hidden] */
.eq-faq-hub .eq-faq__a:not([hidden]) {
	display: grid;
	gap: 10px;
	padding-bottom: var(--eq-space-lg);
}

.eq-faq-hub .eq-faq__a[hidden] {
	display: none !important;
}

.eq-faq-hub .eq-faq__a p {
	margin: 0;
	font-family: var(--eq-font-body, Inter, sans-serif);
	font-size: var(--eq-type-body, 16px);
	font-weight: 400;
	line-height: 1.55;
}

.eq-faq-hub .eq-faq__list {
	margin: 0;
	padding-left: 1.15rem;
	display: grid;
	gap: 6px;
	font-family: var(--eq-font-body, Inter, sans-serif);
	font-size: var(--eq-type-body, 16px);
	font-weight: 400;
	line-height: 1.55;
	color: color-mix(in srgb, #141414 82%, transparent);
}

@media (max-width: 560px) {
	.eq-faq-hub__cats {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.eq-faq-hub__card {
		min-height: 140px;
		padding: 16px 14px;
		gap: 10px;
	}

	.eq-faq-hub__card {
		min-height: 196px;
		padding: 18px 44px 18px 14px;
		gap: 12px;
	}

	.eq-faq-hub__card-title {
		font-size: 20px;
	}

	.eq-faq-hub__card-sub {
		font-size: 13px;
	}

	.eq-faq-hub__card-meta {
		font-size: 12px;
	}

	.eq-faq-hub__card-icon {
		width: 40px;
		height: 40px;
	}

	.eq-faq-hub__card-mark {
		top: 12px;
		right: 10px;
		width: 26px;
		height: 26px;
	}
}

@media (max-width: 767px) {
	body.page-faq .eq-help-body,
	body.eq-page-faq .eq-help-body {
		padding-bottom: calc(var(--eq-space-2xl) + 72px);
	}
}
