/**
 * AFAYR store: shop, product, cart, checkout, confirmation and account pages.
 * Dark fields with readable labels, gold actions, quiet borders.
 */

body.woocommerce-page,
body.woocommerce {
	--afayr-field-bg: rgb(255 255 255 / 0.04);
	--afayr-field-border: rgb(169 173 184 / 0.45);
	--afayr-line: rgb(169 173 184 / 0.22);
}

/* Page titles and product title. */
.woocommerce-page .wp-block-post-title,
.woocommerce .product_title,
.woocommerce-page h1.wp-block-heading {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	line-height: 1.05;
}

/* Fields (block cart/checkout and classic forms). */
.wc-block-components-text-input input[type],
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce .variations select,
.woocommerce-page .input-text {
	color: var(--wp--preset--color--ivory) !important;
	background-color: var(--afayr-field-bg) !important;
	border: 1px solid var(--afayr-field-border) !important;
	border-radius: 0 !important;
}

.wc-blocks-components-select .wc-blocks-components-select__container {
	background: var(--afayr-field-bg, rgb(255 255 255 / 0.04)) !important;
	border: 1px solid var(--afayr-field-border, rgb(169 173 184 / 0.45)) !important;
	border-radius: 0 !important;
}

.wc-blocks-components-select .wc-blocks-components-select__container .wc-blocks-components-select__select {
	border: 0 !important;
	background: transparent !important;
}

.wc-blocks-components-select .wc-blocks-components-select__select option,
.woocommerce .variations select option {
	color: var(--wp--preset--color--ivory);
	background: var(--wp--preset--color--charcoal);
}

.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label,
.wc-block-components-combobox label,
.woocommerce form label {
	color: var(--wp--preset--color--silver) !important;
}

.wc-blocks-components-select .wc-blocks-components-select__expand {
	fill: var(--wp--preset--color--ivory);
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.woocommerce form .input-text:focus,
.woocommerce .variations select:focus {
	outline: 2px solid var(--wp--preset--color--gold) !important;
	outline-offset: 1px;
	border-color: var(--wp--preset--color--gold) !important;
	box-shadow: none !important;
}

.wc-block-components-text-input.has-error input,
.wc-block-components-validation-error p {
	border-color: #ff8a80 !important;
	color: #ff8a80;
}

/* Checkboxes and radios. */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input {
	background: var(--afayr-field-bg) !important;
	border-color: var(--afayr-field-border) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--gold);
}

.wc-block-components-radio-control__input:checked::before {
	background: var(--wp--preset--color--gold) !important;
}

.wc-block-components-radio-control-accordion-option,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	border-color: rgb(201 165 74 / 0.45) !important;
}

/* Panels and summaries. */
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	border-color: var(--afayr-line) !important;
}

.wc-block-components-totals-wrapper,
.wc-block-cart-items td,
.wc-block-cart-items th,
.wc-block-cart-items {
	border-color: var(--afayr-line) !important;
}

.wc-block-components-product-metadata,
.wc-block-components-formatted-money-amount {
	color: inherit;
}

/* Notices (block and classic). */
.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
	color: var(--wp--preset--color--ivory) !important;
	background: rgb(22 23 28 / 0.95) !important;
	border: 1px solid rgb(201 165 74 / 0.55) !important;
	border-radius: 0 !important;
}

/* Download limits (afayr-core): quiet and compact, full text visible. */
.afayr-download-terms {
	max-width: 44rem;
	margin-block: 0.75rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--wp--preset--color--silver);
	background: transparent;
	border: 0;
	border-inline-start: 2px solid rgb(201 165 74 / 0.55);
}

.afayr-download-terms p {
	margin: 0;
}

.afayr-download-terms p + p {
	margin-top: 0.35rem;
}

.wc-block-components-notice-banner.is-error,
.woocommerce-error {
	border-color: #ff8a80 !important;
}

.wc-block-components-notice-banner > svg {
	fill: var(--wp--preset--color--black);
	background: var(--wp--preset--color--gold) !important;
}

