/*
Theme Name: RaceFace
Author: Local & Co
Description: RaceFace child theme for Glozin and WooCommerce.
Version: 1.1.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: raceface
Template: glozin
*/

@font-face {
	font-family: "RaceFace Marker";
	src: url("assets/fonts/PermanentMarker-Regular.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

:root {
	color-scheme: light;
	--rf-ink: #171717;
	--rf-paper: #fff;
	--rf-soft: #f4f5f6;
	--rf-muted: #5f5f5b;
	--rf-line: #d5d5d0;
	--rf-accent: #fc8801;
	--rf-accent-contrast: #171717;
	--rf-accent-soft: #fff1df;
	--rf-orange: var(--rf-accent);
	--rf-orange-soft: var(--rf-accent-soft);
	--rf-pink: #fa018e;
	--rf-blue: #1748df;
	--rf-lime: #8dc63f;
	--rf-success: #5f971e;
	--rf-error: #a61f1f;
	--rf-focus: #8a4700;
	--rf-radius-panel: 16px;
	--rf-radius-control: 12px;
	--rf-shadow-action: 3px 3px 0 var(--rf-ink);
	--rf-shadow-panel: 5px 5px 0 var(--rf-orange);
	--rf-body-font: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	--rf-display-font: "RaceFace Marker", "Trebuchet MS", sans-serif;
}

body.raceface-site {
	--gz-body-font: var(--rf-body-font);
	--gz-heading-font: var(--rf-body-font);
	--gz-heading-color: var(--rf-ink);
	--gz-color-base: #474743;
	--gz-color-dark: var(--rf-ink);
	--gz-color-light: var(--rf-paper);
	--gz-color-primary: var(--rf-orange);
	--gz-color-price-sale: var(--rf-orange);
	--gz-color-grey: #73736e;
	--gz-color-light-grey: var(--rf-soft);
	--gz-color-dark-grey: var(--rf-muted);
	--gz-link-color: var(--rf-ink);
	--gz-link-color-hover: #8a4700;
	--gz-text-color-on-primary: var(--rf-accent-contrast);
	--gz-button-color: var(--rf-accent-contrast);
	--gz-button-bg-color: var(--rf-orange);
	--gz-button-border-width: 2px;
	--gz-button-border-color: var(--rf-ink);
	--gz-button-color-hover: var(--rf-accent-contrast);
	--gz-button-bg-color-hover: var(--rf-orange);
	--gz-button-border-color-hover: var(--rf-ink);
	--gz-button-eff-bg-color-hover: var(--rf-orange);
	--gz-button-rounded: var(--rf-radius-control);
	--gz-input-border-color: #92928c;
	--gz-input-border-color-hover: var(--rf-ink);
	--gz-input-rounded: var(--rf-radius-control);
	--gz-image-rounded: var(--rf-radius-panel);
	--gz-image-rounded-product-card: var(--rf-radius-panel);
	background: var(--rf-paper);
	color: #474743;
	font-family: var(--rf-body-font);
	font-size: 16px;
	line-height: 1.65;
}

@supports (color: color-mix(in srgb, #000 10%, #fff)) {
	:root {
		--rf-accent-soft: color-mix(in srgb, var(--rf-accent) 14%, #fff);
	}
}

.raceface-site,
.raceface-site *,
.raceface-site *::before,
.raceface-site *::after {
	box-sizing: border-box;
}

.raceface-site ::selection {
	background: var(--rf-accent-soft);
	color: var(--rf-ink);
}

.raceface-site h1,
.raceface-site h2,
.raceface-site .h1,
.raceface-site .h2,
.raceface-site .page-header__title,
.raceface-site.single-product .product_title,
.raceface-site .elementor-widget-heading h1.elementor-heading-title,
.raceface-site .elementor-widget-heading h2.elementor-heading-title,
.raceface-site .wp-block-heading.is-style-raceface-display {
	font-family: var(--rf-display-font);
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: 1.08;
	color: var(--rf-ink);
	text-transform: none;
}

.raceface-site h3,
.raceface-site h4,
.raceface-site h5,
.raceface-site h6,
.raceface-site .h3,
.raceface-site .h4,
.raceface-site .h5,
.raceface-site .h6 {
	font-family: var(--rf-body-font);
	font-weight: 800;
	letter-spacing: -.025em;
}

.raceface-site h1,
.raceface-site .h1 {
	font-size: clamp(2.5rem, 5.25vw, 4.5rem);
}

.raceface-site h2,
.raceface-site .h2 {
	font-size: clamp(2rem, 4.2vw, 3.75rem);
}

.raceface-site h3,
.raceface-site .h3 {
	font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.raceface-site p,
.raceface-site li {
	text-wrap: pretty;
}

.raceface-site a:not(:is(.elementor-button, .gz-button, .wp-element-button, .wp-block-button__link, .button)) {
	color: var(--gz-link-color, var(--rf-ink));
	text-underline-offset: .18em;
	text-decoration-thickness: 2px;
}

.raceface-site a:not(:is(.elementor-button, .gz-button, .wp-element-button, .wp-block-button__link, .button)):hover {
	color: var(--gz-link-color-hover, var(--rf-focus));
}

.raceface-site a:focus-visible,
.raceface-site button:focus-visible,
.raceface-site [role="button"]:focus-visible {
	outline: 3px solid var(--rf-focus);
	outline-offset: 3px;
}

/* Header and navigation */
.raceface-site .topbar,
.raceface-site .campaign-bar {
	--gz-background-color: var(--rf-ink);
	--gz-text-color: var(--rf-paper);
	--gz-text-hover-color: var(--rf-orange);
	background: var(--rf-ink);
	color: var(--rf-paper);
}

.raceface-site .topbar a,
.raceface-site .campaign-bar a {
	font-weight: 750;
}

.raceface-site .site-header__section,
.raceface-site .header-contents,
.raceface-site .header-mobile-contents {
	color: var(--rf-paper);
}

.raceface-site .site-header__section {
	border-bottom: 2px solid var(--rf-ink);
	box-shadow: none;
}

.raceface-site .header-main,
.raceface-site .header-mobile-main {
	min-height: 68px;
	background-color: var(--rf-pink);
}

.raceface-site .header-main .header-contents,
.raceface-site .header-mobile-main .header-mobile-contents {
	background-color: transparent;
}

.raceface-site :is(.header-main, .header-mobile-main) :is(a, button, .glozin-svg-icon) {
	color: var(--rf-paper);
}

.raceface-site .primary-navigation .nav-menu > li > a,
.raceface-site .secondary-navigation .nav-menu > li > a {
	position: relative;
	background-image: none;
	font-size: .93rem;
	font-weight: 800;
	letter-spacing: -.01em;
	text-align: center;
	white-space: normal;
}

.raceface-site .primary-navigation .nav-menu > li > a::after,
.raceface-site .secondary-navigation .nav-menu > li > a::after {
	content: "";
	position: absolute;
	inset: 7px -5px 6px;
	border: 2px solid var(--rf-orange);
	border-radius: 49% 44% 52% 46% / 54% 48% 51% 45%;
	background: transparent;
	opacity: 0;
	pointer-events: none;
	transform: rotate(-3deg) scale(.82);
	transition: opacity 150ms ease-out, transform 260ms cubic-bezier(.16, 1, .3, 1);
}

.raceface-site .primary-navigation .nav-menu > li:hover > a::after,
.raceface-site .primary-navigation .nav-menu > li.current-menu-item > a::after,
.raceface-site .secondary-navigation .nav-menu > li:hover > a::after,
.raceface-site .secondary-navigation .nav-menu > li.current-menu-item > a::after {
	opacity: 1;
	transform: rotate(-3deg) scale(1);
}

.raceface-site .primary-navigation .sub-menu,
.raceface-site .secondary-navigation .sub-menu,
.raceface-site .mega-menu__container {
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-paper);
	box-shadow: var(--rf-shadow-panel);
}

.raceface-site :is(.primary-navigation, .secondary-navigation) .sub-menu a,
.raceface-site .mega-menu__container a {
	color: var(--rf-ink);
}

.raceface-site :is(.primary-navigation, .secondary-navigation) .sub-menu a:hover,
.raceface-site .mega-menu__container a:hover {
	color: var(--rf-focus);
}

.raceface-site .header-counter {
	background: var(--rf-orange);
	color: var(--rf-ink);
	font-weight: 800;
}

.raceface-site .header-items .gz-button-icon,
.raceface-site .header-hamburger {
	border-radius: var(--rf-radius-control);
}

.raceface-site .header-items .gz-button-icon:hover,
.raceface-site .header-hamburger:hover {
	background: var(--rf-paper);
	color: var(--rf-pink);
}

/* Page headers, breadcrumbs and global sections */
.raceface-site .page-header {
	padding-top: 20px;
	padding-bottom: 20px;
	background: var(--rf-soft);
	border-bottom: 2px solid var(--rf-ink);
}

.raceface-site .page-header__title {
	max-width: 18ch;
}

.raceface-site .site-breadcrumb,
.raceface-site .woocommerce-breadcrumb {
	font-size: .82rem;
	font-weight: 700;
}

.raceface-site .site-content {
	overflow: clip;
}

.raceface-site .elementor-widget-image img,
.raceface-site .wp-block-image img,
.raceface-site .wp-block-cover,
.raceface-site .wp-block-media-text__media img {
	border-radius: var(--rf-radius-panel);
}

.raceface-site .raceface-image-frame img,
.raceface-site .elementor-widget-image.raceface-image-frame img,
.raceface-site .wp-block-image.is-style-raceface-frame img {
	border: 2px solid var(--rf-ink);
	box-shadow: var(--rf-shadow-panel);
}

.raceface-site .raceface-panel,
.raceface-site .wp-block-group.is-style-raceface-panel {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-paper);
	box-shadow: var(--rf-shadow-panel);
}

.raceface-site .raceface-dark-band,
.raceface-site .wp-block-group.is-style-raceface-dark-band {
	background: var(--rf-ink);
	color: var(--rf-paper);
}

.raceface-site .raceface-dark-band :is(h1, h2, h3, h4, p, a),
.raceface-site .wp-block-group.is-style-raceface-dark-band :is(h1, h2, h3, h4, p, a) {
	color: inherit;
}

.raceface-site .raceface-kicker {
	display: inline-block;
	margin-bottom: .65rem;
	padding: .35rem .6rem;
	border: 2px solid var(--rf-ink);
	border-radius: 8px;
	background: var(--rf-orange);
	color: var(--rf-ink);
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
	transform: rotate(-1deg);
}

/* Buttons */
.raceface-site :is(
	button[type="submit"]:not(.gz-button-icon):not(.gz-button):not(.elementor-button),
	input[type="submit"],
	a.button:not(.gz-button-icon):not(.gz-button),
	button.button:not(.gz-button-icon):not(.gz-button),
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.wc-block-components-button:not(.is-link)
) {
	min-height: 46px;
	padding: .8rem 1.2rem;
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-control);
	background: var(--rf-orange);
	box-shadow: var(--rf-shadow-action);
	color: var(--rf-accent-contrast);
	font-family: var(--rf-body-font);
	font-size: .94rem;
	font-weight: 850;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 160ms ease-out, box-shadow 160ms ease-out, background-color 160ms ease-out;
}

.raceface-site :is(
	button[type="submit"]:not(.gz-button-icon):not(.gz-button):not(.elementor-button),
	input[type="submit"],
	a.button:not(.gz-button-icon):not(.gz-button),
	button.button:not(.gz-button-icon):not(.gz-button),
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.wc-block-components-button:not(.is-link)
):hover {
	border-color: var(--rf-ink);
	background: var(--rf-orange);
	box-shadow: 1px 1px 0 var(--rf-ink);
	color: var(--rf-accent-contrast);
	transform: translate(2px, 2px);
}

.raceface-site :is(
	button[type="submit"]:not(.gz-button-icon):not(.gz-button):not(.elementor-button),
	input[type="submit"],
	a.button:not(.gz-button-icon):not(.gz-button),
	button.button:not(.gz-button-icon):not(.gz-button),
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.wc-block-components-button:not(.is-link)
):active {
	box-shadow: none;
	transform: translate(3px, 3px) scale(.99);
}

/*
 * Preserve Elementor and Glozin colour controls while adding RaceFace tactility.
 * The intentional specificity here beats Elementor's `.elementor a` shadow reset
 * without taking ownership of each widget's background, text or border colours.
 */
.raceface-site :is(
	.elementor-widget .elementor-button,
	.elementor-widget .gz-button:not(.gz-button-text):not(.gz-button-subtle):not(.gz-button-icon),
	.wp-element-button,
	.wp-block-button__link
) {
	min-height: 44px;
	border: var(--gz-button-border-width, 2px) solid var(--gz-button-border-color, var(--rf-ink));
	border-radius: var(--rf-radius-control);
	box-shadow: var(--rf-shadow-action);
	font-family: var(--rf-body-font);
	font-weight: 850;
	line-height: 1;
	text-decoration: none;
	text-align: center;
	white-space: normal;
	transition: transform 160ms ease-out, box-shadow 160ms ease-out, filter 160ms ease-out;
}

.raceface-site :is(
	.elementor-widget .elementor-button,
	.elementor-widget .gz-button:not(.gz-button-text):not(.gz-button-subtle):not(.gz-button-icon),
	.wp-element-button,
	.wp-block-button__link
):hover {
	border-color: var(--gz-button-border-color-hover, var(--rf-ink));
	box-shadow: 1px 1px 0 var(--rf-ink);
	filter: saturate(1.04);
	transform: translate(2px, 2px);
}

.raceface-site :is(
	.elementor-widget .elementor-button,
	.elementor-widget .gz-button:not(.gz-button-text):not(.gz-button-subtle):not(.gz-button-icon),
	.wp-element-button,
	.wp-block-button__link
):active {
	box-shadow: none;
	transform: translate(3px, 3px) scale(.99);
}

.raceface-site :is(
	a.button.gz-button-outline,
	button.button.gz-button-outline,
	.gz-button.gz-button-outline,
	.is-style-outline > .wp-block-button__link,
	.elementor-button.raceface-button-secondary
) {
	--gz-button-bg-color: var(--rf-paper);
	--gz-button-bg-color-hover: var(--rf-paper);
	--gz-button-color: var(--rf-ink);
	--gz-button-color-hover: var(--rf-ink);
	background: var(--rf-paper);
	color: var(--rf-ink);
}

/* Keep the product customiser's purpose-built compact controls intact. */
.raceface-site .rfpc-customiser :is(.rfpc-icon-button, .rfpc-reset-button) {
	background: var(--rfpc-paper) !important;
	box-shadow: none !important;
	transform: none;
}

.raceface-site .rfpc-customiser :is(.rfpc-icon-button, .rfpc-reset-button):hover:not(:disabled) {
	background: var(--rfpc-orange) !important;
}

.raceface-site :is(button:not(.gz-button-icon), input[type="submit"], .button:not(.gz-button-icon), .gz-button:not(.gz-button-icon), .wp-element-button, .elementor-button):is(:disabled, .disabled, [aria-disabled="true"]) {
	border-color: #a5a59f !important;
	background: #e9e9e5 !important;
	box-shadow: none !important;
	color: #666661 !important;
	cursor: not-allowed;
	opacity: 1 !important;
	pointer-events: none;
	transform: none;
}

/* Forms */
.raceface-site label {
	color: var(--rf-ink);
	font-weight: 750;
}

.raceface-site :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="date"],
	textarea,
	select,
	.select2-container .select2-selection--single,
	.wc-block-components-text-input input
) {
	min-height: 48px;
	border: 1px solid #92928c;
	border-radius: var(--rf-radius-control);
	background: var(--rf-paper);
	box-shadow: none;
	color: var(--rf-ink);
}

