/* V69R10 scoped client-order/cart visual contract; loaded after legacy stylesheet. */
.clientOrderCard .clientOrderStatusRow.statusStack{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-content:flex-start!important;gap:5px 7px!important;min-width:0!important;max-width:100%!important;overflow:visible!important;}
.clientOrderCard .clientOrderStatusRow .statusPill,.clientOrderCard .clientOrderStatusRow .paymentBadge{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.23!important;text-align:center!important;}
/* Product favorite: no tile, background, frame or glow in either native theme. */
.productDetailImage button.productDetailFavoriteOverlay,.productDetailImage .productDetailFavoriteOverlay,.productDetailImage .productDetailFavoriteOverlay:hover,.productDetailImage .productDetailFavoriteOverlay:focus-visible,html[data-native-theme="dark"] .productDetailImage .productDetailFavoriteOverlay{background:transparent!important;background-color:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.productDetailImage .productDetailFavoriteOverlay::after{display:none!important;}
/* Pair semantics for price and sum; amounts align right and don't overlap. */
.cartLine .itemPriceRow,.orderItemLine .itemPriceRow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;align-items:baseline!important;min-width:0!important;max-width:100%!important;}
.cartLine .itemPriceRow span,.orderItemLine .itemPriceRow span{color:var(--muted,#64748b)!important;}
.cartLine .itemPriceRow strong,.orderItemLine .itemPriceRow strong{text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;}

.cartLine .cartLineSumRow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;align-items:baseline!important;}

.orderItemLine .unifiedOrderBody{display:grid!important;align-content:start!important;gap:3px!important;}
.orderItemLine .unifiedOrderHead{display:block!important;min-width:0!important;}
.orderItemLine .unifiedOrderName{overflow-wrap:anywhere!important;white-space:normal!important;}
.orderItemLine .unifiedOrderFooter{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;align-items:baseline!important;margin-top:1px!important;}
@media(max-width:390px){.cartLine .cartLineDetailRow{flex-wrap:wrap!important;}.cartLine .cartLineMeta{flex:1 1 100%!important;}.cartLine .cartLineControls{margin-left:auto!important;}}

/* V69R10R2: price text matches the product title, totals stay emphasised. */

.cartLine .itemPriceRow strong,.orderItemLine .itemPriceRow strong{font-size:clamp(14px,3.9vw,16px)!important;line-height:1.25!important;}
.cartLine .itemPriceRow span,.orderItemLine .itemPriceRow span{font-size:clamp(14px,3.9vw,16px)!important;}


/* V69R10R3 — two-step typography contract, scoped to client cart + order cards.
   Primary: product title and line sum; secondary: counts, price label/value,
   and sum label. We do not touch quantity stepper/checkout owner. */
.cartLine,.orderItemLine {--rd-order-type-primary:clamp(16px,4.2vw,18px);--rd-order-type-secondary:clamp(13px,3.55vw,14px);}
.cartLine .cartLineName,.orderItemLine .unifiedOrderName{
  font-size:var(--rd-order-type-primary)!important;line-height:1.2!important;font-weight:800!important;
}
.cartLine .cartLineMeta,.orderItemLine .unifiedOrderBody{row-gap:2px!important;}
.cartLine .itemPriceRow,.orderItemLine .itemPriceRow,
.cartLine .cartLineSumRow,.orderItemLine .unifiedOrderFooter{margin:0!important;row-gap:0!important;column-gap:6px!important;line-height:1.2!important;}
.cartLine .itemPriceRow :is(span,strong),.orderItemLine .itemPriceRow :is(span,strong),
.cartLine .cartLineSumRow span,.orderItemLine .unifiedOrderFooter span,
.orderItemLine .unifiedOrderBody > small {
  font-size:var(--rd-order-type-secondary)!important;line-height:1.2!important;font-weight:500!important;
}
.cartLine .itemPriceRow strong,.orderItemLine .itemPriceRow strong {font-weight:650!important;}
.cartLine .cartLineSumRow strong,.orderItemLine .unifiedOrderFooter b{
  font-size:var(--rd-order-type-primary)!important;line-height:1.2!important;font-weight:800!important;
}
/* Narrow viewport: do not scale names down below the secondary labels or clip sums. */
.cartLine .cartLineMeta,.orderItemLine .unifiedOrderBody {min-width:0!important;}
.cartLine .cartLineSumRow strong,.orderItemLine .unifiedOrderFooter b {overflow-wrap:anywhere!important;}

/* V69R10R4: CLIENT ORDER DETAIL ONLY, reviewed against V69R10R3.
   Product rows use one compact vertical rhythm. Label/value are adjacent;
   price value matches product title, while line sum keeps its existing size.
   Cart, picker, assembler, staff and order business logic are untouched. */
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody{
  display:grid!important;align-content:start!important;row-gap:2px!important;min-width:0!important;
}
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderHead,
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody > small{
  margin:0!important;padding:0!important;min-width:0!important;line-height:1.2!important;
}
.orderDetail .orderItemLine.unifiedOrderItem .itemPriceRow,
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  align-items:baseline!important;justify-content:flex-start!important;
  gap:0 4px!important;margin:0!important;padding:0!important;min-width:0!important;
  max-width:100%!important;line-height:1.2!important;
}
.orderDetail .orderItemLine.unifiedOrderItem .itemPriceRow span,
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter span{
  font-size:var(--rd-order-type-secondary)!important;line-height:1.2!important;
  font-weight:500!important;white-space:nowrap!important;
}
.orderDetail .orderItemLine.unifiedOrderItem .itemPriceRow strong{
  font-size:var(--rd-order-type-primary)!important;line-height:1.2!important;
  font-weight:700!important;text-align:left!important;min-width:0!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
/* Legacy #infoPanel rules force 6px margin and space-between on the sum.
   Resolve BOTH, or price and sum still use different spacing. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter,
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter:not([data-ui-owned~="margin"]){
  justify-content:flex-start!important;margin-top:0!important;gap:0 4px!important;
}
/* The legacy detail stylesheet has high-specificity :not() rules for the
   name and `margin-left:auto` on the line sum. Override the actual owners;
   otherwise values still jump right and the title can shrink to 13px. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderName:not([data-ui-owned~="font"]),
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderName:not([data-ui-owned~="font"]){
  font-size:var(--rd-order-type-primary)!important;line-height:1.2!important;
}
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter > b:not([data-ui-owned~="margin"]),
.orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter > b:not([data-ui-owned~="margin"]){
  margin-left:0!important;text-align:left!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
/* Existing line sum FONT size and weight are intentionally preserved. */
/* Client "Итого оплачено/к оплате" matches assembler's 16–18 px primary row. */
.orderDetail .orderTotals.totalsPanel .grandTotal > span,
.orderDetail .orderTotals.totalsPanel .grandTotal > b{
  font-size:clamp(16px,4.2vw,18px)!important;line-height:1.2!important;
  font-weight:850!important;
}
.orderDetail .orderTotals.totalsPanel .grandTotal > span{min-width:0!important;}
.orderDetail .orderTotals.totalsPanel .grandTotal > b{white-space:nowrap!important;}


/* V69R10R5 CLIENT order history: one visual rhythm, no hidden fixed row heights.
   The legacy producer still emits title/count/price/sum; grid 'order' places
   title -> price -> count -> sum without touching shared JS/order owners. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:max-content!important;align-content:start!important;
  row-gap:2px!important;min-width:0!important;
}
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody > .unifiedOrderHead{
  order:0!important;margin:0!important;padding:0!important;min-width:0!important;
}
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody > .itemPriceRow{
  order:1!important;margin:0!important;padding:0!important;min-width:0!important;
}
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody > small{
  order:2!important;margin:0!important;padding:0!important;
  font-size:13px!important;line-height:1.15!important;font-weight:500!important;
}
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderBody > .unifiedOrderFooter{
  order:3!important;margin:0!important;padding:0!important;min-width:0!important;
}
/* Product name = current SUM value (14 px); natural wrapping as needed. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderName,
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderName:not([data-ui-owned~="font"]){
  font-size:14px!important;line-height:1.15!important;font-weight:800!important;
  white-space:normal!important;overflow-wrap:anywhere!important;min-width:0!important;
}
/* "Цена:" and amount are one quiet line of identical font and colour. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .itemPriceRow > span,
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .itemPriceRow > strong{
  font-size:13px!important;line-height:1.15!important;font-weight:500!important;
  color:var(--muted,#94a3b8)!important;
}
/* Preserve line SUM size/weight and compact adjacent label/value from R4. */
#infoPanel.orderDetailMode .orderDetail .orderItemLine.unifiedOrderItem .unifiedOrderFooter{
  justify-content:flex-start!important;gap:0 4px!important;
}
/* Equal 16–18px type for caption and value of grand total (assembler contract). */
#infoPanel.orderDetailMode .orderDetail .orderTotals.totalsPanel .grandTotal > span,
#infoPanel.orderDetailMode .orderDetail .orderTotals.totalsPanel .grandTotal > b{
  font-size:clamp(16px,4.2vw,18px)!important;line-height:1.2!important;
  font-weight:850!important;
}
