/* Modal - jquery.modal compatible */
.jquery-modal.blocker,
.blocker {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%; height: 100%;
    overflow: auto;
    z-index: 1000000;
    padding: 20px;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.75);
    text-align: center;
}
.jquery-modal.blocker::before,
.blocker::before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.05em;
}
.blocker.behind { background-color: transparent; }

.modal {
    display: none;
    vertical-align: middle;
    position: relative;
    z-index: 2;
    max-width: 420px;
    width: 100%;
    box-sizing: border-box;
    background: #1a1a1a;
    border-radius: 8px;
    text-align: left;
    box-shadow: 0 16px 60px rgba(0,0,0,.8);
    overflow: hidden;
    /* inline-block set by modal.js on open */
}

.modal a.close-modal {
    position: absolute; top: 10px; right: 10px;
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,.15);
    font-size: 0; text-indent: -9999px;
    z-index: 10; cursor: pointer;
    line-height: 28px; text-align: center;
}
.modal a.close-modal::after {
    content: '\00d7'; font-size: 20px; color: #fff;
    text-indent: 0;
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
}

/* Modal content */
.modal .modal-content { padding: 24px; color: #e5e5e5; }
.modal .modal-titles { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #333; }
.modal .modal-rows { margin-bottom: 12px; }
.modal .modal-rows select,
.modal .modal-rows .nice-select { width: 100%; padding: 10px 14px; background: #333; border: 1px solid #555; color: #fff; border-radius: 4px; font-size: 14px; }
.modal .modal-rows-text { margin: 12px 0; font-size: 13px; color: #999; line-height: 1.5; }
.modal .modal-confirm-btn { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; padding-top: 12px; border-top: 1px solid #333; }
.modal .modal-confirm-btn a { display: inline-block; padding: 8px 20px; border-radius: 4px; font-size: 14px; text-decoration: none; transition: .2s; }
.modal .modal-confirm-btn .cancel { background: #333; color: #b3b3b3; }
.modal .modal-confirm-btn .cancel:hover { background: #444; color: #fff; }
.modal .modal-confirm-btn .submit { background: #e50914; color: #fff; }
.modal .modal-confirm-btn .submit:hover { background: #c11119; }

/* SNS Share */
.modal .sns-sharing { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #2a2a2a; color: #e5e5e5; font-size: 14px; text-decoration: none; transition: .2s; }
.modal .sns-sharing:hover { color: #fff; background: rgba(255,255,255,.05); margin: 0 -24px; padding: 12px 24px; }
.modal .sns-sharing .iconify { font-size: 24px; }

/* Nice Select in modal */
.modal .nice-select { background: #333 !important; border: 1px solid #555 !important; color: #fff !important; height: auto !important; line-height: 1.4 !important; padding: 10px 30px 10px 14px !important; float: none !important; display: block !important; }
.modal .nice-select .current { display: flex; align-items: center; min-height: 20px; }
.modal .nice-select .list { background: #2a2a2a !important; border: 1px solid #444 !important; border-radius: 4px !important; }
.modal .nice-select .option { color: #ccc !important; padding: 10px 14px !important; line-height: 1.4 !important; display: flex !important; align-items: center !important; min-height: auto !important; }
.modal .nice-select .option:hover,
.modal .nice-select .option.selected { background: #444 !important; color: #fff !important; }

/* Spinner */
.modal-spinner { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); padding: 12px 16px; border-radius: 5px; }
.modal-spinner > div { border-radius: 100px; background-color: #fff; height: 20px; width: 2px; margin: 0 1px; display: inline-block; animation: sk-stretchdelay 1.2s infinite ease-in-out; }
.modal-spinner .rect2 { animation-delay: -1.1s; }
.modal-spinner .rect3 { animation-delay: -1s; }
.modal-spinner .rect4 { animation-delay: -.9s; }
@keyframes sk-stretchdelay { 0%,40%,100% { transform: scaleY(.5); } 20% { transform: scaleY(1); } }