/* Product browsing starts immediately; keep the shared visual refresh. */
.precision-page .cp-nav.sticky-top { position: sticky; top: 0; z-index: 1020; }
.precision-page .cp-catalogue-intro { padding: .6rem 0; margin-bottom: .6rem; }
.precision-page .cp-catalogue-intro h1 { font-size: 2rem; margin: 0; line-height: 1.15; }
.precision-page .cp-catalogue-kicker { display: none; }
.precision-page .cp-desktop-intro-copy { max-width: 850px; margin-top: .5rem; }
.precision-page .cp-preparation-details { margin: 0 0 .6rem; font-size: .8rem; color: #586577; }
.precision-page .cp-preparation-details summary { cursor: pointer; min-height: 44px; display: list-item; align-content: center; }
.precision-page .cp-preparation-details p { margin-top: .5rem; }
.precision-page .cp-card-body a[data-variant-coa-link] { background: transparent; border: 0; color: #0048ff; text-decoration: underline; text-underline-offset: 3px; padding: .4rem; min-height: 44px; }
.precision-page .cp-product-description { margin: .25rem 0 .75rem; color: #586577; font-size: .87rem; line-height: 1.5; }
.precision-page .cp-product-description p { margin: 0; }
.precision-page .cp-card-information a { display: inline-flex; align-items: center; min-height: 44px; color: #0048ff; text-underline-offset: 3px; gap: .3rem; }
@media (max-width: 575.98px) {
    .precision-page .container { padding-left: 16px; padding-right: 16px; }
    .precision-page .cp-nav .cp-logo { position: static; transform: none; grid-column: 2; min-width: 0; }
    .precision-page .cp-nav .cp-logo-image { width: 100%; max-width: 175px; object-position: center; }
    .precision-page .cp-nav .cp-profile-button.with-label { width: 44px; min-width: 44px; }
    .precision-page .cp-nav .cp-profile-button-label { display: none; }
    .precision-page .cp-catalogue-intro { padding: 0; margin: 0 0 .75rem; }
    .precision-page .cp-catalogue-intro h1 { font-size: 1.5rem; }
    .precision-page .cp-mobile-intro-copy { font-size: .8rem; margin: .35rem 0 0; line-height: 1.4; }
    .precision-page .cp-product-search { margin-bottom: .65rem; }
    .precision-page .cp-catalogue-filter {
        display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .4rem; overflow: visible; white-space: normal;
        margin: 0; padding: 0;
    }
    .precision-page .cp-filter-button { min-width: 0; min-height: 44px; font-size: .72rem; padding: .4rem .25rem; text-align: center; }
    .precision-page .cp-product-card { display: grid; grid-template-columns: 46% minmax(0, 1fr); grid-template-rows: min-content min-content min-content 1fr auto auto auto; height: auto; }
    .precision-page .cp-card-visual { grid-column: 1; grid-row: 1 / 5; width: 100%; height: 100%; min-height: 220px; border: 0; }
    .precision-page .cp-product-image.fit-soft,
    .precision-page [data-product-category="refill-cartridges"] .cp-product-image { padding: .35rem; object-fit: contain; object-position: center; }
    /* Let the image and key details share the top; buying controls use the full card width. */
    .precision-page .cp-card-body.p-4 { display: contents; }
    .precision-page .cp-card-body > * { min-width: 0; }
    .precision-page .cp-card-intro { grid-column: 2; grid-row: 1; margin: .85rem .85rem .4rem 0!important; }
    .precision-page .cp-card-variant-slot { grid-column: 2; grid-row: 2; margin-right: .85rem; }
    .precision-page .cp-mobile-card-facts { grid-column: 2; grid-row: 3; margin-right: .85rem; }
    .precision-page .cp-product-description { grid-column: 2; grid-row: 4; margin: .1rem .85rem .25rem 0; font-size: .78rem; line-height: 1.45; }
    .precision-page .cp-card-price { grid-column: 1 / -1; grid-row: 6; margin: 0 .85rem; }
    .precision-page .cp-card-body > .d-grid { grid-column: 1 / -1; grid-row: 7; margin: 0 .85rem .85rem; }
    .precision-page .cp-card-visual.has-carousel { padding-bottom: 32px; }
    .precision-page .cp-card-carousel-controls { bottom: .25rem; }
    .precision-page .cp-card-title h3 { font-size: 1rem; overflow-wrap: anywhere; }
    .precision-page .cp-card-spec { font-size: .76rem; margin: .25rem 0 .4rem; }
    .precision-page .cp-card-intro { margin-bottom: .4rem!important; }
    .precision-page .cp-card-intro .cp-badge { font-size: .68rem; padding: .25rem .4rem; }
    .precision-page .cp-mobile-card-facts { gap: 0; margin: 0 0 .35rem; }
    .precision-page .cp-mobile-card-facts span { font-size: .68rem; }
    .precision-page .cp-mobile-card-facts span + span { display: none; }
    .precision-page .cp-card-variant-slot { margin-bottom: .45rem!important; }
    .precision-page .cp-variant-button { font-size: .75rem; min-width: 44px; padding: .4rem; }
    .precision-page .cp-card-price { padding: .5rem 0!important; gap: .25rem; }
    .precision-page .cp-price { font-size: 1.35rem; }
    .precision-page .cp-card-price .small { font-size: .65rem; }
    .precision-page .cp-card-body > .d-grid { padding-top: .6rem!important; gap: .1rem!important; }
    .precision-page .cp-card-body .cp-button { padding: .65rem .4rem; font-size: .8rem; min-height: 44px; }
    .precision-page .cp-card-body button[data-mobile-label] { font-size: .8rem; }
    .precision-page .cp-popular-badge { font-size: .55rem; left: .3rem; top: .35rem; padding: .25rem .4rem; min-height: 22px; }
    .precision-page .cp-preparation-details { font-size: .72rem; margin-bottom: .2rem; }
    .precision-page .cp-preparation-details .cp-card-copy { font-size: .75rem; }
}
@media (max-width: 575.98px) {
    .precision-page .cp-card-body > .d-grid { grid-template-columns: minmax(0, 1fr); }
    .precision-page [data-variant-order-label] { font-size: .8rem!important; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .precision-page .cp-nav-links { gap: .7rem; }
    .precision-page .cp-nav .cp-logo-image { width: 175px; }
    .precision-page .cp-nav .cp-button { padding: .65rem .75rem; gap: .4rem; }
}

/* Secondary information shares one row, leaving the order button close to the price. */
.precision-page .cp-card-information { display: flex; flex-wrap: wrap; align-items: center; column-gap: .85rem; margin: 0 0 .4rem; font-size: .8rem; }
.precision-page .cp-card-information a { white-space: nowrap; }
.precision-page .cp-card-information a[data-variant-coa-link] { padding: 0; }
.precision-page .cp-card-information .cp-preparation-details { margin: 0; font-size: inherit; }
.precision-page .cp-card-information .cp-preparation-details[open] { flex-basis: 100%; }
.precision-page .cp-catalogue-browse { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: .2rem 0 .6rem; font-size: .78rem; color: #586577; }
.precision-page .cp-all-products { border: 0; background: transparent; color: #0048ff; text-decoration: underline; text-underline-offset: 3px; min-height: 44px; padding: .4rem .5rem; }
.precision-page .cp-all-products.active { color: #11151f; font-weight: 700; }
@media (max-width: 575.98px) {
    .precision-page .cp-card-information { grid-column: 1 / -1; grid-row: 5; margin: 0 .85rem; font-size: .72rem; column-gap: .8rem; }
    .precision-page .cp-card-information a { min-height: 44px; }
    .precision-page #product-grid { --bs-gutter-y: 1rem; }
}

/* Compact browsing cards: keep the photography prominent and use its neighbouring space. */
.precision-page .cp-card-coa { margin: 0 0 .5rem; font-size: .8rem; color: #586577; }
.precision-page .cp-card-coa a[data-variant-coa-link] { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
.precision-page .cp-card-coa [hidden] { display: none !important; }
@media (max-width: 575.98px) {
    .precision-page .cp-product-card { grid-template-columns: 44% minmax(0, 1fr); grid-template-rows: min-content min-content 1fr auto auto auto auto; }
    .precision-page .cp-card-visual { grid-row: 1 / 4; min-height: 220px; height: 100%; }
    .precision-page .cp-card-intro { grid-column: 2; grid-row: 1; }
    .precision-page .cp-card-price { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; align-items: flex-start; margin: 0 .85rem 0 0; padding: .3rem 0 !important; border: 0 !important; gap: .25rem; }
    .precision-page .cp-card-price .text-end { text-align: left !important; }
    .precision-page .cp-card-price .cp-price { font-size: 1.5rem; }
    .precision-page .cp-card-price .small { font-size: .72rem; }
    .precision-page .cp-card-coa { grid-column: 2; grid-row: 3; align-self: start; margin: 0 .85rem .5rem 0; font-size: .75rem; }
    .precision-page .cp-product-description { grid-column: 1 / -1; grid-row: 4; margin: .4rem .85rem .2rem; font-size: .875rem; line-height: 1.45; }
    .precision-page .cp-card-variant-slot { grid-column: 1 / -1; grid-row: 5; margin: .5rem .85rem 0 !important; }
    .precision-page .cp-card-information { grid-column: 1 / -1; grid-row: 6; margin: .15rem .85rem 0; }
    .precision-page .cp-card-body > .d-grid { grid-column: 1 / -1; grid-row: 7; margin: 0 .85rem .85rem; padding-top: .25rem !important; }
}
