/**
 * AtlasHomeDeco — components
 * Buttons, forms, accordions, badges, trust marks, tables and small parts.
 */

/* -------------------------------------------------------------------------
 * Buttons
 * ---------------------------------------------------------------------- */

.btn,
button.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	padding: 14px 28px;
	border: 1px solid transparent;
	border-radius: var(--ahd-radius);
	font-family: var(--ahd-font-body);
	font-size: var(--ahd-text-sm);
	font-weight: 400;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: var(--ahd-btn-transform);
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background var(--ahd-dur) var(--ahd-ease),
		color var(--ahd-dur) var(--ahd-ease),
		border-color var(--ahd-dur) var(--ahd-ease),
		transform var(--ahd-dur-fast) var(--ahd-ease);
}

.btn .ahd-icon {
	transition: transform var(--ahd-dur) var(--ahd-ease);
}

.btn:hover .ahd-icon {
	transform: translateX(3px);
}

.btn:active {
	transform: translateY(1px);
}

.btn--primary {
	background: var(--ahd-charcoal);
	border-color: var(--ahd-charcoal);
	color: var(--ahd-text-invert);
}

.btn--primary:hover {
	background: var(--ahd-terracotta);
	border-color: var(--ahd-terracotta);
	color: #fff;
}

.btn--secondary {
	background: transparent;
	border-color: var(--ahd-charcoal);
	color: var(--ahd-charcoal);
}

.btn--secondary:hover {
	background: var(--ahd-charcoal);
	color: var(--ahd-text-invert);
}

.btn--ghost {
	background: transparent;
	border-color: var(--ahd-line);
	color: var(--ahd-text);
}

.btn--ghost:hover {
	border-color: var(--ahd-charcoal);
	background: transparent;
	color: var(--ahd-text);
}

.btn--outline-light {
	background: transparent;
	border-color: rgba(246, 241, 233, 0.5);
	color: var(--ahd-text-invert);
}

.btn--outline-light:hover {
	background: var(--ahd-text-invert);
	border-color: var(--ahd-text-invert);
	color: var(--ahd-charcoal);
}

.btn--accent {
	background: var(--ahd-terracotta);
	border-color: var(--ahd-terracotta);
	color: #fff;
}

.btn--accent:hover {
	background: var(--ahd-burgundy);
	border-color: var(--ahd-burgundy);
}

.btn--lg {
	padding: 17px 34px;
	font-size: var(--ahd-text-sm);
}

.btn--sm {
	padding: 9px 18px;
	font-size: var(--ahd-text-xs);
}

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

.btn[disabled],
.btn.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}

.btn.is-loading {
	position: relative;
	color: transparent;
	pointer-events: none;
}

.btn.is-loading::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: ahd-spin 700ms linear infinite;
	color: var(--ahd-text-invert);
}

.btn--secondary.is-loading::after,
.btn--ghost.is-loading::after {
	color: var(--ahd-charcoal);
}

@keyframes ahd-spin {
	to { transform: rotate(360deg); }
}

/* -------------------------------------------------------------------------
 * Badges
 * ---------------------------------------------------------------------- */

.badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: grid;
	gap: 6px;
	justify-items: start;
	pointer-events: none;
	z-index: 2;
}

.badges--inline,
.badges--summary {
	position: static;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: var(--ahd-space-sm);
}

.badge {
	display: inline-block;
	padding: 5px 11px;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	background: var(--ahd-ivory);
	color: var(--ahd-charcoal);
	border-radius: var(--ahd-radius);
	line-height: 1.4;
}

.badge--ooak {
	background: var(--ahd-charcoal);
	color: var(--ahd-text-invert);
}

.badge--new {
	background: var(--ahd-terracotta);
	color: #fff;
}

.badge--sale {
	background: var(--ahd-burgundy);
	color: #fff;
}

.badge--sold {
	background: rgba(43, 39, 36, 0.72);
	color: var(--ahd-text-invert);
}

/* -------------------------------------------------------------------------
 * Trust strip
 * ---------------------------------------------------------------------- */

.trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-md);
}

/*
 * auto-fit rather than a media query: this strip sits both in the full-width
 * page flow and inside the narrow product summary column, so it has to react
 * to the space it is given, not to the viewport.
 */
.trust--line {
	grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
	gap: var(--ahd-space-sm) var(--ahd-space-lg);
	margin-top: var(--ahd-space-lg);
	padding-top: var(--ahd-space-lg);
	border-top: 1px solid var(--ahd-line-soft);
}

.trust--line .trust__item {
	gap: 8px;
}

.trust--grid {
	grid-template-columns: 1fr;
	margin-top: var(--ahd-space-lg);
}

@media (min-width: 560px) {
	.trust--grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--ahd-space-lg);
	}
}

.trust__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.trust__icon {
	color: var(--ahd-brown);
	flex: none;
	margin-top: 1px;
}

.trust--line .trust__icon .ahd-icon {
	width: 18px;
	height: 18px;
}

