article-prices { display: block; min-width: 0; }
body.maquette-app .product-prices { display: flex; flex-direction: column; gap: 5px; font-variant-numeric: tabular-nums; }
body.maquette-app .product-prices > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:4px 10px; min-width:0; }
body.maquette-app article-prices .product-prices > div > :first-child { text-align:left; min-width:0; white-space:normal; }
body.maquette-app article-prices .product-prices > div > :last-child { justify-self:end; text-align:right; width:auto; max-width:none; flex:none; white-space:nowrap; }
body.maquette-app .product-prices .product-price-reference, body.maquette-app .product-prices .product-price-base { color: var(--muted); font-size: 12px; }
body.maquette-app .product-prices span { font-size: inherit; text-transform: none; }
body.maquette-app .product-prices .product-price-final { color: var(--bb9-pink); font-size: 18px; }
body.maquette-app .product-prices .product-price-final > span { font-size: 11px; color: var(--muted); }
body.maquette-app .product-prices strong { font-size: inherit; color: inherit; }
body.maquette-app .product-prices del { color: inherit; }

body.maquette-app .sale-detail-page article-prices .product-prices span { text-transform: none; }
body.maquette-app .price-row > article-prices { width: 100%; }

/* Gift tracking: keep each label next to its amount in a compact, readable summary. */
body.maquette-app .tracking-summary-row > article-prices {
 width: min(100%, 320px);
 max-width: 100%;
 margin: 0;
}
body.maquette-app .tracking-summary-row > article-prices .product-prices {
 display: flex;
 flex-direction: column;
 align-items: stretch;
 gap: 6px;
}
body.maquette-app .tracking-summary-row > article-prices .product-prices > div {
 display: grid;
 grid-template-columns: minmax(0,1fr) auto;
 align-items: baseline;
 gap: 5px 16px;
}
body.maquette-app .tracking-summary-row > article-prices .product-prices > div > span:first-child {
 font-size: 13px;
 color: var(--muted);
}
body.maquette-app .tracking-summary-row > article-prices .product-price-reference > span:last-child,
body.maquette-app .tracking-summary-row > article-prices .product-price-base > del {
 font-size: 18px;
 white-space: nowrap;
}
body.maquette-app .tracking-summary-row > article-prices .product-price-final > strong {
 font-size: 28px;
 line-height: 1.2;
 font-weight: 600;
 white-space: nowrap;
}

/* Compact document amounts: keep column alignment without nested cards or empty rows. */
body.maquette-app .sale-detail-page .detail-article .article-price article-prices { width: 100%; }
body.maquette-app .sale-detail-page .detail-article .article-price .product-prices {
 display: flex;
 flex-direction: column;
 gap: 6px;
 text-align: right;
}
body.maquette-app .sale-detail-page .detail-article .article-price .product-prices > div {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 align-items: baseline;
 gap: 8px;
}
body.maquette-app .sale-detail-page .detail-article .article-price .product-prices > div > span:first-child {
 text-align: left;
 font-size: 10px;
 line-height: 1.4;
 font-weight: 400;
}
body.maquette-app .sale-detail-page .detail-article .article-price .product-prices > div > :last-child {
 white-space: nowrap;
 font-variant-numeric: tabular-nums;
}
body.maquette-app .sale-detail-page .detail-article .article-price .product-price-final { font-size: 20px; }
body.maquette-app .sale-detail-page .detail-article .article-meta,
body.maquette-app .sale-detail-page .detail-article .article-price {
 min-height: 0;
 min-width: 0;
 padding: 4px 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 box-shadow: none;
 box-sizing: border-box;
 align-self: center;
}
body.maquette-app .sale-detail-page .detail-article .article-meta { gap: 2px; }
body.maquette-app .sale-detail-page .detail-article .article-meta > span { font-size: 10px; font-weight: 400; text-transform: none; }
body.maquette-app .sale-detail-page .detail-article .article-meta > strong { font-size: 16px; }

/* On tablets, keep price labels next to their amounts instead of stretching the row. */
@media (min-width: 701px) and (max-width: 1199px) {
 body.maquette-app .sale-detail-page .detail-article .article-price { justify-items: end; }
 body.maquette-app .sale-detail-page .detail-article .article-price article-prices { width: auto; max-width: 100%; }
 body.maquette-app .sale-detail-page .detail-article .article-price .product-prices > div {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
 }
 body.maquette-app .sale-detail-page .detail-article .article-price .product-prices > div > span:first-child { font-size: 12px; }
 body.maquette-app .sale-detail-page .detail-article .article-price .product-price-final { font-size: 20px; }
}
/* Reserve two price slots in catalogue cards, even when some are absent. */
body.maquette-app .participant-page .gift-card .product-prices {
 display:grid; grid-template-rows:16px 24px; gap:2px;
}
body.maquette-app .participant-page .gift-card .product-prices > div {
 display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline;
 min-width:0; gap:4px 10px;
}
body.maquette-app .participant-page .gift-card .product-price-reference { grid-row:1; }
body.maquette-app .participant-page .gift-card .product-price-base { grid-row:1; }
body.maquette-app .participant-page .gift-card .product-price-final { grid-row:2; }
body.maquette-app .participant-page .gift-card .product-prices > div > :last-child {
 width:auto; max-width:none; justify-self:end; text-align:right; white-space:nowrap;
}
body.maquette-app .participant-page .gift-card .product-prices del { flex:none; }
/* Shared amounts keep their own right edge in carts, previews and documents. */
body.maquette-app :is(.cart-line-total,.maquette-modal-total,.detail-price-total) > article-prices { min-width:0; width:100%; }
body.maquette-app .cart-dropdown-item > article-prices { min-width:0; }
body.maquette-app .cart-dropdown-item article-prices .product-prices > div > span:first-child { white-space:normal; overflow:visible; text-overflow:clip; }