.wc-block-components-notice-banner a,
.woocommerce-message a,
.woocommerce-info a {
	color: var(--wp--preset--color--gold) !important;
}

/* Buttons stay square and gold. */
.wc-block-components-button:not(.is-link),
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button {
	border-radius: 0 !important;
}

.wc-block-components-button:not(.is-link):focus-visible,
.woocommerce .button:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

/* Single product. */
.woocommerce div.product .variations th,
.woocommerce div.product .variations td {
	padding-block: 0.5rem;
	color: var(--wp--preset--color--ivory);
}

.woocommerce div.product .variations select {
	min-height: 44px;
	padding: 0 2.25rem 0 0.75rem;
}

.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product p.price {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--ivory);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.wc-block-components-product-details {
	border-color: var(--afayr-line);
}

.woocommerce-product-gallery__trigger {
	display: none;
}

/* Tables: order confirmation, downloads and account pages. */
.woocommerce table.shop_table,
.woocommerce-table,
.woocommerce-order-downloads table,
.wc-block-order-confirmation-downloads table {
	width: 100%;
	color: var(--wp--preset--color--ivory);
	border: 1px solid var(--afayr-line) !important;
	border-collapse: collapse;
	border-radius: 0 !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-order-downloads th,
.woocommerce-order-downloads td,
.wc-block-order-confirmation-downloads th,
.wc-block-order-confirmation-downloads td {
	padding: 0.85rem 1rem !important;
	text-align: left;
	border-top: 1px solid var(--afayr-line) !important;
}

.woocommerce table.shop_table th,
.wc-block-order-confirmation-downloads th {
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

.woocommerce-MyAccount-downloads-file,
.wc-block-order-confirmation-downloads a.button,
.woocommerce-order-downloads a.button {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 1rem !important;
	color: var(--wp--preset--color--black) !important;
	background: var(--wp--preset--color--gold) !important;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Account area. */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgb(201 165 74 / 0.45);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--afayr-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.75rem 0;
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	color: var(--wp--preset--color--gold);
}

@media (max-width: 640px) {

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		text-align: left !important;
	}

	/* Downloads on phones: one labelled card per file. */
	.wc-block-order-confirmation-downloads__table thead,
	.woocommerce-order-downloads table thead,
	.woocommerce-MyAccount-downloads thead {
		display: none;
	}

	.wc-block-order-confirmation-downloads__table,
	.wc-block-order-confirmation-downloads__table tbody,
	.wc-block-order-confirmation-downloads__table tr,
	.wc-block-order-confirmation-downloads__table td,
	.woocommerce-order-downloads table,
	.woocommerce-order-downloads tbody,
	.woocommerce-order-downloads tr,
	.woocommerce-order-downloads td,
	.woocommerce-MyAccount-downloads,
	.woocommerce-MyAccount-downloads tbody,
	.woocommerce-MyAccount-downloads tr,
	.woocommerce-MyAccount-downloads td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	.wc-block-order-confirmation-downloads__table tr,
	.woocommerce-order-downloads tr,
	.woocommerce-MyAccount-downloads tr {
		padding: 0.75rem 0;
		border-top: 1px solid var(--afayr-line);
	}

	.wc-block-order-confirmation-downloads__table td,
	.woocommerce-order-downloads td,
	.woocommerce-MyAccount-downloads td {
		padding: 0.2rem 1rem !important;
		border-top: 0 !important;
	}

	.wc-block-order-confirmation-downloads__table td.download-product,
	.woocommerce-order-downloads td.download-product,
	.woocommerce-MyAccount-downloads td.download-product {
		display: none;
	}

	.wc-block-order-confirmation-downloads__table td[data-title]:not(.download-file)::before,
	.woocommerce-order-downloads td[data-title]:not(.download-file)::before,
	.woocommerce-MyAccount-downloads td[data-title]:not(.download-file)::before {
		content: attr(data-title) ": ";
		color: var(--wp--preset--color--silver);
	}

	.wc-block-order-confirmation-downloads__table td.download-file,
	.woocommerce-order-downloads td.download-file,
	.woocommerce-MyAccount-downloads td.download-file {
		padding-top: 0.5rem !important;
	}
}

/*
 * My Account, The Observant (015-D): a clear way in. Leaving and deletion
 * stay available but secondary.
 */
.afayr-observant-account__enter {
	margin: 1.5rem 0 0;
}

.afayr-observant-account__enter .wp-element-button {
	display: inline-block;
	text-decoration: none;
}

.afayr-observant-account__manage {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--charcoal);
	font-size: 0.9375rem;
	color: rgb(244 241 234 / 0.85);
}