.trust__body {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.trust__title {
	font-size: var(--ahd-text-sm);
	font-weight: 400;
	letter-spacing: 0.03em;
}

.trust--line .trust__title {
	font-size: var(--ahd-text-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ahd-text-soft);
}

.trust__text {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	line-height: 1.5;
}

/* -------------------------------------------------------------------------
 * Lists
 * ---------------------------------------------------------------------- */

.check-list {
	list-style: none;
	margin: var(--ahd-space-lg) 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.check-list li {
	position: relative;
	padding-left: 28px;
	color: var(--ahd-text-soft);
}

.check-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 12px;
	height: 6px;
	border-left: 1.5px solid var(--ahd-terracotta);
	border-bottom: 1.5px solid var(--ahd-terracotta);
	transform: rotate(-45deg);
}

.benefits {
	list-style: none;
	margin: var(--ahd-space-xl) 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-lg);
}

@media (min-width: 520px) {
	.benefits {
		grid-template-columns: 1fr 1fr;
	}
}

.benefits__item {
	display: grid;
	gap: 4px;
}

.benefits__icon {
	color: var(--ahd-terracotta);
	margin-bottom: 4px;
}

.benefits__title {
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-lg);
	letter-spacing: 0.01em;
}

.benefits__text {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	line-height: 1.55;
}

.facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-lg);
	text-align: center;
}

@media (min-width: 640px) {
	.facts {
		grid-template-columns: repeat(4, 1fr);
	}
}

.facts__item {
	display: grid;
	gap: 6px;
	padding: var(--ahd-space-md);
	border-left: 1px solid var(--ahd-line-soft);
}

@media (max-width: 639px) {
	.facts__item {
		border-left: 0;
		border-top: 1px solid var(--ahd-line-soft);
	}
}

.facts__item strong {
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-xl);
	font-weight: 400;
}

.facts__item span {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, auto);
	gap: var(--ahd-space-lg);
	justify-content: start;
	margin: var(--ahd-space-xl) 0;
	padding: var(--ahd-space-lg) 0;
	border-top: 1px solid var(--ahd-line-soft);
	border-bottom: 1px solid var(--ahd-line-soft);
}

.stats__item dt {
	font-size: var(--ahd-text-xs);
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	color: var(--ahd-text-faint);
	margin-bottom: 4px;
}

.stats__item dd {
	margin: 0;
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-lg);
}

@media (max-width: 520px) {
	.stats {
		grid-template-columns: 1fr;
		gap: var(--ahd-space-md);
	}
}

/* Steps ---------------------------------------------------------------- */

.steps {
	list-style: none;
	margin: var(--ahd-space-xl) 0 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-lg);
}

.steps--compact {
	gap: var(--ahd-space-md);
	margin-top: var(--ahd-space-lg);
}

.steps__item {
	display: flex;
	gap: var(--ahd-space-md);
	align-items: flex-start;
}

.steps__icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--ahd-line);
	border-radius: 50%;
	color: var(--ahd-brown);
}

.steps__body {
	display: grid;
	gap: 3px;
}

.steps__title {
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-lg);
}

.steps__text {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	line-height: 1.6;
}

/* Process -------------------------------------------------------------- */

.process {
	list-style: none;
	margin: 0;
	padding: 0;
}

.process--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ahd-space-sm);
	margin: var(--ahd-space-xl) 0;
}

.process--inline .process__step {
	display: flex;
	align-items: center;
	gap: var(--ahd-space-sm);
}

.process--inline .process__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ahd-bg);
	color: var(--ahd-terracotta);
	border: 1px solid var(--ahd-line-soft);
}

.process--inline .process__label {
	font-size: var(--ahd-text-xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.process__arrow {
	color: var(--ahd-text-faint);
	margin-inline: 2px;
}

.process--grid {
	display: grid;
	gap: var(--ahd-space-xl);
	counter-reset: step;
}

@media (min-width: 620px) {
	.process--grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1000px) {
	.process--grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.process__item {
	position: relative;
	padding: var(--ahd-space-xl) var(--ahd-space-lg) var(--ahd-space-lg);
	background: var(--ahd-bg);
	border: 1px solid var(--ahd-line-soft);
	border-radius: var(--ahd-radius);
}

.process__number {
	position: absolute;
	top: var(--ahd-space-md);
	right: var(--ahd-space-lg);
	font-family: var(--ahd-font-display);
	font-size: 2rem;
	color: var(--ahd-sand-deep);
	line-height: 1;
}

.process--grid .process__icon {
	display: block;
	color: var(--ahd-terracotta);
	margin-bottom: var(--ahd-space-md);
}

.process__title {
	font-size: var(--ahd-text-lg);
	margin-bottom: var(--ahd-space-xs);
}

.process__text {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	line-height: 1.65;
	margin: 0;
}

/* Pillars -------------------------------------------------------------- */

.pillars {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-xl);
}

@media (min-width: 780px) {
	.pillars {
		grid-template-columns: repeat(3, 1fr);
	}
}

.pillars__item {
	padding-top: var(--ahd-space-lg);
	border-top: 1px solid var(--ahd-charcoal);
}

.pillars__num {
	display: block;
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-sm);
	letter-spacing: 0.2em;
	color: var(--ahd-terracotta);
	margin-bottom: var(--ahd-space-sm);
}

.pillars__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-xs);
}

