/* Keep commerce controls out of image columns and independent of page-button skins. */
body .le-v29-item > .purchase-actions-v34,
body .v31-daily-item > .purchase-actions-v34 {
  grid-column:1 / -1;
  width:100%;min-width:0;max-width:100%;
}

body .purchase-actions-v34[data-purchase-controls],
body .products .product .purchase-actions-v34,
body .official-product .purchase-actions-v34,
body .lifestyle-edits-v29 .purchase-actions-v34,
body .atelier-request-panel > .purchase-actions-v34 {
  display:grid;
  /* Two balanced columns only when the actual card has enough room. */
  grid-template-columns:repeat(auto-fit,minmax(min(100%,max(12rem,calc(50% - 5px))),1fr));
  gap:10px;min-width:0;max-width:100%;align-items:end;
}
body .purchase-actions-v34[data-purchase-controls] > .purchase-price-v40 {
  grid-column:1 / -1;min-width:0;max-width:100%;padding-bottom:4px;
}
body .purchase-actions-v34[data-purchase-controls] > button[data-purchase-add],
body .purchase-actions-v34[data-purchase-controls] > button[data-purchase-buy] {
  box-sizing:border-box;appearance:none;display:inline-flex;
  align-items:center;justify-content:center;gap:10px;
  width:100%;min-width:0;max-width:100%;height:auto;min-height:50px;
  margin:0;padding:12px 16px;border:1px solid #493c4b;border-radius:12px;
  background:#fffdf8;color:#342c3c;
  font-family:'DM Sans',Arial,sans-serif;font-size:15px;font-weight:650;line-height:1.4;
  letter-spacing:0;text-align:center;text-transform:none;
  white-space:nowrap;overflow-wrap:normal;word-break:normal;
  box-shadow:none;cursor:pointer;touch-action:manipulation;
}
body .purchase-actions-v34[data-purchase-controls] > button[data-purchase-buy] {
  background:#342c3c;color:#fff;border-color:#342c3c;
}
body .purchase-actions-v34[data-purchase-controls] > button[data-purchase-add]:hover {
  background:#eee8ee;color:#342c3c;border-color:#342c3c;
}
body .purchase-actions-v34[data-purchase-controls] > button[data-purchase-buy]:hover {
  background:#503a52;color:#fff;border-color:#503a52;
}
body .purchase-actions-v34[data-purchase-controls] > button > span[aria-hidden] {
  display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
  font-size:18px;line-height:1;width:18px;
}
body .purchase-actions-v34[data-purchase-controls] > button:focus-visible {
  outline:3px solid #8e638a;outline-offset:3px;
}
body .purchase-actions-v34[data-purchase-controls] > button:disabled {
  opacity:.55;cursor:not-allowed;
}
body .purchase-actions-v34[data-purchase-controls] .purchase-price-v40 select {
  box-sizing:border-box;min-width:0;width:100%;max-width:100%;
  min-height:48px;font-size:16px;line-height:1.4;border-radius:10px;
}

/* Collection previews share image, copy, provenance, comparison and action rows.
   Subgrid lets a longer title/price expand its whole row without clipping text. */
