/* =============================================================
   [WC] NOWIBLY WooCommerce styles — brand-token-driven, RTL-ready
   Loaded only when WooCommerce is active.
   ============================================================= */

.woocommerce, .woocommerce-page { font-family: var(--nw-font-body); color: var(--nw-text-dark); }
.woocommerce a { color: var(--nw-blue); transition: color var(--nw-duration-fast) var(--nw-ease-standard); }
.woocommerce a:hover { color: var(--nw-ink); }
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce h4 {
    font-family: var(--nw-font-display);
    color: var(--nw-ink);
}

.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-md);
    padding: var(--nw-space-4) var(--nw-space-5);
    background: var(--nw-white);
    box-shadow: var(--nw-shadow-sm);
    margin-block-end: var(--nw-space-5);
    border-inline-start-width: 4px;
    color: var(--nw-text-dark);
}
.woocommerce-message { border-inline-start-color: var(--nw-success); }
.woocommerce-info { border-inline-start-color: var(--nw-blue); background: var(--nw-blue-pale); }
.woocommerce-error { border-inline-start-color: var(--nw-error); }

/* [PRODUCT-CARD] */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--nw-space-5);
    margin: 0 0 var(--nw-space-7) !important;
    padding: 0;
    list-style: none;
}
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-lg);
    padding: var(--nw-space-4);
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    transition: transform var(--nw-duration-base) var(--nw-ease-standard),
                box-shadow var(--nw-duration-base) var(--nw-ease-standard),
                border-color var(--nw-duration-base) var(--nw-ease-standard);
    position: relative;
    display: flex;
    flex-direction: column;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--nw-shadow-lg);
    border-color: var(--nw-blue);
}
.woocommerce ul.products li.product a img {
    border-radius: var(--nw-radius-md);
    margin-block-end: var(--nw-space-4);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--nw-font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--nw-ink);
    margin: 0 0 var(--nw-space-2);
    line-height: 1.3;
}
.woocommerce ul.products li.product .price {
    color: var(--nw-ink);
    font-family: var(--nw-font-display);
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 var(--nw-space-3);
}
.woocommerce ul.products li.product .price del { color: var(--nw-text-gray); font-weight: 400; font-size: 14px; opacity: .6; }
.woocommerce ul.products li.product .price ins { background: transparent; color: var(--nw-blue); text-decoration: none; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    margin-block-start: auto;
    background: var(--nw-blue);
    color: var(--nw-white);
    border-radius: var(--nw-radius-pill);
    padding: 12px 20px;
    font-family: var(--nw-font-display);
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    border: 0;
    box-shadow: var(--nw-shadow-blue);
    text-decoration: none;
    display: inline-block;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover { background: var(--nw-ink); color: var(--nw-white); }

/* [SALE-BADGE] */
.woocommerce span.onsale, .nw-sale-badge {
    position: absolute;
    inset-block-start: var(--nw-space-3);
    inset-inline-start: var(--nw-space-3);
    background: var(--nw-warning);
    color: #1A1A1A;
    border-radius: var(--nw-radius-sm);
    padding: 4px 10px;
    font-family: var(--nw-font-mono);
    font-size: var(--nw-fs-badge);
    font-weight: 700;
    letter-spacing: var(--nw-tracking-badge);
    text-transform: uppercase;
    z-index: 2;
    margin: 0;
    line-height: 1.4;
    min-width: auto;
    min-height: auto;
}
.woocommerce div.product span.onsale { inset-block-start: var(--nw-space-4); inset-inline-start: var(--nw-space-4); }

/* [WC-PAGINATION] */
.woocommerce nav.woocommerce-pagination ul {
    border: 0; display: flex; gap: var(--nw-space-2);
    justify-content: center;
    margin-block-start: var(--nw-space-7);
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-md);
    color: var(--nw-text-dark);
    width: 40px; height: 40px; line-height: 38px;
    padding: 0;
    font-family: var(--nw-font-display);
    font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--nw-blue); color: var(--nw-white); border-color: var(--nw-blue);
}