.raceface-site textarea {
	min-height: 130px;
}

.raceface-site :is(input, textarea, select)::placeholder {
	color: #6d6d68;
	opacity: 1;
}

.raceface-site :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="date"],
	textarea,
	select,
	.select2-container--focus .select2-selection--single,
	.wc-block-components-text-input input
):focus {
	border-color: var(--rf-focus);
	outline: 3px solid rgba(138, 71, 0, .22);
	outline-offset: 1px;
}

.raceface-site input[type="checkbox"],
.raceface-site input[type="radio"] {
	accent-color: var(--rf-orange);
}

.raceface-site .woocommerce-invalid :is(input, select, textarea),
.raceface-site :is(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--rf-error);
	outline-color: rgba(166, 31, 31, .2);
}

/* Notices and feedback */
.raceface-site :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	.wc-block-components-notice-banner,
	.elementor-message
) {
	padding: 1rem 1.1rem;
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius-control);
	background: var(--rf-soft);
	box-shadow: 0 2px 0 rgba(23, 23, 23, .08);
	color: var(--rf-ink);
}

.raceface-site .woocommerce-message,
.raceface-site .wc-block-components-notice-banner.is-success {
	border-color: color-mix(in srgb, var(--rf-success) 55%, white);
	background: #f2f8eb;
}

