.ms-jac{--ms-primary:#001E38;--ms-soft:#F5F8FA;--ms-border:#DDE6EC;--ms-text:#152333;--ms-muted:#6A7888;--ms-accent:#EAF1F5;color:var(--ms-text);font-family:inherit;width:100%;max-width:1520px;margin:0 auto;padding:22px 24px 56px;box-sizing:border-box}.ms-jac *{box-sizing:border-box}.ms-jac a{text-decoration:none}.ms-jac button,.ms-jac input,.ms-jac textarea{font:inherit}.ms-jac b,.ms-jac strong,.ms-jac h2,.ms-jac h3,.ms-jac a,.ms-jac button{font-weight:600!important}.ms-jac-progress{display:flex;align-items:flex-start;justify-content:center;max-width:680px;margin:0 auto 34px;padding:8px 14px}.ms-jac-step{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:74px;color:#98A4AF}.ms-jac-step span{width:30px;height:30px;border:2px solid #BCC7CF;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px;transition:.25s}.ms-jac-step b{font-size:15px;letter-spacing:.02em}.ms-jac-step.is-active{color:var(--ms-primary)}.ms-jac-step.is-active span{background:var(--ms-primary);border-color:var(--ms-primary);color:#fff;box-shadow:0 5px 18px rgba(0,30,56,.18)}.ms-jac-progress-line{height:2px;background:#CDD6DC;flex:1;margin-top:14px;min-width:30px}.ms-jac-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.8fr);gap:40px;align-items:start}.ms-jac-main{min-width:0}.ms-jac-title-row{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.ms-jac-title-row h2{font-size:26px;margin:0;color:var(--ms-primary)}.ms-jac-title-row span{color:var(--ms-muted);font-size:16px}.ms-jac-items{display:grid;gap:18px}.ms-jac-item{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--ms-border);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(0,30,56,.05);transition:.25s ease}.ms-jac-item:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,30,56,.09)}.ms-jac-image{background:linear-gradient(145deg,#f8fafb,#eef3f6);min-height:220px;display:flex;align-items:center;justify-content:center;padding:18px}.ms-jac-image img{width:100%;height:100%;max-height:230px;object-fit:contain;display:block;transition:.3s}.ms-jac-item:hover .ms-jac-image img{transform:scale(1.025)}.ms-jac-item-body{padding:22px 24px;display:flex;flex-direction:column;min-width:0}.ms-jac-item-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--ms-border);padding-bottom:15px}.ms-jac-product-name{display:block;color:var(--ms-primary);font-size:21px;line-height:1.25;margin-bottom:6px}.ms-jac-sku{font-size:13px;color:var(--ms-muted)}.ms-jac-offer{display:inline-block;margin-top:10px;color:#2D6A4F;background:#EDF8F2;border:1px solid #D4EDDD;border-radius:999px;padding:6px 10px;font-size:12px}.ms-jac-line-total{font-size:21px;color:var(--ms-primary);white-space:nowrap}.ms-jac-attributes{padding:13px 0 5px}.ms-jac-attributes dl{margin:0}.ms-jac-attributes dt,.ms-jac-attributes dd{display:inline;margin:0;font-size:14px}.ms-jac-attributes dt{color:var(--ms-muted)}.ms-jac-attributes dt:after{content:': '}.ms-jac-attributes dd{color:var(--ms-text);margin-right:16px}.ms-jac-controls{margin-top:auto;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ms-jac-unit-price{display:flex;align-items:center;gap:10px}.ms-jac-unit-price span,.ms-jac-label{font-size:13px;color:var(--ms-muted);text-transform:uppercase;letter-spacing:.05em}.ms-jac-unit-price strong{font-size:15px}.ms-jac-qty-wrap{display:flex;align-items:center;gap:12px}.ms-jac-qty{display:grid;grid-template-columns:38px 54px 38px;border:1px solid #C7D2DA;border-radius:10px;overflow:hidden;background:#fff;height:40px}.ms-jac-qty button{border:0;background:var(--ms-soft);color:var(--ms-primary);font-size:20px;cursor:pointer;transition:.2s}.ms-jac-qty button:hover{background:var(--ms-primary);color:#fff}.ms-jac-qty input{width:100%;border:0;border-left:1px solid #D8E0E5;border-right:1px solid #D8E0E5;text-align:center;outline:0;color:var(--ms-primary);background:#fff;-moz-appearance:textfield}.ms-jac-qty input::-webkit-inner-spin-button,.ms-jac-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ms-jac-item-actions{padding-top:15px}.ms-jac-remove{border:0;background:none;padding:0;color:#7B8792;text-transform:uppercase;font-size:12px;letter-spacing:.05em;cursor:pointer}.ms-jac-remove:hover{color:#B42318}.ms-jac-benefits{margin-top:22px;border:1px solid var(--ms-border);background:var(--ms-soft);border-radius:15px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.ms-jac-benefits>div{padding:17px 18px;display:grid;grid-template-columns:26px 1fr;column-gap:9px;align-items:start}.ms-jac-benefits>div+div{border-left:1px solid var(--ms-border)}.ms-jac-benefits span{width:22px;height:22px;border-radius:50%;background:var(--ms-primary);color:#fff;display:grid;place-items:center;font-size:12px;grid-row:1 / span 2}.ms-jac-benefits b{font-size:14px}.ms-jac-benefits small{display:block;color:var(--ms-muted);margin-top:2px;line-height:1.4}.ms-jac-summary-wrap{position:sticky;top:24px}.ms-jac-summary{border:1px solid var(--ms-border);border-radius:18px;background:#fff;padding:24px;box-shadow:0 10px 32px rgba(0,30,56,.07)}.ms-jac-summary h3{font-size:20px;color:var(--ms-primary);margin:0 0 18px;text-transform:uppercase;letter-spacing:.05em}.ms-jac-summary-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;color:var(--ms-muted);font-size:15px}.ms-jac-summary-row strong{color:var(--ms-text);white-space:nowrap}.ms-jac-total{display:flex;justify-content:space-between;gap:18px;background:var(--ms-soft);border:1px solid var(--ms-border);border-radius:12px;padding:17px 15px;margin:13px 0 18px;color:var(--ms-primary);font-size:19px}.ms-jac-total strong{font-size:21px}.ms-jac-gift{border:1px solid var(--ms-border);border-radius:12px;background:#fff;margin-bottom:16px;overflow:hidden}.ms-jac-gift-toggle{width:100%;border:0;background:var(--ms-soft);display:flex;align-items:center;justify-content:space-between;padding:14px 15px;color:var(--ms-primary);cursor:pointer}.ms-jac-gift-toggle small{font-weight:400}.ms-jac-gift-panel{padding:12px}.ms-jac-gift-panel textarea{width:100%;min-height:85px;border:1px solid var(--ms-border);border-radius:9px;padding:10px;outline:0;resize:vertical}.ms-jac-save-gift{margin-top:8px;border:0;border-radius:8px;background:var(--ms-primary);color:#fff;padding:9px 13px;cursor:pointer}.ms-jac-checkout,.ms-jac-btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:10px;background:var(--ms-primary)!important;color:#fff!important;text-align:center;letter-spacing:.04em;box-shadow:0 8px 18px rgba(0,30,56,.18);transition:.22s}.ms-jac-checkout:hover,.ms-jac-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.ms-jac-coupon{margin-top:16px}.ms-jac-coupon-toggle{width:100%;border:0;background:transparent;text-align:left;padding:8px 0;color:var(--ms-primary);cursor:pointer}.ms-jac-coupon-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.ms-jac-coupon-form input{min-width:0;border:1px solid var(--ms-border);border-radius:9px;padding:11px 12px;outline:0}.ms-jac-apply-coupon{border:0;border-radius:9px;background:var(--ms-primary);color:#fff;padding:0 16px;cursor:pointer}.ms-jac-remove-coupon{border:0;background:none;color:#A33;padding:0 2px;cursor:pointer}.ms-jac-support{border-top:1px solid var(--ms-border);margin-top:18px;padding-top:16px;color:var(--ms-muted);font-size:13px;display:grid;gap:4px}.ms-jac-support b{color:var(--ms-primary)}.ms-jac-support a{color:var(--ms-primary)}.ms-jac-message{position:fixed;right:22px;top:22px;z-index:99999;max-width:360px;pointer-events:none}.ms-jac-message>div{pointer-events:auto;background:var(--ms-primary);color:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 12px 35px rgba(0,0,0,.18);animation:msJacIn .25s ease}.ms-jac-message .is-error{background:#8E2A2A}.ms-jac.is-loading .ms-jac-layout{opacity:.56;pointer-events:none}.ms-jac.is-loading:after{content:'';position:fixed;left:50%;top:50%;width:42px;height:42px;margin:-21px;border:4px solid #dce4e9;border-top-color:var(--ms-primary);border-radius:50%;animation:msJacSpin .75s linear infinite;z-index:9999}.ms-jac-empty{text-align:center;border:1px solid var(--ms-border);border-radius:18px;padding:60px 24px;background:var(--ms-soft)}.ms-jac-empty-icon{font-size:38px}.ms-jac-empty h2{color:var(--ms-primary);margin:12px 0 6px}.ms-jac-empty p{color:var(--ms-muted);margin:0 0 20px}.ms-jac-empty .ms-jac-btn{max-width:210px;margin:auto}.ms-jac-coupon-row{border-top:1px dashed var(--ms-border)}@keyframes msJacSpin{to{transform:rotate(360deg)}}@keyframes msJacIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:1050px){.ms-jac-layout{grid-template-columns:1fr;gap:26px}.ms-jac-summary-wrap{position:static}.ms-jac-summary{max-width:none}.ms-jac-item{grid-template-columns:190px 1fr}}@media(max-width:760px){.ms-jac{padding:16px 14px 40px}.ms-jac-progress{margin-bottom:22px}.ms-jac-step b{font-size:13px}.ms-jac-step span{width:27px;height:27px}.ms-jac-progress-line{margin-top:13px}.ms-jac-title-row h2{font-size:22px}.ms-jac-item{grid-template-columns:118px 1fr;border-radius:14px}.ms-jac-image{min-height:150px;padding:10px}.ms-jac-item-body{padding:15px}.ms-jac-product-name{font-size:17px}.ms-jac-line-total{font-size:17px}.ms-jac-item-head{gap:10px}.ms-jac-controls{align-items:flex-start;flex-direction:column;gap:12px}.ms-jac-qty-wrap{width:100%;justify-content:space-between}.ms-jac-benefits{grid-template-columns:1fr}.ms-jac-benefits>div+div{border-left:0;border-top:1px solid var(--ms-border)}.ms-jac-summary{padding:18px}.ms-jac-message{left:14px;right:14px;top:14px;max-width:none}}@media(max-width:520px){.ms-jac-step{min-width:54px}.ms-jac-step b{font-size:12px}.ms-jac-item{grid-template-columns:1fr}.ms-jac-image{min-height:220px}.ms-jac-image img{max-height:220px}.ms-jac-item-head{align-items:flex-start}.ms-jac-title-row{flex-wrap:wrap}.ms-jac-coupon-form{grid-template-columns:1fr}.ms-jac-apply-coupon{min-height:42px}.ms-jac-total{font-size:17px}.ms-jac-total strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.ms-jac *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* v1.1.0 — brand-safe action controls. Keep theme primary/pink styles out of the cart UI. */
.ms-jac{
  --ms-danger:#8A3340;
  --ms-danger-soft:#FFF5F5;
  --ms-focus:rgba(0,30,56,.12);
}

/* Strongly isolate interactive controls from theme button styles. */
.ms-jac .ms-jac-remove,
.ms-jac .ms-jac-gift-toggle,
.ms-jac .ms-jac-save-gift,
.ms-jac .ms-jac-checkout,
.ms-jac .ms-jac-coupon-toggle,
.ms-jac .ms-jac-apply-coupon,
.ms-jac .ms-jac-remove-coupon,
.ms-jac .ms-jac-btn,
.ms-jac .ms-jac-qty button{
  -webkit-appearance:none!important;
  appearance:none!important;
  text-transform:none!important;
  font-weight:600!important;
  box-shadow:none;
}

/* Remove action: compact, premium outline instead of theme-pink fill. */
.ms-jac .ms-jac-remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:40px!important;
  padding:0 16px!important;
  margin:0!important;
  border:1px solid #C8D4DC!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ms-primary)!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  cursor:pointer!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important;
}
.ms-jac .ms-jac-remove:hover,
.ms-jac .ms-jac-remove:focus-visible{
  border-color:var(--ms-danger)!important;
  background:var(--ms-danger-soft)!important;
  color:var(--ms-danger)!important;
  transform:translateY(-1px);
  outline:0!important;
}

