/* ==========================================================================
   Avatar Diamonds — Shop / Category Archive Pages
   Styles WooCommerce's default archive markup via CSS only.
   ========================================================================== */

:root {
    --ad-navy:       #0a2547;
    --ad-navy-2:     #143765;
    --ad-navy-soft:  #e8edf5;
    --ad-gold:       #c9a34d;
    --ad-gold-light: #e8cc80;
    --ad-gold-dark:  #9a7a30;
    --ad-cream:      #faf7f0;
    --ad-ink:        #0f1726;
    --ad-ink-soft:   #4b5568;
    --ad-muted:      #8a92a3;
    --ad-line:       #e4e7ee;
    --ad-bg:         #ffffff;
    --ad-bg-soft:    #f7f9fc;
}

/* AGGRESSIVELY zero out all vertical padding Storefront stacks on content
   wrappers on archive pages. Without this, #content + .site-main + .col-full
   each contribute ~40px padding, compounding into a big gap. */
body.woocommerce-shop #content.site-content,
body.archive.tax-product_cat #content.site-content,
body.post-type-archive-product #content.site-content,
body.tax-product_tag #content.site-content,
body.woocommerce-shop .site-main,
body.archive.tax-product_cat .site-main,
body.post-type-archive-product .site-main,
body.tax-product_tag .site-main,
body.woocommerce-shop #primary,
body.archive.tax-product_cat #primary,
body.post-type-archive-product #primary,
body.tax-product_tag #primary {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Constrain content width but allow horizontal padding for gutters. */
body.woocommerce-shop .col-full,
body.archive.tax-product_cat .col-full,
body.post-type-archive-product .col-full,
body.tax-product_tag .col-full {
    max-width: 1400px !important;
    padding: 1rem 1.5rem 3rem !important;
    margin: 0 auto !important;
}

/* Hide breadcrumb entirely on archive pages — we want a clean start. */
body.woocommerce-shop .storefront-breadcrumb,
body.archive.tax-product_cat .storefront-breadcrumb,
body.post-type-archive-product .storefront-breadcrumb,
body.tax-product_tag .storefront-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb,
body.archive.tax-product_cat .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
    display: none !important;
}

/* ==========================================================================
   ARCHIVE HEADER (compact banner)
   ========================================================================== */

/* Hide the Shop banner on the Shop page, but keep it on category archive
   pages (category name is useful there). User can remove the second rule
   if they want categories also bannerless. */
body.woocommerce-shop .woocommerce-products-header {
    display: none !important;
}

/* Category pages: compact left-aligned title only, no banner. */
body.archive.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    text-align: left !important;
    padding: 0 0 0.75rem !important;
    margin: 0 0 1rem !important;
    border-bottom: 1px solid var(--ad-line) !important;
    background: transparent !important;
}
body.archive.tax-product_cat .woocommerce-products-header::before,
body.tax-product_tag .woocommerce-products-header::before { display: none !important; }
body.archive.tax-product_cat .woocommerce-products-header h1,
body.tax-product_tag .woocommerce-products-header h1 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(1.6rem, 2.4vw, 2.1rem) !important;
    font-weight: 400 !important;
    color: var(--ad-navy) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
.term-description,
.taxonomy-description {
    max-width: 640px;
    margin: 0.4rem 0 0 !important;
    color: var(--ad-ink-soft);
    font-size: 0.88rem;
    line-height: 1.55;
}
.term-description p,
.taxonomy-description p { margin: 0; }

/* ==========================================================================
   INLINE CATEGORY FILTER (pills)
   ========================================================================== */

.ad-category-filter {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1rem;
    margin: 0 0 0.75rem;
    background: var(--ad-bg);
    border: 1px solid var(--ad-line);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(10,37,71,0.03);
    flex-wrap: wrap;
}
.ad-category-filter-label {
    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ad-navy);
    flex-shrink: 0;
}
.ad-category-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}
.ad-category-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid var(--ad-line);
    border-radius: 999px;
    background: var(--ad-bg);
    color: var(--ad-ink);
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    transition: all 0.18s ease;
    white-space: nowrap;
}
.ad-category-pill:hover {
    border-color: var(--ad-navy);
    color: var(--ad-navy);
    background: var(--ad-bg-soft);
    transform: translateY(-1px);
}
.ad-category-pill.is-active {
    background: var(--ad-navy);
    color: #fff !important;
    border-color: var(--ad-navy);
    font-weight: 600;
}
.ad-category-pill.is-active:hover {
    background: var(--ad-navy-2);
    border-color: var(--ad-navy-2);
}
.ad-category-pill-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    padding: 0 4px;
    height: 16px;
    background: rgba(10,37,71,0.08);
    border-radius: 999px;
    color: var(--ad-muted);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0;
}
.ad-category-pill.is-active .ad-category-pill-count {
    background: rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.85);
}

