/* PupVibes 8.9.40 — actual final checkout overrides.
   Loaded last and versioned correctly in theme.yml. */

/* ----- Dedicated Figma-like order trail ----- */
body#checkout .pv-checkout-progress{margin:0 0 24px!important;padding:0!important;background:transparent!important;border:0!important;}
body#checkout .pv-checkout-progress__native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
body#checkout .pv-order-trail{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  width:max-content!important;
  max-width:100%!important;
}
body#checkout .pv-order-trail__item{
  appearance:none!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#aaa29a!important;
  font:400 12px/1.2 'DM Sans',sans-serif!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
body#checkout .pv-order-trail__item:hover,
body#checkout .pv-order-trail__item:focus{
  color:#cb6203!important;
  outline:none!important;
}
body#checkout .pv-order-trail__item.is-current{
  color:#cb6203!important;
  font-weight:500!important;
}
body#checkout .pv-order-trail__line{
  display:block!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:1px!important;
  background:#d8d0c8!important;
}

/* ----- Mascot: align the hands/bar with the summary card top ----- */
body#checkout .pv-checkout-summary-card,
body#checkout .pv-co-summary,
body#checkout .pv-co-summary__shell{overflow:visible!important;}
body#checkout .pv-co-summary__mascot{
  position:absolute!important;
  top:-146px!important;
  left:57%!important;
  transform:translateX(-50%)!important;
  width:190px!important;
  height:auto!important;
  z-index:5!important;
  pointer-events:none!important;
}
body#checkout .pv-co-summary__mascot img{
  display:block!important;
  width:190px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
}
body#checkout .pv-co-summary__shell{
  padding-top:18px!important;
}
body#checkout .pv-co-summary__head{margin-top:0!important;}

/* French consent blocks: readable spacing after runtime translation. */
body#checkout .pv-composite-required-consents{
  font-family:'DM Sans',sans-serif!important;
  color:#241608!important;
}
body#checkout .pv-composite-required-consents .form-check,
body#checkout .pv-composite-required-consents .custom-checkbox{
  margin-top:9px!important;
}
body#checkout .pv-composite-required-consents p,
body#checkout .pv-composite-required-consents small,
body#checkout .pv-composite-required-consents .form-text{
  color:#6f6760!important;
  font-size:11px!important;
  line-height:1.35!important;
}

@media(max-width:991.98px){
  body#checkout .pv-order-trail{gap:8px!important;}
  body#checkout .pv-order-trail__line{flex-basis:18px!important;width:18px!important;}
  body#checkout .pv-co-summary__mascot{top:-130px!important;left:55%!important;width:170px!important;}
  body#checkout .pv-co-summary__mascot img{width:170px!important;}
}
@media(max-width:640px){
  body#checkout .pv-order-trail{width:100%!important;justify-content:space-between!important;gap:5px!important;}
  body#checkout .pv-order-trail__line{flex:1 1 12px!important;min-width:8px!important;max-width:20px!important;}
  body#checkout .pv-order-trail__item{font-size:11px!important;}
  body#checkout .pv-co-summary__mascot{display:none!important;}
}