/* Gift card becomes a clearly separated panel, not a pink theme button. */
.ms-jac .ms-jac-gift{
  border:1px solid #D5E0E7!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 4px 16px rgba(0,30,56,.035)!important;
}
.ms-jac .ms-jac-gift-toggle{
  min-height:54px!important;
  padding:14px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:#F3F7F9!important;
  color:var(--ms-primary)!important;
  text-align:left!important;
  letter-spacing:0!important;
  transition:background .2s ease!important;
}
.ms-jac .ms-jac-gift-toggle:hover,
.ms-jac .ms-jac-gift-toggle:focus-visible{
  background:#EAF1F5!important;
  color:var(--ms-primary)!important;
  outline:0!important;
}
.ms-jac .ms-jac-gift-toggle b{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--ms-primary)!important;
  font-size:13px!important;
  white-space:nowrap;
}
.ms-jac .ms-jac-gift-toggle small{color:var(--ms-muted)!important;font-weight:400!important}
.ms-jac .ms-jac-gift-panel{padding:14px!important;background:#fff!important;border-top:1px solid var(--ms-border)!important}
.ms-jac .ms-jac-gift-panel textarea{
  display:block!important;
  width:100%!important;
  min-height:96px!important;
  border:1px solid #C8D4DC!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--ms-text)!important;
  padding:12px 13px!important;
  box-shadow:none!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
}
.ms-jac .ms-jac-gift-panel textarea:focus{
  border-color:var(--ms-primary)!important;
  box-shadow:0 0 0 3px var(--ms-focus)!important;
  outline:0!important;
}
.ms-jac .ms-jac-save-gift{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 16px!important;
  margin-top:10px!important;
  border:1px solid var(--ms-primary)!important;
  border-radius:10px!important;
  background:var(--ms-primary)!important;
  color:#fff!important;
  letter-spacing:.01em!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.ms-jac .ms-jac-save-gift:hover,
.ms-jac .ms-jac-save-gift:focus-visible{
  background:#07304F!important;
  border-color:#07304F!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(0,30,56,.15)!important;
  transform:translateY(-1px);
  outline:0!important;
}

/* Checkout remains the visual primary action. */
.ms-jac .ms-jac-checkout,
.ms-jac .ms-jac-btn{
  border:1px solid var(--ms-primary)!important;
  background:var(--ms-primary)!important;
  color:#fff!important;
  min-height:56px!important;
  border-radius:12px!important;
  box-shadow:0 8px 20px rgba(0,30,56,.14)!important;
}
.ms-jac .ms-jac-checkout:hover,
.ms-jac .ms-jac-checkout:focus-visible,
.ms-jac .ms-jac-btn:hover,
.ms-jac .ms-jac-btn:focus-visible{
  background:#07304F!important;
  border-color:#07304F!important;
  color:#fff!important;
  box-shadow:0 11px 24px rgba(0,30,56,.18)!important;
  outline:0!important;
}

/* Coupon becomes a light secondary action followed by a clean form. */
.ms-jac .ms-jac-coupon{margin-top:18px!important}
.ms-jac .ms-jac-coupon-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:46px!important;
  padding:0 14px!important;
  border:1px solid #C8D4DC!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ms-primary)!important;
  text-align:left!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.ms-jac .ms-jac-coupon-toggle:hover,
.ms-jac .ms-jac-coupon-toggle:focus-visible{
  border-color:var(--ms-primary)!important;
  background:#F3F7F9!important;
  color:var(--ms-primary)!important;
  transform:translateY(-1px);
  outline:0!important;
}
.ms-jac .ms-jac-coupon-form{
  margin-top:10px!important;
  gap:9px!important;
}
.ms-jac .ms-jac-coupon-form input{
  min-height:44px!important;
  border:1px solid #C8D4DC!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ms-text)!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.ms-jac .ms-jac-coupon-form input:focus{
  border-color:var(--ms-primary)!important;
  box-shadow:0 0 0 3px var(--ms-focus)!important;
  outline:0!important;
}
.ms-jac .ms-jac-apply-coupon{
  min-height:44px!important;
  padding:0 18px!important;
  border:1px solid var(--ms-primary)!important;
  border-radius:10px!important;
  background:var(--ms-primary)!important;
  color:#fff!important;
  cursor:pointer!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.ms-jac .ms-jac-apply-coupon:hover,
.ms-jac .ms-jac-apply-coupon:focus-visible{
  background:#07304F!important;
  border-color:#07304F!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(0,30,56,.14)!important;
  transform:translateY(-1px);
  outline:0!important;
}
.ms-jac .ms-jac-remove-coupon{
  display:inline-grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  margin-left:5px!important;
  padding:0!important;
  border:1px solid #D9B9BD!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--ms-danger)!important;
  line-height:1!important;
  cursor:pointer!important;
}
.ms-jac .ms-jac-remove-coupon:hover{background:var(--ms-danger-soft)!important;border-color:var(--ms-danger)!important}

/* Quantity buttons: brand blue and never inherit theme-pink. */
.ms-jac .ms-jac-qty button{
  border:0!important;
  border-radius:0!important;
  background:#F3F7F9!important;
  color:var(--ms-primary)!important;
}
.ms-jac .ms-jac-qty button:hover,
.ms-jac .ms-jac-qty button:focus-visible{
  background:var(--ms-primary)!important;
  color:#fff!important;
  outline:0!important;
}

/* Catch common theme states that try to re-apply a primary/pink background. */
.ms-jac button:hover,
.ms-jac button:focus,
.ms-jac button:active{
  text-decoration:none!important;
}

@media(max-width:520px){
  .ms-jac .ms-jac-remove{min-height:38px!important;padding:0 14px!important}
  .ms-jac .ms-jac-gift-toggle{padding:13px 14px!important;gap:8px!important}
  .ms-jac .ms-jac-gift-toggle span{min-width:0}
  .ms-jac .ms-jac-gift-toggle b{font-size:12px!important}
  .ms-jac .ms-jac-coupon-toggle{min-height:44px!important}
  .ms-jac .ms-jac-coupon-form{grid-template-columns:1fr!important}
  .ms-jac .ms-jac-apply-coupon{width:100%!important}
}
