/* Storefront pagination. The public display asset mirrors these rules because
   the production layout serves direct public assets instead of a Vite lookup. */
#product-listing { scroll-margin-top: 6rem; }
.listing-pagination {
    display: grid;
    justify-items: center;
    margin-top: clamp(28px, 4vw, 42px);
}

.site-pagination {
    display: grid;
    justify-items: center;
    gap: 12px;
    width: 100%;
}

.site-pagination__summary,
.listing-pagination__summary {
    margin: 0;
    color: #806d79;
    font-size: .78rem;
    line-height: 1.4;
    text-align: center;
}

.listing-pagination .site-pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    max-width: 100%;
    margin: 0;
    padding: 7px;
    border: 1px solid #f0deea;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff 8%, #fff8fc 100%);
    box-shadow: 0 8px 24px rgba(98, 32, 61, .07);
    list-style: none;
}

.listing-pagination .site-pagination .page-item {
    flex: 0 0 auto;
    margin: 0;
}

.listing-pagination .site-pagination .page-link {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: #68455b;
    font-size: .82rem;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.listing-pagination .site-pagination a.page-link:hover {
    transform: translateY(-1px);
    border-color: #f1cddd;
    background: #fff0f7;
    color: #9b245a;
}

.listing-pagination .site-pagination a.page-link:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(217, 75, 141, .26);
    outline-offset: 2px;
    border-color: #c94080;
    box-shadow: 0 0 0 1px #c94080;
}

.listing-pagination .site-pagination .page-item.active .page-link {
    border-color: transparent;
    background: linear-gradient(140deg, #9e245c, #c63279);
    color: #fff;
    box-shadow: 0 4px 11px rgba(157, 36, 92, .22);
}

.listing-pagination .site-pagination .page-item.disabled .page-link {
    background: #f7f2f5;
    color: #b7aab2;
    cursor: not-allowed;
}

.listing-pagination .site-pagination .page-link i {
    font-size: .8rem;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .listing-pagination {
        margin-top: 26px;
    }

    .site-pagination {
        gap: 9px;
    }

    .site-pagination__summary,
    .listing-pagination__summary {
        font-size: .74rem;
    }

    .listing-pagination .site-pagination .pagination {
        flex-wrap: nowrap;
        gap: 4px;
        padding: 5px;
        border-radius: 14px;
    }

    .listing-pagination .site-pagination .page-link {
        min-width: 30px;
        height: 36px;
        padding: 0 5px;
        border-radius: 9px;
        font-size: .78rem;
    }

    .listing-pagination .site-pagination .page-link .pagination-label {
        display: none;
    }

    .listing-pagination .site-pagination .page-item:first-child .page-link,
    .listing-pagination .site-pagination .page-item:last-child .page-link {
        width: 34px;
        min-width: 34px;
        padding: 0;
        font-size: 1rem;
    }

    .listing-pagination .site-pagination .page-item.d-sm-none {
        display: flex !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .listing-pagination .site-pagination .page-link {
        transition: none;
    }
}

@media (max-width: 767.98px) {
    .zoya-product-card__title { display: block; min-height: 0; overflow: visible; overflow-wrap: anywhere; -webkit-line-clamp: unset; }
}

/* Final pagination override: neutralize legacy compiled circular/dark link rules. */
.listing-pagination .site-pagination .page-item .page-link {
    display: inline-flex;
    flex-flow: row nowrap;
    white-space: nowrap;
    border-radius: 12px !important;
}
.listing-pagination .site-pagination .page-item.active .page-link { border-radius: 12px !important; }
.listing-pagination .site-pagination .page-item:not(.active):not(.disabled) .page-link[rel="next"],
.listing-pagination .site-pagination .page-item:not(.active):not(.disabled) .page-link[rel="prev"] {
    min-width: 44px;
    border-color: #f0deea;
    border-radius: 12px !important;
    background: #fff8fc;
    color: #68455b;
}
.listing-pagination .site-pagination .page-item:not(.active):not(.disabled) .page-link[rel="next"]:hover,
.listing-pagination .site-pagination .page-item:not(.active):not(.disabled) .page-link[rel="prev"]:hover {
    border-color: #f1cddd;
    background: #fff0f7;
    color: #9b245a;
}
@media (max-width: 575.98px) {
    .listing-pagination .site-pagination .page-item .page-link[data-page-direction] {
        width: 36px;
        min-width: 36px;
        height: 36px;
        padding: 0;
    }
    .listing-pagination .site-pagination .page-link[data-page-direction] i { font-size: .9rem; }
}