.pillars__item p {
	color: var(--ahd-text-soft);
	margin: 0;
}

/* Media pair ----------------------------------------------------------- */

.media-pair {
	display: grid;
	gap: var(--ahd-space-lg);
	margin-bottom: var(--ahd-space-xl);
}

@media (min-width: 800px) {
	.media-pair {
		grid-template-columns: 1.9fr 1fr;
		align-items: end;
	}
}

.media-pair figcaption {
	margin-top: var(--ahd-space-sm);
	font-size: var(--ahd-text-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ahd-text-faint);
}

.gallery-3 {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-md);
}

@media (min-width: 700px) {
	.gallery-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

.guide-figure {
	margin-top: var(--ahd-space-2xl);
}

/* -------------------------------------------------------------------------
 * Accordion
 * ---------------------------------------------------------------------- */

.accordion {
	border-top: 1px solid var(--ahd-line);
}

.accordion__item {
	border-bottom: 1px solid var(--ahd-line);
}

.accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ahd-space-md);
	padding: var(--ahd-space-lg) 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-lg);
	color: var(--ahd-text);
	transition: color var(--ahd-dur-fast) var(--ahd-ease);
}

.accordion__summary::-webkit-details-marker {
	display: none;
}

.accordion__summary:hover {
	color: var(--ahd-accent);
}

.accordion__icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--ahd-line);
	border-radius: 50%;
	color: var(--ahd-text-soft);
	transition: transform var(--ahd-dur) var(--ahd-ease),
		background var(--ahd-dur) var(--ahd-ease),
		color var(--ahd-dur) var(--ahd-ease);
}

.accordion__item[open] .accordion__icon {
	transform: rotate(45deg);
	background: var(--ahd-charcoal);
	border-color: var(--ahd-charcoal);
	color: var(--ahd-text-invert);
}

.accordion__panel {
	padding-bottom: var(--ahd-space-lg);
	animation: ahd-fade-up 260ms var(--ahd-ease);
}

.accordion__panel .prose {
	max-width: 72ch;
}

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

.ahd-form {
	max-width: 100%;
}

.form-grid {
	display: grid;
	gap: var(--ahd-space-lg);
}

@media (min-width: 640px) {
	.form-grid {
		grid-template-columns: 1fr 1fr;
	}

	.form-row--full {
		grid-column: 1 / -1;
	}
}

/*
 * align-content: start is doing real work here. A .form-row is a grid item in
 * the outer form grid, so it stretches to the height of the tallest cell in
 * its row — and without this, its own rows stretch too, leaving the input in
 * a short cell (Phone) rendered twice as tall as the one beside it (a field
 * that carries help text). Keep it.
 */
.form-row {
	display: grid;
	grid-auto-rows: max-content;
	align-content: start;
	gap: 7px;
	min-width: 0;
}

.form-label {
	font-size: var(--ahd-text-xs);
	font-weight: 500;
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	color: var(--ahd-text-soft);
}

.form-label .req {
	color: var(--ahd-terracotta);
}

.form-label .opt {
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--ahd-text-faint);
}

.form-input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	width: 100%;
	padding: 13px 15px;
	background: var(--ahd-bg);
	border: 1px solid var(--ahd-field-line, rgba(43, 39, 36, 0.22));
	border-radius: var(--ahd-radius);
	font-size: var(--ahd-text-base);
	line-height: 1.45;
	color: var(--ahd-text);
	transition: border-color var(--ahd-dur-fast) var(--ahd-ease), box-shadow var(--ahd-dur-fast) var(--ahd-ease);
	-webkit-appearance: none;
	appearance: none;
}

.form-input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--ahd-charcoal);
	box-shadow: 0 0 0 3px rgba(176, 96, 60, 0.12);
}

.form-input::placeholder {
	color: var(--ahd-text-faint);
}

textarea.form-input {
	resize: vertical;
	min-height: 128px;
	line-height: 1.6;
}

.form-input--file {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	background: var(--ahd-bg);
	border-style: dashed;
	cursor: pointer;
}

.form-input--file:hover {
	border-color: var(--ahd-charcoal);
}

.form-input--file::file-selector-button {
	margin-right: 12px;
	padding: 7px 14px;
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: var(--ahd-bg);
	font-size: var(--ahd-text-xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.select-wrap {
	position: relative;
}

.select-wrap select {
	padding-right: 42px;
}

.select-wrap__icon {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--ahd-text-faint);
}

.form-help {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-faint);
	margin: 0;
	line-height: 1.5;
}

.form-row--consent {
	margin-top: var(--ahd-space-lg);
}

.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	cursor: pointer;
	line-height: 1.55;
}

