/**
 * ElectroPrime ecommerce typography system.
 *
 * Roles:
 * - Urbanist: headings, navigation and product names.
 * - Albert Sans: body copy, controls, forms and legal text.
 * - EP Barlow Condensed: prices and other commercial numerals only.
 */

@font-face {
	font-family: "EP Barlow Condensed";
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/barlow-condensed-latin-ext-600-italic.woff2") format("woff2");
}

@font-face {
	font-family: "EP Barlow Condensed";
	font-style: italic;
	font-weight: 900;
	font-display: swap;
	src: url("../fonts/barlow-condensed-latin-ext-900-italic.woff2") format("woff2");
}

:root {
	--ep-font-heading: "Urbanist", "Albert Sans", Arial, sans-serif;
	--ep-font-body: "Albert Sans", Arial, sans-serif;
	--ep-font-price: "EP Barlow Condensed", "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
	--ep-type-label-size: 13px;
	--ep-type-body-size: 15px;
	--ep-type-body-leading: 1.55;
	--ep-type-title-leading: 1.25;
	--ep-type-control-leading: 1.2;
}

html,
body,
button,
input,
select,
textarea {
	font-family: var(--ep-font-body);
}

body {
	font-size: var(--ep-type-body-size);
	line-height: var(--ep-type-body-leading);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.page-title,
.entry-title,
.product_title,
.wd-entities-title,
.widget-title,
.woocommerce-column__title,
.woocommerce-order-details__title,
.cart-totals-inner > h2,
.checkout-order-review > h3,
.woocommerce-MyAccount-title {
	font-family: var(--ep-font-heading);
	line-height: var(--ep-type-title-leading);
	letter-spacing: -0.015em;
}

.main-nav,
.wd-nav,
.wd-nav a,
.wd-header-nav,
.wd-header-nav a,
.mobile-nav,
.mobile-nav a {
	font-family: var(--ep-font-heading);
	letter-spacing: 0;
}

button,
.button,
.btn,
input[type="button"],
input[type="reset"],
input[type="submit"],
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
#place_order {
	font-family: var(--ep-font-body);
	font-weight: 700;
	line-height: var(--ep-type-control-leading);
	letter-spacing: 0;
	text-transform: none;
}

label,
.form-row > label,
.woocommerce-form-row > label,
.wc-block-components-text-input label,
.wc-block-components-form .wc-block-components-text-input label {
	font-family: var(--ep-font-body);
	font-size: var(--ep-type-label-size);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
}

input,
select,
textarea,
.select2-container--default .select2-selection--single {
	font-size: 15px;
	line-height: 1.4;
}

/* Product and catalog titles. */
.single-product .product_title,
.single-product .wd-entities-title,
.ep-product-header .product_title {
	font-family: var(--ep-font-heading);
	font-weight: 600;
}

.single-product .product_title,
.ep-product-header .product_title {
	font-size: clamp(28px, 2.15vw, 36px);
	line-height: 1.14;
	letter-spacing: -0.025em;
}

.product-grid-item .wd-entities-title,
.products .wd-entities-title,
.ep-catalog-list__title,
.ep-cart-product-name,
.woocommerce-cart-form__cart-item .product-name,
.woocommerce-checkout-review-order-table .product-name {
	font-family: var(--ep-font-heading);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.008em;
}

.product-grid-item .wd-entities-title,
.products .wd-entities-title {
	font-size: 15px;
}

.ep-catalog-list__title {
	font-size: 16px;
}

/* Ratings and supporting metadata stay quiet and aligned. */
.woocommerce-review-link,
.ep-rating-count,
.ep-review-count,
.product_meta,
.product_meta a,
.wd-product-cats,
.ep-catalog-list__meta,
.ep-lowest-price,
.ep-price-context,
.ep-price-context__vat,
.ep-price-context__lowest,
.includes_tax,
.tax_label {
	font-family: var(--ep-font-body);
}

