:root{--overlay-z:9998;--modal-z:9999;--max-width:762px;--gutter:24px;--transition-time:220ms;--border-radius:10px;}

/* Base */
.custom-modal{position:fixed;inset:0;z-index:var(--overlay-z);display:none;align-items:center;justify-content:center;}
.custom-modal.is-open{display:flex;}
.custom-modal--locked{overflow:hidden;}
.custom-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.48);display:flex;align-items:center;justify-content:center;padding:var(--gutter);transition:opacity var(--transition-time) ease;opacity:0;pointer-events:none;}
.is-open .custom-modal__overlay{opacity:1;pointer-events:auto;}
.custom-modal__container{position:relative;z-index:var(--modal-z);width:100%;max-width:var(--max-width);background:#fff;box-shadow:0 12px 40px rgba(0,0,0,0.18);transform:translateY(8px) scale(0.995);transition:transform var(--transition-time) ease,opacity var(--transition-time) ease;opacity:0;outline:none;padding:0;}
.is-open .custom-modal__container{transform:translateY(0) scale(1);opacity:1;}
.custom-modal__close{width:25px;height:25px;position:absolute;right:0;top:0;border:0;background:#4d7b19;font-size:28px;line-height:1.4!important;cursor:pointer;color:#fff;transition:all 0.5s ease;opacity:0.9;display:flex;align-items:center;justify-content:center;}
.custom-modal__close:hover{background:#002e19;opacity:1;}
.custom-modal__header,.custom-modal__body,.custom-modal__footer{padding-left:28px;padding-right:28px;}
.custom-modal__header{padding:0;font-size:23px;font-weight:700;margin-bottom:8px;}
.custom-modal__body{padding:0;font-size:15px;line-height:1.55;}
.custom-modal__body p{margin:0 0 12px;font-size:15px;color:#32464d;}
.custom-modal__body a{display:inline-block;color:#4d7b19;text-decoration:underline;}
.custom-modal__body a:hover{color:#002e19;}
.custom-modal__footer{padding-top:12px;padding-bottom:26px;font-size:14px;text-align:left;}

/* Theme modifiers */
.custom-modal--default .custom-modal__container{background:#ffffff;color:#222222;border:1px solid rgba(0,0,0,0.06);}
.custom-modal--default .custom-modal__header{background:transparent;}
.custom-modal--default .custom-modal__footer{background:transparent;}
.custom-modal--default .custom-modal__container{padding:18px;background:#fff;color:#1f1f1f;}
.custom-modal--default .custom-modal__header{background:transparent;}
.custom-modal--default .custom-modal__footer{background:transparent;}
.custom-modal--light .custom-modal__container{background:#fbfbff;color:#1a1a1a;border:1px solid rgba(0,0,0,0.04);}
.custom-modal--light .custom-modal__header{background:transparent;}
.custom-modal--light .custom-modal__footer{background:transparent;}

/* Responsiveness */
@media (max-width:640px){
	.custom-modal__overlay{padding:10px;}
	.custom-modal__container{max-width:100%;}
	.custom-modal__header{font-size:18px;}
}