/*
 * Adalee visual system pilot: typography and accessible colours.
 * Loaded last so it can also normalise legacy front-office components.
 */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/manrope/manrope-v20-latin-ext-400-700.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/manrope/manrope-v20-latin-400-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--adl-font-sans: "Manrope", Arial, "Helvetica Neue", sans-serif;
	--adl-ink: #102a36;
	--adl-text: #3d4f58;
	--adl-text-muted: #64748b;
	--adl-primary: #087d7b;
	--adl-primary-hover: #006f6d;
	--adl-accent: #13c0bd;
	--adl-cta: #13c0bd;
	--adl-cta-hover: #0fa9a6;
	--adl-cta-text: #102a36;
	--adl-card-cta: #f4f9f8;
	--adl-card-cta-hover: #e5f3f2;
	--adl-card-cta-border: #c3dddb;
	--adl-card-cta-border-hover: #92c5c2;
	--adl-card-cta-text: #0a6665;
	--adl-card-title: #315f62;
	--adl-accent-surface: #edf9f8;
	--adl-surface: #f4f7f6;
	--adl-border: #dce7e5;
	--adl-danger: #c52b2b;
	--adl-success: #2d7d55;
	--bs-font-sans-serif: var(--adl-font-sans);
	--bs-body-font-family: var(--adl-font-sans);
	--bs-body-font-size: 1rem;
	--bs-body-font-weight: 400;
	--bs-body-line-height: 1.55;
	--bs-body-color: var(--adl-text);
	--bs-link-color: var(--adl-primary);
	--bs-link-hover-color: var(--adl-primary-hover);
}

html {
	font-size: 100%;
}

body,
button,
input,
optgroup,
select,
textarea {
	font-family: var(--adl-font-sans);
}

body {
	color: var(--adl-text);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.55;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	color: var(--adl-ink);
	font-family: var(--adl-font-sans);
	font-weight: 700;
	letter-spacing: -.01em;
}

h1,
.h1,
.adl-category-hero__title {
	font-size: clamp(1.75rem, 1.35rem + 1.8vw, 2.5rem);
	line-height: 1.16;
}

h2,
.h2 {
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	line-height: 1.22;
}

h3,
.h3 {
	font-size: clamp(1.25rem, 1.12rem + .55vw, 1.5rem);
	line-height: 1.28;
}

a {
	color: var(--adl-primary);
}

a:hover,
a:focus {
	color: var(--adl-primary-hover);
}

small,
.small {
	font-size: .8125rem;
	line-height: 1.4;
}

.rte,
.category-description,
.product-description,
.adalee-category-description {
	font-size: 1rem;
	line-height: 1.62;
}

.rte p,
.category-description p,
.product-description p,
.adalee-category-description p {
	max-width: 75ch;
}

.rte a,
.category-description a,
.product-description a,
.adalee-category-description a {
	text-decoration: underline;
	text-underline-offset: .14em;
}

.btn,
button,
[role="button"] {
	font-weight: 600;
}

.btn {
	font-size: .875rem;
}

.btn-primary,
.adalee-consent__btn--primary {
	border-color: var(--adl-primary) !important;
	background-color: var(--adl-primary) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.adalee-consent__btn--primary:hover,
.adalee-consent__btn--primary:focus {
	border-color: var(--adl-primary-hover) !important;
	background-color: var(--adl-primary-hover) !important;
	color: #fff !important;
}

.btn-primary:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
	outline: 3px solid rgba(0, 111, 109, .34);
	outline-offset: 2px;
}

.form-control,
.form-select,
input,
select,
textarea {
	color: var(--adl-text);
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
	border-color: var(--adl-primary);
}

/* Product listings */
.adl-product-card__title {
	color: var(--adl-card-title);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.36;
}

.adl-product-card__title a:hover,
.adl-product-card__title a:focus {
	color: var(--adl-primary);
}

.adl-product-card__attributes li,
.adl-product-card__stock,
.adl-product-card__feedback {
	font-size: .75rem;
	line-height: 1.4;
}

.adl-product-card__attributes li {
	color: var(--adl-text-muted);
}

.adl-product-card__attributes li strong {
	color: var(--adl-text);
	font-weight: 600;
}

.adl-product-card__stock {
	color: var(--adl-success);
}

.adl-product-card__stock > span {
	background: var(--adl-success);
}

