/* ======================================================================
   PUPVIBES 8.9.31 — CLEAN CHECKOUT REBUILD FROM 8.9.27
   Uses the Figma audit embedded in the theme: 1120 shell, 548/24/548 grid,
   #fffaed background, DM Sans, standard radius 8, orange/brown tokens.
   ====================================================================== */
body#checkout{background:#fffaed!important;}
body#checkout .columns-container.container{max-width:1280px!important;padding:0!important;}
body#checkout .pv-checkout-page{width:100%!important;max-width:1280px!important;margin:0 auto!important;padding:30px 80px 88px!important;}
body#checkout .pv-checkout-nav,body#checkout .pv-checkout-container{width:1120px!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;}
body#checkout .pv-checkout-nav{margin-bottom:38px!important;}
body#checkout .pv-checkout-grid{display:grid!important;grid-template-columns:548px 548px!important;gap:24px!important;align-items:start!important;margin:0!important;}
body#checkout .pv-checkout-main,body#checkout .pv-checkout-aside{min-width:0!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;}

/* Stepper */
body#checkout .checkout-steps,body#checkout .checkout-steps__desktop{margin:0!important;padding:0!important;border:0!important;background:transparent!important;}
body#checkout .checkout-steps__list{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;align-items:center!important;margin:0!important;padding:0!important;list-style:none!important;}
body#checkout .checkout-steps__step{position:relative!important;display:flex!important;align-items:center!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;}
body#checkout .checkout-steps__step:not(:last-child)::after{content:""!important;position:absolute!important;left:calc(100% - 24px)!important;right:-24px!important;top:50%!important;height:1px!important;background:rgba(36,22,8,.18)!important;z-index:0!important;}
body#checkout .checkout-steps__step + .checkout-steps__step::before{display:none!important;}
body#checkout .checkout-steps__step button,body#checkout .checkout-steps__step a{position:relative!important;z-index:1!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:0 10px 0 0!important;border:0!important;background:#fffaed!important;color:#8b8580!important;font:400 14px/1.2 'DM Sans',sans-serif!important;text-align:left!important;box-shadow:none!important;}
body#checkout .checkout-steps__step:has(.active) button,body#checkout .checkout-steps__step:has([aria-selected="true"]) button{color:#cb6203!important;font-weight:700!important;}
body#checkout .checkout-steps__mobile{display:none!important;}

/* Current step card */
body#checkout .step{display:none!important;margin:0!important;padding:0!important;border:1px solid rgba(36,22,8,.18)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;}
body#checkout .step.step--current,body#checkout .step.active{display:block!important;}
body#checkout .step__title{margin:0!important;padding:22px 24px 0!important;}
body#checkout .step__title hr{display:none!important;}
body#checkout .step__title .page-title-section{margin:0!important;color:#a14c0b!important;font:500 24px/1.2 'DM Sans',sans-serif!important;letter-spacing:-.12px!important;}
body#checkout .step__content{padding:18px 24px 24px!important;}

/* Personal information tabs */
body#checkout #personal-information-tabs{display:flex!important;align-items:flex-end!important;gap:20px!important;margin:0 0 24px!important;padding:0!important;border:0!important;}
body#checkout #personal-information-tabs .nav-link{margin:0!important;padding:0 0 9px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:#241608!important;font:400 15px/1.2 'DM Sans',sans-serif!important;}
body#checkout #personal-information-tabs .nav-link.active{color:#a14c0b!important;border-bottom-color:#a14c0b!important;}
body#checkout #personal-information-tabs-content{margin:0!important;}

/* Compact, deliberate form grid */
body#checkout #checkout-guest-form #customer-form>section{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:16px!important;row-gap:16px!important;align-items:start!important;}
body#checkout #checkout-guest-form #customer-form>section>.mb-3{margin:0!important;min-width:0!important;}
body#checkout #checkout-guest-form #customer-form>section>.mb-3:first-child{grid-column:1/-1!important;}
body#checkout #checkout-guest-form #customer-form>section>.mb-3:has(input[type="email"]),
body#checkout #checkout-guest-form #customer-form>section>.mb-3:has(input[type="password"]),
body#checkout #checkout-guest-form #customer-form>section>.mb-3:has(input[type="checkbox"]),
body#checkout #checkout-guest-form #customer-form>section>[data-ps-ref="password-field"]{grid-column:1/-1!important;}
body#checkout #checkout-guest-form #customer-form>section>[data-ps-ref="password-field"]>.mb-3{margin:0!important;}
body#checkout .form-label,body#checkout .form-control-label{display:block!important;margin:0 0 6px!important;color:#241608!important;font:400 14px/1.25 'DM Sans',sans-serif!important;}
body#checkout .form-control,body#checkout .form-select,body#checkout input[type="text"],body#checkout input[type="email"],body#checkout input[type="tel"],body#checkout input[type="password"],body#checkout input[type="date"]{width:100%!important;height:44px!important;min-height:44px!important;padding:10px 14px!important;border:1px solid rgba(36,22,8,.18)!important;border-radius:8px!important;background:#fff!important;color:#241608!important;font:400 14px/1.2 'DM Sans',sans-serif!important;box-shadow:none!important;}
body#checkout .form-control:focus,body#checkout .form-select:focus,body#checkout input:focus{outline:0!important;border-color:#fc8501!important;box-shadow:0 0 0 3px rgba(252,133,1,.12)!important;}
body#checkout .form-text,body#checkout .form-control-comment,body#checkout .help-block{display:block!important;margin:5px 0 0!important;color:#8b8580!important;font:400 12px/1.25 'DM Sans',sans-serif!important;}
body#checkout .form-check{display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0!important;}
body#checkout .form-check-input{width:16px!important;height:16px!important;min-width:16px!important;margin:2px 0 0!important;border:1px solid rgba(36,22,8,.18)!important;}
body#checkout .form-check-label{color:#241608!important;font:400 14px/1.35 'DM Sans',sans-serif!important;}
body#checkout .buttons-wrapper{display:flex!important;justify-content:flex-end!important;margin:22px 0 0!important;}
body#checkout .buttons-wrapper .btn-primary{height:48px!important;min-height:48px!important;padding:0 20px!important;border:0!important;border-radius:8px!important;background:#fc8501!important;color:#241608!important;font:500 16px/1 'DM Sans',sans-serif!important;box-shadow:none!important;}

