/*
 * WinShirt brand system 1.2.9
 * Light periwinkle is the visual accent. Dark purple is reserved for text and
 * filled controls on light surfaces so WCAG contrast remains readable.
 */
:root {
	--winshirt-ink: #171923;
	--winshirt-text: #2b2d3a;
	--winshirt-muted: #60677a;
	--winshirt-surface-dark: #171923;
	--winshirt-surface-dark-raised: #282c39;
	--winshirt-dark-line: #3b4154;
	--winshirt-on-dark: #ffffff;
	--winshirt-on-dark-muted: #c9cedd;
	--winshirt-accent: #a8b8f8;
	--winshirt-accent-strong: #6674e8;
	--winshirt-action: #303a91;
	--winshirt-action-hover: #21296e;
	--winshirt-soft: #f5f6ff;
	--winshirt-mist: #ecefff;
	--winshirt-line: #d8ddf4;
	--primary-color: var(--winshirt-action);
	--kwk-ink: var(--winshirt-ink);
	--kwk-deep: var(--winshirt-action);
	--kwk-accent: var(--winshirt-accent);
	--kwk-mint: var(--winshirt-mist);
	--kwk-soft: var(--winshirt-soft);
	--kwk-line: var(--winshirt-line);
	--wsux-accent: var(--winshirt-accent);
	--wsux-accent-dark: var(--winshirt-action);
	--wsux-ink: var(--winshirt-text);
	--wsux-muted: var(--winshirt-muted);
	--wsux-line: var(--winshirt-line);
}

html:root {
	--primary-color: var(--winshirt-action);
}

body {
	accent-color: var(--winshirt-action);
}

/* Flatsome and WooCommerce actions on light surfaces. */
.button.primary,
button.primary,
.checkout-button,
#place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.single_add_to_cart_button {
	background-color: var(--winshirt-action) !important;
	border-color: var(--winshirt-action) !important;
	color: #fff !important;
}

.button.primary:hover,
.button.primary:focus-visible,
button.primary:hover,
button.primary:focus-visible,
.checkout-button:hover,
.checkout-button:focus-visible,
#place_order:hover,
#place_order:focus-visible,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus-visible,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus-visible,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus-visible {
	background-color: var(--winshirt-action-hover) !important;
	border-color: var(--winshirt-action-hover) !important;
}

.button.is-outline.primary,
.button.primary.is-outline {
	background: transparent !important;
	border-color: var(--winshirt-action) !important;
	color: var(--winshirt-action) !important;
}

.button.is-outline.primary:hover,
.button.is-outline.primary:focus-visible,
.button.primary.is-outline:hover,
.button.primary.is-outline:focus-visible {
	background: var(--winshirt-action) !important;
	color: #fff !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--winshirt-action) !important;
	outline-offset: 2px;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--winshirt-accent-strong) !important;
	box-shadow: 0 0 0 3px rgb(102 116 232 / 18%) !important;
}

.icon-shopping-cart[data-icon-label]::after,
.nav-pagination > li > .current,
.nav-pagination > li > a:hover,
.badge-inner {
	background-color: var(--winshirt-action) !important;
	border-color: var(--winshirt-action) !important;
	color: #fff !important;
}

.woocommerce-breadcrumb a:hover,
.breadcrumbs a:hover,
.section-title a:hover,
.product-tabs .nav > li.active > a,
.woocommerce-tabs .nav > li.active > a {
	color: var(--winshirt-action) !important;
}

.product-tabs .nav > li.active > a,
.woocommerce-tabs .nav > li.active > a {
	border-color: var(--winshirt-accent-strong) !important;
}

/* Dark navigation and footer with the light-purple accent from the reference. */
body.wsux-mega-menu-enabled #wide-nav,
#wide-nav.nav-dark,
.header-bottom.nav-dark {
	background: var(--winshirt-surface-dark) !important;
	border-bottom-color: var(--winshirt-accent) !important;
}

.wsux-mega-menu > li:hover > a,
.wsux-mega-menu > li:focus-within > a,
.wsux-menu-heading:hover > a,
.wsux-menu-heading:focus-within > a,
.wsux-has-dropdown.is-open .wsux-menu-heading > a,
.wsux-menu-toggle:hover,
.wsux-menu-toggle:focus-visible,
.wsux-menu-toggle[aria-expanded="true"] {
	color: var(--winshirt-accent) !important;
}

