.jxbc-catalog-archive .widget-area,
.jxbc-catalog-archive .sidebar {
    display: none;
}

.jxbc-catalog-archive .content-area,
.jxbc-catalog-archive #primary,
.jxbc-catalog-archive main.site-main {
    width: 100%;
    max-width: none;
}

.jxbc-catalog {
    width: 100%;
    margin-block: 1.5rem 3rem;
}

body.jxbc-products-catalog-page #page.grid-container,
body.jxbc-products-catalog-page .site.grid-container,
body.jxbc-products-catalog-page #page .site-content,
body.jxbc-products-catalog-page #primary,
body.jxbc-products-catalog-page main.site-main {
    width: 100%;
    max-width: none;
}

body.jxbc-products-catalog-page #page.grid-container,
body.jxbc-products-catalog-page .site.grid-container {
    margin-inline: 0;
}

body.jxbc-products-catalog-page #page .site-content {
    display: block;
    box-sizing: border-box;
    padding: 20px 24px 32px;
}

body.jxbc-products-catalog-page .jxbc-catalog--global {
    width: 100%;
    max-width: 110rem;
    margin-inline: auto;
    margin-block: 0 2.5rem;
}

body.jxbc-products-catalog-page .jxbc-global-catalog-breadcrumb {
    width: 100%;
    margin: 0 0 .75rem;
    padding: 0;
}

.jxbc-catalog--global .jxbc-catalog-header {
    margin-bottom: .55rem;
}

.jxbc-catalog--global .jxbc-catalog-header h1 {
    margin: 0 0 .3rem;
}

.jxbc-catalog-header {
    margin-bottom: 1.25rem;
}

.jxbc-catalog-header h1 {
    margin-bottom: .6rem;
}

.jxbc-category-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
    color: #5f6872;
    font-size: .9rem;
}

.jxbc-category-breadcrumb li + li::before {
    margin-right: .4rem;
    content: ">";
}

.jxbc-catalog-description > :last-child {
    margin-bottom: 0;
}

.jxbc-catalog-filter {
    background: #f7f8fa;
}

.jxbc-catalog--global .jxbc-catalog-filter--compact,
.jxbc-search > .jxbc-catalog-filter--compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem .75rem;
    padding: .65rem .8rem;
}

.jxbc-catalog-filter--compact .jxbc-search-query {
    min-width: 0;
}

.jxbc-catalog-filter--compact .jxbc-search-actions {
    align-self: end;
    margin-top: 0;
}

.jxbc-catalog-filter--compact .jxbc-search-filters {
    grid-column: 1 / -1;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .5rem;
    margin-top: 0;
}

.jxbc-catalog-filter--compact .jxbc-search-field select {
    height: 44px;
    min-height: 44px;
}

.jxbc-catalog-filter--compact .jxbc-search-capability-filters {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: .2rem .85rem;
    margin: 0;
    padding: .1rem 0 0;
    border: 0;
}

.jxbc-catalog-filter--compact .jxbc-search-capability-filters legend {
    float: left;
    padding: 0 .25rem 0 0;
}

.jxbc-catalog-filter--compact .jxbc-search-check {
    min-height: 32px;
}

.jxbc-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: .9rem;
    row-gap: 1.15rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid > .jxbc-catalog-card {
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
}

.jxbc-catalog--global > .jxbc-search-count {
    margin-block: .65rem .55rem;
}

.jxbc-catalog-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dfe3e8;
    border-radius: .35rem;
    background: #fff;
}

.jxbc-catalog-image {
    display: block;
    padding: .75rem;
    background: #fff;
}

.jxbc-catalog-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
}

.jxbc-catalog-image-placeholder span {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    background: linear-gradient(135deg, #eef1f3, #dfe5e8);
}

.jxbc-catalog-card-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem;
    border-top: 1px solid #edf0f2;
}

