/* WooCommerce skin. No checkout DOM reconstruction, commerce JS or template PHP copies. */
.wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem 1.5rem; list-style: none; padding: 0; margin: 0;
}
.wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid > li { min-width: 0; width: auto; margin: 0; }
.pa-product-card { min-width: 0; }
.pa-product-card > * + * { margin-block-start: .75rem; }
.pa-product-media { background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--small); overflow: hidden; }
.pa-product-media img { aspect-ratio: 4 / 5; width: 100%; height: auto; object-fit: contain; display: block; }
.pa-product-name { margin-block: 1rem .4rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.4rem; line-height: 1.3; font-weight: 400; }
.pa-product-name a { color: inherit; text-decoration: none; }
.pa-product-name a:hover { text-decoration: underline; }
.pa-product-price { font-size: .9rem; color: var(--wp--preset--color--foreground); }
.pa-product-action { margin-block-start: .85rem; }
.pa-product-action .wp-block-button__link { padding: .65rem 1rem; font-size: .8125rem; min-height: 44px; }
.pa-catalog-header { gap: 2rem; align-items: end; padding-block-end: 2rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.pa-catalog-header .wp-block-query-title { margin: .6rem 0 0; }
.pa-catalog-search { width: min(100%, 300px); }
.pa-catalog-toolbar { gap: 1rem; margin-block: 1.75rem 2rem; }
.pa-catalog-toolbar :where(p, form) { margin: 0; }
.pa-catalog-toolbar select { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--foreground); border: 1px solid var(--wp--custom--control-border); min-height: 44px; padding: .6rem; border-radius: 4px; font: inherit; font-size: .875rem; max-width: 100%; }
.pa-product-layout { gap: clamp(2rem, 5vw, 5rem); align-items: flex-start; }
.pa-product-layout .wp-block-column { min-width: 0; }
.pa-product-summary { align-self: flex-start; }
.pa-product-summary > * + * { margin-block-start: 1.4rem; }
.pa-product-summary .wp-block-post-title { font-size: clamp(2.2rem, 4vw, 3.4rem); margin-block-start: 0; }
.pa-single-price { font-size: 1.5rem; }
.pa-single-excerpt { color: var(--wp--preset--color--muted); }
.pa-product-meta { padding-block-start: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); font-size: .8125rem; color: var(--wp--preset--color--muted); }
.pa-product-meta a { color: inherit; }
.pa-product-details { margin-block-start: 4rem; padding-block-start: 2rem; border-top: 1px solid var(--wp--preset--color--border); }
.pa-related { margin-block-start: 4rem; }
.pa-product-page :where(.woocommerce-product-gallery) { background: var(--wp--preset--color--surface); }
/* The stable Add to Cart Form block renders Woo's own variation/quantity controls. */
.pa-product-summary :where(.single_add_to_cart_button) { min-height: 48px; border-radius: var(--wp--custom--radius--small); background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); font: inherit; padding: .8rem 1.5rem; border: 1px solid var(--wp--preset--color--primary); cursor: pointer; }
.pa-product-summary :where(.single_add_to_cart_button):hover { background: var(--wp--preset--color--foreground); }
.pa-product-summary :where(.single_add_to_cart_button):disabled { opacity: .5; cursor: not-allowed; }
.pa-product-summary :where(.qty, select) { min-height: 48px; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--custom--control-border); border-radius: var(--wp--custom--radius--small); padding: .6rem; font: inherit; max-width: 100%; }
.pa-product-summary .qty { width: 5rem; }
.pa-product-summary .variations { width: 100%; }
.pa-product-summary .variations th { text-align: start; padding-inline-end: 1rem; }
.pa-product-summary .variations td { padding-block: .4rem; }
.pa-commerce-page { max-width: 1160px; }
.pa-commerce-page > .wp-block-post-title { margin-block-end: 2.5rem; }
/* My Account still uses classic markup in many stores. Scope its skin separately. */
.woocommerce-account .pa-prose .woocommerce :where(input.input-text, textarea, select) { font: inherit; padding: .75rem; min-height: 44px; border: 1px solid var(--wp--custom--control-border); border-radius: 4px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--foreground); }
.woocommerce-account .pa-prose .woocommerce :where(a.button, button.button) { padding: .8rem 1.2rem; border-radius: 4px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wp--preset--color--border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .85rem .2rem; color: inherit; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--wp--preset--color--focus); }
@media (min-width: 1100px) and (min-height: 800px) {
    /* Sticky belongs to our column, never to Woo's internal form DOM. */
    .pa-product-layout > .pa-product-summary { position: sticky; top: 2rem; }
    .admin-bar .pa-product-layout > .pa-product-summary { top: 4rem; }
}
@media (max-width: 960px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
    .pa-product-layout { flex-wrap: wrap; }
    .pa-product-layout > .wp-block-column { flex-basis: 100% !important; }
    .pa-catalog-header { flex-direction: column; align-items: stretch; }
    .pa-catalog-search { width: 100%; }
    .pa-product-summary { position: static; }
}
@media (max-width: 480px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { gap: 2rem .85rem; }
    .pa-product-name { font-size: 1.2rem; }
    .pa-product-action .wp-block-button__link { padding-inline: .65rem; }
    .pa-catalog-toolbar { align-items: start; flex-direction: column; }
}
@media (max-width: 350px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
    .pa-product-media img { transition: transform 220ms ease; }
    .pa-product-media:hover img { transform: scale(1.015); }
}