.wsux-menu-shop > a {
	background: linear-gradient(120deg, var(--winshirt-action), var(--winshirt-accent-strong)) !important;
}

.wsux-mega-dropdown {
	border-top-color: var(--winshirt-accent) !important;
}

.wsux-mega-dropdown a {
	color: var(--winshirt-text);
}

.wsux-mega-dropdown a:hover,
.wsux-mega-dropdown a:focus-visible,
.wsux-mega-all {
	color: var(--winshirt-action) !important;
}

.footer-2 {
	background: #30323a !important;
}

.absolute-footer {
	background: var(--winshirt-surface-dark) !important;
}

.footer-2 .is-divider {
	background: var(--winshirt-accent) !important;
}

.footer-2 li.bullet-arrow::before {
	color: var(--winshirt-accent) !important;
}

.footer-2 a:hover,
.footer-2 a:focus-visible {
	color: var(--winshirt-accent) !important;
}

/* Store UX shopping helpers. Warning notices deliberately keep amber. */
.wsux-free-shipping,
.wsux-shipping-countdown {
	background: var(--winshirt-soft);
	border-color: var(--winshirt-line);
	color: var(--winshirt-action-hover);
}

.wsux-button,
.wsux-cookie-reopen {
	min-height: 44px;
}

.wsux-cookie-reopen {
	min-width: 44px;
}

.wsux-shipping-countdown {
	border-left-color: var(--winshirt-accent-strong);
}

.wsux-progress {
	background: var(--winshirt-mist);
}

.wsux-progress span {
	background: linear-gradient(90deg, var(--winshirt-action), var(--winshirt-accent-strong));
}

.wsux-trust-item > span {
	background: var(--winshirt-soft);
	color: var(--winshirt-action);
}

.wsux-mobile-nav {
	border-top-color: var(--winshirt-line);
}

.wsux-mobile-nav a:hover,
.wsux-mobile-nav button:hover,
.wsux-mobile-nav a:focus-visible,
.wsux-mobile-nav button:focus-visible,
.wsux-cart-count {
	color: var(--winshirt-action);
}

/* SA Catalog Engine: one coherent palette for sizes, families and delivery. */
.sa-ce-product-switcher h2,
.sa-ce-switcher-label,
.sa-ce-dispatch.is-static > strong,
.sa-ce-dispatch-copy > strong,
.sa-ce-gift-wrap strong,
.sa-ce-gift-options legend,
.sa-ce-gift-presentation legend,
.sa-ce-gift-option b,
.sa-ce-gift-tab > h2,
.sa-ce-gift-tab > h3,
.sa-ce-gift-tab-grid figcaption,
.sa-ce-consent h2,
.kwk-legal h1,
.kwk-legal h2,
.kwk-archive-heading,
.kwk-seo-guide > h2,
.kwk-faq-list summary,
.kwk-category-index h2 {
	color: var(--winshirt-ink) !important;
}

.sa-ce-purchase-facts li,
.sa-ce-colour-choice,
.sa-ce-dispatch,
.sa-ce-consent,
.kwk-faq-list details p,
.kwk-category-index-copy > p:not(.kwk-collection-eyebrow) {
	color: var(--winshirt-text) !important;
}

.sa-ce-purchase-facts i,
.sa-ce-dispatch > i,
.sa-ce-dispatch-copy b,
.sa-ce-size-guide summary,
.sa-ce-gift-wrap small b {
	color: var(--winshirt-action) !important;
}

.sa-ce-product-choice,
.sa-ce-size-guide,
.sa-ce-consent,
.kwk-legal header,
.kwk-seo-guide,
.kwk-faq-list details,
.kwk-category-index-card {
	border-color: var(--winshirt-line) !important;
}

.sa-ce-product-choice.is-active,
.sa-ce-product-choice-image,
.sa-ce-size-guide,
.sa-ce-dispatch,
.sa-ce-consent-settings,
.kwk-legal header,
.kwk-seo-guide {
	background: var(--winshirt-soft) !important;
}