.checkbox input[type="checkbox"] {
	flex: none;
	width: 17px;
	height: 17px;
	margin-top: 3px;
	accent-color: var(--ahd-terracotta);
}

.form-actions {
	margin-top: var(--ahd-space-xl);
}

.form-notice {
	padding: var(--ahd-space-md) var(--ahd-space-lg);
	margin-bottom: var(--ahd-space-lg);
	border-left: 3px solid var(--ahd-terracotta);
	background: var(--ahd-bg-alt);
	font-size: var(--ahd-text-sm);
	border-radius: 0 var(--ahd-radius) var(--ahd-radius) 0;
}

.form-notice--success {
	border-left-color: #3F6B4E;
}

.form-notice--error {
	border-left-color: var(--ahd-burgundy);
}

.form-notice ul {
	margin: 8px 0 0;
	padding-left: 1.1rem;
}

.form-feedback:empty {
	display: none;
}

.form-feedback {
	margin-top: var(--ahd-space-sm);
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	grid-column: 1 / -1;
}

.form-feedback.is-error {
	color: var(--ahd-burgundy);
}

/* Search form ---------------------------------------------------------- */

.search-form {
	position: relative;
	display: flex;
}

.search-form__input {
	flex: 1;
	padding: 13px 48px 13px 16px;
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: var(--ahd-bg);
	font-size: var(--ahd-text-base);
}

.search-form__input:focus {
	outline: none;
	border-color: var(--ahd-charcoal);
}

.search-form__submit {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 46px;
	display: grid;
	place-items: center;
	color: var(--ahd-text-soft);
}

.search-form__submit:hover {
	color: var(--ahd-accent);
}

.search-inline {
	max-width: 460px;
	margin: var(--ahd-space-lg) auto 0;
}

/* Newsletter ----------------------------------------------------------- */

.newsletter__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-xs);
}

.newsletter__text {
	color: var(--ahd-text-soft);
	font-size: var(--ahd-text-sm);
	margin-bottom: var(--ahd-space-md);
	max-width: 46ch;
}

.newsletter__form {
	display: grid;
	gap: var(--ahd-space-sm);
}

@media (min-width: 520px) {
	.newsletter--inline .newsletter__form {
		grid-template-columns: 1fr auto;
		align-items: start;
	}

	.newsletter--inline .newsletter__note,
	.newsletter--inline .form-feedback {
		grid-column: 1 / -1;
	}
}

.newsletter__input {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: var(--ahd-bg);
	font-size: var(--ahd-text-base);
}

.newsletter__input:focus {
	outline: none;
	border-color: var(--ahd-charcoal);
}

.newsletter__note {
	font-size: var(--ahd-text-xs);
	color: var(--ahd-text-faint);
	margin: 0;
	line-height: 1.5;
}

/* -------------------------------------------------------------------------
 * Empty states
 * ---------------------------------------------------------------------- */

.empty-state {
	text-align: center;
	padding: clamp(2.5rem, 2rem + 4vw, 5rem) var(--ahd-space-lg);
	border: 1px dashed var(--ahd-line);
	border-radius: var(--ahd-radius);
	color: var(--ahd-text-soft);
}

.empty-state .ahd-icon {
	margin-inline: auto;
	margin-bottom: var(--ahd-space-md);
	color: var(--ahd-text-faint);
}

.empty-state__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-sm);
	color: var(--ahd-text);
}

.empty-state p {
	max-width: 52ch;
	margin-inline: auto;
	margin-bottom: var(--ahd-space-lg);
}

/* -------------------------------------------------------------------------
 * Tables
 * ---------------------------------------------------------------------- */

.table-scroll {
	overflow-x: auto;
	margin-block: var(--ahd-space-lg);
	-webkit-overflow-scrolling: touch;
}

.guide-table {
	min-width: 480px;
	font-size: var(--ahd-text-sm);
	text-align: left;
}

.guide-table th,
.guide-table td {
	padding: var(--ahd-space-md) var(--ahd-space-md) var(--ahd-space-md) 0;
	border-bottom: 1px solid var(--ahd-line-soft);
	vertical-align: top;
}

.guide-table thead th {
	font-family: var(--ahd-font-body);
	font-size: var(--ahd-text-xs);
	font-weight: 500;
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	color: var(--ahd-text-faint);
	border-bottom-color: var(--ahd-charcoal);
}

.guide-table tbody th {
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-lg);
	font-weight: 400;
	white-space: nowrap;
	padding-right: var(--ahd-space-xl);
}

.guide-table td {
	color: var(--ahd-text-soft);
}

.guide-table__note {
	display: block;
	margin-top: 4px;
	font-size: var(--ahd-text-xs);
	color: var(--ahd-text-faint);
}

.guide-table--compare tbody th {
	font-family: var(--ahd-font-body);
	font-size: var(--ahd-text-sm);
	font-weight: 500;
}

/* Colour guide --------------------------------------------------------- */

.color-guide {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-xl);
}

@media (min-width: 780px) {
	.color-guide {
		grid-template-columns: repeat(3, 1fr);
	}
}

