/* PINOVA VND amounts: compact, readable, never elided.
 * CSS only. Prices, tax, discount and checkout values remain untouched.
 */
:root{--pin-money:#087c48}
:is(.woocommerce,.woocommerce-page,.pin-products,.pin-single-product-page,.pin-v2-catalog)
:is(.price,.woocommerce-Price-amount,.amount,.wc-block-components-formatted-money-amount){
 font-variant-numeric:tabular-nums lining-nums;
 font-feature-settings:"tnum" 1;
}
/* Price scales with its CARD, not an entire projector/TV viewport. */
.pin-v2-products ul.products li.product,
.pin-single-product-page .related.products ul.products li.product,
.pin-products .pin-product-card{
 min-width:0;
 container-type:inline-size;
}
.pin-v2-products ul.products li.product .price,
.pin-single-product-page .related.products ul.products li.product .price,
.pin-products .pin-product-card .price,
.pin-products .pin-product-info .price{
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:baseline!important;
 justify-content:flex-start;
 gap:3px 8px!important;
 min-width:0!important;
 width:100%;
 max-width:100%!important;
 text-align:left;
 line-height:1.45!important;
 font-size:clamp(13px,1vw,17px)!important;
 font-weight:800!important;
 letter-spacing:-.015em;
}
@supports(font-size:1cqi){
 .pin-v2-products ul.products li.product .price,
 .pin-single-product-page .related.products ul.products li.product .price,
 .pin-products .pin-product-card .price,
 .pin-products .pin-product-info .price{
  font-size:clamp(14px,4.8cqi,17px)!important;
 }
}
/* Normally the whole value is a single unit. Emergency wrap instead of clipping
   for exceptional 10+ digit values in ultra-narrow cards. */
.pin-v2-products ul.products li.product .price .amount,
.pin-single-product-page .related.products ul.products li.product .price .amount,
.pin-products .price .amount,
.pin-single-product-page .pin-detail-price-state .price .amount{
 display:inline-block;
 max-width:100%;
 min-width:0;
 white-space:normal!important;
 overflow-wrap:anywhere;
 word-break:normal;
 text-overflow:clip;
}
.woocommerce-Price-amount bdi{
 max-width:100%;
 white-space:normal!important;
 overflow-wrap:anywhere;
 word-break:normal;
 font-variant-numeric:tabular-nums;
}
.price :is(ins,del){max-width:100%;min-width:0}
.price ins .amount,.price del .amount{max-width:100%}
.pin-v2-products ul.products li.product .price ins,
.pin-single-product-page .related.products ul.products li.product .price ins{
 order:1;
 text-decoration:none!important;
}
.pin-v2-products ul.products li.product .price del,
.pin-single-product-page .related.products ul.products li.product .price del{
 order:2;
 color:#758796!important;
 font-size:clamp(11px,3.6cqi,13px)!important;
 font-weight:600!important;
 line-height:1.5!important;
}
.woocommerce-Price-currencySymbol{
 white-space:nowrap;
 font-size:.9em;
 font-weight:inherit;
}
/* Price detail: stays the visual anchor, but no 32px+ oversized blocks. */
.pin-single-product-page .pin-detail-price-state{
 min-width:0;
 width:100%;
 max-width:100%;
 container-type:inline-size;
}
.pin-single-product-page .pin-detail-price-state .price{
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:baseline!important;
 gap:5px 11px!important;
 min-width:0;
 width:100%;
 max-width:100%;
 color:var(--pin-money)!important;
 font-size:clamp(21px,2.1vw,28px)!important;
 font-weight:850!important;
 letter-spacing:-.02em;
 line-height:1.36!important;
 overflow:visible;
}
@supports(font-size:1cqi){
 .pin-single-product-page .pin-detail-price-state .price{
  font-size:clamp(21px,4.8cqi,28px)!important;
 }
}
.pin-single-product-page .pin-detail-price-state .price :is(ins,del){
 display:inline-block;
 min-width:0;
 max-width:100%;
}
.pin-single-product-page .pin-detail-price-state .price ins{
 order:1;
 text-decoration:none!important
}
.pin-single-product-page .pin-detail-price-state .price del{
 order:2;
 font-size:clamp(12px,2.7cqi,15px)!important;
 font-weight:600!important;
 line-height:1.5!important;
}
/* WooCommerce Cart & Checkout classic and Blocks: allow values to wrap safely,
   maintain right alignment for totals and protect long strings. */
:is(body.woocommerce-cart,body.woocommerce-checkout) :is(
 .woocommerce-Price-amount,
 .wc-block-components-formatted-money-amount,
 .wc-block-components-totals-item__value,
 .wc-block-components-order-summary-item__total-price,
 .wc-block-components-product-price__value,
 .wc-block-cart-item__prices,
 .order-total .amount,
 .cart-subtotal .amount
){
 min-width:0;
 max-width:100%;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
 word-break:normal;
 font-variant-numeric:tabular-nums;
 text-overflow:clip;
}
:is(body.woocommerce-cart,body.woocommerce-checkout) :is(
 .wc-block-components-totals-item,
 .wc-block-components-order-summary-item,
 .wc-block-components-order-summary-item__total-price,
 .wc-block-components-totals-item__value
){min-width:0}
:is(body.woocommerce-cart,body.woocommerce-checkout) :is(
 .wc-block-components-totals-item__value,
 .wc-block-components-order-summary-item__total-price
){
 text-align:right;
 font-size:clamp(13px,1vw,16px);
 line-height:1.5;
}
:is(body.woocommerce-cart,body.woocommerce-checkout) :is(
 .wc-block-components-totals-footer-item__value,
 .order-total .woocommerce-Price-amount
){
 color:var(--pin-money);
 font-weight:800;
 font-size:clamp(15px,1.2vw,20px);
}
:is(body.woocommerce-cart,body.woocommerce-checkout) .shop_table{max-width:100%}
:is(body.woocommerce-cart,body.woocommerce-checkout) .shop_table :is(th,td){overflow-wrap:anywhere}
/* Small two-column cards remain tidy at 320-420px. */
@media(max-width:480px){
 .pin-v2-products ul.products li.product .price,
 .pin-single-product-page .related.products ul.products li.product .price,
 .pin-products .pin-product-card .price{
  font-size:clamp(13px,3.5vw,15px)!important;
  gap:2px 7px!important;
 }
 .pin-single-product-page .pin-detail-price-state .price{
  font-size:clamp(21px,5.4vw,25px)!important;
 }
 .pin-single-product-page .pin-detail-price-state .price del{
  font-size:13px!important;
 }
 :is(body.woocommerce-cart,body.woocommerce-checkout)
 .wc-block-components-totals-item{gap:6px}
}