.adl-product-card__price {
	color: var(--adl-ink);
	font-size: 1rem;
	font-weight: 700;
}

.adl-product-card__price--sale {
	color: var(--adl-danger);
}

.adl-product-card__badge {
	background: var(--adl-danger);
	font-size: .8125rem;
}

.adl-product-card__badge--new {
	background: var(--adl-primary);
}

.adl-product-card__quantity .btn,
.adl-product-card__quantity .quantity-field {
	font-size: .8125rem;
}

.adl-product-card__cta {
	font-size: .875rem;
	font-weight: 600;
}

.adl-product-card__actions .ajax_add_to_cart_button.adl-product-card__cta {
	border-color: var(--adl-card-cta-border) !important;
	background: var(--adl-card-cta) !important;
	color: var(--adl-card-cta-text) !important;
}

.adl-product-card__actions .ajax_add_to_cart_button.adl-product-card__cta:hover,
.adl-product-card__actions .ajax_add_to_cart_button.adl-product-card__cta:focus {
	border-color: var(--adl-card-cta-border-hover) !important;
	background: var(--adl-card-cta-hover) !important;
	color: var(--adl-card-cta-text) !important;
}

#add_to_cart_p .btn-primary {
	border-color: var(--adl-cta) !important;
	background: var(--adl-cta) !important;
	color: var(--adl-cta-text) !important;
}

#add_to_cart_p .btn-primary:hover,
#add_to_cart_p .btn-primary:focus {
	border-color: var(--adl-cta-hover) !important;
	background: var(--adl-cta-hover) !important;
	color: var(--adl-cta-text) !important;
}

.adl-product-card__cta-icon .icon-plus::before {
	color: var(--adl-primary);
}

/* Navigation and filters */
.adl-mega-menu__trigger {
	background: var(--adl-primary);
	color: #fff;
}

.adl-mega-menu__trigger:hover,
.adl-mega-menu__trigger:focus {
	background: var(--adl-primary-hover);
	color: #fff;
}

.adl-mega-menu__group h2,
.adl-mobile-navigation h3,
.adl-category-context__eyebrow,
.adl-category-context__label,
.adl-category-context__subcategories h2 {
	font-size: .8125rem;
}

.adl-mega-menu__group li a,
.adl-mega-menu__group .adl-mega-menu__steel-list li a,
.adl-desktop-navigation__links a,
.adl-category-context__list a,
.adl-category-context__roots a,
.adl-category-tree__row > a {
	font-size: .875rem;
}

.adl-mega-menu__root[aria-current="page"],
.adl-mega-menu__group a:hover,
.adl-desktop-navigation__links a:hover,
.adl-category-context__parent:hover,
.adl-category-context__list a:hover,
.adl-category-context__roots a:hover,
.adl-category-tree__row > a:hover,
.adl-category-tree__item.is-active-branch > .adl-category-tree__row > a,
.adl-mobile-navigation [aria-current="page"] {
	color: var(--adl-primary);
}

.adl-category-context__current,
.adl-category-tree__item.is-current > .adl-category-tree__row {
	border-left-color: var(--adl-accent);
	background: var(--adl-accent-surface);
}

.adl-facet__selected,
.adl-facet__count,
.adl-facets-mobile__badge,
.adl-facet__search-feedback,
.adl-facet__group-reset {
	font-size: .8125rem;
}

.adl-facet__group-reset,
.adl-facet__more > summary,
.adl-filter-chips__clear,
.adl-facets__clear {
	color: var(--adl-primary);
}

.adl-facet__group-reset:hover,
.adl-facet__more > summary:hover,
.adl-filter-chips__clear:hover,
.adl-facets__clear:hover {
	color: var(--adl-primary-hover);
}

@media (max-width: 767.98px) {
	body {
		font-size: 1rem;
	}

	input,
	select,
	textarea,
	.form-control,
	.form-select {
		font-size: 1rem;
	}

	.adl-product-card__title {
		font-size: .875rem;
		line-height: 1.36;
	}

	.adl-product-card__attributes li,
	.adl-product-card__stock,
	.adl-product-card__feedback {
		font-size: .75rem;
	}

	.adl-product-card__price {
		font-size: .9375rem;
	}

	.adl-product-card__cta {
		font-size: .875rem;
	}
}
