/* Bike Point Brand — centred on the official #EF0302 red. */
:root {
	--bp-ink: #292424;
	--bp-deep: #171313;
	--bp-paper: #f5f2ef;
	--bp-white: #ffffff;
	--bp-brand-red: #ef0302;
	--bp-acid: #e90000;
	--bp-coral: #403a3a;
	--bp-blue: #a8d8df;
	--bp-orange: #b90201;
	--bp-lavender: #d8c8ce;
	--bp-line: rgba(41, 36, 36, .2);
	--bp-shop-ink: #292424;
	--bp-shop-deep: #171313;
	--bp-shop-paper: #f5f2ef;
	--bp-shop-white: #ffffff;
	--bp-shop-brand-red: #ef0302;
	--bp-shop-acid: #e90000;
	--bp-shop-coral: #403a3a;
	--bp-shop-orange: #b90201;
	--bp-shop-line: rgba(41, 36, 36, .2);
}

/* Use warm white text wherever the primary brand red is used. */
.bikepoint-skin-brand .header-cart__count,
.bikepoint-skin-brand .header-cart__buttons a:last-child,
.bikepoint-skin-brand .language-switcher a[aria-current="page"],
.bikepoint-skin-brand .language-switcher a:hover,
.bikepoint-skin-brand .button-acid,
.bikepoint-skin-brand .service-card--acid,
.bikepoint-skin-brand .home-ride-card--acid,
.bikepoint-skin-brand .home-contact__badge,
.bikepoint-skin-brand .home-workshop__marquee,
.bikepoint-skin-brand .hotel-rider-note,
.bikepoint-skin-brand .workshop-services-grid > :first-child,
.bikepoint-skin-brand .bikepoint-form-notice--success,
.bikepoint-skin-brand .hotel-detail-facts,
.bikepoint-skin-brand .hotel-map-shop,
.bikepoint-skin-brand .structured-single--route .fact-panel .button,
.bikepoint-skin-brand .bikepoint-shop-collection--new,
.bikepoint-skin-brand .bikepoint-catalog-hero aside,
.bikepoint-skin-brand .bikepoint-help__steps,
.bikepoint-skin-brand .bikepoint-catalog-hero nav a:hover,
.bikepoint-skin-brand .bikepoint-catalog-hero nav a.is-active,
.bikepoint-skin-brand .single-product .bikepoint-product-enquiry summary,
.bikepoint-skin-brand.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.bikepoint-skin-brand.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.bikepoint-skin-brand .bikepoint-product-status--reserved,
.bikepoint-skin-brand .bikepoint-catalog-condition--new,
.bikepoint-skin-brand.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.bikepoint-skin-brand.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.bikepoint-skin-brand.woocommerce-account .woocommerce-Address-title a.edit,
.bikepoint-skin-brand .bikepoint-help__hero-image strong,
.bikepoint-skin-brand .bikepoint-catalog-filters form > button,
.bikepoint-skin-brand .woocommerce-pagination .page-numbers li a:hover,
.bikepoint-skin-brand .woocommerce-pagination .page-numbers li a:focus-visible,
.bikepoint-skin-brand .bikepoint-shop-language-switcher a[aria-current="page"],
.bikepoint-skin-brand .bikepoint-shop-language-switcher a:hover {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child .button,
.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child input[type="submit"],
.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child ul.products li.product .button,
.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child .wp-element-button {
	color: var(--bp-shop-white) !important;
}

.bikepoint-skin-brand .header-cart__count {
	border-color: var(--bp-white);
}

.bikepoint-skin-brand .home-bike-card__image--acid > span,
.bikepoint-skin-brand .bikepoint-shop-collection--new :is(h2, h3, p, span, a) {
	color: var(--bp-white);
}

/* Secondary accent surfaces use the same high-contrast treatment. */
.bikepoint-skin-brand .service-card--coral,
.bikepoint-skin-brand .home-ride-card--coral,
.bikepoint-skin-brand .home-workshop,
.bikepoint-skin-brand .bikepoint-product-status--sold,
.bikepoint-skin-brand .home-bike-card__image--coral > span {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .site-footer .footer-extra-links a {
	color: var(--bp-white);
}

.bikepoint-skin-brand .site-footer .footer-extra-links a:hover,
.bikepoint-skin-brand .site-footer .footer-extra-links a:focus-visible {
	color: var(--bp-white);
}

.bikepoint-skin-brand .hotels-trust {
	color: var(--bp-white);
	background: var(--bp-orange);
}

.bikepoint-skin-brand .hotels-trust > div {
	border-color: rgb(255 253 251 / .25);
}

.bikepoint-skin-brand .hotels-trust p {
	color: rgb(255 253 251 / .78);
}

/* Page templates originally used dark type on the light Classic accents. */
.bikepoint-skin-brand :is(
	.hire-category-acid,
	.hire-trust,
	.contact-island,
	.contact-quick,
	.shop-card-featured,
	.friend-card--1,
	.friends-hero__panel,
	.friends-intro,
	.hotel-card-featured,
	.hotel-listing-note,
	.hotels-hero-note,
	.journal-article__nav,
	.journal-card--featured,
	.journal-intro,
	.cafe-card-featured,
	.cafes-hero-note,
	.cafes-ticker,
	.faq-essentials,
	.things-hero__facts,
	.things-trail,
	.tour-detail-facts,
	.workshop-hero-stamp,
	.workshop-partners,
	.workshop-service-featured,
	.workshop-trust,
	.hotel-detail-amenities,
	.hotel-detail-location
) {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand :is(
	.hire-category-acid,
	.hire-trust,
	.contact-island,
	.contact-quick,
	.shop-card-featured,
	.friend-card--1,
	.friends-hero__panel,
	.friends-intro,
	.hotel-card-featured,
	.hotel-listing-note,
	.hotels-hero-note,
	.journal-article__nav,
	.journal-card--featured,
	.journal-intro,
	.cafe-card-featured,
	.cafes-hero-note,
	.cafes-ticker,
	.faq-essentials,
	.things-hero__facts,
	.things-trail,
	.tour-detail-facts,
	.workshop-hero-stamp,
	.workshop-partners,
	.workshop-service-featured,
	.workshop-trust,
	.hotel-detail-amenities,
	.hotel-detail-location
) :is(a, h1, h2, h3, h4, p, span, strong, small, dt, dd) {
	color: inherit !important;
}

.bikepoint-skin-brand :is(
	.faq-hero-image > strong,
	.tour-category-menu a.is-active,
	.tour-list-media > span:last-child,
	.bikepoint-tour-enquiry button,
	.gps-route-actions a,
	.journal-pagination .current,
	.bikepoint-catalog-filters__clear:hover,
	.bikepoint-catalog-filters__clear:focus-visible,
	.single-product .summary > .sale-item.product-label
) {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand :is(.faq-essentials, .tour-detail-facts) > div {
	border-color: rgb(255 253 251 / .28);
}

.bikepoint-skin-brand .journal-article__nav a {
	color: inherit;
	border-color: rgb(255 253 251 / .28);
}

/* Bike hire calls-to-action need light type on Brand red/charcoal. */
.bikepoint-skin-brand :is(.hire-help, .hire-category-coral) {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand :is(.hire-help, .hire-category-coral) :is(a, h2, h3, p, span, strong, em, i) {
	color: inherit !important;
}

.bikepoint-skin-brand .hire-help .button-dark {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .nav-cta:hover,
.bikepoint-skin-brand .nav-cta:focus-visible {
	color: var(--bp-white);
	background: var(--bp-acid);
}

.bikepoint-skin-brand .home-image-stamp {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .home-workshop__content h2 em {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .home-workshop .button-outline-light {
	color: var(--bp-white) !important;
	border-color: var(--bp-white) !important;
}

/* Keep compact directory labels readable on pale cards. */
.bikepoint-skin-brand :is(
	.tour-list-copy dt,
	.route-card-meta,
	.route-card-stats dt,
	.hotel-card-meta,
	.hotel-location span,
	.journal-card-meta,
	.cafe-card-meta
) {
	color: #5d5856 !important;
}

/* Bring WooCommerce empty states into the selected Brand palette. */
.bikepoint-skin-brand .woocommerce-no-products-found {
	margin: 0;
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid rgb(239 3 2 / .25);
	border-left: .4rem solid var(--bp-shop-acid);
	border-radius: .8rem;
	color: var(--bp-shop-ink);
	background: var(--bp-shop-white);
}

.bikepoint-skin-brand .woocommerce-no-products-found .woocommerce-info {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	background: transparent;
}

/* Override Shoptimizer's Customizer gold on Brand product and cart UI. */
.bikepoint-skin-brand :is(.price ins, div.product p.price, #secondary .widget ins span.amount) {
	color: var(--bp-shop-acid) !important;
}

.bikepoint-skin-brand .shoptimizer-cart a.cart-contents .count,
.bikepoint-skin-brand .shoptimizer-cart a.cart-contents .count::after {
	border-color: var(--bp-shop-acid) !important;
}

.bikepoint-skin-brand .shoptimizer-cart a.cart-contents .count {
	color: var(--bp-shop-acid) !important;
}

.bikepoint-skin-brand .shoptimizer-cart a.cart-contents:hover .count {
	color: var(--bp-shop-white) !important;
	background-color: var(--bp-shop-acid) !important;
}

.bikepoint-skin-brand :is(
	.woocommerce-tabs ul.tabs li a span,
	.widget_price_filter .ui-slider .ui-slider-range,
	.widget_price_filter .ui-slider .ui-slider-handle
) {
	background-color: var(--bp-shop-acid) !important;
}

/* Product enquiry trigger sits directly on the primary Brand red. */
.bikepoint-skin-brand .single-product .bikepoint-product-enquiry summary,
.bikepoint-skin-brand .single-product .bikepoint-product-enquiry summary * {
	color: var(--bp-shop-white) !important;
}

/* Active tour categories use white type on Brand red. */
.bikepoint-skin-brand .tour-category-menu a.is-active {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .tour-category-menu a.is-active span {
	color: var(--bp-white) !important;
	background: var(--bp-deep);
}

/* Replace the remaining orange tour-card eyebrow with the dark Brand red. */
.bikepoint-skin-brand .tour-list-copy > p {
	color: var(--bp-orange);
}

.bikepoint-skin-brand .tour-list-card:hover .tour-list-arrow,
.bikepoint-skin-brand .tour-list-card > a:focus-visible .tour-list-arrow {
	color: var(--bp-white) !important;
	background: var(--bp-acid);
	border-color: var(--bp-acid);
}

.bikepoint-skin-brand .shop-card-coral,
.bikepoint-skin-brand .shop-card-coral :is(a, h3, p, span, strong, address) {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .shop-card-coral :is(.shop-card-details > div, .shop-card-contact) {
	border-color: rgb(255 253 251 / .3);
}

/* Hero headlines stay entirely white on dark and image-backed heroes. */
.bikepoint-skin-brand :is(
	.archive-hero,
	.hire-hero,
	.contact-hero,
	.friends-hero,
	.hotels-hero,
	.journal-hero,
	.journal-article__hero,
	.cafes-hero,
	.faq-hero,
	.gps-hero,
	.things-hero,
	.tours-hero,
	.tour-detail-hero,
	.careers-hero,
	.workshop-hero
) h1,
.bikepoint-skin-brand :is(
	.archive-hero,
	.hire-hero,
	.contact-hero,
	.friends-hero,
	.hotels-hero,
	.journal-hero,
	.journal-article__hero,
	.cafes-hero,
	.faq-hero,
	.gps-hero,
	.things-hero,
	.tours-hero,
	.tour-detail-hero,
	.careers-hero,
	.workshop-hero
) h1 em {
	color: var(--bp-white) !important;
}

.bikepoint-skin-brand .shoptimizer-sorting .woocommerce-ordering select.orderby {
	border-color: rgb(239 3 2 / .32);
	color: var(--bp-shop-ink);
	background-color: var(--bp-shop-white);
}

.bikepoint-skin-brand .shoptimizer-sorting .woocommerce-ordering select.orderby:hover,
.bikepoint-skin-brand .shoptimizer-sorting .woocommerce-ordering select.orderby:focus {
	border-color: var(--bp-shop-acid);
	box-shadow: 0 0 0 3px rgb(239 3 2 / .12);
}

/* Header utility links must stay light against the dark/red header controls. */
@media (min-width: 993px) {
	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item > a,
	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item > a:hover,
	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item > a:focus-visible,
	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item:last-child > a {
		color: var(--bp-shop-white);
	}

	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item:last-child > a:hover,
	.bikepoint-skin-brand.wp-child-theme-bikepoint-shoptimizer-child #masthead .secondary-navigation .menu-item:last-child > a:focus-visible {
		color: var(--bp-shop-deep);
	}
}