/* Category icon inside pill — small, to the left of the label, no height change */
.ad-category-pill-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    color: var(--ad-gold-dark);
    flex-shrink: 0;
    transition: color 0.18s ease;
}
.ad-category-pill-icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.6;
}
.ad-category-pill:hover .ad-category-pill-icon {
    color: var(--ad-navy);
}
.ad-category-pill.is-active .ad-category-pill-icon {
    color: var(--ad-gold-light);
}

@media (max-width: 640px) {
    .ad-category-filter { gap: 0.5rem; padding: 0.75rem; }
    .ad-category-filter-label { width: 100%; margin-bottom: 0.1rem; }
    .ad-category-pill { padding: 0.35rem 0.7rem; font-size: 0.7rem; }
}

/* ==========================================================================
   INLINE PRICE FILTER
   ========================================================================== */

.ad-price-filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    margin: 0 0 1.25rem;
    background: var(--ad-bg);
    border: 1px solid var(--ad-line);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(10,37,71,0.03);
}
.ad-price-filter-label {
    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ad-navy);
    margin-right: 0.5rem;
}
.ad-price-filter-inputs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.ad-price-filter-prefix {
    color: var(--ad-muted);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1rem;
    margin-right: -0.2rem;
}
.ad-price-filter-sep {
    color: var(--ad-muted);
    padding: 0 0.3rem;
    font-weight: 300;
}
.ad-price-filter input[type="number"] {
    width: 110px;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ad-line);
    border-radius: 3px;
    font-family: "Montserrat", sans-serif;
    font-size: 0.88rem;
    color: var(--ad-navy);
    background: var(--ad-bg-soft);
    font-variant-numeric: tabular-nums;
    transition: border-color 0.15s, box-shadow 0.15s;
    -moz-appearance: textfield;
}
.ad-price-filter input[type="number"]::-webkit-outer-spin-button,
.ad-price-filter input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.ad-price-filter input[type="number"]:focus {
    outline: none;
    border-color: var(--ad-navy);
    background: var(--ad-bg);
    box-shadow: 0 0 0 3px rgba(10,37,71,0.1);
}
.ad-price-filter-apply {
    padding: 0.55rem 1.25rem;
    background: var(--ad-navy);
    color: #fff;
    border: 1px solid var(--ad-navy);
    border-radius: 3px;
    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.18s;
    margin-left: 0.25rem;
}
.ad-price-filter-apply:hover {
    background: var(--ad-navy-2);
    border-color: var(--ad-navy-2);
}
.ad-price-filter-reset {
    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ad-gold-dark);
    text-decoration: none;
    border-bottom: 1px solid var(--ad-gold);
    padding-bottom: 1px;
    margin-left: 0.5rem;
}
.ad-price-filter-reset:hover {
    color: var(--ad-navy);
    border-color: var(--ad-navy);
}

@media (max-width: 640px) {
    .ad-price-filter { padding: 0.75rem; gap: 0.5rem; }
    .ad-price-filter-label { width: 100%; margin: 0 0 0.25rem; }
    .ad-price-filter input[type="number"] { width: 90px; font-size: 0.82rem; padding: 0.45rem 0.6rem; }
    .ad-price-filter-apply { width: auto; padding: 0.5rem 0.9rem; }
}

/* ==========================================================================
   SORT / RESULT COUNT BAR
   ========================================================================== */

.woocommerce-notices-wrapper:empty { display: none; }

/* Make the sort + result-count bar sit inline on the same row. */
.woocommerce-ordering,
.woocommerce-result-count {
    float: none !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center;
    vertical-align: middle;
}

.woocommerce .woocommerce-result-count {
    font-family: "Montserrat", sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ad-muted);
    margin-right: auto !important;
}