body .products:not(.editorial-list) > .product {
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto minmax(2.9em,auto) minmax(3.2em,auto) minmax(1.5em,auto) auto 1fr auto;
  height:auto;min-width:0;align-content:start;row-gap:0;
}
body .products:not(.editorial-list) > .product > .product-picture { grid-row:1; }
body .products:not(.editorial-list) > .product > .brand { grid-row:2; }
body .products:not(.editorial-list) > .product > h3 { grid-row:3; }
body .products:not(.editorial-list) > .product > .caption { grid-row:4; }
body .products:not(.editorial-list) > .product > .media-note-v44,
body .products:not(.editorial-list) > .product > .beauty-v26-featured-caption { grid-row:5; }
body .products:not(.editorial-list) > .product > .compare-choice {
  grid-row:6;margin:8px 0 16px;min-height:28px;gap:10px;
}
body .products:not(.editorial-list) > .product > .purchase-actions-v34 {
  grid-row:7 / 9;margin:0;align-self:end;
}
body .products:not(.editorial-list) > .product > .product-action,
body .products:not(.editorial-list) > .product > .text-link {
  grid-row:8;margin:0;min-height:50px;align-self:end;
}
body .products .product.purchase-enhanced-v34 > .text-link,
body .products .product.purchase-enhanced-v34 > .compare-choice > span {
  display:none;
}
body .products .product > .product-action:has(> button[data-add]) > a { display:none; }
body .products .product > .product-action:has(> button[data-add]) {
  padding:0;border:0;
}
body .products .product > .product-action > button[data-add] {
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;width:100%;height:auto;min-height:50px;
  margin:0;padding:12px 16px;border:1px solid #8d7186;border-radius:12px;
  color:#54334e;background:#fffdf8;font:650 15px/1.4 'DM Sans',Arial,sans-serif;
  text-align:center;white-space:normal;overflow-wrap:normal;cursor:pointer;
}
body .products .product > .product-action > button[data-add]:hover { background:#eee8ee; }
body .products .product > .product-action > button[data-add]:focus-visible {
  outline:3px solid #8e638a;outline-offset:3px;
}
@supports (grid-template-rows:subgrid) {
  body .products:not(.editorial-list) { row-gap:24px; }
  body .products:not(.editorial-list) > .product {
    grid-row:span 8;grid-template-rows:subgrid;row-gap:0;
  }
}
@media(max-width:480px) {
  body .products:not(.editorial-list) > .product {
    grid-row:auto;grid-template-rows:auto auto auto auto auto auto 1fr auto;
  }
  body .products:not(.editorial-list) > .product > .compare-choice { margin-bottom:12px; }
}

/* Shared commerce spacing: controls inserted after render keep the card gutter. */
body .purchase-actions-v34,
body .purchase-actions-v34 *,
body .purchase-actions-v34 *::before,
body .purchase-actions-v34 *::after { box-sizing:border-box; }
body :is(.product,.le-v29-item,.v31-daily-item,.bundle-product,.bundle-slot) > .purchase-actions-v34 {
  width:auto;max-width:calc(100% - 40px);margin:20px!important;align-self:end;
}
body .purchase-actions-v34 .purchase-price-v40 { gap:12px;padding:4px 0 10px; }
body .purchase-actions-v34 label { min-width:0; }
body .purchase-actions-v34 select,
body .purchase-item-v34 select { min-width:0;max-width:100%;width:100%;text-overflow:ellipsis;padding:12px 34px 12px 12px;font:400 16px/1.4 'DM Sans',Arial,sans-serif; }
body .purchase-item-v34 > div,
body .purchase-summary-v34 { min-width:0; }
body .purchase-item-v34 h3 { overflow-wrap:anywhere;white-space:normal; }
body .purchase-line-price-v40 > small { overflow-wrap:anywhere;line-height:1.6; }
body .purchase-summary-v34 { padding:clamp(20px,3vw,32px); }
body .purchase-summary-v34 > :is(p,label,dl) { margin-block:18px; }
body .purchase-quantity-v34 { gap:12px;margin-top:16px; }
body .purchase-item-v34 { padding-block:8px 24px; }
body .purchase-summary-v34 :is(input,textarea,button) { max-width:100%; }
body .purchase-summary-v34 dl div { flex-wrap:wrap; }
body .purchase-dialog-v34 { padding:clamp(16px,3vw,32px); }
@media(max-width:900px) {
  body .purchase-layout-v34 { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  body .purchase-item-v34 { grid-template-columns:64px minmax(0,1fr);gap:12px; }
  body .purchase-quantity-v34 strong { flex-basis:100%;margin:4px 0 0; }
}

/* Product photographs blend into their stage without a white rectangular tile. */
body .official-shop-hero-v11 .official-mosaic-pagoto img {
  mix-blend-mode:multiply;filter:none;
}
/* Each hero caption has its own flow space; campaign pictures cannot cover it. */
body .official-shop-hero-v11 .official-hero-mosaic {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;
  height:auto;min-height:0;align-items:start;
}
body .official-shop-hero-v11 .official-hero-mosaic figure {
  position:relative;inset:auto;width:100%;height:auto;min-width:0;
}
body .official-shop-hero-v11 .official-hero-mosaic figure a { height:auto; }
body .official-shop-hero-v11 .official-hero-mosaic figure img {
  height:auto;aspect-ratio:1;object-fit:contain;padding:0;
}
body .official-shop-hero-v11 .official-hero-mosaic figcaption {
  position:static;inset:auto;margin-top:12px;padding-top:12px;
}
body .official-shop-hero-v11 .official-beauty-discover {
  position:static;inset:auto;width:auto;align-self:center;padding:16px 0;
}
body .official-shop-hero-v11 .official-mosaic-star { display:none; }
body img[src*="uploaded-pagoto-"][src*="-front-white"] { mix-blend-mode:multiply!important; }

/* Exact inventory selector replaces historical pack radios once current prices load. */
body .pagoto-sizes-v28.purchase-current-packs { padding:0; margin:16px 0; border:0; background:transparent; }
body .purchase-current-packs > .ps-v28-heading,
body .purchase-current-packs > .ps-v28-family,
body .purchase-current-packs > .ps-v28-note { display:none; }
body .purchase-current-packs [hidden], body .pdp-copy label[hidden] { display:none!important; }
body .purchase-actions-v34 select { width:100%; max-width:100%; min-width:0; min-height:48px; }
body .purchase-tax-v40 { line-height:1.5; overflow-wrap:anywhere; }