.raceface-site .woocommerce-error,
.raceface-site .wc-block-components-notice-banner.is-error,
.raceface-site .elementor-message-danger {
	border-color: color-mix(in srgb, var(--rf-error) 55%, white);
	background: #fff0f0;
	color: #7f1111;
}

/* Product archives and cards */
.raceface-site ul.products li.product .product-inner,
.raceface-site .wc-block-grid__product,
.raceface-site .wc-block-product {
	height: 100%;
}

.raceface-site ul.products li.product .product-thumbnail,
.raceface-site .wc-block-grid__product-image,
.raceface-site .wc-block-components-product-image {
	overflow: hidden;
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-soft);
	box-shadow: 4px 4px 0 var(--rf-orange);
	transition: transform 180ms ease-out, box-shadow 180ms ease-out;
}

.raceface-site ul.products li.product .product-thumbnail img,
.raceface-site .wc-block-grid__product-image img {
	transition: filter 320ms ease-out, transform 420ms cubic-bezier(.16, 1, .3, 1);
}

.raceface-site ul.products li.product:hover .product-thumbnail,
.raceface-site .wc-block-grid__product:hover .wc-block-grid__product-image {
	box-shadow: 2px 2px 0 var(--rf-orange);
	transform: translate(2px, 2px);
}

