/* =================================================================
   LDN WooCommerce Modernization — Gallery Dept / Editorial Aesthetic
   Life Diverse Network · Mestizo Media Group, Inc.
   v1.0.0 — 2026-04-15
   ================================================================= */

/* ── Reset WooCommerce Defaults ────────────────────────────────── */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    border: none !important;
    box-shadow: none !important;
    background: transparent;
    padding: 0;
    margin-bottom: var(--space-8, 48px);
    text-align: center;
    transition: transform var(--duration, 0.25s) var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
}

/* ── Product Image Container ──────────────────────────────────── */

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: opacity var(--duration, 0.25s) ease,
                filter var(--duration-slow, 0.4s) ease;
}

.woocommerce ul.products li.product:hover a img {
    opacity: 0.92;
    filter: contrast(1.05);
}

/* ── Product Title (Editorial Typography) ─────────────────────── */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-sm, 14px) !important;
    font-weight: 500 !important;
    letter-spacing: var(--tracking-wide, 0.05em) !important;
    text-transform: uppercase;
    color: var(--text-primary, #000) !important;
    padding: var(--space-4, 16px) 0 var(--space-2, 8px);
    margin: 0 !important;
    text-align: center;
    line-height: var(--leading-snug, 1.35);
}

/* ── Price ─────────────────────────────────────────────────────── */

.woocommerce ul.products li.product .price {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-sm, 14px) !important;
    font-weight: 400 !important;
    color: var(--text-secondary, #444) !important;
    text-align: center;
    display: block;
    margin: 0 !important;
    letter-spacing: var(--tracking-normal, 0);
}

.woocommerce ul.products li.product .price del {
    opacity: 0.4;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    font-weight: 600;
}

/* ── Add to Cart Button — Hidden Until Hover ──────────────────── */

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.ajax_add_to_cart {
    display: block !important;
    width: 100% !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    margin-top: var(--space-4, 16px) !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    cursor: pointer;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--duration, 0.25s) ease,
                transform var(--duration, 0.25s) var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
                background 0.2s ease !important;
}

.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:hover a.add_to_cart_button,
.woocommerce ul.products li.product:hover a.ajax_add_to_cart {
    opacity: 1;
    transform: translateY(0);
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
    background: var(--text-secondary, #444) !important;
}

/* ── Product Grid Layout ──────────────────────────────────────── */

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--space-7, 32px) !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--space-5, 20px) !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        gap: var(--space-6, 24px) !important;
    }
}

.woocommerce ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* ── Shop Page Header ─────────────────────────────────────────── */

.woocommerce-products-header__title.page-title {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-3xl, 40px) !important;
    font-weight: 300 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;
    text-align: center;
    color: var(--text-primary, #000);
    margin: var(--space-9, 64px) 0 var(--space-4, 16px) !important;
}

.woocommerce-result-count {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    color: var(--text-tertiary, #828282) !important;
    letter-spacing: var(--tracking-wide, 0.05em);
    text-transform: uppercase;
    text-align: center !important;
    width: 100%;
    display: block;
    margin-bottom: var(--space-8, 48px) !important;
}

/* ── Sorting Dropdown ─────────────────────────────────────────── */

.woocommerce-ordering select {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    letter-spacing: var(--tracking-wide, 0.05em);
    text-transform: uppercase;
    border: 1px solid var(--border, #E6E6E6) !important;
    border-radius: 0 !important;
    padding: 8px 16px !important;
    background: var(--bg-primary, #fff) !important;
    color: var(--text-primary, #000) !important;
}

/* ── Category Navigation (Collection Pages) ───────────────────── */

.woocommerce .term-description {
    font-family: var(--font-primary, 'Inter', sans-serif);
    font-size: var(--text-body, 16px);
    color: var(--text-secondary, #444);
    text-align: center;
    max-width: var(--max-width-prose, 680px);
    margin: 0 auto var(--space-8, 48px);
    line-height: var(--leading-normal, 1.5);
}

/* ── Breadcrumbs ──────────────────────────────────────────────── */

.woocommerce-breadcrumb {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    letter-spacing: var(--tracking-wide, 0.05em) !important;
    text-transform: uppercase;
    color: var(--text-tertiary, #828282) !important;
    text-align: center;
    padding: var(--space-6, 24px) 0 !important;
}

.woocommerce-breadcrumb a {
    color: var(--text-tertiary, #828282) !important;
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: var(--text-primary, #000) !important;
}

/* ── Single Product Page ──────────────────────────────────────── */

.woocommerce div.product .product_title {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-2xl, 32px) !important;
    font-weight: 300 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    color: var(--text-primary, #000);
    margin-bottom: var(--space-4, 16px) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-lg, 20px) !important;
    font-weight: 400 !important;
    color: var(--text-primary, #000) !important;
    letter-spacing: var(--tracking-normal, 0);
}

.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.button.alt {
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px 40px !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
    width: 100%;
}

.woocommerce div.product .single_add_to_cart_button:hover {
    background: var(--text-secondary, #444) !important;
}

/* ── Sale Badge ───────────────────────────────────────────────── */

.woocommerce span.onsale {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase;
    padding: 6px 12px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1 !important;
}

/* ── Pagination ───────────────────────────────────────────────── */

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-sm, 14px) !important;
    border: none !important;
    color: var(--text-tertiary, #828282) !important;
    background: transparent !important;
    padding: 8px 14px !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--text-primary, #000) !important;
    font-weight: 600 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    color: var(--text-primary, #000) !important;
    background: var(--bg-secondary, #F7F7F7) !important;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    text-align: center;
}

/* ── Remove WooCommerce Purple Everywhere ─────────────────────── */

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    border: none !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    transition: background 0.2s ease !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: var(--text-secondary, #444) !important;
    color: #fff !important;
}

/* ── Star Ratings ─────────────────────────────────────────────── */

.woocommerce .star-rating {
    margin: 0 auto 8px !important;
}

/* ── Notices ──────────────────────────────────────────────────── */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: #000 !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-sm, 14px) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: #000 !important;
}

/* ── Cart & Checkout Overrides ────────────────────────────────── */

.woocommerce table.shop_table {
    border: 1px solid var(--border, #E6E6E6) !important;
    border-radius: 0 !important;
}

.woocommerce table.shop_table th {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: var(--text-xs, 12px) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 600 !important;
}

/* ── Hide Default Sidebar on Shop ─────────────────────────────── */

.post-type-archive-product .widget-area,
.tax-product_cat .widget-area {
    display: none !important;
}

.post-type-archive-product .content-area,
.tax-product_cat .content-area {
    width: 100% !important;
    max-width: var(--max-width-wide, 1440px) !important;
    margin: 0 auto !important;
    padding: 0 var(--gutter, 24px) !important;
}
