/* Shared Bootstrap/Bootbox dialogs follow the existing KCLM notice design. */
body.front .bootbox.modal,body.front .modal.show{display:flex!important;align-items:center;justify-content:center;padding:24px 20px!important;overflow-x:hidden;overflow-y:auto;}
body.front .modal.modal .modal-dialog{display:block;vertical-align:initial;width:100%;max-width:460px;min-width:0;margin:0 auto;text-align:left;}
body.front .modal.show .modal-dialog{transform:none;}
body.front .modal.modal .modal-dialog.modal-sm{max-width:460px;}
body.front .modal.modal .modal-dialog.modal-lg{max-width:800px;}
body.front .modal.modal .modal-dialog.modal-xl,body.front .modal.pico-ui-popup .modal-dialog{max-width:1140px;}
body.front .modal.ssl-notification-modal .modal-dialog{max-width:640px;}
body.front .modal.modal .modal-dialog .modal-content{display:flex!important;flex-direction:column;width:100%!important;min-width:0!important;max-width:100%;max-height:calc(100dvh - 48px);padding:0;border:1px solid #e1e5eb!important;border-radius:12px!important;background:#fff!important;color:#262930!important;box-shadow:0 20px 60px #18202c26;overflow:hidden;}
body.front .modal.modal .modal-dialog .modal-content .modal-header{display:flex!important;flex:none;align-items:flex-start;gap:16px;padding:28px 32px 0;border:0;background:#fff;}
body.front .modal.modal .modal-dialog .modal-content .modal-title{margin:0;color:#262930;font-size:26px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;word-break:keep-all;}
body.front .modal.modal .modal-dialog .modal-content .modal-body.front{flex:1 1 auto;min-height:0;padding:32px!important;margin:0!important;overflow-y:auto;overscroll-behavior:contain;font-size:16px!important;line-height:1.9;color:#6b7079!important;text-align:left;}
body.front .modal.modal .modal-dialog .modal-content .modal-header+.modal-body.front{padding-top:18px!important;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front{font-size:16px!important;line-height:1.9;color:#454e5a!important;word-break:keep-all;overflow-wrap:anywhere;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front :is(h1,h2,h3,h4,h5){padding:0;margin:0 0 18px;color:#262930;font-size:26px;font-weight:500;line-height:1.5;letter-spacing:-.5px;word-break:keep-all;overflow-wrap:anywhere;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front p{padding:0;margin:0 0 12px;font-size:16px;line-height:1.9;color:#6b7079;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front p:last-child{margin-bottom:0;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front a{color:#e51837;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer{display:flex;flex:none;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:0 32px 32px!important;border:0;background:#fff;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto!important;min-width:0;min-height:48px;height:auto;padding:12px 22px!important;margin:0!important;border:1px solid #d3d8df!important;border-radius:4px!important;background:#fff!important;color:#454e5a!important;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;text-shadow:none;white-space:normal;opacity:1;cursor:pointer;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer button:hover{border-color:#e51837!important;background:transparent!important;color:#e51837!important;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer :is(button[data-bb-handler="ok"],button[data-bb-handler="confirm"],button.bootbox-accept,button.btn-primary){border-color:#e51837!important;background:#e51837!important;color:#fff!important;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer :is(button[data-bb-handler="ok"],button[data-bb-handler="confirm"],button.bootbox-accept,button.btn-primary):hover{border-color:#c6102c!important;background:#c6102c!important;color:#fff!important;}
body.front .modal.modal .modal-dialog .modal-content .close{position:static!important;display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:36px;width:auto;height:auto;padding:6px 10px;margin:0!important;border:1px solid #d8dfe7;border-radius:4px;background:#fff;color:#59616d;font-family:inherit;font-size:13px!important;font-weight:400;line-height:22px;opacity:1;text-shadow:none;}
body.front .modal.modal .modal-dialog .modal-content .modal-body.front>.close{float:right;margin:0 0 16px 16px!important;}
body.front .modal.modal .modal-dialog .modal-content :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #e51837;outline-offset:3px;}
body.front .modal.modal .modal-dialog .modal-content .form-control{min-height:46px;height:auto;padding:10px 12px;border:1px solid #d3dbe4!important;border-radius:4px!important;background:#fff;color:#303741;font-size:16px;line-height:24px;box-shadow:none;}
body.front .modal.modal .modal-dialog .modal-content .form-group label:not(.error){display:block;margin:0 0 8px;color:#59616d;font-size:14px!important;font-weight:400;line-height:24px;}
body.front .modal.modal .modal-dialog .modal-content iframe{max-width:100%;}
body.front .modal.modal .modal-dialog .modal-content .bootbox-input-radio,body.front .modal.modal .modal-dialog .modal-content .bootbox-input-checkbox{width:auto;min-height:0;}
body.front .modal-backdrop.show{background:#18202c!important;opacity:.53!important;}
@media(max-width:767px){
body.front .bootbox.modal,body.front .modal.show{padding:20px!important;}
body.front .modal.modal .modal-dialog .modal-content{max-height:calc(100dvh - 40px);}
body.front .modal.modal .modal-dialog .modal-content .modal-header{padding:24px 24px 0;}
body.front .modal.modal .modal-dialog .modal-content .modal-body.front{padding:24px!important;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer{padding:0 24px 24px!important;}
body.front .modal.modal .modal-dialog .modal-content .modal-title,body.front .modal.modal .modal-dialog .modal-content .bootbox-body.front :is(h1,h2,h3,h4,h5){font-size:24px;}
body.front .modal.modal .modal-dialog .modal-content .modal-footer button{padding:10px 18px!important;min-height:44px;font-size:15px;}
}
@media(prefers-reduced-motion:reduce){body.front .modal.fade .modal-dialog{transition:none;}}
body.front .modal.modal .modal-dialog{min-height:0;}
body.front .modal.modal .modal-dialog .modal-content label.error{position:static!important;margin:6px 0 0!important;padding:0!important;border:0;background:transparent!important;color:#e51837!important;font-size:13px!important;line-height:1.6;}

/* Short alerts/confirmations use a compact notice width, without fixed heights. */
body.front .modal.modal.modal-brief .modal-dialog{max-width:420px;}
body.front .modal.modal.modal-brief .modal-content .modal-body.front{padding:28px!important;}
body.front .modal.modal.modal-brief .modal-content .modal-footer{padding:0 28px 28px!important;}
@media(max-width:767px){body.front .modal.modal.modal-brief .modal-content .modal-body.front{padding:24px!important;}body.front .modal.modal.modal-brief .modal-content .modal-footer{padding:0 24px 24px!important;}}