.raceface-site ul.products li.product:hover .product-thumbnail img,
.raceface-site .wc-block-grid__product:hover .wc-block-grid__product-image img {
	filter: saturate(1.06);
	transform: scale(1.025) rotate(.2deg);
}

.raceface-site ul.products li.product .woocommerce-loop-product__title,
.raceface-site .wc-block-grid__product-title,
.raceface-site .wc-block-components-product-name {
	color: var(--rf-ink);
	font-family: var(--rf-body-font);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.25;
}

.raceface-site :is(.price, .product-price, .wc-block-grid__product-price) {
	color: var(--rf-ink);
	font-weight: 850;
}

.raceface-site :is(.price ins, .product-price ins) {
	color: #8a4700;
	text-decoration: none;
}

.raceface-site .woocommerce-badge,
.raceface-site .onsale,
.raceface-site .wc-block-grid__product-onsale {
	border: 2px solid var(--rf-ink);
	border-radius: 8px;
	background: var(--rf-orange);
	color: var(--rf-ink);
	font-size: .72rem;
	font-weight: 850;
	text-transform: uppercase;
}

.raceface-site .product-featured-icons .gz-button-icon,
.raceface-site .product-loop-button.gz-button-icon {
	border: 1px solid var(--rf-ink);
	background: var(--rf-paper);
	color: var(--rf-ink);
}

