/* Scoped to the shop landing page; the existing grid and sidebar stay intact. */
.shop-modern { background: #f6f7fb; padding: 32px 0 48px; color: #263247; }
.shop-modern .page-title { margin: 0 0 24px; padding: 0 0 16px; border-bottom: 1px solid #e4e8ef; }
.shop-modern .page-title h2 { font-size: 23px; font-weight: 700; color: #202c40; }
.shop-modern .products-grid .item { margin-bottom: 24px; }
.shop-modern .product-item .item-inner { position: relative; background: #fff; border: 1px solid #e5e9f0; border-radius: 16px; overflow: hidden; box-shadow: 0 3px 12px rgba(28,42,65,.04); transition: box-shadow .2s, border-color .2s; }
.shop-modern .product-item .item-inner:hover { border-color: #d2d9e5; box-shadow: 0 10px 26px rgba(28,42,65,.09); }
.shop-modern .product-item .item-info { padding: 18px 16px; border-top: 1px solid #eef1f5; }
.shop-modern .product-item .item-title a { color: #263247; font-size: 14px; line-height: 1.9; font-weight: 600; }
.shop-modern .product-item .price { color: #263247; font-weight: 700; }
.shop-modern .product-item .old-price .price { color: #9199a8; font-weight: 400; }
.shop-modern .product-item .rating { color: #dca647; margin: 8px 0; }
.shop-modern .product-item .add-to-cart-mt { border-radius: 9px; padding: 10px 12px; }
.shop-modern .product-item .icon-sale-label,
.shop-modern .product-item .icon-new-label { border-radius: 7px; margin: 10px; font-size: 11px; z-index: 2; }
.shop-modern .sidebar .block { padding: 20px; margin-bottom: 20px; background: #fff; border: 1px solid #e5e9f0; border-radius: 14px; box-shadow: 0 3px 12px rgba(28,42,65,.03); }
.shop-modern .sidebar h3 { color: #263247; font-size: 17px; }
.shop-modern .saider-bar-title { font-size: 14px; margin: 22px 0 14px; color: #536079; }
/* Larger, keyboard-accessible filter controls with a full-row click target. */
.shop-modern .check-box-list li { position: relative; padding: 3px 0; }
.shop-modern .check-box-list input[type="checkbox"] {
    display: block; position: absolute; width: 1px; height: 1px;
    padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%);
    white-space: nowrap; border: 0;
}
.shop-modern .check-box-list input[type="checkbox"] + label {
    display: flex; align-items: center; gap: 10px; min-height: 44px;
    width: 100%; margin: 0; padding: 8px 10px; border: 1px solid transparent;
    border-radius: 10px; color: #536079; font-size: 13px; line-height: 1.8;
    cursor: pointer; transition: background-color .16s ease, border-color .16s ease;
}
.shop-modern .check-box-list input[type="checkbox"] + label span.button {
    position: relative; display: inline-block; flex: 0 0 22px;
    width: 22px; height: 22px; margin: 0; padding: 0;
    border: 2px solid #c7cfdb; border-radius: 7px; background: #fff;
    box-shadow: 0 1px 2px rgba(28,42,65,.04);
}
.shop-modern .check-box-list input[type="checkbox"] + label:hover {
    background: #f6f7fb; border-color: #e5e9f0; color: #263247;
}
.shop-modern .check-box-list input[type="checkbox"]:checked + label {
    background: #fff8e9; border-color: #f3e1bb; color: #795514;
}
.shop-modern .check-box-list input[type="checkbox"]:checked + label span.button {
    background: #f5b735; border-color: #e3a324; box-shadow: 0 2px 5px rgba(194,135,21,.15);
}
.shop-modern .check-box-list input[type="checkbox"]:checked + label span.button::after {
    content: ''; position: absolute; top: 2px; left: 6px; width: 6px; height: 11px;
    border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.shop-modern .check-box-list input[type="checkbox"]:focus-visible + label {
    outline: 2px solid #b57e16; outline-offset: -2px;
}
.shop-modern .check-box-list label span.count { margin-inline-start: auto; }
@media (prefers-reduced-motion: reduce) {
    .shop-modern .check-box-list input[type="checkbox"] + label { transition: none; }
}
.shop-modern .product-search-filter { display: flex; width: 100%; margin-bottom: 20px; border: 1px solid #e1e6ef; border-radius: 10px; overflow: hidden; background: #f9fafc; }
.shop-modern #search_shop { height: 42px; min-width: 0; flex: 1; width: 0 !important; border: 0; background: transparent; box-shadow: none; padding: 8px 12px; }
.shop-modern .product-search-filter button { flex: 0 0 42px; border: 0; background: #fff2d7; color: #936000; }
.shop-modern .product-search-filter:focus-within { outline: 2px solid #e9bb60; outline-offset: 2px; }
.shop-modern .tag a { border-radius: 7px; background: #f6f7fb; border-color: #e5e9f0; }
.shop-modern .pagination-area { border: 0; padding-top: 12px; }
.shop-modern .pagination-area a { border-radius: 9px; cursor: pointer; }
.shop-modern .shop-product-preview { position: relative; height: 180px; margin: 0; overflow: hidden; background: #eef1f5; isolation: isolate; }
.shop-modern .shop-product-preview .shop-product-thumb { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; opacity: 1; transform: none; }
.shop-modern .shop-product-preview .shop-product-long { position: absolute; top: 0; left: 0; display: block; width: 100%; max-width: none; height: auto; max-height: none; aspect-ratio: auto; object-fit: fill; opacity: 0; pointer-events: none; transform: translateY(0); transition: opacity .2s ease; }
.shop-modern .shop-product-preview.is-previewing .shop-product-long { opacity: 1; transform: translateY(var(--preview-offset, 0px)); transition: opacity .2s ease, transform var(--preview-duration, 8s) ease-in-out; }
.shop-modern .shop-product-preview.is-previewing .shop-product-thumb { opacity: 0; }
@media (max-width: 767px) {
    .shop-modern { padding-top: 20px; }
    .shop-modern .products-grid .item { padding-left: 7px; padding-right: 7px; margin-bottom: 14px; }
    .shop-modern .product-item .item-info { padding: 13px 10px; }
    .shop-modern .product-item .item-title a { font-size: 12px; }
    .shop-modern .sidebar .block { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .shop-modern .product-item .item-inner,
    .shop-modern .shop-product-preview .shop-product-long { transition: none !important; }
}