.afayr-observant-account__manage h3 {
	margin: 1.5rem 0 0.5rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgb(244 241 234 / 0.85);
}

.afayr-observant-account__manage h3:first-child {
	margin-top: 0;
}

.wp-element-button.afayr-button--secondary {
	border: 1px solid rgb(244 241 234 / 0.45);
	color: var(--wp--preset--color--ivory);
	background: transparent;
}

.wp-element-button.afayr-button--secondary:hover,
.wp-element-button.afayr-button--secondary:focus-visible {
	border-color: var(--wp--preset--color--ivory);
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--ivory);
}

/*
 * My Account, The Observant: community name (015-E2a). The pseudonym other
 * members see beside comments.
 */
.afayr-account-communityname {
	max-width: 36rem;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--charcoal);
}

.afayr-account-communityname h3 {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgb(244 241 234 / 0.85);
}

.afayr-account-communityname p {
	margin: 0 0 0.75rem;
	font-size: 0.9375rem;
	color: rgb(244 241 234 / 0.85);
}

.afayr-account-communityname .afayr-field label {
	display: block;
	margin-bottom: 0.4rem;
}

.afayr-account-communityname input.input-text {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
}

.afayr-account-communityname input[aria-invalid="true"] {
	border-color: #ff9b8f !important;
}

.afayr-account-communityname .afayr-field__hint {
	margin-top: 0.4rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--silver);
}

.afayr-account-communityname .afayr-field__error {
	font-size: 0.875rem;
	color: #ff9b8f;
}

.afayr-account-communityname .afayr-field__problem {
	font-weight: 600;
}

.afayr-account-communityname .wp-element-button {
	min-height: 44px;
	cursor: pointer;
}

/*
 * Shop, product and category templates (016). Quiet dark tiles, gold actions,
 * hairline borders. Colours come from the theme.json presets.
 */
.afayr-shop {
	--afayr-field-border: rgb(169 173 184 / 0.45);
	--afayr-line: rgb(169 173 184 / 0.22);

	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}

.afayr-shop__crumbs,
.afayr-shop__crumbs a {
	font-size: var(--wp--preset--font-size--small);
}

.afayr-shop__crumbs {
	color: var(--wp--preset--color--silver);
}

.afayr-shop__crumbs a {
	display: inline-block;
	min-height: 24px;
}

.afayr-shop__title,
.afayr-product__title {
	margin-block: 0.5rem 1rem;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	line-height: 1.05;
}

.afayr-shop__intro {
	max-width: 48rem;
	color: var(--wp--preset--color--silver);
}

.afayr-shop__tools {
	gap: 0.75rem 1.5rem;
	margin-block: 1.5rem;
	padding-block: 0.75rem;
	border-block: 1px solid var(--afayr-line);
	color: var(--wp--preset--color--silver);
	font-size: var(--wp--preset--font-size--small);
}

.afayr-shop__tools p {
	margin: 0;
}

.afayr-shop__tools select.orderby {
	min-height: 44px;
	padding: 0 2rem 0 0.75rem;
	color: var(--wp--preset--color--ivory);
	background-color: var(--wp--preset--color--charcoal);
	border: 1px solid var(--afayr-field-border);
	border-radius: 0;
}

.afayr-shop__tools select.orderby option {
	color: var(--wp--preset--color--ivory);
	background: var(--wp--preset--color--charcoal);
}

