@charset "UTF-8";

/**
 * Canonical Single Product purchase geometry.
 * Desktop layout stays in one stable row across browser zoom. When the browser
 * window is dragged into tablet/mobile layout, the same canonical grid changes
 * composition without a reload and retains every configured gap.
 */
body.single-product.stm-engine-storefront .stm-single-purchase {
  display:grid;
  grid-template-columns:minmax(70px,var(--stm-single-qty-width)) repeat(3,minmax(0,1fr));
  gap:var(--stm-single-action-gap);
  align-items:stretch;
  justify-content:start;
  width:100%;
  max-width:calc(var(--stm-single-qty-width) + (3 * var(--stm-single-action-width)) + (3 * var(--stm-single-action-gap)));
  min-width:0;
  margin-top:var(--stm-space-4);
}
body.single-product.stm-engine-storefront .stm-single-purchase__form,
body.single-product.stm-engine-storefront .stm-single-purchase__slot { min-width:0; }
body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form,
body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form form.cart,
body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out,
body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold-grid { display:contents; }

body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .quantity,
body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__qty-placeholder { grid-column:1;grid-row:1; }
body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .single_add_to_cart_button,
body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold { grid-column:2;grid-row:1; }
body.single-product.stm-engine-storefront .stm-single-purchase__slot--whatsapp { grid-column:3;grid-row:1; }
body.single-product.stm-engine-storefront .stm-single-purchase__slot--download { grid-column:4;grid-row:1; }

body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__form { grid-column:1/3;grid-row:1; }
body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--whatsapp { grid-column:3;grid-row:1;align-self:end; }
body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--download { grid-column:4;grid-row:1;align-self:end; }

body.single-product.stm-engine-storefront .stm-single-purchase__form form.cart.variations_form,
body.single-product.stm-engine-storefront .stm-single-purchase__form form.grouped_form {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--stm-space-3);
  width:100%;
  margin:0;
}
body.single-product.stm-engine-storefront .stm-single-purchase__form .quantity { width:100%;margin:0; }
body.single-product.stm-engine-storefront .stm-single-purchase__form .quantity .qty {
  width:100%;height:var(--stm-single-action-height);margin:0;
  border:var(--stm-border-width) solid var(--stm-commerce-border);
  border-radius:var(--stm-radius-md);
  background:var(--stm-commerce-surface);color:var(--stm-commerce-heading);
  text-align:center;box-sizing:border-box;
}

body.single-product.stm-engine-storefront .stm-single-purchase__form .single_add_to_cart_button,
body.single-product.stm-engine-storefront .stm-single-purchase__sold,
body.single-product.stm-engine-storefront .stm-single-action {
  display:inline-flex;align-items:center;justify-content:center;gap:var(--stm-space-2);
  width:100%;min-width:0;max-width:none;
  height:var(--stm-single-action-height);min-height:var(--stm-single-action-height);
  margin:0;padding:0 clamp(8px,1vw,12px);
  border:var(--stm-border-width) solid transparent;border-radius:var(--stm-button-radius);
  font-family:var(--stm-commerce-font);font-size:var(--stm-single-action-font-size);
  font-weight:var(--stm-commerce-button-font-weight);line-height:1;text-align:center;
  text-decoration:none;text-transform:uppercase;white-space:nowrap;box-sizing:border-box;
  overflow:hidden;text-overflow:ellipsis;cursor:pointer;
  transition:background-color var(--stm-commerce-transition),border-color var(--stm-commerce-transition),transform var(--stm-commerce-transition);
}
body.single-product.stm-engine-storefront .stm-single-purchase__form .single_add_to_cart_button { background:var(--stm-single-atc-bg);color:var(--stm-single-atc-text); }
body.single-product.stm-engine-storefront .stm-single-purchase__form .single_add_to_cart_button:hover { background:var(--stm-single-atc-hover-bg);color:var(--stm-single-atc-text); }
body.single-product.stm-engine-storefront.stm-single-atc-icon-enabled .stm-single-purchase__form .single_add_to_cart_button::before {
  width:var(--stm-single-atc-icon-size);height:var(--stm-single-atc-icon-size);flex:0 0 var(--stm-single-atc-icon-size);
  background:currentColor;content:"";mask:url("../../icons/cart.svg") center/contain no-repeat;-webkit-mask:url("../../icons/cart.svg") center/contain no-repeat;
}
body.single-product.stm-engine-storefront .stm-single-purchase__form .single_add_to_cart_button:disabled,
body.single-product.stm-engine-storefront .stm-single-purchase__form .single_add_to_cart_button.disabled { cursor:not-allowed;opacity:var(--stm-disabled-opacity); }