.color-guide__swatch {
	display: block;
	height: 90px;
	margin-bottom: var(--ahd-space-md);
	border-radius: var(--ahd-radius);
	background: linear-gradient(110deg, var(--swatch) 0 50%, var(--swatch-2) 50% 100%);
}

.color-guide h3 {
	font-size: var(--ahd-text-lg);
	margin-bottom: var(--ahd-space-xs);
}

.color-guide p {
	color: var(--ahd-text-soft);
	font-size: var(--ahd-text-sm);
	line-height: 1.65;
}

.color-guide__pair {
	font-size: var(--ahd-text-xs);
	letter-spacing: 0.04em;
	color: var(--ahd-text-faint);
}

.color-guide__pair strong {
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* -------------------------------------------------------------------------
 * FAQ page
 * ---------------------------------------------------------------------- */

.faq-toc {
	align-self: start;
	position: sticky;
	top: calc(var(--ahd-header-h) + 24px);
	font-size: var(--ahd-text-sm);
}

@media (max-width: 999px) {
	.faq-toc {
		position: static;
		padding-bottom: var(--ahd-space-lg);
		border-bottom: 1px solid var(--ahd-line);
	}
}

.faq-toc__title {
	display: block;
	font-size: var(--ahd-text-xs);
	letter-spacing: var(--ahd-tracking-wider);
	text-transform: uppercase;
	color: var(--ahd-text-faint);
	margin-bottom: var(--ahd-space-sm);
}

.faq-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.faq-toc a {
	text-decoration: none;
	color: var(--ahd-text-soft);
}

.faq-toc a:hover {
	color: var(--ahd-accent);
}

.faq-group + .faq-group {
	margin-top: var(--ahd-space-3xl);
}

.faq-group__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-md);
}

.faq-help {
	padding: var(--ahd-space-xl);
	background: var(--ahd-bg-alt);
	border-radius: var(--ahd-radius);
}

.faq-help p {
	color: var(--ahd-text-soft);
	max-width: 60ch;
}

/* -------------------------------------------------------------------------
 * Contact page
 * ---------------------------------------------------------------------- */

.contact {
	display: grid;
	gap: clamp(2rem, 1rem + 4vw, 4rem);
}

@media (min-width: 900px) {
	.contact {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	}
}

.contact-card {
	padding: var(--ahd-space-xl);
	background: var(--ahd-bg-alt);
	border-radius: var(--ahd-radius);
}

.contact-card__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-lg);
}

.contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--ahd-space-md);
}

.contact-list__item {
	display: flex;
	gap: var(--ahd-space-sm);
	align-items: flex-start;
}

.contact-list__icon {
	color: var(--ahd-brown);
	margin-top: 2px;
}

.contact-list__body {
	display: grid;
	gap: 2px;
	min-width: 0;
	word-break: break-word;
}

.contact-list__label {
	font-size: var(--ahd-text-xs);
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	color: var(--ahd-text-faint);
}

.contact-list a {
	text-decoration: none;
}

.contact-card__social {
	margin-top: var(--ahd-space-lg);
	padding-top: var(--ahd-space-lg);
	border-top: 1px solid var(--ahd-line);
	display: grid;
	gap: var(--ahd-space-sm);
}

.contact-image {
	margin-top: var(--ahd-space-lg);
	aspect-ratio: 4 / 5;
}

@media (max-width: 899px) {
	.contact-image {
		display: none;
	}
}

/* Custom rug request --------------------------------------------------- */

.request {
	display: grid;
	gap: clamp(2rem, 1rem + 4vw, 4rem);
}

@media (min-width: 960px) {
	.request {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		align-items: start;
	}

	.request__intro {
		position: sticky;
		top: calc(var(--ahd-header-h) + 32px);
	}
}

.request__form {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	background: var(--ahd-bg-alt);
	border-radius: var(--ahd-radius);
}

.request__alt {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}

.spec-list {
	margin: var(--ahd-space-lg) 0 0;
	display: grid;
}

.spec-list__row {
	display: grid;
	gap: 4px;
	padding: var(--ahd-space-md) 0;
	border-top: 1px solid var(--ahd-line-soft);
}

@media (min-width: 560px) {
	.spec-list__row {
		grid-template-columns: 130px minmax(0, 1fr);
		gap: var(--ahd-space-md);
	}
}

.spec-list dt {
	font-size: var(--ahd-text-xs);
	letter-spacing: var(--ahd-tracking-wide);
	text-transform: uppercase;
	color: var(--ahd-text-faint);
	padding-top: 3px;
}

.spec-list dd {
	margin: 0;
	color: var(--ahd-text-soft);
	font-size: var(--ahd-text-sm);
	line-height: 1.65;
}

/* -------------------------------------------------------------------------
 * Comments
 * ---------------------------------------------------------------------- */

.comments {
	margin-top: var(--ahd-space-3xl);
	padding-top: var(--ahd-space-xl);
	border-top: 1px solid var(--ahd-line);
}

.comments__title {
	font-size: var(--ahd-text-xl);
	margin-bottom: var(--ahd-space-lg);
}