/* Grid: one column on phones, two on tablets, three on desktop. */
.afayr-shop .wc-block-product-template__responsive.wc-block-product-template {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem) 1.25rem;
}

.afayr-shop .wc-block-product-template > li {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.afayr-shop__image {
	background: var(--wp--preset--color--charcoal);
	border: 1px solid var(--afayr-line);
}

.afayr-shop__image img {
	display: block;
	width: 100%;
	height: auto;
}

.afayr-shop__name {
	margin: 0.5rem 0 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
}

.afayr-shop__name a {
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
}

.afayr-shop__name a:hover,
.afayr-shop__name a:focus-visible {
	color: var(--wp--preset--color--gold);
	text-decoration: underline;
}

.afayr-shop__price {
	margin: 0;
	color: var(--wp--preset--color--silver);
}

.afayr-shop__button {
	margin-top: auto;
	padding-top: 0.5rem;
}

.afayr-shop__button .wp-element-button,
.afayr-shop__button .wc-block-components-product-button__button {
	min-height: 44px;
	width: 100%;
	justify-content: center;
}

/* Sale badge carries the word "Sale", so it never relies on colour alone. */
.afayr-shop .wc-block-components-product-sale-badge {
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--gold);
	border: 0;
	border-radius: 0;
	letter-spacing: 0.12em;
}

/* Pagination. */
.afayr-shop__pagination {
	gap: 0.25rem;
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.afayr-shop__pagination a,
.afayr-shop__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	box-sizing: border-box;
}

.afayr-shop__pagination .page-numbers.current {
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--gold);
	text-decoration: none;
}

/* Single product. */
.afayr-product__layout {
	gap: clamp(1.5rem, 4vw, 3.5rem);
	margin-top: 1.5rem;
}

.afayr-product__gallery {
	background: var(--wp--preset--color--charcoal);
	border: 1px solid var(--afayr-line);
}

.afayr-product__gallery img {
	display: block;
	width: 100%;
	height: auto;
}

.afayr-product__summary > * + * {
	margin-top: 1rem;
}

.afayr-product__meta {
	gap: 0.25rem 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--afayr-line);
	color: var(--wp--preset--color--silver);
	font-size: var(--wp--preset--font-size--small);
}

.afayr-product .wp-block-woocommerce-product-details {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.afayr-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--afayr-line);
}

.afayr-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
}

.afayr-product .woocommerce-tabs ul.tabs a {
	display: inline-block;
	padding: 0.75rem 0;
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

.afayr-product .woocommerce-tabs ul.tabs li.active a,
.afayr-product .woocommerce-tabs ul.tabs a:hover {
	color: var(--wp--preset--color--gold);
	border-bottom-color: var(--wp--preset--color--gold);
}

/* Merch grid pattern (home page and other pages). */
.afayr-merch {
	padding-block: var(--wp--preset--spacing--50);
}

.afayr-merch__head {
	gap: 1rem 2rem;
	margin-bottom: 2rem;
}

.afayr-merch__head h2,
.afayr-merch__head p {
	margin: 0;
}

.afayr-merch__all a {
	display: inline-block;
	min-height: 24px;
}

/*
 * Correction round 1 (016). WooCommerce's own "Sale!" flash (single product,
 * related products, cart) uses the same gold square as the grid badge: near
 * black on gold, 8.45:1. The word "Sale!" stays, so meaning is never colour
 * alone. It sits in the flow so it cannot cover the title on narrow screens.
 */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
span.onsale.onsale {
	position: static;
	display: inline-block;
	box-sizing: border-box;
	min-width: 0;
	min-height: 24px;
	margin: 0 0 0.75rem;
	padding: 0.25em 0.75em;
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--gold);
	border: 0;
	border-radius: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
}

/*
 * Disabled variable-product button: no 0.5 opacity. Dim fill and border,
 * legible silver text on charcoal (more than 4.5:1), not-allowed cursor.
 */
