body { 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 
    padding: 20px;  color: #333; background-color: #f4f6f9;
}

.wrap {
	max-width:600px; margin: 0 auto; 	
}

h2 { text-align: center; margin-bottom: 25px; color: #2c3e50; font-size: 22px; }
.form-container { background: #fff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #495057; font-size: 15px; }
.form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: 12px; box-sizing: border-box; border: 1px solid #ced4da; 
    border-radius: 6px; font-size: 16px; /* 16px prevents iOS auto-zoom */
    transition: border-color 0.2s; background-color: #fff; color: #495057;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline: none; border-color: #80bdff; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}
.form-group textarea { height: 120px; resize: vertical; }

.btn-submit { 
    background-color: #0d6efd; color: white; padding: 15px; border: none; 
    border-radius: 6px; cursor: pointer; font-size: 18px; margin-top: 15px; 
    width: 100%; font-weight: bold; transition: background-color 0.2s;
}
.btn-submit:hover { background-color: #0b5ed7; }

.footer-links { text-align: center; margin-top: 20px; }
.refund-link { 
    display: inline-block; color: #dc3545; text-decoration: underline; 
    cursor: pointer; padding: 10px; font-size: 15px;
}

/* Modal Styles */
.modal-overlay { 
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.6); z-index: 1000; padding: 20px; box-sizing: border-box; 
    display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
}
.modal-overlay.show { opacity: 1; pointer-events: auto; }

.modal-content {
    background: #fff; width: 100%; max-width: 500px; padding: 30px;
    border-radius: 12px; position: relative; box-shadow: 0 10px 25px rgba(0,0,0,0.2); 
    box-sizing: border-box; max-height: 85vh; overflow-y: auto; transform: translateY(-20px);
    transition: transform 0.3s ease;
}
.modal-overlay.show .modal-content { transform: translateY(0); }

.modal-close { 
    position: absolute; right: 20px; top: 20px; font-size: 28px; cursor: pointer; 
    color: #adb5bd; line-height: 1; transition: color 0.2s;
}
.modal-close:hover { color: #343a40; }
.modal-title { margin-top: 0; color: #212529; margin-bottom: 20px; font-size: 20px; border-bottom: 2px solid #f8f9fa; padding-bottom: 15px; }
.modal-body p { margin-bottom: 10px; line-height: 1.6; color: #495057; }

ul {
    list-style: none;
    padding: 0; /* 불렛이 차지하던 왼쪽 여백까지 제거하려면 추가 */
    margin: 0;
}

li {
	display: inline-block;
	margin-right: 30px;
}

.wrap{position:relative;min-height:100%;}

/* radio */
input[type="radio"].ipt-radio-1{position:absolute;width:0;height:0;margin:0;padding:0;border:0;z-index:-1;overflow:hidden;opacity:0;}
input[type="radio"].ipt-radio-1 + label{position:relative;display:inline-block;min-height:20px;padding-left:25px;font-size:12px;line-height:18px;color:#474747;font-weight:normal;cursor:pointer;}
input[type="radio"].ipt-radio-1 + label .ico-radio{position:absolute;top:0;left:0;display:inline-block;width:18px;height:18px;border:1px solid #afafaf;border-radius:50%;cursor:pointer;vertical-align:top;}
input[type="radio"].ipt-radio-1 + label .ico-radio > span{position:absolute;top:4px;left:4px;right:4px;bottom:4px;background:transparent;border-radius:50%;transition:background-color 0.2s ease;}
input[type="radio"].ipt-radio-1:checked + label .ico-radio{border-color:#777;}
input[type="radio"].ipt-radio-1:checked + label .ico-radio > span{background-color:#777;}
input[type="radio"].ipt-radio-1:disabled + label .ico-radio{opacity:0.33;}



@media (max-width: 480px) {
    body { padding: 15px; }
    .form-container { padding: 20px; }
}