.comment-list {
	list-style: none;
	margin: 0 0 var(--ahd-space-2xl);
	padding: 0;
	display: grid;
	gap: var(--ahd-space-lg);
}

.comment-list .children {
	list-style: none;
	margin: var(--ahd-space-lg) 0 0;
	padding-left: var(--ahd-space-lg);
	border-left: 1px solid var(--ahd-line-soft);
	display: grid;
	gap: var(--ahd-space-lg);
}

.comment-body {
	font-size: var(--ahd-text-sm);
}

.comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.comment-author img {
	border-radius: 50%;
}

.comment-metadata {
	font-size: var(--ahd-text-xs);
	color: var(--ahd-text-faint);
	margin-bottom: var(--ahd-space-sm);
}

.comment-metadata a {
	text-decoration: none;
}

.comment-form {
	display: grid;
	gap: var(--ahd-space-md);
	max-width: 640px;
}

.comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: var(--ahd-bg);
}

.comment-reply-title {
	font-size: var(--ahd-text-xl);
}

/* -------------------------------------------------------------------------
 * Block editor styles
 * ---------------------------------------------------------------------- */

.is-style-ahd-framed img {
	border: 1px solid var(--ahd-line);
	padding: 10px;
	background: var(--ahd-bg);
}

.is-style-ahd-editorial {
	border: 0;
	padding: 0;
	font-family: var(--ahd-font-display);
	font-size: var(--ahd-text-xl);
	font-style: italic;
	text-align: center;
	color: var(--ahd-text);
	max-width: 34ch;
	margin-inline: auto;
}

.is-style-ahd-checks {
	list-style: none;
	padding-left: 0;
}

.is-style-ahd-checks li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
}

.is-style-ahd-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 12px;
	height: 6px;
	border-left: 1.5px solid var(--ahd-terracotta);
	border-bottom: 1.5px solid var(--ahd-terracotta);
	transform: rotate(-45deg);
}

.is-style-ahd-panel {
	background: var(--ahd-bg-alt);
	padding: clamp(1.5rem, 1rem + 2vw, 3rem);
	border-radius: var(--ahd-radius);
}

.is-style-ahd-eyebrow {
	font-family: var(--ahd-font-body) !important;
	font-size: var(--ahd-text-xs) !important;
	font-weight: 500;
	letter-spacing: var(--ahd-tracking-wider);
	text-transform: uppercase;
	color: var(--ahd-brown);
}

.is-style-ahd-diamond {
	border: 0;
	height: auto;
	text-align: center;
	max-width: none;
}

.is-style-ahd-diamond::before {
	content: "◆";
	display: block;
	font-size: 0.6rem;
	color: var(--ahd-sand-deep);
	letter-spacing: 1.2em;
	padding-left: 1.2em;
}

/* -------------------------------------------------------------------------
 * Rug builder
 * ---------------------------------------------------------------------- */

.builder {
	display: grid;
	gap: clamp(2rem, 1rem + 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 960px) {
	.builder {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}

	/* The rug stays in view while the choices are worked through. */
	.builder__stage {
		position: sticky;
		top: calc(var(--ahd-header-h) + 24px);
	}
}

/* The framed piece --------------------------------------------------------
 *
 * The frame is four solid borders. They mitre at the corners on their own,
 * which is how a real frame is cut, and lighting the top and left while
 * shading the bottom and right is enough to read as solid wood.
 * ---------------------------------------------------------------------- */

.builder__wall {
	display: flex;
	justify-content: center;
	padding: clamp(1.75rem, 1rem + 3vw, 3.25rem);
	background:
		radial-gradient(120% 90% at 50% 0%, #FFFFFF 0%, var(--ahd-ivory) 55%, var(--ahd-sand) 100%);
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
}

.builder__rug {
	--frame-w: 14px;
	--frame-base: transparent;
	--frame-light: transparent;
	--frame-dark: transparent;

	/* The frame itself is built inline — see ahd_rug_framed(). */
	width: 100%;
	max-width: 330px;
	box-shadow:
		/* The rebate the panel sits in. */
		inset 0 0 0 1px rgba(28, 25, 23, 0.22),
		0 22px 38px rgba(34, 31, 28, 0.22),
		0 4px 10px rgba(34, 31, 28, 0.12);
	/*
	 * Colour only. Transitioning border-width leaves the frame stuck at 0 when
	 * going from unframed back to wood — the engine never starts the animation
	 * off a zero border — and a frame that grows looks wrong anyway.
	 */
	transition: border-color var(--ahd-dur) var(--ahd-ease);
}

.rug-svg {
	display: block;
	width: 100%;
	height: auto;
}

.builder__caption {
	margin: var(--ahd-space-md) 0 0;
	text-align: center;
	font-size: var(--ahd-text-sm);
	line-height: 1.7;
	color: var(--ahd-text-soft);
}

/* Choices ---------------------------------------------------------------- */

.builder__controls {
	display: grid;
	gap: clamp(1.5rem, 1rem + 2vw, 2.25rem);
	align-content: start;
}

.builder__group {
	margin: 0;
	padding: 0;
	border: 0;
}

.builder__legend {
	padding: 0;
	margin-bottom: 4px;
	font-size: var(--ahd-text-sm);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ahd-text);
}

.builder__help {
	margin: 0 0 var(--ahd-space-sm);
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}

.builder__swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
	gap: 10px;
}

