/* Shared shop/category layout. Existing WooCommerce controls submit native GETs. */
.ketabona-book-catalog #main { padding: 22px; }
.ketabona-book-catalog .woocommerce-products-header__title { margin: 0 0 20px; padding: 0; font-size: 36px; line-height: 1.2; }
.ketabona-book-catalog .woocommerce-products-header { margin-bottom: 24px; }
/* Keep the shop H1 available in the document and to assistive technology. */
.ketabona-book-catalog.woocommerce-shop .woocommerce-products-header__title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.ketabona-book-catalog.woocommerce-shop .woocommerce-products-header { margin-bottom: 0; }
.ketabona-catalog__form.woocommerce-ordering { display: block; float: none; width: 100%; margin: 0; }
.ketabona-catalog__search.ketabona-search { width: 100%; max-width: none; margin: 0; }
.ketabona-catalog__search .ketabona-search__results { top: calc(100% + 6px); max-height: min(420px, 60vh); }
.ketabona-catalog__search .ketabona-search__result-text { overflow-wrap: anywhere; }
.ketabona-catalog { margin-bottom: 24px; }
.ketabona-catalog__filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.ketabona-catalog__filters > div { min-width: 0; }
/* Voice sets orderby width:auto!important; override only catalogue controls. */
.ketabona-book-catalog .ketabona-catalog__form.woocommerce-ordering select.orderby { -webkit-appearance: none; appearance: none; width: 100% !important; max-width: 100%; min-height: 42px; box-sizing: border-box; padding: 8px 38px 8px 12px; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2365715f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 12px 8px; background-position: right 14px center; border: 1px solid #d7ddd2; border-radius: 5px; color: #293027; font-size: 15px; }
.rtl .ketabona-catalog__form.woocommerce-ordering select.orderby { padding-right: 12px; padding-left: 38px; background-position: left 14px center; }
.ketabona-catalog__summary { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; gap: 12px; margin-top: 16px; }
.ketabona-catalog__count { min-width: 0; margin: 0; color: #687262; font-size: 13px; line-height: 1.5; white-space: nowrap; }
.ketabona-catalog__active { flex: 0 0 auto; margin: 0; font-size: 13px; line-height: 1.5; white-space: nowrap; }
.ketabona-catalog__active a { color: #527d32; text-decoration: underline; }
.ketabona-catalog :is(input, select, button, a):focus-visible { outline: 2px solid #658b48; outline-offset: 3px; }
@media (max-width: 640px) {
    .ketabona-book-catalog #main { padding: 16px; }
    .ketabona-book-catalog .woocommerce-products-header__title { font-size: 32px; margin-bottom: 16px; }
    .ketabona-catalog__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
    .ketabona-catalog__sort { grid-column: 1 / -1; }
    .ketabona-book-catalog .ketabona-catalog select { font-size: 14px; }
}
@media (max-width: 359px) {
    .ketabona-catalog__filters { grid-template-columns: minmax(0, 1fr); }
}
