.main-modal { position:fixed; inset:0; z-index:999999; display:none; }
.main-modal.is-open { display:block; }

.main-modal__dim { position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }

.main-modal__wrap { position:fixed; left:50%; top:50%; width:600px; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.25); transform:translate(-50%,-50%) scale(1); transform-origin:center center; }

.main-modal__content { width:600px; }
.main-modal__content img { display:block; width:600px; height:auto; }

.main-modal__close { position:absolute; top:14px; right:14px; z-index:2; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:rgba(0,0,0,.35); cursor:pointer; }
.main-modal__close span { position:absolute; left:50%; top:50%; width:17px; height:2px; background:#fff; border-radius:2px; }
.main-modal__close span:first-child { transform:translate(-50%,-50%) rotate(45deg); }
.main-modal__close span:last-child { transform:translate(-50%,-50%) rotate(-45deg); }

.main-modal__footer { display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px 20px; box-sizing:border-box; background:#fff; }

.main-modal__today { display:flex; align-items:center; gap:10px; cursor:pointer; }
.main-modal__today input { position:absolute; opacity:0; pointer-events:none; }

.main-modal__check { position:relative; display:block; width:24px; height:24px; flex:0 0 24px; border:1px solid #c7c7c7; border-radius:4px; background:#fff; }

.main-modal__today input:checked + .main-modal__check { background:#06357d; border-color:#06357d; }

.main-modal__today input:checked + .main-modal__check::after { content:""; position:absolute; left:7px; top:3px; width:7px; height:12px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); }

.main-modal__today-text { font-size:15px; line-height:1.4; color:#333; white-space:nowrap; }

.main-modal__button { width:110px; height:44px; padding:0; border:0; border-radius:7px; background:#06357d; color:#fff; font-size:15px; font-weight:500; cursor:pointer; }

/* 모달이 열려 있을 때 배경 스크롤 방지 */
html.main-modal-open,
body.main-modal-open { overflow:hidden; }