.products-page {
    min-height: 100vh;
    background: #0d1116;
    color: #f8f9fa;
}

.products-page .products-header {
    padding-top: clamp(2.5rem, 6vw, 4rem) !important;
    padding-bottom: 2rem !important;
}

.products-page .products-header h1 {
    font-weight: 700;
    letter-spacing: -.025em;
}

.products-page .products-section .form-control,
.products-page .products-section .form-select,
.products-page .products-section .input-group-text {
    min-height: 46px;
    border-color: #35404b !important;
    border-radius: .7rem;
    background-color: #171d24 !important;
    color: #f4f6f8 !important;
}

.products-page .products-section .input-group .input-group-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.products-page .products-section .input-group .form-control {
    border-radius: 0;
}

.products-page .products-section .input-group .btn {
    border-top-right-radius: .7rem;
    border-bottom-right-radius: .7rem;
}

.products-page .search-filter-keyword {
    border-radius: 999px;
    padding: .45rem .9rem;
}

.products-page .product-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #27313b;
    border-radius: .9rem;
    background: #151a20;
    color: #f8f9fa;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.products-page .product-card:hover {
    transform: translateY(-2px);
    border-color: #45525f;
    box-shadow: 0 .55rem 1.25rem rgba(0, 0, 0, .16);
}

.products-page .product-card:focus-within {
    border-color: #7fb2ff;
}

.products-page .product-image-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.products-page .product-image {
    display: flex;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #20262d;
}

.products-page .product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .24s ease;
}

.products-page .product-card:hover .product-image img {
    transform: scale(1.015);
}

.products-page .product-image-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #8d9aa7;
    font-size: 2rem;
}

.products-page .product-info {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem;
}

.products-page .product-title {
    display: -webkit-box;
    width: 100%;
    min-height: 2.6em;
    margin: 0 0 .55rem;
    overflow: hidden;
    font-size: 1rem;
    font-weight: 550;
    line-height: 1.3;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.products-page .product-title-link {
    color: #f5f7f9;
    text-decoration: none;
}

.products-page .product-title-link:hover {
    color: #b9d4ff;
}

.products-page .product-title-link:focus-visible,
.products-page .product-image-link:focus-visible {
    outline: 2px solid #8ab4f8;
    outline-offset: 2px;
}

.products-page .product-condition {
    margin-bottom: .65rem;
    border: 1px solid #46515d;
    background: #252d35;
    color: #d8e0e8;
    font-size: .68rem;
    font-weight: 550;
}

.products-page .product-condition-like_new { border-color: #4d7097; background: #1d3044; color: #c2ddfa; }
.products-page .product-condition-used { border-color: #92733e; background: #332a1d; color: #f3d9a3; }
.products-page .product-condition-damaged { border-color: #8f5555; background: #351f21; color: #f2c5c5; }

.products-page .product-price {
    margin: auto 0 .45rem;
    color: #a9caff;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.products-page .product-stock {
    margin-bottom: .85rem;
    font-size: .8rem;
}

.products-page .product-stock.is-in-stock { color: #8fd3a5; }
.products-page .product-stock.is-out-of-stock { color: #efa1a1; }

.products-page .add-to-cart-btn {
    display: inline-flex;
    width: 100%;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: .65rem;
    font-size: .85rem;
}

.products-page .pagination .page-link {
    border-color: #35404b;
    background: #171d24;
    color: #f4f6f8;
}

.products-page .pagination .page-link:hover {
    border-color: #648cc0;
    background: #232e39;
    color: white;
}

.products-page .pagination .page-item.active .page-link {
    border-color: #477ab7;
    background: #315f94;
    color: white;
}

.products-page .navbar .navbar-nav .nav-link:hover,
.products-page .navbar .navbar-nav .nav-link.active {
    color: #8ab4f8 !important;
}

@media (max-width: 575.98px) {
    .products-page .products-section { padding-right: 1rem; padding-left: 1rem; }
    .products-page .product-info { padding: .7rem; }
    .products-page .product-title { min-height: 2.45em; font-size: .88rem; }
    .products-page .product-price { font-size: .98rem; }
    .products-page .product-stock { min-height: 1.2em; margin-bottom: .65rem; font-size: .72rem; }
    .products-page .product-condition { margin-bottom: .55rem; font-size: .61rem; }
    .products-page .add-to-cart-btn { min-height: 34px; padding: .35rem .45rem; font-size: .75rem; }
    .products-page .search-filter-keyword { padding: .38rem .72rem; font-size: .86rem; }
}

@media (prefers-reduced-motion: reduce) {
    .products-page .product-card,
    .products-page .product-image img { transition: none; }
    .products-page .product-card:hover,
    .products-page .product-card:hover .product-image img { transform: none; }
}