.woocommerce form.woocommerce-ordering {
    margin-left: auto !important;
}
.woocommerce form.woocommerce-ordering select {
    padding: 0.55rem 2.5rem 0.55rem 1rem;
    border: 1px solid var(--ad-line);
    border-radius: 3px;
    background: var(--ad-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%230a2547' d='M0 0l5 6 5-6z'/></svg>") no-repeat right 0.9rem center;
    background-size: 10px 6px;
    -webkit-appearance: none;
    appearance: none;
    font-family: "Montserrat", sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ad-navy);
    cursor: pointer;
    font-weight: 500;
    min-width: 200px;
}
.woocommerce form.woocommerce-ordering select:hover { border-color: var(--ad-navy); }
.woocommerce form.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--ad-gold);
    box-shadow: 0 0 0 3px rgba(201,163,77,0.18);
}

/* ==========================================================================
   PRODUCT GRID
   ========================================================================== */

/* Force grid layout over Storefront's default float-based .columns-N rules. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce.columns-1 ul.products,
.woocommerce.columns-2 ul.products,
.woocommerce.columns-3 ul.products,
.woocommerce.columns-4 ul.products,
.woocommerce.columns-5 ul.products,
.woocommerce.columns-6 ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    clear: both;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column;
    background: var(--ad-bg);
    border: 1px solid var(--ad-line);
    border-radius: 6px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    min-height: 300px;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(10, 37, 71, 0.12);
    border-color: var(--ad-gold);
}

/* Product image wrapper */
.woocommerce ul.products li.product a {
    display: block;
    text-decoration: none !important;
    color: inherit;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100% !important;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--ad-bg-soft);
    display: block;
}

/* =======================================================================
   Multi-image hover gallery on shop loop cards
   ======================================================================= */

.ad-product-gallery {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
    background: var(--ad-bg-soft);
}
.ad-product-gallery .ad-gallery-img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.6s ease;
    transform: scale(1);
    display: block;
}
.ad-product-gallery .ad-gallery-img.is-active {
    opacity: 1;
}
.woocommerce ul.products li.product:hover .ad-product-gallery .ad-gallery-img.is-active {
    transform: scale(1.04);
}

/* Dots indicator */
.ad-gallery-dots {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 5px;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    z-index: 2;
}
.ad-product-gallery:hover .ad-gallery-dots {
    opacity: 1;
}
.ad-gallery-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(10, 37, 71, 0.15);
    transition: background 0.2s ease, transform 0.2s ease;
}
.ad-gallery-dot.is-active {
    background: var(--ad-gold);
    border-color: var(--ad-gold);
    transform: scale(1.2);
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    color: var(--ad-navy) !important;
    margin: 1rem 1.25rem 0.35rem !important;
    padding: 0 !important;
    letter-spacing: 0.01em;
    line-height: 1.25;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--ad-gold-dark) !important;
}

/* Price */
.woocommerce ul.products li.product .price {
    font-family: "Montserrat", sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ad-navy);
    margin: 0 1.25rem 0.8rem !important;
    padding: 0;
    display: block;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--ad-navy);
    font-weight: 600;
}
.woocommerce ul.products li.product .price del {
    color: var(--ad-muted);
    font-size: 0.85em;
    margin-right: 0.4em;
    opacity: 0.7;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    font-variant-numeric: tabular-nums;
}

/* Star rating (if present) */
.woocommerce ul.products li.product .star-rating {
    margin: 0 1.25rem 0.6rem;
    font-size: 0.8em;
}

/* Add-to-cart button */
.woocommerce ul.products li.product .button {
    margin: auto 1.25rem 1.25rem !important;
    padding: 0.75rem 1rem !important;
    background: var(--ad-navy) !important;
    color: #fff !important;
    border: 1px solid var(--ad-navy) !important;
    border-radius: 3px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
    min-height: auto !important;
    text-align: center;
    display: block;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--ad-navy-2) !important;
    border-color: var(--ad-navy-2) !important;
    transform: translateY(-1px);
}
.woocommerce ul.products li.product .button.added::after {
    display: none !important;
}
.woocommerce ul.products li.product .added_to_cart {
    margin: 0.5rem 1.25rem 1rem !important;
    padding: 0 !important;
    text-align: center;
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ad-gold-dark);
}

/* Sale / onsale badge */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    background: var(--ad-gold) !important;
    color: var(--ad-navy) !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 0.3rem 0.65rem !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1 !important;
    z-index: 2;
}

