/* Outrank WooCommerce 11.2.2 even when its stylesheet loads later. */
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
    background:var(--lp-color-white); color:var(--lp-color-ink);
    border:1px solid var(--lp-color-line);
    border-top:1px solid var(--lp-color-line);
    border-left:4px solid var(--lp-color-leaf-deep);
    border-radius:var(--lp-radius-md);
}
body .woocommerce-info { border-left-color:var(--lp-color-pink-deep); }
body .woocommerce-error { border-left-color:var(--lp-color-error); }
body .woocommerce-message::before { color:var(--lp-color-leaf-deep); }
body .woocommerce-info::before { color:var(--lp-color-pink-deep); }
body .woocommerce-error::before { color:var(--lp-color-error); }
body .woocommerce table.shop_table { border:1px solid var(--lp-color-line); border-radius:var(--lp-radius-md); }
body .woocommerce a.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button),
body .woocommerce button.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button),
body .woocommerce input.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button) {
    background:var(--lp-color-pink-tint); color:var(--lp-color-pink-deep);
    border-radius:var(--lp-radius-sm); min-height:44px;
}
body .woocommerce a.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button):hover,
body .woocommerce button.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button):hover,
body .woocommerce input.button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button):hover { background:var(--lp-color-pink-deep); color:var(--lp-color-white); }
body .woocommerce form .form-row .input-text,
body .woocommerce form .input-text,
body .woocommerce textarea,
body .woocommerce select {
    border:1px solid var(--lp-color-ink-soft); border-radius:var(--lp-radius-sm);
}
body .woocommerce form input.input-text,
body .woocommerce select { min-height:44px; }
/* Prices inherit through amount/bdi so deleted prices keep their muted ink. */
body.woocommerce ul.products li.product .price,
body.woocommerce div.product p.price,
body.woocommerce div.product span.price { color:var(--lp-color-ink); }
body.woocommerce .price .amount,
body.woocommerce .price bdi { color:inherit; }
body.woocommerce ul.products li.product .price del,
body.woocommerce div.product p.price del,
body.woocommerce div.product span.price del { color:var(--lp-color-ink-soft); opacity:1; }
body.woocommerce span.onsale { background:var(--lp-color-sun); color:var(--lp-color-ink); }
body.woocommerce .star-rating,
body.woocommerce .star-rating::before { color:var(--lp-color-pink-deep); }
body.woocommerce ul.products li.product { display:flex; flex-direction:column; }
body.woocommerce ul.products li.product .button { margin-top:auto; align-self:flex-start; }
@media (max-width:767px) {
    /* Outrank Woo .woocommerce div.product form.cart .variations and its cells. */
    body.single-product table.variations,
    body.single-product.woocommerce div.product form.cart table.variations { margin-bottom:8px; }
    body.single-product table.variations tr:last-child td.value,
    body.single-product table.variations tr:last-child th.label { padding-bottom:0; }
    /* Woo toggles inline visibility; only the hidden Clear must leave layout. */
    body.single-product table.variations a.reset_variations[style*="visibility: hidden"] { display:none; }
    /* Hello applies 10px to both main and title; use one content gutter. */
    body.woocommerce:not([class*="elementor-page-"]) .site-main,
    body.woocommerce-cart:not([class*="elementor-page-"]) .site-main,
    body.woocommerce-checkout:not([class*="elementor-page-"]) .site-main {
        box-sizing:border-box; max-width:none; padding-inline:16px;
    }
    body.woocommerce .page-header .entry-title,
    body.woocommerce-cart .page-header .entry-title,
    body.woocommerce-checkout .page-header .entry-title { max-width:none; padding-inline:0; }
    /* Woo prints the link before the notice text; order puts it underneath. */
    body .woocommerce-message { display:flex; flex-direction:column; gap:var(--lp-space-3); }
    body .woocommerce-message a.wc-forward { float:none; order:1; align-self:flex-start; }
    body .woocommerce-message::after { display:none; }
}
/* M2: shared by all Woo grids, including Elementor home shortcodes. */
body .woocommerce ul.products li.product .lp-card-media,
body.woocommerce ul.products li.product .lp-card-media { position:relative; display:block; overflow:hidden; aspect-ratio:1; }
body .woocommerce ul.products li.product .lp-card-media img,
body.woocommerce ul.products li.product .lp-card-media img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; margin:0; }
body .woocommerce ul.products li.product .lp-card-media img.lp-card-alt,
body.woocommerce ul.products li.product .lp-card-media img.lp-card-alt { display:none; }
@media (hover:hover) and (min-width:768px) {
    body .woocommerce ul.products li.product,
    body.woocommerce ul.products li.product { transition:transform 200ms cubic-bezier(.2,.7,.2,1),box-shadow 200ms ease-out; }
    body .woocommerce ul.products li.product:hover,
    body.woocommerce ul.products li.product:hover { transform:translateY(-4px); box-shadow:var(--lp-shadow-card-hover); }
    body .woocommerce ul.products li.product .lp-card-media img,
    body.woocommerce ul.products li.product .lp-card-media img { transition:transform 200ms cubic-bezier(.2,.7,.2,1),opacity 200ms ease-out; }
    body .woocommerce ul.products li.product .lp-card-media img.lp-card-alt,
    body.woocommerce ul.products li.product .lp-card-media img.lp-card-alt { display:block; position:absolute; inset:0; opacity:0; }
    body .woocommerce ul.products li.product:hover .lp-card-media img,
    body.woocommerce ul.products li.product:hover .lp-card-media img { transform:scale(1.04); }
    body .woocommerce ul.products li.product:hover .lp-card-media img.lp-card-alt,
    body.woocommerce ul.products li.product:hover .lp-card-media img.lp-card-alt { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
    body .woocommerce ul.products li.product,
    body.woocommerce ul.products li.product,
    body .woocommerce ul.products li.product:hover,
    body.woocommerce ul.products li.product:hover { transform:none; transition:box-shadow 200ms ease-out; }
    body .woocommerce ul.products li.product .lp-card-media img,
    body.woocommerce ul.products li.product .lp-card-media img,
    body .woocommerce ul.products li.product:hover .lp-card-media img,
    body.woocommerce ul.products li.product:hover .lp-card-media img { transform:none; transition:none; }
    body .woocommerce ul.products li.product .lp-card-media img.lp-card-alt,
    body.woocommerce ul.products li.product .lp-card-media img.lp-card-alt { display:none; }
}