/* Other checkout steps */
body#checkout .delivery-option,body#checkout .payment-option,body#checkout .address{border:1px solid rgba(36,22,8,.18)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;}
body#checkout .delivery-option:hover,body#checkout .payment-option:hover{border-color:#fc8501!important;}

/* Custom order summary */
body#checkout .pv-checkout-summary-card{position:sticky!important;top:24px!important;margin:0!important;padding:24px!important;border:1px solid rgba(36,22,8,.18)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;}
body#checkout .pv-co-summary{margin:0!important;padding:0!important;background:transparent!important;}
body#checkout .pv-co-summary__head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:16px!important;margin:0 0 18px!important;}
body#checkout .pv-co-summary__head h2{margin:0!important;color:#a14c0b!important;font:500 24px/1.15 'DM Sans',sans-serif!important;letter-spacing:-.12px!important;}
body#checkout .pv-co-summary__count{color:#8b8580!important;font:400 14px/1.2 'DM Sans',sans-serif!important;white-space:nowrap!important;}
body#checkout .pv-co-summary__products{display:flex!important;flex-direction:column!important;gap:12px!important;margin:0 0 20px!important;}
body#checkout .pv-co-product{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;border:1px solid rgba(36,22,8,.12)!important;border-radius:8px!important;background:#fffaed!important;}
body#checkout .pv-co-product__image{width:72px!important;height:72px!important;border-radius:8px!important;overflow:hidden!important;background:#f4f1ea!important;}
body#checkout .pv-co-product__image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
body#checkout .pv-co-product__body{min-width:0!important;}
body#checkout .pv-co-product__top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;}
body#checkout .pv-co-product__name{min-width:0!important;color:#241608!important;font:500 14px/1.25 'DM Sans',sans-serif!important;}
body#checkout .pv-co-product__total{color:#241608!important;font:700 14px/1.25 'DM Sans',sans-serif!important;white-space:nowrap!important;}
body#checkout .pv-co-product__attrs{display:flex!important;flex-wrap:wrap!important;gap:3px 8px!important;margin-top:5px!important;color:#8b8580!important;font:400 12px/1.25 'DM Sans',sans-serif!important;}
body#checkout .pv-co-product__meta{display:flex!important;align-items:center!important;gap:12px!important;margin-top:7px!important;color:#8b8580!important;font:400 12px/1.2 'DM Sans',sans-serif!important;}
body#checkout .pv-co-summary__pricing{padding-top:18px!important;border-top:1px solid rgba(36,22,8,.18)!important;}
body#checkout .pv-co-summary__line{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0 0 10px!important;color:#241608!important;font:400 16px/1.25 'DM Sans',sans-serif!important;}
body#checkout .pv-co-summary__line strong{font-weight:400!important;white-space:nowrap!important;}
body#checkout .pv-co-summary__line--discount strong{color:#5bbf64!important;}
body#checkout .pv-co-summary__divider{height:1px!important;margin:16px 0!important;background:rgba(36,22,8,.18)!important;}
body#checkout .pv-co-summary__total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;color:#241608!important;font:500 24px/1.2 'DM Sans',sans-serif!important;letter-spacing:-.12px!important;}
body#checkout .pv-co-summary__total strong{font-weight:700!important;white-space:nowrap!important;}
body#checkout .pv-co-summary__voucher{margin-top:20px!important;}
body#checkout .pv-co-summary__voucher .cart-summary__voucher{margin:0!important;padding:0!important;border:0!important;}
body#checkout .pv-co-summary__voucher .pv-cart-voucher-form{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:8px!important;margin:0!important;}
body#checkout .pv-co-summary__voucher .js-voucher-input{height:48px!important;min-height:48px!important;border-radius:8px!important;}
body#checkout .pv-co-summary__voucher .pv-cart-voucher-submit{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;border:0!important;border-radius:8px!important;background:#fc8501!important;color:#241608!important;font-size:22px!important;}
body#checkout .pv-checkout-reassurance{display:none!important;}

@media (max-width:1199.98px){
  body#checkout .pv-checkout-page{padding-left:32px!important;padding-right:32px!important;}
  body#checkout .pv-checkout-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
}
@media (max-width:991.98px){
  body#checkout .pv-checkout-page{padding:18px 16px 64px!important;}
  body#checkout .pv-checkout-nav{margin-bottom:24px!important;}
  body#checkout .checkout-steps__desktop{display:none!important;}
  body#checkout .checkout-steps__mobile{display:flex!important;}
  body#checkout .pv-checkout-grid{grid-template-columns:1fr!important;}
  body#checkout .pv-checkout-summary-card{position:static!important;}
}
@media (max-width:640px){
  body#checkout .step__title{padding:18px 16px 0!important;}
  body#checkout .step__content{padding:16px!important;}
  body#checkout #checkout-guest-form #customer-form>section{grid-template-columns:1fr!important;}
  body#checkout #checkout-guest-form #customer-form>section>.mb-3,body#checkout #checkout-guest-form #customer-form>section>[data-ps-ref="password-field"]{grid-column:1!important;}
  body#checkout .pv-checkout-summary-card{padding:18px!important;}
}