/* Responsive columns */
@media (max-width: 1100px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 780px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.85rem !important;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 1.05rem !important;
        margin: 0.75rem 0.85rem 0.25rem !important;
    }
    .woocommerce ul.products li.product .price {
        margin: 0 0.85rem 0.65rem !important;
        font-size: 0.88rem;
    }
    .woocommerce ul.products li.product .button {
        margin: auto 0.85rem 0.85rem !important;
        padding: 0.6rem 0.8rem !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.16em !important;
    }
    .woocommerce-products-header {
        padding: 3rem 1rem 2rem;
    }
}
@media (max-width: 420px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   SINGLE PRODUCT GALLERY — prev/next arrows
   ========================================================================== */

.woocommerce-product-gallery { position: relative; }

.ad-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--ad-line);
    border-radius: 50%;
    background: var(--ad-bg);
    color: var(--ad-navy);
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(10, 37, 71, 0.12);
    transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    opacity: 0;
}
.woocommerce-product-gallery:hover .ad-gallery-arrow,
.ad-gallery-arrow:focus {
    opacity: 1;
}
.ad-gallery-arrow:hover {
    background: var(--ad-navy);
    color: #fff;
    border-color: var(--ad-navy);
    transform: translateY(-50%) scale(1.06);
    opacity: 1;
}
.ad-gallery-arrow svg {
    width: 20px;
    height: 20px;
}
.ad-gallery-arrow--prev { left: 14px; }
.ad-gallery-arrow--next { right: 14px; }

/* Always visible on touch devices (no hover). */
@media (hover: none) {
    .ad-gallery-arrow { opacity: 0.85; }
}

/* ==========================================================================
   RELATED / UPSELL / CROSS-SELL SECTIONS
   (Shown on single product + cart pages — use same .products grid styles
   but need their own spacing and heading treatment.)
   ========================================================================== */

.related.products,
.upsells.products,
.cross-sells {
    clear: both;
    margin: 4rem 0 2rem !important;
    padding-top: 3rem;
    border-top: 1px solid var(--ad-line);
}
.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    font-weight: 400;
    color: var(--ad-navy);
    margin: 0 0 2rem !important;
    padding: 0 !important;
    letter-spacing: -0.01em;
    text-align: center;
    line-height: 1.2;
    position: relative;
}
.related.products > h2::after,
.upsells.products > h2::after,
.cross-sells > h2::after {
    content: "";
    display: block;
    width: 32px;
    height: 1px;
    background: var(--ad-gold);
    margin: 0.75rem auto 0;
}

/* Ensure the .products grid inside these sections looks the same as shop */
.related.products ul.products,
.upsells.products ul.products,
.cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
@media (max-width: 1100px) {
    .related.products ul.products,
    .upsells.products ul.products,
    .cross-sells ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 780px) {
    .related.products ul.products,
    .upsells.products ul.products,
    .cross-sells ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.85rem !important;
    }
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
    text-align: center;
    margin: 4rem 0 2rem !important;
    padding: 0 !important;
    border: none !important;
}
.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    border: none !important;
}
.woocommerce-pagination ul.page-numbers li {
    border: none !important;
    margin: 0;
    padding: 0;
}
.woocommerce-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.7rem;
    border: 1px solid var(--ad-line) !important;
    border-radius: 3px !important;
    background: var(--ad-bg) !important;
    color: var(--ad-ink) !important;
    font-family: "Montserrat", sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.woocommerce-pagination .page-numbers:hover {
    background: var(--ad-navy) !important;
    color: #fff !important;
    border-color: var(--ad-navy) !important;
}
.woocommerce-pagination .page-numbers.current {
    background: var(--ad-navy) !important;
    color: #fff !important;
    border-color: var(--ad-navy) !important;
    font-weight: 600;
}
.woocommerce-pagination .page-numbers.dots {
    border: none !important;
    background: transparent !important;
    color: var(--ad-muted) !important;
}

/* ==========================================================================
   WIDGETS / PRICE FILTER (sidebar or inline)
   ========================================================================== */