.sa-ce-product-choice {
	color: var(--winshirt-text) !important;
}

.sa-ce-product-choice:hover,
.sa-ce-product-choice:focus-visible {
	border-color: var(--winshirt-accent-strong) !important;
	color: var(--winshirt-action) !important;
}

.sa-ce-product-choice.is-active {
	border-color: var(--winshirt-action) !important;
	box-shadow: inset 0 0 0 1px var(--winshirt-action);
}

.sa-ce-size-option .sa-ce-size-name {
	border-color: var(--winshirt-line) !important;
	color: var(--winshirt-text) !important;
}

.sa-ce-size-option:hover .sa-ce-size-name {
	border-color: var(--winshirt-accent-strong) !important;
}

.sa-ce-size-option input:checked + .sa-ce-size-name {
	background: var(--winshirt-action) !important;
	border-color: var(--winshirt-action) !important;
	box-shadow: inset 0 0 0 1px var(--winshirt-action);
	color: #fff !important;
}

.sa-ce-size-option input:focus-visible + .sa-ce-size-name,
.sa-ce-gift-option input:focus-visible + span,
.sa-ce-gift-presentation input:focus-visible {
	outline-color: var(--winshirt-action) !important;
}

.sa-ce-colour-choice:hover > span,
.sa-ce-colour-choice.is-active > span {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--winshirt-action) !important;
}

.sa-ce-dispatch {
	border-color: var(--winshirt-line) !important;
	border-left-color: var(--winshirt-accent-strong) !important;
}

.sa-ce-dispatch-progress,
.sa-ce-size-table thead th {
	background: var(--winshirt-mist) !important;
}

.sa-ce-dispatch-progress > span {
	background: var(--winshirt-accent-strong) !important;
}

.sa-ce-size-guide[open] summary,
.sa-ce-size-table th,
.sa-ce-size-table td,
.kwk-legal section {
	border-color: var(--winshirt-line) !important;
}

.sa-ce-size-table thead th {
	color: var(--winshirt-ink) !important;
}

.sa-ce-size-note,
.sa-ce-gift-wrap small,
.kwk-legal-kicker,
.kwk-legal-updated {
	color: var(--winshirt-muted) !important;
}

.sa-ce-gift-option:hover > span,
.sa-ce-gift-option input:checked + span {
	border-color: var(--winshirt-action) !important;
	box-shadow: inset 0 0 0 1px var(--winshirt-action);
}

.sa-ce-consent-actions .sa-ce-consent-reject,
.sa-ce-consent-actions .sa-ce-consent-accept,
.sa-ce-consent-reopen {
	background: var(--winshirt-action) !important;
	border-color: var(--winshirt-action) !important;
	color: #fff !important;
}

.sa-ce-consent-customize {
	background: #fff !important;
	border-color: var(--winshirt-action) !important;
	color: var(--winshirt-action) !important;
}

.kwk-collection-hero,
.kwk-collection-visual {
	background: var(--winshirt-surface-dark) !important;
}

.kwk-collection-eyebrow {
	color: var(--winshirt-action) !important;
}

.kwk-collection-copy .kwk-collection-eyebrow {
	color: #fff !important;
}

.kwk-collection-copy .button {
	color: var(--winshirt-action) !important;
}

.kwk-category-index-card img {
	background: var(--winshirt-soft) !important;
}

/* Checkout uses the same brand border and soft surface. */
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method,
.woocommerce-checkout #payment .winshirt-bank-logo {
	border-color: var(--winshirt-line) !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box,
.woocommerce-checkout #payment > .woocommerce-terms-and-conditions-wrapper {
	background: var(--winshirt-soft) !important;
}

.woocommerce-checkout #payment > .woocommerce-terms-and-conditions-wrapper {
	border-color: var(--winshirt-action) !important;
}

@media (prefers-reduced-motion: reduce) {
	.button,
	a {
		transition: none !important;
	}
}

@media (max-width: 849px) {
	body.wsux-mobile-navigation-enabled .wsux-cookie-banner {
		left: 10px;
		right: 10px;
		max-width: none;
		width: auto;
	}
}