/* [WC-SINGLE] */
.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--nw-space-7);
    margin-block-end: var(--nw-space-8);
}
@media (max-width: 768px) { .woocommerce div.product { grid-template-columns: 1fr; gap: var(--nw-space-5); } }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary {
    width: 100% !important; float: none !important; margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery img {
    border-radius: var(--nw-radius-lg);
    border: 1px solid var(--nw-cloud);
}
.woocommerce div.product .product_title {
    font-family: var(--nw-font-display);
    font-size: 32px; font-weight: 700;
    color: var(--nw-ink);
    margin: 0 0 var(--nw-space-3);
    line-height: 1.2;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-family: var(--nw-font-display);
    font-size: 28px; font-weight: 700;
    color: var(--nw-blue);
    margin: 0 0 var(--nw-space-4);
}
.woocommerce div.product form.cart {
    background: var(--nw-bg);
    border-radius: var(--nw-radius-lg);
    padding: var(--nw-space-5);
    margin-block-end: var(--nw-space-5);
}
.woocommerce div.product form.cart .quantity {
    display: inline-flex; align-items: center;
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-pill);
    overflow: hidden;
    margin-inline-end: var(--nw-space-3);
}
.woocommerce div.product form.cart .quantity input.qty {
    width: 64px; text-align: center;
    border: 0; padding: 12px 0;
    font-family: var(--nw-font-display); font-weight: 600;
    background: transparent;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
    background: var(--nw-blue);
    color: var(--nw-white);
    border-radius: var(--nw-radius-pill);
    padding: 14px 32px;
    font-family: var(--nw-font-display);
    font-weight: 600;
    font-size: 15px;
    border: 0;
    box-shadow: var(--nw-shadow-blue);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--nw-ink); }

/* [WC-CART] */
.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: var(--nw-space-6);
    align-items: start;
}
@media (max-width: 1024px) { .woocommerce-cart .woocommerce { grid-template-columns: 1fr; } }
.woocommerce-cart table.shop_table {
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-lg);
    border-collapse: separate;
    overflow: hidden;
    background: var(--nw-white);
}
.woocommerce-cart table.shop_table th {
    background: var(--nw-bg);
    color: var(--nw-ink);
    font-family: var(--nw-font-display);
    font-weight: 600;
    font-size: var(--nw-fs-small);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: var(--nw-space-3) var(--nw-space-4);
    border: 0;
}
.woocommerce-cart table.shop_table td {
    border-block-start: 1px solid var(--nw-cloud);
    padding: var(--nw-space-4);
    color: var(--nw-text-dark);
    vertical-align: middle;
}
.woocommerce-cart .cart_totals {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-lg);
    padding: var(--nw-space-5);
    box-shadow: var(--nw-shadow-sm);
    position: sticky;
    inset-block-start: 96px;
}
.woocommerce-cart .cart_totals .order-total .amount {
    color: var(--nw-blue);
    font-size: 24px; font-weight: 700;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background: var(--nw-blue);
    color: var(--nw-white);
    border-radius: var(--nw-radius-pill);
    padding: 16px 24px;
    width: 100%;
    text-align: center;
    font-family: var(--nw-font-display);
    font-weight: 700;
    font-size: 16px;
    box-shadow: var(--nw-shadow-blue);
    margin-block-start: var(--nw-space-3);
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--nw-ink); color: var(--nw-white); }

/* [WC-CHECKOUT] */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-md);
    padding: 12px var(--nw-space-4);
    font-family: var(--nw-font-body);
    color: var(--nw-text-dark);
    width: 100%;
    box-shadow: none;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--nw-blue);
    outline: 2px solid color-mix(in srgb, var(--nw-blue) 20%, transparent);
}
.woocommerce-checkout #place_order {
    background: var(--nw-blue);
    color: var(--nw-white);
    border-radius: var(--nw-radius-pill);
    padding: 16px 32px;
    font-family: var(--nw-font-display);
    font-weight: 700;
    font-size: 16px;
    border: 0;
    box-shadow: var(--nw-shadow-blue);
    width: 100%;
}
.woocommerce-checkout #place_order:hover { background: var(--nw-ink); color: var(--nw-white); }

/* [WC-ACCOUNT] */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: var(--nw-space-6);
    align-items: start;
}
@media (max-width: 768px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-lg);
    padding: var(--nw-space-3);
    box-shadow: var(--nw-shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-content { padding: var(--nw-space-5); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: var(--nw-space-3) var(--nw-space-4);
    border-radius: var(--nw-radius-md);
    color: var(--nw-text-dark);
    font-family: var(--nw-font-display);
    font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--nw-blue-pale); color: var(--nw-blue); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--nw-blue); color: var(--nw-white); }

/* [WC-MOBILE] */
@media (max-width: 768px) {
    .woocommerce div.product .product_title { font-size: 24px; }
    .woocommerce div.product p.price { font-size: 22px; }
}

/* =============================================================
   [WC-CARD-POLISH] Phase 5 — badges stack, wishlist heart, quick-view
   ============================================================= */

/* Image wrapper — needed for hover transforms */
.woocommerce ul.products li.product { overflow: hidden; }
.woocommerce ul.products li.product > a:first-of-type {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--nw-radius-md);
    margin-block-end: var(--nw-space-4);
}
.woocommerce ul.products li.product > a:first-of-type img {
    margin-block-end: 0 !important;
    transition: transform 0.4s var(--nw-ease-standard);
}
.woocommerce ul.products li.product:hover > a:first-of-type img {
    transform: scale(1.05);
}

