/* "Add to Package" — matches cancel-button.css so the two controls read as one system. */
.ce-package-wrap{margin:18px 0;}
.ce-package-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#1c6fb5;border:1px solid #1c6fb5;color:#fff;border-radius:10px;
  padding:11px 22px;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;
  text-decoration:none;transition:background .15s ease,border-color .15s ease;}
.ce-package-button:hover,.ce-package-button:focus{background:#155a95;border-color:#155a95;color:#fff;}
.ce-package-button[disabled]{opacity:.65;cursor:default;}
/* The no-credit fall-back is the same control in a quieter voice — it is still the way to book. */
.ce-package-button--buy{background:#fff;color:#1c6fb5;}
.ce-package-button--buy:hover,.ce-package-button--buy:focus{background:#f2f7fc;color:#155a95;}
.ce-package-note{margin:8px 0 0;font-size:13px;color:#5b6b7f;}

/* ⚠ THE BACKDROP IS THE DIALOG'S POSITIONING CONTEXT, not just a dimmer. Centring the box inside it
   means the dialog never depends on the height of whatever page it was dropped into. */
.ce-package-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(16,39,71,.55);
  display:flex;align-items:center;justify-content:center;padding:20px;}
.ce-package-dialog{background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(16,39,71,.28);
  padding:26px 28px;max-width:440px;width:100%;}
.ce-package-title{margin:0 0 10px;font-size:19px;line-height:1.3;color:#102747;}
.ce-package-class{margin:0 0 12px;font-size:15px;font-weight:600;color:#102747;}
/* The balance is the fact a student is consenting to, so it carries the most weight in the box. */
.ce-package-balance{margin:0 0 12px;font-size:15px;font-weight:600;color:#1c6fb5;
  font-variant-numeric:tabular-nums;}
.ce-package-policy{margin:0 0 20px;font-size:13px;line-height:1.5;color:#5b6b7f;}
.ce-package-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.ce-package-btn{border-radius:10px;padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer;
  border:1px solid transparent;}
.ce-package-btn--ghost{background:#fff;border-color:#d6dee8;color:#3d4d61;}
.ce-package-btn--ghost:hover{background:#f4f7fa;}
.ce-package-btn--go{background:#1c6fb5;color:#fff;}
.ce-package-btn--go:hover{background:#155a95;}
.ce-package-btn:focus-visible,.ce-package-button:focus-visible{outline:2px solid #1c6fb5;outline-offset:2px;}

@media (max-width:480px){
  .ce-package-actions{flex-direction:column-reverse;}
  .ce-package-btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .ce-package-button{transition:none;}
}
