/* Category profiles supply the merchandising structure and the buying panel treatments. */
.sf-header-fit .b5-desktop-nav { gap: clamp(10px,1.25vw,21px); }
.sf-header-studio .b5-desktop-nav { border-block-end: 1px solid var(--accent); padding-block: 6px; }
.sf-header-entry .b5-desktop-nav { gap: clamp(10px,1.4vw,24px); }
.sf-header-workshop .b5-desktop-nav > a:first-child { padding-inline: .65rem; border: 1px solid currentColor; border-radius: 3px; }
.sf-header-rail .b5-desktop-nav { border-inline-start: 1px solid var(--line); padding-inline-start: 1rem; }
.sf-header-field .b5-desktop-nav { gap: clamp(10px,1.3vw,21px); }
.sf-header-shelf .b5-desktop-nav > a:first-child { font-weight: 800; }

.sf-home > .b5-section { margin-block: clamp(14px,2.5vw,32px); }
.sf-home .b5-section-head { margin-bottom: clamp(10px,1.5vw,20px); }
.sf-home .sf-module-row { gap: clamp(9px,1.3vw,18px); margin-block: 9px; }
.sf-home .sf-module { padding: clamp(12px,1.5vw,20px); }
.sf-home .sf-module h2 { margin: 0 0 .35rem; font-size: clamp(1.17rem,1.8vw,1.65rem); }
.sf-home .sf-module :is(p,details) { margin-block: .25rem .4rem; }
.sf-home .sf-module a { font-size: .88rem; }
.sf-home .b7-buying-summary, .sf-home .sf-faq details { padding: .35rem 0; }
.sf-home .b7-buying-summary > summary, .sf-home .sf-faq details > summary { cursor: pointer; line-height: 1.4; }
.sf-home .b7-merchant-links { display: flex; flex-wrap: wrap; gap: .25rem .7rem; margin: .3rem 0 0; }
.sf-home .b7-merchant-links a { text-underline-offset: .15em; }
.sf-home .b7-card-kind { margin: 0 0 .22rem; font-size: .72rem; font-weight: 650; }
.sf-home .b7-empty { margin: 0; padding: 12px; border: 1px solid var(--line); }
.sf-home .sf-support { margin-block: 9px; padding-block: 10px; }
.sf-home .sf-support h2 { margin-block: 0 .18rem; font-size: 1.22rem; }
.sf-home .sf-support p { margin: 0; }
.sf-home .b5-close { margin-top: 16px; }
.sf-home .b5-close .b5-shell { padding-block: clamp(12px,2vw,24px); }
.sf-home .b5-close h2 { font-size: clamp(1.15rem,2.2vw,2rem); }
.sf-home .sf-service .storefront-delivery-notice { padding: 0; margin: .22rem 0; }
body.home > .storefront-delivery-notice[data-delivery-surface="home"] { display: none; }

.b5-product-page .b5-pdp-top { --b7-media: 48fr; --b7-purchase: 52fr; }
.sf-pdp-studio .b5-product-page .b5-pdp-top { --b7-media: 50fr; --b7-purchase: 50fr; }
.sf-pdp-manual .b5-product-page .b5-pdp-top { --b7-media: 46fr; --b7-purchase: 54fr; }
.sf-pdp-compare .b5-product-page .b5-pdp-top { --b7-media: 49fr; --b7-purchase: 51fr; }
.sf-pdp-ledger .b5-product-page .b5-pdp-top { --b7-media: 47fr; --b7-purchase: 53fr; }
.sf-pdp-workshop .b5-product-page .b5-pdp-top { --b7-media: 45fr; --b7-purchase: 55fr; }