.woocommerce button.single_add_to_cart_button.disabled,
.woocommerce button.single_add_to_cart_button.wc-variation-selection-needed,
.woocommerce button.single_add_to_cart_button.wc-variation-is-unavailable,
.woocommerce button.single_add_to_cart_button.disabled:hover,
.woocommerce button.single_add_to_cart_button.disabled:focus,
.woocommerce button.single_add_to_cart_button.wc-variation-selection-needed:hover,
.woocommerce button.single_add_to_cart_button.wc-variation-selection-needed:focus {
	color: var(--wp--preset--color--silver);
	background: var(--wp--preset--color--charcoal);
	border: 1px solid rgb(169 173 184 / 0.45);
	cursor: not-allowed;
	opacity: 1;
}

/* Required-field asterisk: light enough for 4.5:1 on the dark background. */
.woocommerce form .form-row .required,
.woocommerce-page form .form-row .required,
.woocommerce form .required,
.woocommerce-page form .required,
.wc-block-components-text-input .required {
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

/* Touch targets on the sign-in and account forms. */
.woocommerce form .password-input .show-password-input {
	min-width: 44px;
	min-height: 44px;
}

.woocommerce form .woocommerce-form__input-checkbox {
	width: 24px;
	height: 24px;
	margin-inline-end: 0.5rem;
	vertical-align: middle;
	accent-color: var(--wp--preset--color--gold);
}

.woocommerce form .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Shop: comfortable name targets and a reserved square image box. */
.afayr-shop__name a {
	display: inline-block;
	padding-block: 0.3rem;
}

.afayr-shop__image {
	aspect-ratio: 1;
}

.afayr-shop__image img {
	aspect-ratio: 1;
}

/* Product page: link back to the release the product belongs to. */
.afayr-product-release {
	margin-block: 1rem 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--silver);
}

.afayr-product-release a {
	display: inline-block;
	padding-block: 0.3rem;
}

/*
 * Cart: on-brand empty state. The default sad-face graphic is hidden and
 * the block keeps a minimum height so the page does not jump when the
 * cart script replaces the loading skeleton.
 */
.wp-block-woocommerce-cart {
	min-height: 56rem;
}

@media (min-width: 768px) {

	.wp-block-woocommerce-cart {
		min-height: 50rem;
	}
}

.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none;
}

.wp-block-woocommerce-empty-cart-block {
	padding-block: clamp(2rem, 6vw, 4rem);
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin-block: 0 1rem;
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--ivory);
}

.wp-block-woocommerce-empty-cart-block a {
	display: inline-block;
	padding-block: 0.4rem;
}

.afayr-checkout > * {
	margin-block: 0;
}

.afayr-checkout .wp-block-post-title {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* Product page: small links get a comfortable target. */
.afayr-product__meta a,
.woocommerce div.product .reset_variations {
	display: inline-block;
	padding: 0.3rem 0.25rem;
}

/* Account deletion and other AFAYR forms: dark field, gold focus. */
form.afayr-form .afayr-field label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--silver);
}

form.afayr-form input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 32rem;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--afayr-field-border);
	border-radius: 0;
	font: inherit;
	color: var(--wp--preset--color--ivory);
	background: var(--afayr-field-bg);
}

form.afayr-form input[type="password"]:focus {
	border-color: var(--wp--preset--color--gold);
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 1px;
}

form.afayr-form .afayr-field--check {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
}

form.afayr-form .afayr-field--check label {
	margin: 0;
	font-size: 0.9375rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--ivory);
}

form.afayr-form input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	accent-color: var(--wp--preset--color--gold);
}

/* Empty cart: no decorative dots. */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	display: none;
}

/* Shop with nothing to show: a calm branded state. */
.afayr-shop-empty {
	max-width: 36rem;
	margin: clamp(2rem, 6vw, 4rem) auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
	border: 1px solid rgb(201 165 74 / 0.35);
}

.afayr-shop-empty > * {
	margin-block: 0;
}

.afayr-shop-empty > * + * {
	margin-top: 1rem;
}