/* Room for the taller motif tiles. */
.builder__swatches--symbol {
	grid-template-columns: repeat(auto-fill, minmax(122px, 1fr));
}

.builder__swatches--frame,
.builder__swatches--size {
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
}

.swatch {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	padding: 11px 8px 10px;
	text-align: center;
	cursor: pointer;
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: var(--ahd-bg);
	transition: border-color var(--ahd-dur-fast) var(--ahd-ease),
		background var(--ahd-dur-fast) var(--ahd-ease);
}

.swatch:hover {
	border-color: var(--ahd-text-soft);
}

/*
 * The input stays in the layout and simply invisible, so it keeps its focus
 * behaviour and its place in the tab order.
 */
.swatch__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	appearance: none;
}

.swatch:has(.swatch__input:checked) {
	border-color: var(--ahd-text);
	background: var(--ahd-sand);
}

.swatch:has(.swatch__input:focus-visible) {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 2px;
}

.swatch__chip {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	color: var(--ahd-text);
}

.swatch__chip svg {
	width: 100%;
	height: 100%;
}

.swatch--size .swatch__chip svg {
	width: 38px;
	height: 38px;
}

/*
 * Motifs are tall, finely drawn and meant to be read against wool. A square
 * chip the size of a colour swatch loses them, so the symbol buttons get a
 * portrait tile in the ground colour they will actually sit on.
 *
 * Flex, not grid: a percentage height on a grid item resolves against an
 * auto-sized row, which is circular, so the artwork ignored it and overflowed
 * the tile. Against a flex container of definite height, max-height resolves.
 */
.swatch--symbol .swatch__chip {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 118px;
	padding: 8px;
	background: #F4EFE4;
	border-radius: 2px;
	box-shadow: inset 0 0 0 1px rgba(34, 31, 28, 0.08);
}

.swatch--symbol .swatch__chip img,
.swatch--symbol .swatch__chip svg {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.swatch__img {
	width: 46px;
	height: 46px;
	object-fit: contain;
}

.swatch__label {
	font-size: var(--ahd-text-sm);
	line-height: 1.35;
	color: var(--ahd-text);
}

.builder__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ahd-space-sm);
	align-items: center;
}

.builder__note {
	margin: 0;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}

/* A browser without :has() simply shows every choice unhighlighted, so give
   it a workable fallback through the input itself. */
@supports not selector(:has(*)) {
	.swatch__input:checked {
		outline: 2px solid var(--ahd-text);
		outline-offset: -1px;
		opacity: 1;
		background: transparent;
	}
}

/* Symbol size — slider ---------------------------------------------------- */

.builder__range {
	--fill: 50%;

	display: flex;
	align-items: center;
	gap: var(--ahd-space-md);
	padding: 14px 18px;
	background: var(--ahd-bg);
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
}

.builder__slider {
	flex: 1 1 auto;
	min-width: 0;
	height: 22px;
	margin: 0;
	padding: 0;
	background: transparent;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.builder__slider:focus-visible {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 4px;
	border-radius: 4px;
}

/*
 * The track is painted on the input itself so the filled portion can follow
 * --fill. Each engine needs its own thumb rule; they cannot be combined into
 * one selector list, because an unrecognised pseudo-element voids the whole
 * rule for the others.
 */
.builder__slider::-webkit-slider-runnable-track {
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(
		to right,
		var(--ahd-text) 0 var(--fill),
		var(--ahd-line) var(--fill) 100%
	);
}

.builder__slider::-moz-range-track {
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(
		to right,
		var(--ahd-text) 0 var(--fill),
		var(--ahd-line) var(--fill) 100%
	);
}

.builder__slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	/* Centre the thumb on the 4px track. */
	margin-top: -8px;
	border: 0;
	border-radius: 50%;
	background: var(--ahd-text);
	box-shadow: 0 1px 4px rgba(34, 31, 28, 0.35);
	transition: transform var(--ahd-dur-fast) var(--ahd-ease);
}

.builder__slider::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 0;
	border-radius: 50%;
	background: var(--ahd-text);
	box-shadow: 0 1px 4px rgba(34, 31, 28, 0.35);
}

.builder__slider:active::-webkit-slider-thumb {
	transform: scale(1.15);
}

.builder__value {
	flex: none;
	min-width: 4.25rem;
	padding: 7px 0;
	text-align: center;
	font-size: var(--ahd-text-sm);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	color: var(--ahd-ivory);
	background: var(--ahd-text);
	border-radius: var(--ahd-radius);
}

@media (prefers-reduced-motion: reduce) {
	.builder__slider::-webkit-slider-thumb {
		transition: none;
	}
}