.jxbc-catalog-card h2 {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.jxbc-catalog-card h2 a {
    color: inherit;
    text-decoration: none;
}

.jxbc-catalog-image,
.jxbc-catalog-card h2 a {
    transition: color .15s ease, opacity .15s ease;
}

.jxbc-catalog-image:hover,
.jxbc-catalog-image:focus-visible {
    opacity: .92;
}

.jxbc-catalog-card h2 a:hover,
.jxbc-catalog-card h2 a:focus-visible {
    color: #1f4f7a;
}

.jxbc-catalog-category,
.jxbc-product-category {
    margin: .5rem 0;
    color: #5f6872;
    font-size: .9rem;
}

.jxbc-product-summary {
    max-width: 42rem;
    margin-block: .75rem 1rem;
    color: #3f4b54;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.jxbc-product-summary > :last-child {
    margin-bottom: 0;
}

.jxbc-catalog-specs {
    width: 100%;
    margin: .75rem 0;
}

.jxbc-catalog-specs > div {
    display: grid;
    grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr);
    gap: .5rem;
    padding: .3rem 0;
    border-top: 1px solid #edf0f2;
}

.jxbc-catalog-specs dt {
    font-weight: 600;
}

.jxbc-catalog-specs dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.jxbc-catalog-core-spec {
    margin-bottom: 0;
}

.jxbc-search-capability-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    margin: 1rem 0 0;
    padding: .75rem 1rem;
    border: 1px solid #dfe3e8;
}

.jxbc-search-capability-filters legend {
    padding-inline: .35rem;
    font-weight: 600;
}

.jxbc-search-check {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .4rem;
}

.jxbc-catalog-card-actions {
    display: flex;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: auto;
    padding-top: .75rem;
}