.raceface-site .product-featured-icons .gz-button-icon:hover,
.raceface-site .product-loop-button.gz-button-icon:hover {
	background: var(--rf-orange);
}

.raceface-site .woocommerce-pagination ul .page-numbers {
	border: 1px solid var(--rf-ink);
	border-radius: 10px;
}

.raceface-site .woocommerce-pagination ul .page-numbers.current {
	background: var(--rf-orange);
	color: var(--rf-ink);
}

/* Single product */
.raceface-site.single-product .product-gallery-summary {
	align-items: flex-start;
}

.raceface-site.single-product .woocommerce-product-gallery__image,
.raceface-site.single-product .woocommerce-product-gallery__wrapper,
.raceface-site.single-product .glozin-product-gallery-thumbnails img {
	border-radius: var(--rf-radius-panel);
}

.raceface-site.single-product .woocommerce-product-gallery__image {
	overflow: hidden;
	border: 2px solid var(--rf-ink);
	background: var(--rf-soft);
}

.raceface-site.single-product .product-summary > .product_title {
	font-size: clamp(2rem, 4vw, 3.6rem);
}

.raceface-site.single-product .variations {
	padding: 1rem;
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-soft);
}

.raceface-site.woocommerce .quantity,
.raceface-site .woocommerce .quantity {
	--gz-quantity-width: 42px;
	--gz-quantity-height: 44px;
	--gz-quantity-button-padding: 0;
	--gz-quantity-background-color: var(--rf-soft);
	--gz-quantity-border-color: var(--rf-ink);
	--gz-quantity-color: var(--rf-ink);
	display: inline-grid;
	grid-template-columns: 42px 42px 42px;
	height: 44px;
	overflow: hidden;
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-control);
	background: var(--rf-soft);
}

