/* Loaded by the parent layout after the existing storefront styles. */
.product-retail, .catalogue-card {
    --launch-navy: #12384d;
    --launch-cyan: #007f9d;
}
.product-retail__purchase { border-top: 4px solid var(--launch-cyan); }
.product-retail__buy { gap: 16px; align-items: end; }
.product-retail .quantity-stepper { display: inline-flex; align-items: center; gap: 4px; }
.product-retail .quantity-stepper__button,
.product-retail .qty-input { min-width: 44px; min-height: 44px; text-align: center; }
.product-retail .quantity-stepper__button { color: var(--launch-navy); background: #edf8fb; border: 1px solid #bfdce5; border-radius: 8px; cursor: pointer; }
.product-retail .qty-input { width: 64px; font-size: 16px; }
.product-retail .btn, .catalogue-card__actions .btn { min-height: 44px; }
.product-retail :focus-visible, .catalogue-card :focus-visible { outline: 3px solid var(--launch-cyan); outline-offset: 3px; }
.catalogue-quality-note { padding: 16px; border-inline-start: 4px solid var(--launch-cyan); background: #edf8fb; color: var(--launch-navy); }
.product-retail__purchase h1, .catalogue-card h3 { overflow-wrap: anywhere; }
@media (max-width: 820px) {
    .product-retail__buy { display: flex; flex-wrap: wrap; }
    .product-retail__buy > .btn { flex: 1 1 180px; }
    body.page-tire .floating-contact,
    body.page-cart .floating-contact,
    body:has(.product-retail) .floating-contact {
        bottom: calc(var(--mobile-nav-height, 64px) + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)) + 100px);
        z-index: 35;
    }
    .product-retail { padding-bottom: 100px; }
}
