/* Base list */
.ov-cart-beta__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.ov-cart-beta__item{position:relative;display:flex;gap:14px;padding:18px;border:1px solid rgba(0,0,0,.10);border-radius:18px;background:#fff;}
.ov-cart-beta__thumb img{width:92px;height:auto;display:block;border-radius:14px;}
.ov-cart-beta__content{flex:1;min-width:0;}
.ov-cart-beta__title{font-family:"Playfair Display",serif;font-size:20px;line-height:1.15;}
.ov-cart-beta__title a{text-decoration:none;}
.ov-cart-beta__remove{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:20px;line-height:1;background:rgba(0,0,0,.06);}
.ov-cart-beta__unitprice{margin-top:6px;opacity:.9;}
/* Stock label (removed by design). Uncomment if re-enabled in cart-beta.php.
.ov-cart-beta__stock{margin-top:10px;font-size:.95em;opacity:.75;}
*/
.ov-cart-beta__meta{opacity:.85;font-size:.95em;margin-top:6px;}
.ov-cart-beta__line{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:nowrap;margin-top:14px;}
.ov-cart-beta__label{display:block;font-size:.85em;opacity:.7;margin-bottom:6px;}
.ov-cart-beta__qty{min-width:0;flex:0 1 auto;}
.ov-cart-beta__sub{margin-left:auto;text-align:right;white-space:nowrap;flex:0 0 auto;}
@media (max-width: 766px){
  .ov-cart-beta__sub{margin-left:auto;}
}

/* Coupon */
.ov-cart-beta__actions{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.ov-cart-beta__coupon{display:flex;gap:10px;}
.ov-cart-beta__coupon input{flex:1;}

/* Stepper */
.ov-cart-beta-active .ov-qty{display:inline-flex;align-items:center;border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:hidden;background:#fff;}
.ov-cart-beta-active .ov-qty__btn{width:44px;height:44px;border:0;background:rgba(0,0,0,.03);font-size:20px;line-height:1;cursor:pointer;}
.ov-cart-beta-active .ov-qty__input{width:64px !important;min-width:64px !important;height:44px;border:0 !important;text-align:center;padding:0 !important;outline:none;background:#fff !important;line-height:44px;}

/* Hide native proceed-to-checkout on mobile to avoid duplicates */
@media (max-width: 766px){
  .ov-cart-beta__totals .wc-proceed-to-checkout{display:none !important;}
}

/* Mobile fixed bar */
.ov-checkoutbar{display:none;}
@media (max-width: 766px){
  body.ov-cart-beta-active{padding-bottom:140px;}
  .ov-checkoutbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:2147483647;padding:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.10);border-radius:18px;display:flex;flex-direction:column;gap:10px;}
  .ov-checkoutbar__total{display:flex;align-items:baseline;justify-content:space-between;}
  .ov-checkoutbar__label{opacity:.75;}
  .ov-checkoutbar__value{font-weight:600;}
  .ov-checkoutbar__primary{width:100%;padding:16px 18px;border-radius:14px;font-size:18px;}
  .ov-checkoutbar__secondary{text-align:center;text-decoration:underline;opacity:.9;}
}

/* Desktop: show summary shortcode nicely (when used) */
.ov-cart-summary{border:1px solid rgba(0,0,0,.10);border-radius:18px;padding:18px;background:#fff;}
.ov-cart-summary__head{opacity:.8;margin-bottom:10px;}
.ov-cart-summary__actions{margin-top:12px;display:flex;flex-direction:column;gap:10px;}
.ov-cart-summary__continue{text-align:center;text-decoration:underline;opacity:.9;}

/* --------------------------------------------------------------------------
 * Micro-mobiles: keep qty + subtotal on same row down to 320px
 * - hide label "Quantité"
 * - shrink stepper progressively
 * ------------------------------------------------------------------------*/
@media (max-width: 420px){
  .ov-cart-beta__qty > .ov-cart-beta__label{display:none;}
  .ov-cart-beta__line{gap:12px;align-items:center;}
  /* stepper smaller */
  body.ov-cart-beta-active .ov-qty__btn{width:38px;height:38px;font-size:18px;}
  body.ov-cart-beta-active .ov-qty__input{width:56px !important;min-width:56px !important;height:38px;line-height:38px;}
  /* subtotal typography slightly tighter */
  .ov-cart-beta__sub .ov-cart-beta__label{font-size:.8em;margin-bottom:4px;}
}

@media (max-width: 360px){
  .ov-cart-beta__line{gap:10px;}
  body.ov-cart-beta-active .ov-qty__btn{width:34px;height:34px;font-size:17px;}
  body.ov-cart-beta-active .ov-qty__input{width:48px !important;min-width:48px !important;height:34px;line-height:34px;}
}

@media (max-width: 330px){
  .ov-cart-beta__line{gap:8px;}
  body.ov-cart-beta-active .ov-qty__btn{width:32px;height:32px;font-size:16px;}
  body.ov-cart-beta-active .ov-qty__input{width:44px !important;min-width:44px !important;height:32px;line-height:32px;}
}

/* Anti overflow in grid/flex contexts */
body.ov-cart-beta-active .ov-cart-beta__item *{min-width:0;}
