/* =========================================================================
   DYWORK OFFICIAL — WOOCOMMERCE STYLES
   Brands the shop archive, single product, cart, and checkout to match the
   Figma identity. Loaded only when WooCommerce is active.
   ========================================================================= */

.woocommerce, .woocommerce-page { color: var(--dw-fg); }

/* ---- Shop / archive layout ---- */
.dw-shop-wrap { padding-block: var(--dw-section-y); }
.dw-shop-wrap .dw-container { max-width: var(--dw-content-width); }

.woocommerce .products ul,
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2.5rem);
    margin: 0; padding: 0; list-style: none;
}
@media (max-width: 1024px){ .woocommerce ul.products{ grid-template-columns: repeat(3,1fr);} }
@media (max-width: 768px){ .woocommerce ul.products{ grid-template-columns: repeat(2,1fr);} }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: center; }
.woocommerce ul.products li.product::before { display:none; }

.woocommerce ul.products li.product a img {
    width: 100%; aspect-ratio: 3/4; object-fit: cover;
    margin: 0 0 var(--dw-space-2); border-radius: var(--dw-radius);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--dw-font-head);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 1.15rem; line-height: 1.15;
    padding: 0; margin: 0 0 .25rem; color: var(--dw-fg);
}
.woocommerce ul.products li.product .price {
    font-family: var(--dw-font-head);
    color: var(--dw-wine-accent);
    font-size: 1.35rem; letter-spacing: .03em;
}
/* On dark sections, recolor product text to cream */
.dw-section--wine .woocommerce ul.products li.product .woocommerce-loop-product__title,
.dw-section--dark .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--dw-cream); }
.dw-section--wine .woocommerce ul.products li.product .price,
.dw-section--dark .woocommerce ul.products li.product .price { color: var(--dw-cream); }

/* ---- Buttons (Woo) ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    font-family: var(--dw-font-head);
    text-transform: uppercase;
    letter-spacing: .1em;
    background: var(--dw-wine);
    color: var(--dw-cream);
    border-radius: var(--dw-radius);
    padding: .9em 1.8em;
    font-size: 1rem;
    border: 1.5px solid var(--dw-wine);
    transition: background .2s, color .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: transparent; color: var(--dw-wine);
}
.dw-section--wine .woocommerce a.button,
.dw-section--dark .woocommerce a.button {
    background: var(--dw-cream); color: var(--dw-ink); border-color: var(--dw-cream);
}

/* ---- Sale badge ---- */
.woocommerce span.onsale {
    background: var(--dw-wine-accent); color: var(--dw-cream);
    font-family: var(--dw-font-head); letter-spacing: .08em; text-transform: uppercase;
    border-radius: var(--dw-radius); min-height: auto; line-height: 1; padding: .5em .8em;
}

/* ---- Single product ---- */
.woocommerce div.product .product_title {
    font-family: var(--dw-font-display);
    font-size: clamp(2rem,4vw,3.25rem); line-height: 1.05;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--dw-font-head);
    color: var(--dw-wine-accent);
    font-size: 1.8rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--dw-wine); }
.woocommerce .woocommerce-tabs ul.tabs li a { font-family: var(--dw-font-head); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce div.product form.cart .qty {
    padding: .7em; border: 1px solid var(--dw-line); border-radius: var(--dw-radius);
}

/* ---- Notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: var(--dw-wine);
    background: var(--dw-cream-2);
    font-family: var(--dw-font-body);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--dw-wine); }

/* ---- Cart & checkout ---- */
.woocommerce table.shop_table { border-radius: var(--dw-radius); }
.woocommerce table.shop_table th { font-family: var(--dw-font-head); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce form .form-row label,
.woocommerce-billing-fields h3,
.woocommerce-checkout h3 { font-family: var(--dw-font-head); text-transform: uppercase; letter-spacing: .05em; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment { background: var(--dw-cream-2); padding: var(--dw-space-3); border-radius: var(--dw-radius); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 1px solid var(--dw-line); border-radius: var(--dw-radius); padding: .85em 1em; font-family: var(--dw-font-body);
}

/* ---- Result count / ordering ---- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select { font-family: var(--dw-font-head); text-transform: uppercase; letter-spacing: .04em; }

/* ---- Breadcrumb ---- */
.woocommerce .woocommerce-breadcrumb { font-family: var(--dw-font-head); letter-spacing: .06em; text-transform: uppercase; font-size: .85rem; opacity: .8; }

/* ---- Related products heading ---- */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 { font-family: var(--dw-font-display); font-size: clamp(1.8rem,4vw,2.8rem); }