.widget_price_filter .price_slider_wrapper,
.widget_price_filter {
    background: var(--ad-bg);
    padding: 1.5rem;
    border: 1px solid var(--ad-line);
    border-radius: 6px;
    margin-bottom: 1.5rem;
}
.widget_price_filter .widget-title,
.widget_price_filter h2 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--ad-navy);
    margin: 0 0 1rem;
}
.widget_price_filter .price_slider.ui-slider {
    background: var(--ad-line) !important;
    height: 2px !important;
    border: none !important;
    margin: 1.5rem 0 !important;
}
.widget_price_filter .ui-slider-range {
    background: var(--ad-navy) !important;
    height: 2px !important;
}
.widget_price_filter .ui-slider-handle {
    width: 16px !important;
    height: 16px !important;
    background: var(--ad-navy) !important;
    border: 2px solid #fff !important;
    box-shadow: 0 2px 6px rgba(10,37,71,0.25) !important;
    border-radius: 50% !important;
    top: -7px !important;
    cursor: grab;
}
.widget_price_filter .ui-slider-handle:hover { background: var(--ad-gold-dark) !important; }
.widget_price_filter .price_slider_amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--ad-ink-soft);
}
.widget_price_filter .price_slider_amount .price_label {
    font-variant-numeric: tabular-nums;
}
.widget_price_filter .price_slider_amount .button {
    padding: 0.5rem 1rem !important;
    background: var(--ad-navy) !important;
    color: #fff !important;
    border: 1px solid var(--ad-navy) !important;
    border-radius: 3px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.64rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    cursor: pointer;
}
.widget_price_filter .price_slider_amount .button:hover {
    background: var(--ad-navy-2) !important;
    border-color: var(--ad-navy-2) !important;
}


/* ==========================================================================
   Product card wishlist heart (shop / category / related loops)
   ========================================================================== */

ul.products li.product { position: relative; }

.ad-loop-wishlist {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.94);
    color: #0a2547;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(10,37,71,0.12);
    backdrop-filter: blur(4px);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.ad-loop-wishlist:hover {
    background: #fff;
    color: #c8a96a;
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(10,37,71,0.2);
}
.ad-loop-wishlist svg {
    width: 18px;
    height: 18px;
    transition: fill 180ms ease, stroke 180ms ease;
}
.ad-loop-wishlist.is-saved {
    background: #0a2547;
    color: #c8a96a;
}
.ad-loop-wishlist.is-saved svg {
    fill: #c8a96a;
    stroke: #c8a96a;
}
.ad-loop-wishlist.is-saved:hover {
    background: #0e2c54;
    color: #e6cd93;
}
.ad-loop-wishlist.is-saved:hover svg {
    fill: #e6cd93;
    stroke: #e6cd93;
}
.ad-loop-wishlist.is-pulsing {
    animation: ad-loop-heart-pulse 450ms ease;
}
@keyframes ad-loop-heart-pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.35); }
    100% { transform: scale(1); }
}

@media (max-width: 480px) {
    .ad-loop-wishlist { width: 30px; height: 30px; top: 8px; right: 8px; }
    .ad-loop-wishlist svg { width: 16px; height: 16px; }
}


/* ==========================================================================
   Load More button (replaces numbered pagination on shop / category)
   ========================================================================== */

/* Hide WooCommerce's default numbered pagination — we render our own. */
.woocommerce-pagination,
nav.woocommerce-pagination { display: none !important; }

.ad-load-more-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    padding: 2.5rem 1rem 3.5rem;
    clear: both;
}

.ad-load-more-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-width: 220px;
    padding: 0.95rem 2.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ad-navy);
    background: #fff;
    border: 1.5px solid var(--ad-navy);
    border-radius: 3px;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ad-load-more-btn:hover:not(:disabled) {
    background: var(--ad-navy);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(10,37,71,0.15);
}
.ad-load-more-btn:disabled,
.ad-load-more-btn.is-loading {
    cursor: wait;
    opacity: 0.85;
}

.ad-load-more-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(10,37,71,0.2);
    border-top-color: var(--ad-navy);
    border-radius: 50%;
    display: none;
    animation: ad-shop-spin 700ms linear infinite;
}
.ad-load-more-btn.is-loading .ad-load-more-spinner { display: inline-block; }
.ad-load-more-btn.is-loading:hover .ad-load-more-spinner {
    border-color: rgba(255,255,255,0.3);
    border-top-color: #fff;
}

@keyframes ad-shop-spin {
    to { transform: rotate(360deg); }
}

.ad-load-more-count {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ad-muted);
}

.ad-load-more-done {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ad-gold-dark);
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--ad-line);
    border-bottom: 1px solid var(--ad-line);
    text-align: center;
}

@media (max-width: 480px) {
    .ad-load-more-btn { min-width: 180px; padding: 0.85rem 1.5rem; font-size: 0.7rem; }
    .ad-load-more-wrap { padding: 1.75rem 1rem 2.5rem; }
}