.raceface-site.woocommerce .quantity .glozin-qty-button,
.raceface-site .woocommerce .quantity .glozin-qty-button {
	display: grid;
	place-items: center;
	width: 42px;
	height: 40px;
	padding: 0;
	background: transparent;
	color: var(--rf-ink);
	transition: background-color 140ms ease-out, color 140ms ease-out;
}

.raceface-site.woocommerce .quantity .glozin-qty-button:hover,
.raceface-site .woocommerce .quantity .glozin-qty-button:hover {
	background: var(--rf-orange-soft);
}

.raceface-site.woocommerce .quantity .glozin-qty-button::before,
.raceface-site .woocommerce .quantity .glozin-qty-button::before {
	display: none;
}

.raceface-site.woocommerce .quantity input.qty,
.raceface-site .woocommerce .quantity input.qty {
	width: 42px;
	min-height: 40px;
	height: 40px;
	padding: 0;
	border-width: 0 1px;
	border-style: solid;
	border-color: var(--rf-line);
	border-radius: 0;
	background: var(--rf-paper);
	box-shadow: none;
	color: var(--rf-ink);
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
	font-weight: 750;
}

.raceface-site.single-product .woocommerce-tabs,
.raceface-site.single-product .gz-product-tabs {
	border-top: 2px solid var(--rf-ink);
}

.raceface-site.single-product .woocommerce-tabs-title,
.raceface-site.single-product .woocommerce-tabs ul.tabs li a {
	font-weight: 850;
}

.raceface-site.single-product :is(.related, .upsells, .recently-viewed-products) > h2 {
	max-width: 18ch;
}

