/* OsclassHub / Modesy 2.7 — category listing redesign 1.0.7.
   Only applies inside .osch-category-page. No global product-card or navigation overrides. */
.osch-category-page {
    --osch-ink: #0b2940;
    --osch-secondary: #60768a;
    --osch-green: #009b6d;
    --osch-green-deep: #087b60;
    --osch-outline: #e0e9ed;
    --osch-surface: #f7fafb;
    --osch-shadow: 0 12px 34px rgba(15, 47, 70, .065);
    color: var(--osch-ink);
}
.osch-category-page .nav-breadcrumb { margin: 7px 0 16px; }
.osch-category-page .breadcrumb-products { gap: 1px; }
.osch-category-page .breadcrumb-products .breadcrumb-item { font-size: 13px; line-height: 1.5; }
.osch-category-page .breadcrumb-products .breadcrumb-item a { color: #72869a; }
.osch-category-page .breadcrumb-products .breadcrumb-item.active { color: var(--osch-ink); font-weight: 600; }
.osch-category-page .breadcrumb-products .breadcrumb-item a:hover { color: var(--osch-green-deep); }

/* The top category panel uses the existing localized category image & text. */
.osch-category-page .osch-category-hero {
    padding: 24px 27px 19px;
    margin: 0 0 13px;
    border-radius: 22px;
    background: radial-gradient(circle at 0 8%, rgba(215, 246, 232, .80), transparent 42%),
                linear-gradient(111deg, #fff 29%, #f7fcf9 100%);
    border: 1px solid #e4efea;
}
.osch-category-page .osch-category-hero-main { display: flex; gap: 22px; align-items: flex-start; min-width: 0; }
.osch-category-page .osch-category-icon {
    width: 94px; height: 94px; flex: 0 0 94px;
    display: flex; justify-content: center; align-items: center;
    background: linear-gradient(137deg, #e1f7ec, #f1fbf8);
    border: 1px solid #d9efe5;
    border-radius: 22px; overflow: hidden;
}
.osch-category-page .osch-category-icon img { display: block; width: 100%; height: 100%; padding: 10px; object-fit: contain; }
.osch-category-page .osch-category-icon svg { width: 58px; height: 58px; }
.osch-category-page .osch-category-hero-text { flex: 1 1 0; min-width: 0; }
.osch-category-page .osch-category-heading {
    margin: 0 0 7px; color: var(--osch-ink);
    font-size: clamp(25px, 2.8vw, 36px); line-height: 1.15;
    font-weight: 800; letter-spacing: -.035em; overflow-wrap: anywhere;
}
.osch-category-page .osch-category-intro,
.osch-category-page .osch-category-details {
    margin: 0; font-size: 15px; line-height: 1.55;
    color: #536a7e; font-weight: 400; max-width: 690px;
}
.osch-category-page .osch-category-details summary {
    list-style: none; cursor: pointer; outline-offset: 4px;
}
.osch-category-page .osch-category-details summary::-webkit-details-marker { display: none; }
.osch-category-page .osch-category-details summary::marker { content: ''; }
.osch-category-page .osch-category-details .osch-category-more {
    display: inline-block; color: var(--osch-green-deep); font-weight: 750;
    white-space: nowrap; margin-inline-start: 6px;
}
.osch-category-page .osch-category-details .osch-category-less { display: none; color: var(--osch-green-deep); font-weight: 750; }
.osch-category-page .osch-category-details[open] .osch-category-preview,
.osch-category-page .osch-category-details[open] .osch-category-more { display: none; }
.osch-category-page .osch-category-details[open] .osch-category-less { display: inline-block; }
.osch-category-page .osch-category-details p { margin: 7px 0 0; animation: osch-category-reveal .18s ease-out; }
@keyframes osch-category-reveal { from { opacity: .25; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
.osch-category-page .osch-category-benefits {
    margin-top: 19px; padding-top: 16px; border-top: 1px solid #e6f0ed;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
}
.osch-category-page .osch-category-benefits > div {
    display: flex; align-items: center; justify-content: center;
    gap: 12px; min-width: 0; color: #274455; font-size: 14px;
    font-weight: 650; line-height: 1.3; text-align: start;
}
.osch-category-page .osch-category-benefits > div:not(:first-child) { border-inline-start: 1px solid #dae8e2; }
.osch-category-page .osch-category-benefits svg { width: 26px; height: 26px; flex: 0 0 26px; color: var(--osch-green); }

/* Show only real child categories, as scrollable chips on narrow screens. */
.osch-category-page .osch-subcategory-chips {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 9px; margin: 0 0 16px;
}
.osch-category-page .osch-category-chip {
    display: inline-flex; align-items: center; justify-content: center;
    max-width: 100%; min-height: 39px; padding: 8px 17px;
    background: #f5f8fa; border: 1px solid var(--osch-outline);
    border-radius: 999px; color: #4d6070;
    font-size: 13px; font-weight: 600; line-height: 1.25;
    white-space: nowrap; text-decoration: none; transition: background .2s, color .2s, border-color .2s;
}
.osch-category-page .osch-category-chip:hover,
.osch-category-page .osch-category-chip:focus-visible { color: var(--osch-green-deep); border-color: #aedecf; background: #ecf9f4; text-decoration: none; }
.osch-category-page .osch-category-chip.is-active,
.osch-category-page .osch-category-chip.is-active:hover {
    color: #fff; background: var(--osch-ink); border-color: var(--osch-ink);
}

/* Catalog layout, including untouched Modesy filter logic. */
.osch-category-page .container-products-page { margin-bottom: 50px; }
.osch-category-page .col-sidebar-products .product-filters-container {
    border: 1px solid var(--osch-outline); border-radius: 15px;
    background: #fff; padding: 18px; max-height: min(90vh, 960px);
}
.osch-category-page .product-filters-container .filter-item .title { color: var(--osch-ink); }
.osch-category-page .product-filters-container .filter-list a { color: #526677; }
.osch-category-page .product-filters-container .filter-list a:hover { color: var(--osch-green-deep); }
.osch-category-page .col-content-products { min-width: 0; }
.osch-category-page .product-list-header {
    gap: 14px; align-items: center; justify-content: space-between;
    padding: 0 0 10px; border-bottom: 1px solid #e8eef1;
    margin-bottom: 13px; flex-wrap: wrap;
}
.osch-category-page .osch-category-products-title {
    margin: 0; color: var(--osch-ink);
    font-size: 16px; font-weight: 700; line-height: 1.35;
}
.osch-category-page .product-list-header .filter-reset-tag-container { flex: 1 1 130px; justify-content: flex-end; gap: 8px; }
.osch-category-page .filter-reset-tag { background: #eef7f3; border-radius: 12px; }
.osch-category-page .product-list-header .container-filter-products { flex: 0 0 auto; }
.osch-category-page .product-sort-by .dropdown > .btn {
    min-height: 42px; border-radius: 11px; border: 1px solid var(--osch-outline);
    background: #fff; color: var(--osch-ink) !important;
    font-size: 13px; font-weight: 650; padding: 10px 13px;
}
.osch-category-page .product-sort-by .dropdown > .btn:hover,
.osch-category-page .product-sort-by .dropdown > .btn:focus { border-color: #a8d8c8; box-shadow: 0 0 0 2px #e6f7f0; }
.osch-category-page .product-sort-by .dropdown .dropdown-menu { border-radius: 11px; border-color: var(--osch-outline); box-shadow: var(--osch-shadow); }
.osch-category-page .product-sort-by .dropdown .dropdown-menu .dropdown-item:hover { background: #eef9f4; }

/* 1 column mobile, 2 tablet, 3 on desktop. Ajax append uses .col-product too. */
.osch-category-page .row-product { margin-left: -10px; margin-right: -10px; }
.osch-category-page .row-product > .col-product {
    flex: 0 0 33.333333%; max-width: 33.333333%;
    padding-left: 10px; padding-right: 10px; margin-bottom: 16px;
}
.osch-category-page .product-card {
    border: 1px solid #e1e9ed; border-radius: 18px; background: #fff;
    height: auto; min-height: 0; align-self: flex-start;
    box-shadow: var(--osch-shadow); transition: box-shadow .2s, transform .2s, border-color .2s;
}
.osch-category-page .product-card:hover { border-color: #c3e9dc; box-shadow: 0 15px 40px rgba(16, 48, 69, .105); transform: translateY(-2px); }
/* Preserve the full original image (including text/logos at its edges).
   The first image participates in layout; second image overlays it on hover. */
.osch-category-page .product-card .product-image-container {
    aspect-ratio: auto; height: auto; background: #fff; border-radius: 17px 17px 0 0;
}
.osch-category-page .product-card .product-image-container > a {
    position: relative; display: block; width: 100%;
}
.osch-category-page .product-card .product-image {
    position: relative; display: block;
    width: 100%; height: auto; object-fit: contain;
    object-position: center; vertical-align: middle;
}
.osch-category-page .product-card .product-image.hover-image {
    position: absolute; top: 0; inset-inline-start: 0;
    width: 100%; height: 100%; object-fit: contain;
    background: #fff;
}
.osch-category-page .product-card .product-card-badge {
    top: 13px; left: 13px; border-radius: 8px;
    min-height: 26px; height: auto; padding: 4px 10px; font-weight: 700;
    box-shadow: 0 3px 10px rgba(0,0,0,.09);
}
.osch-category-page .product-card .product-card-badge-green { background-color: #079b69; }
.osch-category-page .product-card .product-actions-overlay { top: 12px; right: 12px; }
.osch-category-page .product-card .action-btn {
    background: #fff; color: var(--osch-ink); border-color: #ebf0f3;
    box-shadow: 0 3px 12px rgba(19, 46, 67, .13);
}
.osch-category-page .product-card .card-body { padding: 14px 17px 14px; flex-grow: 0; min-height: 0; }
.osch-category-page .product-card .product-title {
    display: -webkit-box; -webkit-line-clamp: 3;
    font-size: 16px; font-weight: 750; line-height: 1.35;
    letter-spacing: -.018em; color: var(--osch-ink); margin-bottom: 7px;
}
.osch-category-page .product-card .product-title a { color: var(--osch-ink); text-decoration: none; }
.osch-category-page .product-card .product-title a:hover { color: var(--osch-green-deep); }
.osch-category-page .product-card .product-seller { font-size: 13px; margin-bottom: 7px; color: var(--osch-secondary); }
.osch-category-page .product-card .product-rating {
    display: flex; flex-wrap: wrap; align-items: center;
    column-gap: 10px; row-gap: 5px; justify-content: space-between;
    font-size: 12px; color: #7c8a99; padding-top: 0; line-height: 1.5; min-height: 20px;
}
.osch-category-page .product-card .product-rating .rating { white-space: nowrap; }
.osch-category-page .product-card .osch-no-reviews {
    display: inline-flex !important; align-items: center; color: #718298;
    font-size: 12px; font-weight: 500; line-height: 1.5;
}
.osch-no-reviews { display: none; }
.osch-category-page .product-card .product-rating.osch-rating-empty .rating { display: none; }
.osch-category-page .product-card .product-rating .rating i { color: #f3a515; font-size: 13px; }
.osch-category-page .product-card .osch-card-metrics {
    gap: 10px !important; margin-inline-start: auto;
    display: inline-flex; align-items: center;
}
.osch-category-page .product-card .product-rating .item-wishlist,
.osch-category-page .product-card .osch-download-count { font-size: 12px !important; color: #7b8b9b !important; }
.osch-category-page .product-card .product-footer {
    margin-top: 8px; padding-top: 9px; border-top: 1px solid #edf1f3;
}
.osch-category-page .product-card .product-price { color: var(--osch-ink); font-size: 17px; font-weight: 750; }
.osch-category-page .product-card .price-free {
    display: inline-flex; align-items: center; padding: 6px 12px;
    color: #067f53 !important; background: #dff7e8; border-radius: 9px;
    font-size: 16px !important; font-weight: 800;
}
.osch-category-page .no-records-found { background: var(--osch-surface); padding: 28px; border-radius: 14px; color: var(--osch-secondary); }
.osch-category-page a:focus-visible,
.osch-category-page button:focus-visible,
.osch-category-page summary:focus-visible { outline: 2px solid var(--osch-green-deep); outline-offset: 3px; }


/* .scrollup sits outside #wrapper in Modesy's footer.
   This stylesheet is loaded only for category pages, so changes stay local. */
.scrollup {
    right: 14px; bottom: max(20px, env(safe-area-inset-bottom, 0px) + 12px);
    width: 38px; height: 38px; padding: 0;
    border: 1px solid #d5e7e0 !important; border-radius: 50%;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 3px 14px rgba(13, 57, 74, .14) !important;
    overflow: hidden; opacity: .95;
}
.scrollup i {
    width: 36px; height: 36px; line-height: 36px;
    border-radius: 50%; color: #077a58 !important;
    font-size: 14px; background: transparent;
}
.scrollup:hover, .scrollup:focus-visible { opacity: 1; background: #eaf8f2 !important; }
.scrollup:focus-visible { outline: 2px solid #087b60 !important; outline-offset: 3px; }

@media (max-width: 1199px) {
    .osch-category-page .row-product > .col-product { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 991px) {
    .osch-category-page .osch-category-hero { padding: 23px 24px 19px; }
    .osch-category-page .osch-category-benefits > div { font-size: 12px; gap: 7px; }
    .osch-category-page .osch-category-benefits svg { width: 23px; height: 23px; flex-basis: 23px; }
}
@media (max-width: 767px) {
    .osch-category-page .nav-breadcrumb { margin: 0 0 16px; }
    .osch-category-page .osch-category-hero {
        padding: 15px 15px 14px; border-radius: 16px; margin-bottom: 12px;
        background: linear-gradient(110deg, #f5fcf9, #fff 75%);
    }
    .osch-category-page .osch-category-hero-main { gap: 13px; }
    .osch-category-page .osch-category-icon {
        width: 69px; height: 69px; flex-basis: 69px; border-radius: 16px;
    }
    .osch-category-page .osch-category-icon svg { width: 42px; height: 42px; }
    .osch-category-page .osch-category-icon img { padding: 7px; }
    .osch-category-page .osch-category-heading { font-size: clamp(21px, 5.4vw, 27px); line-height: 1.16; margin: 0 0 5px; }
    .osch-category-page .osch-category-intro,
    .osch-category-page .osch-category-details { font-size: 13px; line-height: 1.55; }
    .osch-category-page .osch-category-benefits { margin-top: 14px; padding-top: 12px; gap: 0; }
    .osch-category-page .osch-category-benefits > div {
        gap: 5px; padding: 0 4px; flex-direction: column; text-align: center;
        font-size: 11px; font-weight: 650; line-height: 1.3;
    }
    .osch-category-page .osch-category-benefits svg { width: 25px; height: 25px; flex-basis: 25px; }
    .osch-category-page .osch-subcategory-chips {
        flex-wrap: nowrap; overflow-x: auto; margin: 0 -15px 14px;
        padding: 0 15px 7px; overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .osch-category-page .osch-subcategory-chips::-webkit-scrollbar { display: none; }
    .osch-category-page .osch-category-chip { flex: 0 0 auto; padding: 8px 14px; min-height: 37px; }
    .osch-category-page .container-filter-products-mobile {
        display: flex; gap: 10px; align-items: stretch;
        margin-bottom: 12px !important;
    }
    .osch-category-page .container-filter-products-mobile .btn-filter-products-mobile,
    .osch-category-page .container-filter-products-mobile .product-sort-by {
        flex: 1 1 0; width: auto; min-width: 0; float: none; display: block;
    }
    .osch-category-page .container-filter-products-mobile .btn-filter-products-mobile .btn,
    .osch-category-page .container-filter-products-mobile .product-sort-by .dropdown > .btn {
        display: flex; align-items: center; justify-content: center; gap: 7px;
        width: 100%; min-width: 0; height: 46px;
        background: #fff; border: 1px solid #dce6eb !important;
        border-radius: 11px !important; padding: 7px 8px !important;
        text-align: center; font-size: 13px; font-weight: 650;
        color: var(--osch-ink) !important;
    }
    .osch-category-page .container-filter-products-mobile .btn-filter-products-mobile .btn svg,
    .osch-category-page .container-filter-products-mobile .product-sort-by .dropdown > .btn svg {
        flex: 0 0 17px; width: 17px; height: 17px; top: 0;
    }
    .osch-category-page .container-filter-products-mobile .product-sort-by .dropdown > .btn i { margin-inline-start: auto; }
    .osch-category-page .container-filter-products-mobile .btn-filter-products-mobile .btn .text { overflow: hidden; text-overflow: ellipsis; }
    .osch-category-page .container-filter-products-mobile .product-sort-by .dropdown > .btn { overflow: hidden; text-overflow: ellipsis; }
    .osch-category-page .col-sidebar-products .product-filters-container { max-height: none; border: 0 !important; padding: 0 !important; }
    .osch-category-page .product-list-header .container-filter-products { display: none !important; }
    .osch-category-page .product-list-header { margin-bottom: 11px; border-bottom: none; padding-bottom: 0; }
    .osch-category-page .osch-category-products-title { font-size: 15px; font-weight: 700; }
    .osch-category-page .product-list-header .filter-reset-tag-container { justify-content: flex-start; flex-basis: 100%; }
    .osch-category-page .row-product > .col-product {
        flex: 0 0 100%; max-width: 100%; margin-bottom: 14px;
    }
    .osch-category-page .product-card { border-radius: 16px; }
    .osch-category-page .product-card .product-image-container { border-radius: 15px 15px 0 0; aspect-ratio: auto; }
    .osch-category-page .container-products-page { margin-bottom: 38px; }
    .osch-category-page .product-rating .osch-card-metrics { margin-inline-start: auto; }
    .osch-category-page .product-card .product-title { font-size: 18px; }
    .osch-category-page .product-card .card-body { padding: 13px 15px 13px; }
    .osch-category-page .product-card .action-btn.wishlist-btn { opacity: 1; visibility: visible; transform: none; }
    .osch-category-page .product-card .action-btn.cart-btn { display: none !important; }
    .osch-category-page .product-card .product-card-badge { top: 12px; left: 12px; }
}
@media (max-width: 359px) {
    .osch-category-page .osch-category-hero-main { gap: 10px; }
    .osch-category-page .osch-category-icon { width: 57px; height: 57px; flex-basis: 57px; }
    .osch-category-page .osch-category-heading { font-size: 20px; }
    .osch-category-page .osch-category-benefits > div { font-size: 10px; }
    .osch-category-page .container-filter-products-mobile .btn-filter-products-mobile .btn,
    .osch-category-page .container-filter-products-mobile .product-sort-by .dropdown > .btn { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .osch-category-page .product-card,
    .osch-category-page .osch-category-chip { transition: none; }
    .osch-category-page .osch-category-details p { animation: none; }
}
[dir="rtl"] .osch-category-page .product-card .product-card-badge { left: auto; right: 13px; }
[dir="rtl"] .osch-category-page .product-card .product-actions-overlay { right: auto; left: 12px; }

/* v1.0.3 — category-only compact listing and first-sentence mobile summary. */
.osch-category-page .osch-category-description-mobile { display: none; }
.osch-category-page .osch-category-description-desktop { display: block; }

/* Keep the product title, actual rating (if available), price and downloads. */
.osch-category-page .product-card .product-seller,
.osch-category-page .product-card .osch-no-reviews { display: none !important; }
.osch-category-page .product-card .card-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    column-gap: 10px;
}
.osch-category-page .product-card .product-title {
    grid-column: 1 / -1; grid-row: 1; margin-bottom: 10px;
}
/* Contents allows the existing rating and metric children to share the same grid
   without changing Modesy AJAX rendering or rewriting product links. */
.osch-category-page .product-card .product-rating { display: contents; }
.osch-category-page .product-card .product-rating > .rating {
    grid-column: 1 / -1; grid-row: 2; margin: 0 0 9px;
    justify-self: start;
}
.osch-category-page .product-card .product-rating.osch-rating-empty > .rating { display: none; }
.osch-category-page .product-card .osch-card-metrics {
    grid-column: 2; grid-row: 3; justify-self: end;
    margin-inline-start: 0 !important; white-space: nowrap;
}
/* The small bottom wishlist counter is visible only when the current user
   has favorited the product. The top-right favorite action stays available. */
.osch-category-page .product-card .osch-card-metrics .item-wishlist { display: none !important; }
.osch-category-page .product-card .osch-card-metrics .item-wishlist.osch-in-wishlist {
    display: inline-flex !important; align-items: center;
}
/* Modern browsers also track AJAX favorite toggles immediately via the icon. */
@supports selector(:has(*)) {
    .osch-category-page .product-card:has(.wishlist-btn .icon-heart) .osch-card-metrics .item-wishlist {
        display: inline-flex !important; align-items: center;
    }
    .osch-category-page .product-card:not(:has(.wishlist-btn .icon-heart)) .osch-card-metrics .item-wishlist {
        display: none !important;
    }
}
.osch-category-page .product-card .product-footer {
    grid-column: 1; grid-row: 3; margin: 0; padding: 0;
    border: 0; min-width: 0;
}
@media (max-width: 767px) {
    .osch-category-page .osch-category-description-desktop { display: none; }
    .osch-category-page .osch-category-description-mobile { display: block; }
    .osch-category-page .osch-category-details .osch-category-more {
        display: block; margin-inline-start: 0; margin-top: 3px;
    }
    .osch-category-page .osch-category-details[open] .osch-category-more { display: none; }
    .osch-category-page .osch-category-details .osch-category-preview {
        overflow-wrap: break-word;
    }
    .osch-category-page .product-card .product-title { margin-bottom: 8px; }
}

/* v1.0.4 — per-category configurable benefits, compact equal-style price chips. */
.osch-category-page .osch-category-benefits {
    grid-template-columns: repeat(var(--osch-benefit-count, 3), minmax(0, 1fr));
}
.osch-category-page .osch-category-icon svg {
    color: #0c344b;
    width: 56px; height: 56px;
}
.osch-category-page .product-card .product-footer .product-price > .price:not(.price-free) {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 34px; padding: 6px 12px;
    color: #123b58 !important; background: #e9f1f8;
    border-radius: 9px; font-size: 16px; font-weight: 800;
    line-height: 1.25; white-space: nowrap;
}
.osch-category-page .product-card .product-footer .product-price .discount-original-price {
    display: inline-block; margin-inline-end: 6px; color: #8595a1;
    font-weight: 500; font-size: 13px;
}
.osch-category-page .product-card .product-footer .product-price > .price-free {
    min-height: 34px; padding-block: 6px;
}
@media(max-width: 767px) {
    .osch-category-page .osch-category-icon svg { width: 42px; height: 42px; }
    .osch-category-page .osch-category-benefits > div { min-width: 0; overflow-wrap: anywhere; }
}

/* v1.0.5 — custom icon upload is rendered inside the same category icon frame. */
.osch-category-page .osch-category-icon img { object-fit: contain; background: transparent; }


/* v1.0.6 — desktop catalogue refinements (category pages only).
   Count states are set initially by PHP, and refreshed after infinite-scroll AJAX. */
@media (min-width: 768px) {
    .osch-category-page .col-sidebar-products .product-filters-container {
        padding: 22px 20px;
        border: 1px solid #dce8e8;
        border-radius: 19px;
        background: linear-gradient(180deg, #ffffff 0%, #fcfefd 100%);
        box-shadow: 0 8px 22px rgba(15, 47, 70, .035);
    }
    .osch-category-page .product-filters-container .filter-item {
        border-color: #ebf1f1;
        padding-bottom: 19px;
        margin-bottom: 19px;
    }
    .osch-category-page .product-filters-container .filter-item:last-child { margin-bottom: 0; }
    .osch-category-page .product-filters-container .filter-item .title {
        margin-bottom: 12px;
        font-weight: 750;
        font-size: 14px;
    }
    .osch-category-page .product-filters-container .form-control,
    .osch-category-page .product-filters-container .form-input {
        width: 100%;
        min-width: 0;
        min-height: 43px;
        border: 1px solid #dce6eb;
        border-radius: 10px;
        background: #fbfdfe;
        color: var(--osch-ink);
        box-shadow: none;
        transition: background .2s, border-color .2s, box-shadow .2s;
    }
    .osch-category-page .product-filters-container .form-control:focus,
    .osch-category-page .product-filters-container .form-input:focus {
        background: #fff;
        border-color: var(--osch-green);
        box-shadow: 0 0 0 3px rgba(0, 155, 109, .1);
    }
    .osch-category-page .product-filters-container .inputs-filter-price { gap: 7px; align-items: center; }
    .osch-category-page .product-filters-container .inputs-filter-price > span { flex: 0 0 auto; color: #8296a6; }
    .osch-category-page .product-filters-container .btn-filter-product {
        display: flex; align-items: center; justify-content: center;
        gap: 5px; width: 100%; min-height: 43px;
        border: 1px solid #078a63; border-radius: 10px;
        background: var(--osch-green-deep); color: #fff !important;
        font-weight: 700;
        transition: background .2s, box-shadow .2s;
    }
    .osch-category-page .product-filters-container .btn-filter-product:hover,
    .osch-category-page .product-filters-container .btn-filter-product:focus-visible {
        background: #006b4e;
        box-shadow: 0 4px 14px rgba(0, 124, 84, .18);
    }
    .osch-category-page .product-filters-container .btn-filter-product i { color: inherit; }
}
@media (min-width: 1200px) {
    /* 2 products: halves. 3+: thirds. */
    .osch-category-page .row-product[data-osch-layout="double"] > .col-product {
        flex: 0 0 50%; max-width: 50%;
    }
    .osch-category-page .row-product[data-osch-layout="grid"] > .col-product {
        flex: 0 0 33.333333%; max-width: 33.333333%;
    }
}
@media (min-width: 1024px) {
    .osch-category-page .row-product[data-osch-layout="single"] > .col-product {
        flex: 0 1 950px; max-width: 100%; width: 100%;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-card {
        display: grid;
        grid-template-columns: minmax(0, 43%) minmax(0, 1fr);
        align-items: stretch;
        overflow: hidden;
        min-height: 320px;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-image-container {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 100%;
        background: #f7faf9;
        border-radius: 17px 0 0 17px;
        overflow: hidden;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-image-container > a {
        display: flex; align-items: center; justify-content: center;
        min-width: 0;
        height: 100%; width: 100%;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-image {
        width: 100%; height: 100%; max-height: 410px;
        object-fit: contain; object-position: center;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-card .card-body {
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-rows: auto minmax(38px, 1fr) auto auto;
        align-items: start;
        align-content: stretch;
        padding: clamp(21px, 2.2vw, 31px);
        row-gap: 13px;
        min-width: 0;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-title {
        grid-column: 1 / -1;
        grid-row: 1;
        font-size: clamp(20px, 2vw, 27px);
        line-height: 1.32;
        letter-spacing: -.025em;
        margin-bottom: 0;
        -webkit-line-clamp: 4;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-rating > .rating {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0;
        align-self: start;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-card-metrics {
        grid-column: 2;
        grid-row: 3;
        align-self: center;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-footer {
        grid-column: 1;
        grid-row: 3;
        align-self: center;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-desktop-view-link {
        display: inline-flex !important;
        grid-column: 1 / -1;
        grid-row: 4;
        justify-self: start;
        align-items: center;
        gap: 9px;
        padding: 11px 19px;
        background: var(--osch-green-deep);
        color: #fff;
        font-size: 14px;
        font-weight: 750;
        line-height: 1.2;
        text-decoration: none;
        border-radius: 11px;
        transition: background .18s, transform .18s;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-desktop-view-link:hover {
        background: #006d50;
        transform: translateY(-1px);
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-desktop-view-link:focus-visible {
        outline: 2px solid #064d3c;
        outline-offset: 3px;
    }
    [dir="rtl"] .osch-category-page .row-product[data-osch-layout="single"] .product-image-container {
        border-radius: 0 17px 17px 0;
    }
}
/* 768–1199px: two cards per row; a single card fills the row on small tablets. */
@media (min-width: 768px) and (max-width: 1199px) {
    .osch-category-page .row-product[data-osch-layout="double"] > .col-product,
    .osch-category-page .row-product[data-osch-layout="grid"] > .col-product {
        flex: 0 0 50%; max-width: 50%;
    }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .osch-category-page .row-product[data-osch-layout="single"] > .col-product {
        flex: 0 0 100%; max-width: 100%;
    }
}
/* Mobile rendering remains identical to v1.0.5, regardless of item count. */
@media (max-width: 767px) {
    .osch-category-page .row-product[data-osch-layout] > .col-product {
        flex: 0 0 100%; max-width: 100%;
    }
}


/* v1.0.7 — polished desktop one-product horizontal card.
   These rules do not affect mobile cards or category grids with 2+ products. */
.osch-category-page .osch-desktop-product-teaser { display: none; }
@media (min-width: 1024px) {
    .osch-category-page .row-product[data-osch-layout="single"] .product-card {
        grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
        min-height: 305px;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-image {
        max-height: 385px;
        object-fit: contain;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-card .card-body {
        grid-template-rows: repeat(5, auto);
        align-content: center;
        align-items: center;
        row-gap: 10px;
        padding: clamp(20px, 2.1vw, 30px);
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-title {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-desktop-product-teaser {
        display: -webkit-box;
        grid-column: 1 / -1;
        grid-row: 2;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        min-width: 0;
        margin: 0;
        color: #61778b;
        font-size: 14px;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-rating > .rating {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 0;
        justify-self: start;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .product-footer,
    .osch-category-page .row-product[data-osch-layout="single"] .osch-card-metrics {
        grid-row: 4;
        align-self: center;
    }
    .osch-category-page .row-product[data-osch-layout="single"] .osch-desktop-view-link {
        grid-row: 5;
        margin-top: 2px;
    }
}