body.single-product.stm-engine-storefront .stm-single-purchase__sold { background:var(--stm-single-sold-bg);color:var(--stm-single-sold-text);cursor:not-allowed; }
body.single-product.stm-engine-storefront .stm-single-purchase__sold:hover { background:var(--stm-single-sold-hover-bg);color:var(--stm-single-sold-text); }
body.single-product.stm-engine-storefront .stm-single-purchase__qty-placeholder,
body.single-product.stm-engine-storefront .stm-single-purchase__placeholder { display:block;width:100%;height:var(--stm-single-action-height);visibility:hidden;pointer-events:none; }

body.single-product.stm-engine-storefront .stm-single-action--whatsapp { background:var(--stm-single-whatsapp-bg);color:var(--stm-single-whatsapp-text); }
body.single-product.stm-engine-storefront .stm-single-action--whatsapp:hover { background:var(--stm-single-whatsapp-hover-bg);color:var(--stm-single-whatsapp-text); }
body.single-product.stm-engine-storefront .stm-single-action--download { border-color:var(--stm-single-download-border);background:var(--stm-single-download-bg);color:var(--stm-single-download-text); }
body.single-product.stm-engine-storefront .stm-single-action--download:hover { border-color:var(--stm-single-download-border);background:var(--stm-single-download-hover-bg);color:var(--stm-single-download-text); }
body.single-product.stm-engine-storefront .stm-single-action__label,
body.single-product.stm-engine-storefront .stm-whatsapp-button__label { min-width:0;overflow:hidden;text-overflow:ellipsis; }
body.single-product.stm-engine-storefront .stm-single-action__icon--download {
  width:var(--stm-single-download-icon-size);height:var(--stm-single-download-icon-size);flex:0 0 var(--stm-single-download-icon-size);
  background:currentColor;mask:url("../../icons/download.svg") center/contain no-repeat;-webkit-mask:url("../../icons/download.svg") center/contain no-repeat;
}
body.single-product.stm-engine-storefront .stm-single-action--whatsapp .stm-whatsapp-button__icon {
  width:var(--stm-single-whatsapp-icon-size);height:var(--stm-single-whatsapp-icon-size);flex:0 0 var(--stm-single-whatsapp-icon-size);
}

body.single-product.stm-engine-storefront .stm-single-purchase table.variations,
body.single-product.stm-engine-storefront .stm-single-purchase table.group_table { width:100%;margin:0;border:0; }
body.single-product.stm-engine-storefront .stm-single-purchase table.variations th,
body.single-product.stm-engine-storefront .stm-single-purchase table.variations td,
body.single-product.stm-engine-storefront .stm-single-purchase table.group_table th,
body.single-product.stm-engine-storefront .stm-single-purchase table.group_table td { padding:0 0 var(--stm-space-3);border:0;text-align:left;vertical-align:middle; }
body.single-product.stm-engine-storefront .stm-single-purchase table.variations select { width:100%;height:var(--stm-control-height); }
body.single-product.stm-engine-storefront .stm-single-purchase .woocommerce-variation-add-to-cart {
  display:grid;grid-template-columns:minmax(70px,var(--stm-single-qty-width)) minmax(0,1fr);
  gap:var(--stm-single-action-gap);align-items:stretch;justify-content:start;
  width:100%;max-width:calc(var(--stm-single-qty-width) + var(--stm-single-action-width) + var(--stm-single-action-gap));
}

/* Tablet/mobile composition is selected by canonical live layout DNA. */
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  max-width:none;
}
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .quantity,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .quantity { grid-column:1/-1;grid-row:1; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .single_add_to_cart_button,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase:not(.is-complex-product) .stm-single-purchase__form .single_add_to_cart_button { grid-column:1;grid-row:2; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__slot--whatsapp,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__slot--whatsapp { grid-column:2;grid-row:2; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__slot--download,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__slot--download { grid-column:1/-1;grid-row:3; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out,
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold-grid,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold-grid { display:contents; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__qty-placeholder,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__qty-placeholder { display:none; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase__form.is-sold-out .stm-single-purchase__sold { grid-column:1;grid-row:2; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__form,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__form { grid-column:1/-1;grid-row:1; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--whatsapp,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--whatsapp { grid-column:1;grid-row:2; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--download,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase.is-complex-product .stm-single-purchase__slot--download { grid-column:1/-1;grid-row:3; }
html[data-stm-layout="tablet"] body.single-product.stm-engine-storefront .stm-single-purchase .woocommerce-variation-add-to-cart,
html[data-stm-layout="mobile"] body.single-product.stm-engine-storefront .stm-single-purchase .woocommerce-variation-add-to-cart { max-width:none; }