.jxbc-catalog-card-actions .jxbc-save-button,
.jxbc-catalog-view,
.jxbc-primary-action,
.jxbc-secondary-action {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .65rem 1rem;
    border: 1px solid currentColor;
    border-radius: .25rem;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.jxbc-catalog-card-actions .jxbc-save-button {
    margin-top: 0;
}

.jxbc-catalog-card--compact .jxbc-catalog-image,
.jxbc-catalog-card--search-result .jxbc-catalog-image {
    padding: .4rem;
}

.jxbc-catalog-card--compact .jxbc-catalog-image img,
.jxbc-catalog-card--compact .jxbc-catalog-image-placeholder span,
.jxbc-catalog-card--search-result .jxbc-catalog-image img,
.jxbc-catalog-card--search-result .jxbc-catalog-image-placeholder span {
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.jxbc-catalog-card--compact .jxbc-catalog-card-body,
.jxbc-catalog-card--search-result .jxbc-catalog-card-body {
    padding: .75rem;
}

.jxbc-catalog-card--compact h2,
.jxbc-catalog-card--search-result h2 {
    font-size: 1.05rem;
    line-height: 1.3;
}

.jxbc-catalog-card--compact h2 a,
.jxbc-catalog-card--search-result h2 a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.jxbc-catalog-compact-meta {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: .15rem .35rem;
    margin: .35rem 0 0;
    color: #5f6872;
    font-size: .85rem;
    line-height: 1.35;
}

.jxbc-catalog-compact-spec {
    color: #3f4b54;
}

.jxbc-catalog-compact-spec > span {
    font-weight: 600;
}

.jxbc-catalog-card--compact .jxbc-catalog-card-actions,
.jxbc-catalog-card--search-result .jxbc-catalog-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    padding-top: .45rem;
}

.jxbc-catalog-card--compact .jxbc-catalog-card-actions .jxbc-save-button,
.jxbc-catalog-card--compact .jxbc-catalog-view,
.jxbc-catalog-card--search-result .jxbc-catalog-card-actions .jxbc-save-button,
.jxbc-catalog-card--search-result .jxbc-catalog-view {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    padding: .5rem .55rem;
    font-size: .9rem;
    white-space: nowrap;
}

.jxbc-catalog--global .jxbc-catalog-card--compact .jxbc-catalog-card-actions,
.jxbc-catalog--global .jxbc-catalog-card--search-result .jxbc-catalog-card-actions {
    gap: .35rem;
}

.jxbc-catalog--global .jxbc-catalog-card--compact .jxbc-catalog-card-actions .jxbc-save-button,
.jxbc-catalog--global .jxbc-catalog-card--compact .jxbc-catalog-view,
.jxbc-catalog--global .jxbc-catalog-card--search-result .jxbc-catalog-card-actions .jxbc-save-button,
.jxbc-catalog--global .jxbc-catalog-card--search-result .jxbc-catalog-view {
    padding-inline: .35rem;
    font-size: .82rem;
}

.jxbc-catalog-card--search-result .jxbc-catalog-image img,
.jxbc-catalog-card--search-result .jxbc-catalog-image-placeholder span {
    object-fit: contain;
}

.jxbc-search-match-context {
    width: 100%;
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
    color: #3f4b54;
    font-size: .88rem;
}

.jxbc-search-match-context li + li {
    margin-top: .2rem;
}

.jxbc-catalog-view,
.jxbc-primary-action {
    color: #fff;
    background: #1f4f7a;
}

.jxbc-product-actions,
.jxbc-product-primary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.jxbc-product-actions {
    align-items: flex-start;
    flex-direction: column;
    margin-top: .75rem;
}

.jxbc-product-primary-actions {
    align-items: center;
}

.jxbc-product-primary-actions .jxbc-save-product-action {
    margin: 0;
}

.jxbc-product-primary-actions .jxbc-save-button {
    margin: 0;
    color: #1f4f7a;
    background: transparent;
}

.jxbc-product-primary-actions .jxbc-primary-action {
    color: #fff;
    background: #1f4f7a;
}

.jxbc-product-secondary-navigation {
    line-height: 1.5;
}

.jxbc-tertiary-action {
    color: #425764;
    font-weight: 600;
    text-underline-offset: .18em;
}

.jxbc-core-specifications .jxbc-catalog-specs {
    max-width: 48rem;
}

.jxbc-catalog-product div.product .summary,
.jxbc-catalog-product div.product .woocommerce-product-gallery {
    min-width: 0;
}

.jxbc-catalog-product div.product .woocommerce-product-gallery img {
    height: auto;
    object-fit: contain;
}

@media (max-width: 72rem) {
    .jxbc-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .jxbc-catalog-filter--compact .jxbc-search-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 56rem) {
    .jxbc-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47.99rem) {
    body.jxbc-products-catalog-page #page .site-content {
        padding-inline: 16px;
    }

    .jxbc-catalog--global .jxbc-catalog-filter--compact,
    .jxbc-search > .jxbc-catalog-filter--compact {
        grid-template-columns: 1fr;
    }

    .jxbc-catalog-filter--compact .jxbc-search-actions,
    .jxbc-catalog-filter--compact .jxbc-search-filters,
    .jxbc-catalog-filter--compact .jxbc-search-capability-filters {
        grid-column: 1;
    }

    .jxbc-catalog-filter .jxbc-search-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jxbc-product-primary-actions > *,
    .jxbc-catalog-card-actions > * {
        flex: 1 1 auto;
    }
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact {
    grid-template-columns: minmax(14rem, 2fr) minmax(22rem, 3fr) auto;
    grid-template-areas:
        "query filters actions"
        "services services services";
    gap: .35rem .65rem;
    padding: .45rem .7rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-query {
    grid-area: query;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-filters {
    grid-area: filters;
    grid-column: auto;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-actions {
    grid-area: actions;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-capability-filters {
    grid-area: services;
    grid-column: auto;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-query,
body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-field,
body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-capability-filters {
    font-size: 1rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-query input,
body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-field select {
    min-height: 38px;
    height: 38px;
    padding-block: .35rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-filters {
    gap: .35rem .5rem;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-capability-filters {
    min-height: 26px;
    padding-top: 0;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-check {
    min-height: 26px;
}

body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-actions button,
body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact .jxbc-search-actions a {
    padding: .45rem .7rem;
}

@media (min-width: 48rem) and (max-width: 72rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "query actions"
            "filters filters"
            "services services";
    }
}

@media (max-width: 47.99rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global .jxbc-catalog-filter--compact {
        grid-template-columns: 1fr;
        grid-template-areas:
            "query"
            "filters"
            "services"
            "actions";
    }
}

@media (max-width: 79.99rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 68rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 56rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 42rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 30rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 37.5rem) {
    .jxbc-catalog-grid,
    .jxbc-catalog-filter .jxbc-search-filters {
        grid-template-columns: 1fr;
    }

    .jxbc-catalog-card-actions,
    .jxbc-product-primary-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .jxbc-catalog-card--compact .jxbc-catalog-card-actions,
    .jxbc-catalog-card--search-result .jxbc-catalog-card-actions {
        align-items: initial;
        flex-direction: initial;
    }

    .jxbc-product-primary-actions,
    .jxbc-product-primary-actions > *,
    .jxbc-product-primary-actions .jxbc-save-button,
    .jxbc-product-primary-actions .jxbc-primary-action {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .jxbc-catalog-specs > div {
        grid-template-columns: 1fr;
        gap: .1rem;
    }
}

@media (max-width: 22rem) {
    .jxbc-catalog-card--compact .jxbc-catalog-card-actions,
    .jxbc-catalog-card--search-result .jxbc-catalog-card-actions {
        grid-template-columns: 1fr;
    }
}

/* Product Detail wide layout root fix: real GeneratePress + WooCommerce DOM scope. */
body.jxbc-product-detail-page #page,
body.jxbc-product-detail-page #page.site.grid-container,
body.jxbc-product-detail-page #content.site-content,
body.jxbc-product-detail-page #primary.content-area,
body.jxbc-product-detail-page #main.site-main,
body.jxbc-product-detail-page article.type-product,
body.jxbc-product-detail-page article.type-product > .inside-article,
body.jxbc-product-detail-page article.type-product .entry-content {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

body.jxbc-product-detail-page #page,
body.jxbc-product-detail-page #page.site.grid-container {
    margin-inline: 0;
}

body.jxbc-product-detail-page #content.site-content {
    display: block;
    padding-inline: 0;
}

body.jxbc-product-detail-page #primary.content-area,
body.jxbc-product-detail-page #main.site-main,
body.jxbc-product-detail-page article.type-product,
body.jxbc-product-detail-page article.type-product > .inside-article,
body.jxbc-product-detail-page article.type-product .entry-content {
    margin-inline: 0;
}

body.jxbc-product-detail-page #primary.content-area {
    float: none;
}

body.jxbc-product-detail-page article.type-product > .inside-article {
    padding-inline: 0;
}

body.jxbc-product-detail-page .widget-area,
body.jxbc-product-detail-page .sidebar {
    display: none;
}

body.jxbc-product-detail-page .woocommerce-breadcrumb,
body.jxbc-product-detail-page .woocommerce-notices-wrapper,
body.jxbc-product-detail-page.woocommerce div.product {
    width: calc(100% - 64px);
    max-width: 112.5rem;
    margin-inline: auto;
}

body.jxbc-product-detail-page.woocommerce div.product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 14fr) minmax(24rem, 11fr);
    align-items: start;
    column-gap: clamp(2rem, 4vw, 5rem);
    row-gap: clamp(1.5rem, 3vw, 2.75rem);
}

body.jxbc-product-detail-page.woocommerce div.product div.images.woocommerce-product-gallery {
    width: auto;
    min-width: 0;
    max-width: none;
    float: none;
    clear: none;
    grid-column: 1;
    margin: 0;
}

body.jxbc-product-detail-page.woocommerce div.product div.summary {
    width: auto;
    min-width: 0;
    max-width: none;
    float: none;
    clear: none;
    grid-column: 2;
    margin: 0;
}

body.jxbc-product-detail-page.woocommerce div.product > .jxbc-product-detail {
    width: 100%;
    max-width: none;
    grid-column: 1 / -1;
    margin-block: clamp(1rem, 2vw, 2rem) 2.5rem;
}

body.jxbc-product-detail-page.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
body.jxbc-product-detail-page.woocommerce div.product div.images .woocommerce-product-gallery__image,
body.jxbc-product-detail-page.woocommerce div.product div.images .woocommerce-product-gallery__image a,
body.jxbc-product-detail-page.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: 100%;
}

body.jxbc-product-detail-page.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    display: block;
    height: auto;
    max-height: min(76vh, 56rem);
    object-fit: contain;
}

body.jxbc-product-detail-page.woocommerce div.product div.images .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin-top: .85rem;
}

body.jxbc-product-detail-page.woocommerce div.product div.images .flex-control-thumbs li {
    width: auto;
    float: none;
    margin: 0;
}

body.jxbc-product-detail-page.woocommerce div.product div.summary .product_title {
    margin-bottom: .75rem;
    font-size: clamp(2rem, 3vw, 3.35rem);
    line-height: 1.12;
    overflow-wrap: anywhere;
}

body.jxbc-product-detail-page .jxbc-product-category {
    margin-top: 0;
    font-size: 1rem;
}

body.jxbc-product-detail-page .jxbc-product-summary {
    max-width: 52rem;
    font-size: 1.04rem;
    line-height: 1.72;
}

body.jxbc-product-detail-page .jxbc-capabilities {
    gap: .6rem;
}

body.jxbc-product-detail-page .jxbc-capabilities li {
    padding: .52rem .78rem;
}

body.jxbc-product-detail-page .jxbc-product-actions {
    margin-top: 1.15rem;
}

body.jxbc-product-detail-page .jxbc-product-primary-actions {
    gap: .75rem;
}

body.jxbc-product-detail-page .jxbc-product-primary-actions .jxbc-save-button,
body.jxbc-product-detail-page .jxbc-product-primary-actions .jxbc-primary-action {
    min-height: 48px;
    padding: .75rem 1.15rem;
}

body.jxbc-product-detail-page .jxbc-product-detail .jxbc-section {
    width: 100%;
    max-width: none;
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

body.jxbc-product-detail-page .jxbc-product-detail .jxbc-section > h2 {
    margin-bottom: 1rem;
    font-size: clamp(1.5rem, 2vw, 2rem);
}

body.jxbc-product-detail-page .jxbc-product-detail .jxbc-description {
    max-width: 86rem;
    font-size: 1.02rem;
    line-height: 1.75;
}

body.jxbc-product-detail-page .jxbc-core-specifications .jxbc-catalog-specs {
    display: grid;
    max-width: none;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    column-gap: 2rem;
}

body.jxbc-product-detail-page .jxbc-specifications-options,
body.jxbc-product-detail-page .jxbc-specification-matrix-wrap,
body.jxbc-product-detail-page .jxbc-specification-matrix {
    width: 100%;
    max-width: none;
}

body.jxbc-product-detail-page .jxbc-product-detail .jxbc-option-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
}

@media (max-width: 64rem) {
    body.jxbc-product-detail-page .woocommerce-breadcrumb,
    body.jxbc-product-detail-page .woocommerce-notices-wrapper,
    body.jxbc-product-detail-page.woocommerce div.product {
        width: calc(100% - 40px);
    }

    body.jxbc-product-detail-page.woocommerce div.product {
        grid-template-columns: 1fr;
        row-gap: 1.75rem;
    }

    body.jxbc-product-detail-page.woocommerce div.product div.images.woocommerce-product-gallery,
    body.jxbc-product-detail-page.woocommerce div.product div.summary,
    body.jxbc-product-detail-page.woocommerce div.product > .jxbc-product-detail {
        width: 100%;
        grid-column: 1;
    }
}

@media (max-width: 47.99rem) {
    body.jxbc-product-detail-page .woocommerce-breadcrumb,
    body.jxbc-product-detail-page .woocommerce-notices-wrapper,
    body.jxbc-product-detail-page.woocommerce div.product {
        width: calc(100% - 32px);
    }

    body.jxbc-product-detail-page.woocommerce div.product div.summary .product_title {
        font-size: clamp(1.75rem, 8vw, 2.35rem);
    }

    body.jxbc-product-detail-page.woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

body.jxbc-category-archive-page #page.grid-container,
body.jxbc-category-archive-page .site.grid-container,
body.jxbc-category-archive-page #page .site-content,
body.jxbc-category-archive-page #primary,
body.jxbc-category-archive-page main.site-main {
    width: 100%;
    max-width: none;
}

body.jxbc-category-archive-page #page.grid-container,
body.jxbc-category-archive-page .site.grid-container {
    margin-inline: 0;
}

body.jxbc-category-archive-page #page .site-content {
    display: block;
    box-sizing: border-box;
    padding: 20px max(16px, calc((100% - 96rem) / 2)) 32px;
}

body.jxbc-category-archive-page .jxbc-catalog--category {
    width: 100%;
    max-width: 96rem;
    margin: 0 auto 2rem;
}

body.jxbc-category-archive-page .jxbc-category-breadcrumb ol {
    margin-bottom: .7rem;
}

body.jxbc-category-archive-page .jxbc-catalog-header {
    margin-bottom: .7rem;
}

body.jxbc-category-archive-page .jxbc-catalog-header h1 {
    margin-bottom: .3rem;
}

body.jxbc-category-archive-page .jxbc-catalog-header .jxbc-search-count {
    margin-block: .45rem 0;
}

body.jxbc-category-archive-page .jxbc-category-toolbar {
    margin-bottom: .85rem;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "query actions"
        "filters filters"
        "services services";
    gap: .55rem .75rem;
    padding: .7rem .85rem;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-query {
    grid-area: query;
    min-width: 0;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-actions {
    grid-area: actions;
    align-self: end;
    margin: 0;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-actions button,
body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-actions a {
    min-height: 44px;
    box-sizing: border-box;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-actions a {
    display: inline-flex;
    align-items: center;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-filters {
    grid-area: filters;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: .5rem;
    margin: 0;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-query input,
body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-field select {
    height: 44px;
    min-height: 44px;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-capability-filters {
    grid-area: services;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .2rem .85rem;
    margin: 0;
    padding: .1rem 0 0;
    border: 0;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-capability-filters legend {
    float: left;
    padding: 0 .25rem 0 0;
}

body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-check {
    min-height: 32px;
}

body.jxbc-category-archive-page .jxbc-catalog--category > .jxbc-catalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 1rem;
    justify-content: start;
}

body.jxbc-category-archive-page .jxbc-catalog--category > .jxbc-catalog-grid > .jxbc-catalog-card {
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
}

@media (max-width: 47.99rem) {
    body.jxbc-category-archive-page #page .site-content {
        padding: 16px;
    }

    body.jxbc-category-archive-page .jxbc-catalog-filter--compact {
        grid-template-columns: 1fr;
        grid-template-areas:
            "query"
            "filters"
            "services"
            "actions";
    }

    body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 37.5rem) {
    body.jxbc-category-archive-page .jxbc-catalog-filter--compact .jxbc-search-filters,
    body.jxbc-category-archive-page .jxbc-catalog--category > .jxbc-catalog-grid {
        grid-template-columns: 1fr;
    }
}

/* V1 launch closure: compact shared catalogue toolbar. */
.jxbc-catalog-filter--compact {
    display: grid !important;
    grid-template-columns: minmax(15rem, 2fr) auto minmax(9rem, .7fr) !important;
    grid-template-areas: "query actions sort" "filters filters filters" !important;
    gap: .4rem .65rem !important;
    padding: .55rem .75rem !important;
}
.jxbc-catalog-filter--compact .jxbc-search-query { grid-area: query; }
.jxbc-catalog-filter--compact .jxbc-search-actions { grid-area: actions; display: flex; align-items: end; gap: .45rem; }
.jxbc-catalog-filter--compact .jxbc-catalog-sort { grid-area: sort; }
.jxbc-catalog-filter--compact .jxbc-catalog-filter-details { grid-area: filters; }
.jxbc-catalog-filter--compact .jxbc-catalog-filter-details > summary { display: none; }
.jxbc-catalog-filter--compact .jxbc-catalog-filter-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem .8rem; }
.jxbc-catalog-filter--compact .jxbc-catalog-filter-panel .jxbc-search-filters { grid-column: 1; grid-template-columns: repeat(6, minmax(7.5rem, 1fr)); }
.jxbc-catalog-filter--compact .jxbc-catalog-filter-panel .jxbc-search-capability-filters { grid-column: 2; align-self: end; white-space: nowrap; }
.jxbc-catalog-filter--compact input,
.jxbc-catalog-filter--compact select { min-height: 38px !important; height: 38px !important; padding-block: .3rem !important; }

@media (max-width: 47.99rem) {
    body.jxbc-products-catalog-page,
    body.jxbc-category-archive-page { overflow-x: clip; }
    .jxbc-catalog-filter--compact {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "query actions" "filters sort" !important;
        align-items: end;
    }
    .jxbc-catalog-filter--compact .jxbc-search-actions a { display: none; }
    .jxbc-catalog-filter--compact .jxbc-search-actions { align-self: end; }
    .jxbc-catalog-filter--compact .jxbc-catalog-filter-details > summary {
        display: flex;
        box-sizing: border-box;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: .55rem .75rem;
        border: 1px solid currentColor;
        cursor: pointer;
        font-weight: 700;
    }
    .jxbc-catalog-filter--compact .jxbc-catalog-filter-panel { grid-template-columns: 1fr; padding-top: .55rem; }
    .jxbc-catalog-filter--compact .jxbc-catalog-filter-panel .jxbc-search-filters { grid-column: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jxbc-catalog-filter--compact .jxbc-catalog-filter-panel .jxbc-search-capability-filters { grid-column: 1; white-space: normal; flex-wrap: wrap; }
    .jxbc-catalog-filter--compact details:not([open]) > .jxbc-catalog-filter-panel { display: none; }
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid,
    body.jxbc-category-archive-page .jxbc-catalog--category > .jxbc-catalog-grid,
    .jxbc-search > .jxbc-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem !important; }
    .jxbc-catalog-card { min-width: 0; }
    .jxbc-catalog-card h2,
    .jxbc-catalog-card h3 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .96rem; line-height: 1.3; }
    .jxbc-catalog-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .35rem !important; }
    .jxbc-catalog-card-actions > * { min-width: 0; padding-inline: .35rem !important; font-size: .82rem; white-space: nowrap; }
    .jxbc-catalog-card-actions .jxbc-save-button,
    .jxbc-catalog-card-actions .jxbc-catalog-view { font-size: 0 !important; min-height: 44px; }
    .jxbc-catalog-card-actions .jxbc-save-button::after,
    .jxbc-catalog-card-actions .jxbc-catalog-view::after { content: attr(data-jxbc-mobile-label); font-size: .82rem; }
}

@media (max-width: 22rem) {
    body.jxbc-products-catalog-page .jxbc-catalog--global > .jxbc-catalog-grid,
    body.jxbc-category-archive-page .jxbc-catalog--category > .jxbc-catalog-grid,
    .jxbc-search > .jxbc-catalog-grid { grid-template-columns: 1fr !important; }
}

