/* Readability and touch refinements. Existing columns and navigation stay intact.
   FontSizes prints saved !important overrides after the stylesheets. */
body.ngp-storefront { font-size: 17px; }

body.ngp-storefront .woocommerce-product-details__short-description,
body.ngp-storefront .woocommerce-Tabs-panel,
body.ngp-storefront .ngp-technical-row dd { font-size: 17px; }

body.ngp-storefront .ngp-reference-numbers > span,
body.ngp-storefront .ngp-reference-chips b,
body.ngp-storefront .ngp-reference-chips small,
body.ngp-storefront .ngp-technical-row dt,
body.ngp-storefront .ngp-purchase-fitment p,
body.ngp-storefront .ngp-purchase-fitment small,
body.ngp-storefront .ngp-fitment-verdict p,
body.ngp-storefront .ngp-fitment-verdict small,
body.ngp-storefront .ngp-fitment-model span,
body.ngp-storefront .ngp-fitment-model small,
body.ngp-storefront .ngp-fitment-group__title small,
body.ngp-storefront .ngp-fitment-note,
body.ngp-storefront .ngp-minimum-order-note,
body.ngp-storefront .ngp-illustration-notice { font-size: 14px; line-height: 1.45; }

body.ngp-storefront .ngp-source-status,
body.ngp-storefront .ngp-source-status__tooltip { font-size: 15px; }

body.ngp-storefront .ngp-purchase-fitment strong,
body.ngp-storefront .ngp-fitment-verdict strong { font-size: 18px; }

body.ngp-storefront div.product p.price { margin: 20px 0 12px; }
body.ngp-storefront div.product p.price .ngp-price { flex-direction: column; align-items: flex-start; gap: 4px; }
body.ngp-storefront div.product p.price .ngp-price__gross { font-size: 34px; line-height: 1.25; }
body.ngp-storefront div.product p.price .ngp-price__net { font-size: 16px; }

body.ngp-storefront div.product form.cart:not(.variations_form):not(.grouped_form) {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
body.ngp-storefront div.product form.cart:not(.variations_form):not(.grouped_form) .quantity {
    flex: 0 0 auto;
    width: auto;
    grid-template-columns: 60px auto;
}
body.ngp-storefront div.product form.cart .quantity .qty {
    width: 60px;
    min-height: 50px;
    height: auto;
    font-size: 18px;
}
body.ngp-storefront div.product form.cart .ngp-quantity-unit {
    min-width: 34px;
    padding-inline: 8px;
    font-size: 16px;
}
body.ngp-storefront div.product form.cart .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 10px 16px;
    font-size: 17px;
    line-height: 1.35;
    white-space: normal;
}
body.ngp-storefront div.product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button {
    flex: 1 1 140px;
    width: auto;
}
body.ngp-storefront div.product form.cart .single_add_to_cart_button::before {
    content: "";
    display: inline-block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url('../images/cart-button.svg') center / contain no-repeat;
    mask: url('../images/cart-button.svg') center / contain no-repeat;
}

body.ngp-storefront .ngp-reference-chips,
body.ngp-storefront .ngp-purchase-fitment > div,
body.ngp-storefront .ngp-fitment-verdict > div,
body.ngp-storefront .ngp-technical-row dd { min-width: 0; overflow-wrap: anywhere; }

body.ngp-storefront ul.products li.product .woocommerce-loop-product__title,
body.ngp-storefront .ngp-featured-products ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px;
    line-height: 1.4;
    height: 2.8em;
}
body.ngp-storefront ul.products li.product .ngp-loop-sku,
body.ngp-storefront ul.products li.product .ngp-loop-fitment,
body.ngp-storefront .ngp-featured-products ul.products li.product .ngp-loop-sku,
body.ngp-storefront .ngp-featured-products ul.products li.product .ngp-loop-fitment { font-size: 15px; }
body.ngp-storefront .ngp-loop-origin { font-size: 13px; line-height: 1.4; }
body.ngp-storefront ul.products li.product .ngp-price,
body.ngp-storefront .ngp-featured-products ul.products li.product .ngp-price { flex-wrap: wrap; white-space: normal; gap: 4px 8px; }
body.ngp-storefront ul.products li.product .ngp-price__net,
body.ngp-storefront .ngp-featured-products ul.products li.product .ngp-price__net { font-size: 15px; white-space: nowrap; }
body.ngp-storefront ul.products li.product .button,
body.ngp-storefront .ngp-featured-products ul.products li.product .button { font-size: 16px; min-height: 44px; }
body.ngp-storefront ul.products li.product a.woocommerce-LoopProduct-link,
body.ngp-storefront .ngp-featured-products ul.products li.product a.woocommerce-LoopProduct-link {
    grid-template-rows: auto minmax(48px, auto) auto minmax(26px, auto) minmax(24px, auto) minmax(34px, 1fr);
}
body.ngp-storefront .ngp-illustration-badge { font-size: 12px; }

body.ngp-storefront .ngp-smart-select__value,
body.ngp-storefront .ngp-smart-select__option,
body.ngp-storefront .ngp-machine-serial input,
body.ngp-storefront .ngp-fitment-search input { font-size: 16px; }
body.ngp-storefront .ngp-machine-selector__intro p,
body.ngp-storefront .ngp-result-button,
body.ngp-storefront .ngp-global-machine__inner,
body.ngp-storefront .ngp-machine-serial > span { font-size: 16px; }

body.ngp-storefront .wc-block-components-text-input input,
body.ngp-storefront .wc-block-components-combobox .components-combobox-control__input,
body.ngp-storefront .wc-block-components-textarea { font-size: 17px; }

body.ngp-storefront .wc-block-components-totals-item__label,
body.ngp-storefront .wc-block-components-totals-item__value,
body.ngp-storefront .wc-block-components-radio-control__label { font-size: 16px; }
body.ngp-storefront .wc-block-components-totals-item__description,
body.ngp-storefront .wc-block-components-radio-control__description,
body.ngp-storefront .wc-block-components-checkout-step__description,
body.ngp-storefront .ngp-checkout-shipping-note,
body.ngp-storefront .ngp-cart-shipping-note { font-size: 15px; line-height: 1.5; }

@media (max-width: 768px) {
    body.ngp-storefront .site-search input[type="search"] { min-width: 0; min-height: 46px; font-size: 16px; }
    body.ngp-storefront .site-search button[type="submit"],
    body.ngp-storefront .menu-toggle,
    body.ngp-storefront .site-nav__close { min-width: 44px; min-height: 44px; }
    body.ngp-storefront .ngp-smart-select__button,
    body.ngp-storefront .ngp-smart-select__option,
    body.ngp-storefront .ngp-result-button,
    body.ngp-storefront .ngp-fitment-group__title { min-height: 44px; }
    body.ngp-storefront .site-nav a { min-height: 44px; display: flex; align-items: center; }
    body.ngp-storefront div.product p.price .ngp-price__gross { font-size: 32px; }
    body.ngp-storefront ul.products li.product .woocommerce-loop-product__title,
    body.ngp-storefront .ngp-featured-products ul.products li.product .woocommerce-loop-product__title { height: auto; }
    body.ngp-storefront .ngp-global-machine__inner > a { min-height: 44px; }
}

@media (max-width: 400px) {
    body.ngp-storefront div.product form.cart .single_add_to_cart_button { padding-inline: 10px; font-size: 16px; }
    body.ngp-storefront div.product form.cart:not(.variations_form):not(.grouped_form) .quantity { grid-template-columns: 52px auto; }
    body.ngp-storefront div.product form.cart .quantity .qty { width: 52px; }
}