/* Symbol size — shortcuts above the slider */

.builder__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.preset {
	padding: 7px 14px;
	font-family: inherit;
	font-size: var(--ahd-text-sm);
	line-height: 1.3;
	color: var(--ahd-text);
	background: var(--ahd-bg);
	border: 1px solid var(--ahd-line);
	border-radius: 999px;
	cursor: pointer;
	transition: border-color var(--ahd-dur-fast) var(--ahd-ease),
		background var(--ahd-dur-fast) var(--ahd-ease),
		color var(--ahd-dur-fast) var(--ahd-ease);
}

.preset:hover {
	border-color: var(--ahd-text-soft);
}

.preset[aria-pressed="true"] {
	color: var(--ahd-ivory);
	background: var(--ahd-text);
	border-color: var(--ahd-text);
}

.preset:focus-visible {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 2px;
}

/* Dimensions — a size of their own ---------------------------------------- */

.builder__custom {
	margin-top: 12px;
	padding: 16px 18px;
	background: var(--ahd-bg);
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
}

.builder__numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.builder__number {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
}

.builder__number label {
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
	white-space: nowrap;
}

.builder__number input {
	width: 6rem;
	padding: 8px 10px;
	font: inherit;
	font-size: var(--ahd-text-sm);
	font-variant-numeric: tabular-nums;
	color: var(--ahd-text);
	background: var(--ahd-ivory);
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
}

.builder__number input:focus-visible {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 1px;
}

.builder__note--warn {
	margin: 14px 0 0;
	padding-left: 14px;
	font-size: var(--ahd-text-sm);
	line-height: 1.65;
	color: var(--ahd-text);
	border-left: 2px solid var(--ahd-accent);
}

/* Symbol picker ----------------------------------------------------------
 *
 * Opens once the library outgrows the row. Uses the same overlay shell as the
 * cart drawer and quick view, so focus handling and escape behave identically.
 * ---------------------------------------------------------------------- */

.swatch--more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	padding: 11px 8px 10px;
	font: inherit;
	text-align: center;
	cursor: pointer;
	border: 1px dashed var(--ahd-line);
	border-radius: var(--ahd-radius);
	background: transparent;
	color: var(--ahd-text);
	transition: border-color var(--ahd-dur-fast) var(--ahd-ease),
		background var(--ahd-dur-fast) var(--ahd-ease);
}

.swatch--more:hover {
	border-color: var(--ahd-text-soft);
	background: var(--ahd-bg);
}

.swatch--more:focus-visible {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 2px;
}

.swatch__chip--more {
	display: grid;
	place-items: center;
	width: 100%;
	height: 118px;
	border-radius: 2px;
	background: var(--ahd-sand);
}

.swatch__chip--more svg {
	width: 34px;
	height: 34px;
	fill: var(--ahd-text-soft);
}

.symbolpicker {
	position: absolute;
	inset: auto 0 0;
	display: flex;
	flex-direction: column;
	max-height: 88vh;
	background: var(--ahd-bg);
	border-radius: var(--ahd-radius) var(--ahd-radius) 0 0;
	transform: translateY(100%);
	transition: transform var(--ahd-dur) var(--ahd-ease);
}

.overlay.is-open .symbolpicker {
	transform: translateY(0);
}

@media (min-width: 700px) {
	.symbolpicker {
		inset: 50% auto auto 50%;
		width: min(760px, 92vw);
		max-height: 82vh;
		border-radius: var(--ahd-radius);
		transform: translate(-50%, -46%);
		opacity: 0;
		transition: opacity var(--ahd-dur) var(--ahd-ease),
			transform var(--ahd-dur) var(--ahd-ease);
	}

	.overlay.is-open .symbolpicker {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

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

.symbolpicker__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ahd-space-md);
	padding: var(--ahd-space-md) var(--ahd-space-lg);
	border-bottom: 1px solid var(--ahd-line);
}

.symbolpicker__title {
	margin: 0;
	font-size: var(--ahd-text-lg);
}

.symbolpicker__close {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ahd-text);
	cursor: pointer;
}

.symbolpicker__close:hover {
	background: var(--ahd-sand);
}

.symbolpicker__search {
	padding: var(--ahd-space-md) var(--ahd-space-lg) 0;
}

.symbolpicker__search input {
	width: 100%;
	padding: 10px 14px;
	font: inherit;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text);
	background: var(--ahd-ivory);
	border: 1px solid var(--ahd-line);
	border-radius: var(--ahd-radius);
}

.symbolpicker__search input:focus-visible {
	outline: 2px solid var(--ahd-accent);
	outline-offset: 1px;
}

.symbolpicker__body {
	overflow-y: auto;
	padding: var(--ahd-space-md) var(--ahd-space-lg) var(--ahd-space-lg);
	-webkit-overflow-scrolling: touch;
}

.symbolpicker__empty {
	margin: var(--ahd-space-md) 0 0;
	text-align: center;
	font-size: var(--ahd-text-sm);
	color: var(--ahd-text-soft);
}