.b5-product-page .b5-pdp .b5-pdp-top { align-items: start; }
.b5-product-page .b5-pdp .b5-main-photo {
    height: clamp(215px,40vh,370px); aspect-ratio: auto;
    grid-template-rows: minmax(0,1fr); overflow: hidden;
}
.b5-product-page .b5-pdp .b5-main-photo img {
    width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain;
}
.b5-product-page .b5-pdp .b5-thumbnails { margin-block: 6px 0; }
.b5-product-page .b5-pdp .b5-thumbnails button { flex-basis: 54px; width: 54px; height: 54px; }
.b5-product-page .b5-pdp .b5-summary { min-width: 0; }
.b5-product-page .b5-pdp .b5-summary h1 {
    font-size: clamp(1.42rem,2vw,2.08rem); line-height: 1.13;
    margin-block: .12rem .42rem; overflow-wrap: anywhere;
}
.b5-product-page .b5-pdp .b5-summary h1.b5-long-title { font-size: clamp(1.24rem,1.62vw,1.64rem); }
.b5-product-page .b5-pdp .b5-summary .b5-price { margin-block: 0 .22rem; }
.b5-product-page .b5-pdp .b5-summary .b5-stock { margin-block: .18rem .4rem; }
.b5-product-page .b5-pdp .b5-highlights { list-style: disc; margin-block: .35rem; padding-inline-start: 1.15rem; font-size: .86rem; }
.b5-product-page .b5-pdp .b5-highlights li::before { content: none; }
.b5-product-page .b5-pdp .b7-quick-specs { display: flex; flex-wrap: wrap; gap: .24rem .55rem; margin: .32rem 0; }
.b5-product-page .b5-pdp .b7-quick-specs div { display: flex; flex-wrap: wrap; column-gap: .35rem; font-size: .8rem; min-width: 0; }
.b5-product-page .b5-pdp .b7-quick-specs dt { font-weight: 700; }
.b5-product-page .b5-pdp .b7-quick-specs dd { margin: 0; overflow-wrap: anywhere; }
.b5-product-page .b5-pdp .b5-summary form.cart { margin-block: 6px !important; }
.b5-product-page .b5-pdp .b5-summary .b5-return-note, .b5-product-page .b5-pdp .b5-pdp-links,
.b5-product-page .b5-pdp .b5-summary .storefront-delivery-notice { margin-block: .25rem; font-size: .83rem; }
.b5-product-page .b5-pdp .sf-pdp-content { margin-block: clamp(13px,2vw,26px); }

@media (min-width:1024px) {
    body[class*="sf-pdp-"] .b5-product-page .b5-pdp .b5-pdp-top {
        grid-template-columns: minmax(0,var(--b7-media)) minmax(0,var(--b7-purchase));
        gap: clamp(16px,2.3vw,34px);
    }
    :is(.sf-pdp-manual,.sf-pdp-folds) .b5-product-page .b5-pdp .b5-summary {
        padding: clamp(10px,1.5vw,19px);
    }
    :is(.sf-pdp-manual,.sf-pdp-workshop) .b5-product-page .b5-pdp .b5-summary form.cart:not(.variations_form),
    :is(.sf-pdp-manual,.sf-pdp-workshop) .b5-product-page .b5-pdp .b5-summary .variations_button {
        grid-template-columns: minmax(0,1fr);
    }
}
@media (max-width:1023px) {
    body[class*="sf-pdp-"] .b5-product-page .b5-pdp .b5-pdp-top {
        grid-template-columns: minmax(0,1fr); gap: 9px;
    }
    .b5-product-page .b5-pdp .b5-main-photo { height: clamp(172px,52vw,302px); }
    .b5-product-page .b5-pdp .b5-thumbnails button { flex-basis: 43px; width: 43px; height: 43px; }
    .b5-product-page .b5-pdp .b5-summary { padding: 9px 0; }
    .b5-product-page .b5-pdp .b5-summary :is(.b5-buy-now,.single_add_to_cart_button) { padding-inline: .35rem; }
    .b5-product-page .b5-pdp .b5-summary .variations select { width: min(100%,22rem); }
}

.b5-product-page .b5-pdp .b5-summary .single_add_to_cart_button:not(.disabled) {
    background: var(--primary); color: white; border-color: var(--primary);
}
@media (max-width:760px) {
    .b5-header .b5-header-row {
        grid-template-columns: minmax(0,1fr) max-content max-content;
        column-gap: 7px;
    }
    .b5-header .b5-logo { min-width: 0; max-width: 100%; gap: 5px; }
    .b5-header .b5-logo img { flex: 0 0 30px; width: 30px; height: 30px; }
    .b5-header .b7-header-brand {
        display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis;
        white-space: nowrap; font-size: clamp(.9rem,4.2vw,1.14rem);
    }
    .b5-header .b5-tools { gap: 3px; }
    .b5-header .b5-tools > a, .b5-header .b5-tools summary { width: 36px; }
    .b5-header .b5-nav > summary { min-height: 40px; display: grid; place-items: center; }
    .b5-product-page .b5-pdp .b5-summary h1 { font-size: clamp(1.28rem,4.6vw,1.65rem); }
    .b5-product-page .b5-pdp .b5-summary h1.b5-long-title { font-size: clamp(1.17rem,4.5vw,1.37rem); }
}
