/* BBC Accessibility Remediation v1.1.2 */

/* Critical skip-link presentation is emitted in wp_head by the PHP implementation
 * so a delayed or missing external stylesheet cannot create a visible header row. */

:where(a, button, input, select, textarea, summary, [role="button"], [role="radio"], [role="tab"], [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid #c47a24 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #fff !important;
}

.color-scheme-dark :where(a, button, input, select, textarea, summary, [role="button"], [role="radio"], [role="tab"], [tabindex]:not([tabindex="-1"])):focus-visible,
.mobile-nav :where(a, button, input, [role="button"]):focus-visible {
	outline-color: #fff !important;
	box-shadow: 0 0 0 2px #c47a24 !important;
}

.labels-rectangular .onsale.product-label {
	letter-spacing: -0.5px !important;
	padding: 5px !important;
}

/* Preserve normal site-navigation semantics while making hover menus keyboard-reachable. */
.main-nav .menu-item-has-children.bbc-a11y-submenu-open > .sub-menu-dropdown,
.main-nav .menu-item-has-children.bbc-a11y-submenu-open > .sub-menu,
.topbar-menu .menu-item-has-children.bbc-a11y-submenu-open > .sub-menu-dropdown,
.topbar-menu .menu-item-has-children.bbc-a11y-submenu-open > .sub-menu {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}

.mobile-nav .icon-sub-menu[role="button"] {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Keep the native recovery path discoverable beside enhanced variation swatches. */
.single-product .single-product-content .variations .reset_variations {
	display: inline-flex !important;
	visibility: visible !important;
	align-items: center;
	min-height: 24px;
	margin-top: 8px;
}

.single-product .swatches-select [role="radio"] {
	min-width: 24px;
	min-height: 24px;
}

/* Reflow long product breadcrumbs instead of clipping them at narrow widths. */
.single-product .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.45rem;
	max-width: 100%;
	white-space: normal !important;
	overflow: visible !important;
}

.single-product .woocommerce-breadcrumb > * {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* Contrast repairs for measured failures on light commerce surfaces. */
.product-grid-item .price,
.product-grid-item .price ins,
.single-product-content .price,
.single-product-content .price ins,
.woocommerce-tabs .tabs li:not(.active) a,
.basel-tab-wrapper .basel-tab-title,
.bbc-shipping-status-panel {
	color: #595959 !important;
}

body .product-grid-item .price,
body .product-grid-item .price *,
.woocommerce-result-count {
	color: #595959 !important;
}

.woocommerce-review-link {
	color: #595959 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.15em;
}

body.page-id-63700 .entry-content a {
	text-decoration: underline !important;
	text-underline-offset: 0.15em;
}

.woocommerce-tabs .tabs li.active a {
	color: #111 !important;
}

.basel-cart-number {
	color: #fff !important;
}

@media (max-width: 991px) {
	.basel-cart-number {
		color: #595959 !important;
	}
}

.swatch-on-grid:not(.text-only),
.single-product .colored-swatch:not(.text-only) {
	border: 1px solid #595959 !important;
	color: transparent !important;
}

.swatch-on-grid.text-only,
.single-product .colored-swatch.text-only {
	border: 1px solid #595959 !important;
	color: #111 !important;
}

.product-grid-item .price del,
.single-product-content .price del,
.price del .amount {
	color: #666 !important;
	opacity: 1 !important;
}

.bbc-vintage-btn,
.bbc-vintage-btn:link,
.bbc-vintage-btn:visited {
	color: #765c2f !important;
	border-color: #765c2f !important;
}

.bbc-vintage-btn:hover,
.bbc-vintage-btn:focus-visible {
	background-color: #765c2f !important;
	color: #fff !important;
}

/* Keep the View cart notice action readable without changing its behavior. */
.woocommerce-message a.button.wc-forward {
	color: #256d27 !important;
	background-color: #fff !important;
}

/* Empty-cart supporting copy, not the already-dark headline. */
.woocommerce-cart .woocommerce .basel-empty-page-text {
	color: #595959 !important;
}

/* Rank Math's unlinked current item inherits a failing gray on these light bars. */
.single-breadcrumbs-wrapper .rank-math-breadcrumb .last,
.single-breadcrumbs-wrapper .rank-math-breadcrumb [aria-current="page"],
.bbc-breadcrumbs-archive .rank-math-breadcrumb .last,
.bbc-breadcrumbs-archive .rank-math-breadcrumb [aria-current="page"] {
	color: #595959 !important;
}

/* Only the audited light Best Sellers and contact-team title blocks.
 * Do not recolor the white hero or titles inside dark/image sections. */
.home .bbc-mobile-carousel .title-wrapper.basel-title-color-default:not(.bbc-pg-header-title):not(.bbc-page-title-bg):not(.color-scheme-light):not(.color-scheme-dark):not(.color-scheme-light *, .color-scheme-dark *, .bbc-pg-header-title *, .bbc-page-title-bg *) > .title-subtitle,
.page-id-546 .bbc-team-member .title-wrapper.basel-title-color-default:not(.bbc-pg-header-title):not(.bbc-page-title-bg):not(.color-scheme-light):not(.color-scheme-dark):not(.color-scheme-light *, .color-scheme-dark *, .bbc-pg-header-title *, .bbc-page-title-bg *) > .title-subtitle {
	color: #595959 !important;
}

/* Brand CTA: retain the white default and brown interactive treatment. */
.bbc-btn-brass,
.bbc-btn-brass:link,
.bbc-btn-brass:visited {
	color: #765c2f !important;
	background-color: #fff !important;
	border-color: #765c2f !important;
}

.bbc-btn-brass:hover,
.bbc-btn-brass:focus,
.bbc-btn-brass:focus-visible {
	color: #fff !important;
	background-color: #765c2f !important;
	border-color: #765c2f !important;
}

.cfw-checkout-layout a:not(.button),
.cfw-checkout-layout button.cfw-link {
	color: #005a85;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount * {
	color: #595959 !important;
}

.single-product-content .thumbnails .owl-item[role="button"] {
	min-height: 24px;
}

/* Native heading rank is independent of the existing footer typography. */
.footer-container .bbc-footer-company-title {
	font-size: 18px;
}

/* WCAG 2.2 target-size improvements for compact commerce controls. */
.woocommerce-checkout #terms {
	width: 24px !important;
	min-width: 24px !important;
	height: 24px !important;
	min-height: 24px !important;
	margin-right: 8px;
	vertical-align: middle;
}

.quantity .minus,
.quantity .plus,
.quantity input.qty,
.woocommerce-cart-form .product-remove a,
.cfw-cart-item-remove-item-button,
.woocommerce-tabs .tabs a,
.owl-nav > [role="button"] {
	min-width: 24px;
	min-height: 24px;
}

.quantity .minus,
.quantity .plus,
.quantity input.qty {
	width: 40px !important;
	min-width: 40px !important;
	height: 40px !important;
	min-height: 40px !important;
	color: #111 !important;
	background-color: #fff !important;
	border-color: #595959 !important;
}

.woocommerce-breadcrumb a,
.product_meta a[rel="tag"] {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

.footer-container a,
.footer-widget a {
	min-height: 24px;
	display: inline-flex;
	align-items: center;
}

/* Remove an empty scroll region reported by automated testing. */
#cfw-cart-summary-coupons .wrapper:empty,
#cfw-cart-summary-coupons:empty {
	overflow: visible !important;
}

/* Let trust logos reflow without requiring touch-only horizontal scrolling. */
@media (max-width: 768px) {
	.bbc-pdp-trust {
		flex-wrap: wrap !important;
		overflow-x: visible !important;
		gap: 12px 20px !important;
	}

	.bbc-pdp-trust img {
		flex: 0 1 auto !important;
		max-width: min(42%, 150px);
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto !important;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (forced-colors: active) {
	:where(a, button, input, select, textarea, [role="button"], [role="radio"], [role="tab"]):focus-visible {
		outline: 3px solid CanvasText !important;
		box-shadow: none !important;
	}
}
