/*
 * VSA product-page mobile gallery visibility.
 *
 * Loaded directly by catalog/product.tpl for every product page.
 * The media attribute on the link limits this rule to widths below 900px.
 * This file intentionally remains outside the globally aggregated theme CSS.
 */

body#product .vsa-product-media-panel {
  display: none;
}

/* VSA MOBILE PURCHASE EMPTY-STATE COLLAPSE START */
/*
 * Empty native placeholders must not reserve grid rows below the
 * add-to-cart button. Empty additional-info output must not render
 * a separator, margin or padding.
 */
body#product .vsa-product-actions .product-add-to-cart {
  row-gap: 0;
}

body#product
  .vsa-product-actions
  .product-add-to-cart
  > .product-availability:not(:has(*)),
body#product
  .vsa-product-actions
  .product-add-to-cart
  > .product-minimal-quantity:not(:has(*)) {
  margin: 0;
  min-height: 0;
}

body#product
  .vsa-product-actions
  .product-additional-info:not(:has(*)) {
  border: 0;
  display: none;
  margin: 0;
  padding: 0;
}
/* VSA MOBILE PURCHASE EMPTY-STATE COLLAPSE END */

/* VSA MOBILE PURCHASE CONTROL SPACING START */
/*
 * Preserve a small visual separation between the quantity selector
 * and the add-to-cart action. Empty output below the action remains
 * collapsed by the separate empty-state contract.
 */
body#product .vsa-product-actions .product-quantity > .add {
  margin-top: 0.75rem;
}
/* VSA MOBILE PURCHASE CONTROL SPACING END */