/* Cart, checkout and account */
.raceface-site.woocommerce-cart .cart_totals .cart_totals_summary,
.raceface-site.woocommerce-checkout .woocommerce-checkout-review-order,
.raceface-site.woocommerce-checkout .checkout-content-form,
.raceface-site.woocommerce-account .woocommerce-MyAccount-navigation,
.raceface-site.woocommerce-account .woocommerce-MyAccount-content {
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-paper);
}

.raceface-site.woocommerce-cart .cart_totals .cart_totals_summary,
.raceface-site.woocommerce-checkout .woocommerce-checkout-review-order {
	box-shadow: var(--rf-shadow-panel);
}

.raceface-site .shop_table thead,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents thead tr {
	background: var(--rf-ink);
	color: var(--rf-paper);
}

.raceface-site .shop_table thead th,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents thead th {
	padding: 15px 18px;
	color: inherit;
	font-size: .84rem;
	font-weight: 850;
	letter-spacing: .035em;
	line-height: 1.2;
	text-transform: uppercase;
	vertical-align: middle;
}

.raceface-site .shop_table thead th:first-child,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents thead th:first-child {
	border-radius: 12px 0 0 12px;
}

.raceface-site .shop_table thead th:last-child,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents thead th:last-child {
	border-radius: 0 12px 12px 0;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents :is(th, td).product-price,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents :is(th, td).product-quantity {
	text-align: center;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents :is(th, td).product-subtotal {
	text-align: end;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents tbody td {
	vertical-align: middle;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents tbody td.product-name {
	font-weight: 800;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .actions {
	padding-top: 24px;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .coupon {
	align-items: stretch;
	gap: 10px;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .coupon .button {
	min-width: 0;
	margin-inline-start: 0;
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .coupon input,
.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .actions .button {
	min-height: 44px;
}

/* Native Glozin accordion motion, kept short enough for repeated FAQ use. */
.raceface-site :is(.gz-accordion-title, .elementor-tab-title) :is(.glozin-svg-icon, .elementor-accordion-icon) {
	transition: color 180ms ease-out, transform 260ms cubic-bezier(.16, 1, .3, 1);
}

.raceface-site :is(.gz-accordion-title.active, .elementor-tab-title.elementor-active) :is(.glozin-svg-icon, .elementor-accordion-icon) {
	color: var(--rf-orange);
	transform: rotate(90deg);
}

/* Optional Elementor helper classes for one authored hero entrance. */
@media (prefers-reduced-motion: no-preference) {
	.raceface-site .raceface-hero-copy {
		animation: raceface-copy-in 620ms cubic-bezier(.16, 1, .3, 1) both;
	}

	.raceface-site .raceface-hero-media {
		animation: raceface-photo-in 720ms 80ms cubic-bezier(.16, 1, .3, 1) both;
	}

	@keyframes raceface-copy-in {
		from {
			clip-path: inset(0 100% 0 0);
			filter: blur(3px);
			transform: rotate(-1deg) translateX(-12px);
		}
		to {
			clip-path: inset(-6% -4%);
			filter: blur(0);
			transform: none;
		}
	}

	@keyframes raceface-photo-in {
		from {
			clip-path: inset(0 0 12% 0 round 16px);
			filter: saturate(.78);
			transform: scale(.965) rotate(.8deg);
		}
		to {
			clip-path: inset(0 round 16px);
			filter: saturate(1);
			transform: none;
		}
	}
}

.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents td.product-thumbnail img,
.raceface-site .wc-block-cart-item__image img,
.raceface-site .wc-block-components-order-summary-item__image img {
	border: 1px solid var(--rf-ink);
	border-radius: var(--rf-radius-control);
}

.raceface-site.woocommerce-checkout #payment,
.raceface-site.woocommerce-checkout .wc_payment_methods,
.raceface-site .wc-block-checkout__payment-method {
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius-control);
	background: var(--rf-soft);
}

.raceface-site.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--rf-orange);
	color: var(--rf-ink);
	font-weight: 850;
}

/* Blog and comments */
.raceface-site .hentry .entry-thumbnail img,
.raceface-site .post-thumbnail img {
	border: 2px solid var(--rf-ink);
	border-radius: var(--rf-radius-panel);
	box-shadow: var(--rf-shadow-panel);
}

.raceface-site .entry-title a {
	color: var(--rf-ink);
}

.raceface-site .entry-read-more .gz-button-subtle {
	background: var(--rf-orange);
	color: var(--rf-ink);
}

.raceface-site .comment-list .comment-body {
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius-panel);
	background: var(--rf-soft);
}

/* Footer and panels */
.raceface-site .site-footer {
	border-top: 3px solid var(--rf-orange);
	background: var(--rf-ink);
	color: #e5e5e0;
}

.raceface-site .site-footer :is(h2, h3, h4, h5, h6, a, strong) {
	color: var(--rf-paper);
}

.raceface-site .site-footer a:hover {
	color: var(--rf-orange);
}

.raceface-site :is(.panel, .modal, .popover, .offcanvas) {
	--gz-background-color: var(--rf-paper);
}

.raceface-site .modal__container,
.raceface-site .popover__container,
.raceface-site .panel__container {
	border-left: 2px solid var(--rf-ink);
	background: var(--rf-paper);
}

.raceface-site .gz-button-go-top {
	border: 2px solid var(--rf-ink);
	background: var(--rf-orange);
	box-shadow: var(--rf-shadow-action);
}

.raceface-site .gz-button-go-top svg {
	color: var(--rf-ink);
	mix-blend-mode: normal;
}

@media (max-width: 767px) {
	.raceface-site h1,
	.raceface-site .h1 {
		font-size: clamp(2.35rem, 12vw, 3.8rem);
	}

	.raceface-site h2,
	.raceface-site .h2 {
		font-size: clamp(1.9rem, 9vw, 3rem);
	}

	.raceface-site .site-header__mobile.site-header__section,
	.raceface-site .site-header__mobile .header-mobile-main {
		box-shadow: none !important;
	}

	.raceface-site .site-header__mobile .header-mobile-main {
		border-bottom: 0;
	}

	.raceface-site .header-mobile-main {
		min-height: 62px;
	}

	.raceface-site .raceface-panel,
	.raceface-site .wp-block-group.is-style-raceface-panel {
		padding: 1.1rem;
		box-shadow: 4px 4px 0 var(--rf-orange);
	}

	.raceface-site ul.products li.product .product-thumbnail,
	.raceface-site .wc-block-grid__product-image {
		box-shadow: 3px 3px 0 var(--rf-orange);
	}

	.raceface-site.woocommerce-cart .cart_totals .cart_totals_summary,
	.raceface-site.woocommerce-checkout .woocommerce-checkout-review-order {
		box-shadow: 4px 4px 0 var(--rf-orange);
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 10px 14px;
		padding: 16px 0 20px;
		border-bottom: 1px solid var(--rf-line);
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-thumbnail {
		grid-row: 1 / span 3;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-name {
		padding: 0;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-quantity {
		padding: 0;
		text-align: start;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-quantity .quantity {
		--gz-quantity-width: 40px;
		--gz-quantity-height: 42px;
		--gz-quantity-button-padding: 0;
		grid-template-columns: 40px 40px 40px;
		height: 42px;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-quantity :is(.glozin-qty-button, input.qty) {
		width: 40px;
		height: 38px;
		min-height: 38px;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .actions,
	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .coupon {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		gap: 10px;
	}

	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .actions .button,
	.raceface-site.woocommerce-cart table.woocommerce-cart-form__contents .coupon input {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.raceface-site *,
	.raceface-site *::before,
	.raceface-site *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
