/* BLACK PARADE storefront typography. The three tracking values below set the
   rhythm for product names, reading text, and short uppercase labels. */
body.bp-native-top {
    --bp-font: "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    --bp-regular: 400;
    --bp-medium: 500;
    --bp-emphasis: 600;
    --bp-title-tracking: -.015em;
    --bp-copy-tracking: .025em;
    --bp-label-tracking: .12em;
}
.bp-store {
    font: var(--bp-regular) 14px/1.55 var(--bp-font);
    letter-spacing: var(--bp-copy-tracking);
    font-kerning: normal;
}
.bp-store button { font: inherit; }
.bp-store :where(input, select, textarea) { font-family: var(--bp-font); }
.bp-brand { line-height: 1; }

/* Navigation and small labels */
.bp-cart-link,
.bp-store .bp-nav-title,
.bp-sidebar :is(.bp-filters, .bp-site-links, .bp-social) a,
.bp-tag, .bp-stock {
    font-family: var(--bp-font);
    font-weight: var(--bp-medium);
    letter-spacing: var(--bp-label-tracking);
}
.bp-cart-link { font-size: 12px; }
.bp-cart-count { font: var(--bp-medium) 10px/18px var(--bp-font); letter-spacing: 0; }
.bp-store .bp-nav-title { font-size: 10px; line-height: 1.4; letter-spacing: .15em; }
.bp-sidebar .bp-filters a { font-size: 13px; line-height: 1.5; letter-spacing: .08em; }
/* All menu states share one light face. The dot identifies the current category. */
.bp-store .bp-sidebar :is(.bp-nav-title, a) {
    font-family: "Helvetica Neue", system-ui, var(--bp-font);
    font-weight: 300;
}
.bp-sidebar :is(.bp-site-links, .bp-social) a { font-size: 11px; line-height: 1.55; letter-spacing: .075em; }
.bp-sidebar .bp-social a { font-size: 10px; }
.bp-footer a, .bp-footer small { font-size: 11px; line-height: 1.65; letter-spacing: .04em; }
.bp-store .bp-close, .bp-panel-head button { font: 300 28px/1 var(--bp-font); letter-spacing: 0; }
.bp-photo-dialog button { font: 400 32px/1 var(--bp-font); letter-spacing: 0; }

/* Catalogue and product names */
.bp-product { --bp-card-text-size: clamp(8.5px, 6.2cqi, 10px); }
.bp-prose .bp-bike-grid h2, .bp-bike-grid h2 {
    font: var(--bp-medium) 14px/1.45 var(--bp-font);
    letter-spacing: -.005em;
}
.bp-store .bp-page-title,
#bp-product-info h1.product_title,
.bp-panel-head h2 {
    font: var(--bp-medium) clamp(26px, 3vw, 42px)/1.2 var(--bp-font);
    letter-spacing: var(--bp-title-tracking);
    text-wrap: balance;
}
#bp-product-info h1.product_title { font-size: clamp(24px, 2.45vw, 38px); }
.bp-panel-head h2 { font-size: 20px; }
.bp-price, .bp-inside .bp-purchase .price {
    font: var(--bp-regular) 12px/1.5 var(--bp-font);
    letter-spacing: .025em;
    font-variant-numeric: lining-nums tabular-nums;
}
.bp-inside .bp-purchase .price { font-size: 18px; }
.bp-tag, .bp-stock { font-size: 10px; line-height: 1.2; }
.bp-product .bp-release .bp-loop-coming-soon > span {
    font: var(--bp-regular) 10px/1.5 var(--bp-font);
    font-size: var(--bp-card-text-size);
    letter-spacing: .01em;
    font-variant-numeric: tabular-nums;
}
.bp-store .bp-product h2,
.bp-product .bp-release .bp-loop-coming-soon > .bp-loop-coming-soon__label {
    font: var(--bp-medium) 10px/1.5 var(--bp-font);
    font-size: var(--bp-card-text-size);
    letter-spacing: .025em;
}

/* Reading text, forms and purchasing */
.bp-prose { font-size: 15px; line-height: 1.85; }
.bp-prose :is(h2, h3, h4) {
    font-family: var(--bp-font);
    font-weight: var(--bp-medium);
    line-height: 1.45;
    letter-spacing: .025em;
}
.bp-prose h2 { font-size: clamp(20px, 2vw, 28px); }
.bp-prose h3 { font-size: 18px; }
.bp-prose :is(h2, h3, h4) strong { font-weight: inherit; }
.bp-prose .bp-crew :is(h2, h3),
.bp-prose .bp-crew .bp-crew-form .elementor-field-label { font-weight: var(--bp-medium); letter-spacing: .035em; }
.bp-prose .bp-crew .crew-price { font-family: var(--bp-font); font-weight: var(--bp-medium); letter-spacing: -.025em; }
.bp-purchase .woocommerce-product-details__short-description { font-size: 14px; line-height: 1.8; }
.bp-store :is(.bp-jump-buy, .bp-cart-page),
#bp-product-info .reset_variations { font-size: 12px; }
.bp-store .bp-inner :is(.single_add_to_cart_button, .checkout-button, #place_order),
.bp-cart-panel .button,
.bp-store .bp-crew a.crew-join,
.bp-store .bp-crew .bp-crew-form button.elementor-button {
    font-family: var(--bp-font);
    font-weight: var(--bp-medium);
    letter-spacing: .065em;
}
#bp-product-info .single_add_to_cart_button {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: var(--bp-label-tracking);
}
#bp-product-info .variations tr:has(.bp-size-buttons) th.label label {
    font: var(--bp-medium) 11px/1.4 var(--bp-font);
    letter-spacing: var(--bp-label-tracking);
    text-transform: uppercase;
}
#bp-product-info .variations_form .bp-size-button {
    font: var(--bp-medium) 13px/1 var(--bp-font) !important;
    letter-spacing: .035em;
}
.bp-single-product .bp-measure table {
    font: var(--bp-regular) 12px/1.5 var(--bp-font);
    letter-spacing: .02em;
    font-variant-numeric: tabular-nums;
}
.bp-single-product .bp-measure :is(caption, th, td) { font: inherit; font-variant-numeric: tabular-nums; }
.bp-single-product .bp-measure caption,
.bp-single-product .bp-measure thead th { font-weight: var(--bp-medium); letter-spacing: .045em; }
.bp-single-product .bp-measure caption span,
.bp-single-product .bp-measure thead th { font-size: 11px; }
.bp-single-product .bp-measure caption span { font-weight: var(--bp-regular); }

/* Release dates and countdown */
#bp-product-info .bp-coming-soon-date {
    font: var(--bp-regular) 14px/1.6 var(--bp-font);
    letter-spacing: .04em;
}
#bp-product-info .bp-countdown-number {
    font: var(--bp-medium) clamp(28px, 4.4vw, 36px)/1 var(--bp-font);
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: -.025em;
}
#bp-product-info .bp-countdown-label,
#bp-product-info .bp-coming-soon-box .bp-coming-soon-title {
    font: var(--bp-medium) 10px/1.4 var(--bp-font);
    letter-spacing: var(--bp-label-tracking);
}
#bp-product-info .bp-countdown-label { text-transform: uppercase; }
#bp-product-info .bp-coming-soon-box .bp-coming-soon-title { font-size: 13px; letter-spacing: .15em; }

@media (max-width: 700px) {
    .bp-cart-link { font-size: 10px; }
    .bp-tag, .bp-stock { font-size: 9px; }
    .bp-prose { font-size: 14px; }
}