.woocommerce-review-link,
.ep-rating-count,
.ep-review-count,
.product_meta,
.wd-product-cats,
.ep-catalog-list__meta {
	font-size: 13px;
	line-height: 1.4;
}

/* Commercial numerals: one local family and one weight hierarchy. */
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.price,
.amount,
.ep-price-stack,
.ep-price-major,
.ep-price-minor,
.ep-card-price-main,
.ep-card-price-fraction,
.ep-card-price-currency,
.ep-catalog-list__current-price,
.ep-catalog-list__regular-price,
.ep-catalog-list__saving,
.ep-catalog-list__installment-price,
.ep-product-comparison__price,
.cart-subtotal .amount,
.order-total .amount,
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal,
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .order-total,
.ep-checkout-summary .amount,
.ep-cart-summary .amount {
	font-family: var(--ep-font-price) !important;
	font-style: italic;
	font-variant-numeric: tabular-nums lining-nums;
	font-feature-settings: "tnum" 1, "lnum" 1;
	letter-spacing: 0;
}

.woocommerce-Price-amount,
.price,
.amount,
.ep-price-stack,
.ep-price-major,
.ep-card-price-main,
.ep-catalog-list__current-price,
.ep-product-comparison__price,
.order-total .amount {
	font-weight: 900;
}

del,
del .woocommerce-Price-amount,
.ep-catalog-list__regular-price,
.ep-price-old,
.price del {
	font-weight: 600;
	color: #7b8783;
	text-decoration-thickness: 1.5px;
}

ins,
.price ins {
	text-decoration: none;
}

.ep-catalog-list__saving,
.ep-price-saving,
.ep-savings,
.woocommerce-cart .discount .amount,
.woocommerce-checkout .discount .amount {
	font-weight: 900;
}

/* Legal/VAT amounts are prose, not headline prices. */
.includes_tax,
.includes_tax .woocommerce-Price-amount,
.tax_label,
.ep-price-context__vat,
.ep-price-context__vat .amount,
.ep-vat-note,
.ep-vat-note .amount,
.ep-checkout-vat,
.ep-checkout-vat .amount,
.ep-cart-vat,
.ep-cart-vat .amount {
	font-family: var(--ep-font-body) !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: 1.4;
	letter-spacing: 0;
}

/* Specifications, cart and checkout use one readable UI rhythm. */
.shop_attributes,
.woocommerce-product-attributes,
.ep-key-features,
.ep-product-specs,
.cart_totals,
.checkout-order-review,
.woocommerce-checkout-payment,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	font-family: var(--ep-font-body);
}

.shop_attributes th,
.woocommerce-product-attributes-item__label,
.ep-key-features__label,
.ep-product-specs__label,
.cart_totals th,
.woocommerce-checkout-review-order-table th {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.shop_attributes td,
.woocommerce-product-attributes-item__value,
.ep-key-features__value,
.ep-product-specs__value,
.cart_totals td,
.woocommerce-checkout-review-order-table td {
	font-size: 14px;
	line-height: 1.45;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice-banner {
	font-family: var(--ep-font-body);
	font-size: 14px;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.single-product .product_title,
	.ep-product-header .product_title {
		font-size: clamp(24px, 4.6vw, 30px);
	}
}

@media (max-width: 767px) {
	:root {
		--ep-type-body-size: 15px;
		--ep-type-label-size: 12px;
	}

	.single-product .product_title,
	.ep-product-header .product_title {
		font-size: 24px;
		line-height: 1.18;
	}

	.product-grid-item .wd-entities-title,
	.products .wd-entities-title,
	.ep-catalog-list__title {
		font-size: 15px;
		line-height: 1.32;
	}

	.woocommerce-cart-form__cart-item .product-name,
	.woocommerce-checkout-review-order-table .product-name {
		font-size: 14px;
		line-height: 1.3;
	}

	button,
	.button,
	.btn,
	input,
	select,
	textarea {
		font-size: 15px;
	}
}