/* Badge stack (top-left, vertical) */
.nw-badges-stack {
    position: absolute;
    inset-block-start: var(--nw-space-3);
    inset-inline-start: var(--nw-space-3);
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 3;
    pointer-events: none;
}
.nw-badge {
    padding: 4px 10px;
    border-radius: var(--nw-radius-sm);
    font-family: var(--nw-font-mono);
    font-size: var(--nw-fs-badge);
    font-weight: 700;
    letter-spacing: var(--nw-tracking-badge);
    text-transform: uppercase;
    line-height: 1.4;
    align-self: flex-start;
}
.nw-badge--new  { background: var(--nw-blue);    color: var(--nw-white); }
.nw-badge--sale { background: var(--nw-warning); color: #1A1A1A; }
.nw-badge--best { background: var(--nw-ink);     color: var(--nw-white); }
.nw-badge--low  { background: var(--nw-error);   color: var(--nw-white); }

/* WooCommerce's native onsale badge — move into the stack position */
.woocommerce ul.products li.product .onsale {
    inset-block-start: var(--nw-space-3);
    inset-inline-start: var(--nw-space-3);
}

/* Auto NEW badge for products inside .nw-new-grid (already exists; stacks under .onsale) */
.nw-new-grid .product .onsale { inset-block-start: 38px !important; }

/* Wishlist heart — top-right corner */
.nw-wishlist {
    position: absolute;
    inset-block-start: var(--nw-space-3);
    inset-inline-end: var(--nw-space-3);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    border: 1px solid var(--nw-cloud);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 4;
    transition: all var(--nw-duration-fast) var(--nw-ease-standard);
    color: var(--nw-text-gray);
    text-decoration: none;
    box-shadow: var(--nw-shadow-sm);
}
.nw-wishlist:hover { color: var(--nw-error); transform: scale(1.1); }
.nw-wishlist.is-active { color: var(--nw-error); background: var(--nw-error); border-color: var(--nw-error); }
.nw-wishlist.is-active svg { fill: var(--nw-white); stroke: var(--nw-white); }
.nw-wishlist svg { width: 16px; height: 16px; }

/* Quick-view bar — slides up on hover */
.woocommerce ul.products li.product .nw-quickview {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    background: var(--nw-ink);
    color: var(--nw-white);
    text-align: center;
    padding: 12px;
    font-family: var(--nw-font-display);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transform: translateY(100%);
    transition: transform var(--nw-duration-base) var(--nw-ease-standard);
    text-decoration: none;
    z-index: 2;
}
.woocommerce ul.products li.product:hover .nw-quickview { transform: translateY(0); }
.woocommerce ul.products li.product .nw-quickview:hover { background: var(--nw-blue); color: var(--nw-white); }

/* Add to cart button — full-width on the card */
.woocommerce ul.products li.product .button.add_to_cart_button {
    width: 100%;
    box-sizing: border-box;
}

/* =============================================================
   [WC-FILTERS] Shop sidebar filter polish
   ============================================================= */
.woocommerce-shop .widget,
.woocommerce.archive .widget {
    background: var(--nw-white);
    border: 1px solid var(--nw-cloud);
    border-radius: var(--nw-radius-lg);
    padding: var(--nw-space-4);
    margin-block-end: var(--nw-space-4);
}
.woocommerce-shop .widget .widget-title,
.woocommerce.archive .widget .widget-title,
.woocommerce-shop .widget h2,
.woocommerce.archive .widget h2 {
    font-family: var(--nw-font-display);
    font-weight: 700;
    font-size: 14px;
    color: var(--nw-ink);
    margin: 0 0 var(--nw-space-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding-block-end: var(--nw-space-2);
    border-block-end: 1px solid var(--nw-cloud);
}
.woocommerce-shop .widget ul,
.woocommerce.archive .widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce-shop .widget ul li,
.woocommerce.archive .widget ul li {
    padding-block: 6px;
    color: var(--nw-text-dark);
    font-size: 14px;
}
.woocommerce-shop .widget ul li a,
.woocommerce.archive .widget ul li a {
    color: var(--nw-text-dark);
    text-decoration: none;
}
.woocommerce-shop .widget ul li a:hover,
.woocommerce.archive .widget ul li a:hover { color: var(--nw-blue); }

/* Price slider polish */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: var(--nw-cloud);
    border: 0;
    height: 4px;
    border-radius: 2px;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background: var(--nw-blue);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--nw-white);
    border: 2px solid var(--nw-blue);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    box-shadow: var(--nw-shadow-sm);
    top: -7px;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
    background: var(--nw-blue);
    color: var(--nw-white);
    border-radius: var(--nw-radius-pill);
    padding: 8px 18px;
    font-size: 13px;
    font-family: var(--nw-font-display);
    font-weight: 600;
}
