@charset "UTF-8";

.form-container { 
    max-width: 1100px; 
    margin: 0 auto; 
    background: #fff; 
    padding: 50px; 
    border-radius: 16px; 
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04); 
}

.form-title { 
    font-size: 28px; 
    font-weight: 700; 
    margin-bottom: 40px; 
    text-align: center; 
    color: #111; 
    letter-spacing: -0.5px; 
}

/* 3. ¸ð´ø 2´Ü ±×¸®µå ¹èÁ¤ */
.form-grid { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 24px 40px; 
}

.form-group { 
    display: flex; 
    flex-direction: column; 
}

/* ÆøÀ» ³ÐÇô ²Ë Ã¤¿ö¾ß ÇÏ´Â ¿ä¼Ò Ã³¸® (2Ä­ Â÷Áö) */
.form-group.full-width { 
    grid-column: span 2; 
}

/* ¶óº§ µðÀÚÀÎ ¹× ÇÊ¼öÇ×¸ñ Ç¥½Ã */
.form-group label { 
    display: block; 
    font-size: 15px; 
    font-weight: 600; 
    margin-bottom: 10px; 
    color: #495057; 
}

.form-group label .required { 
    color: #e03131; 
    margin-left: 4px; 
}

/* 4. ÀÔ·Â Æû °øÅë ½ºÅ¸ÀÏ ±¸¼º (³ôÀÌ 48px ¿Ïº® ÅëÀÏ) */
.form-control { 
    width: 100%; 
    height: 48px; 
    padding: 0 16px; 
    font-size: 14px; 
    border: 1px solid #dee2e6; 
    border-radius: 8px; 
    transition: all 0.2s ease-in-out; 
    background-color: #fff; 
    color: #212529; 
    box-sizing: border-box; 
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

/* Æ÷Ä¿½º ¶óÀÎ ÀÌÆåÆ® */
.form-control:focus { 
    outline: none; 
    border-color: #3b5bdb; 
    box-shadow: 0 0 0 4px rgba(59, 91, 219, 0.08); 
    background-color: #fff; 
}

/* [±³Á¤] ÇÃ·¹ÀÌ½ºÈ¦´õ Å©±â/»ö»ó/Åõ¸íµµ ¿Ïº® ±ÕÀÏÈ­ */
.form-control::placeholder { 
    color: #adb5bd !important; 
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
    font-size: 14px !important;
    opacity: 1 !important; /* ÆÄÀÌ¾îÆø½º ¹ÝÅõ¸í Á¦°Å */
}
.form-control::-webkit-input-placeholder {
    color: #adb5bd !important;
    font-size: 14px !important;
}
.form-control::-moz-placeholder {
    color: #adb5bd !important;
    font-size: 14px !important;
    opacity: 1 !important;
}

/* 5. ¼¿·ºÆ® ¹Ú½º(µå·Ó´Ù¿î) ³ôÀÌ ¸ÅÄª ¹× È­»ìÇ¥ ±³Á¤ */
select.form-control {
    -webkit-appearance: none; 
    -moz-appearance: none;    
    appearance: none;         
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center; 
    background-size: 16px;
    padding-right: 40px; 
    cursor: pointer;
}

select.form-control::-ms-expand {
    display: none;
}

/* 6. ÅØ½ºÆ® ¿µ¿ª Àü¿ë ±¸Á¶ ¼³Á¤ (°øÅë ³ôÀÌ Á¦¿Ü ¹× ÆùÆ® °­Á¦ »ó¼Ó) */
textarea.form-control { 
    height: auto; 
    min-height: 220px; 
    padding: 14px 16px; 
    resize: vertical; 
    line-height: 1.6; 
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
}

/* 7. Ã·ºÎÆÄÀÏ Ä¿½ºÅÒ ¿µ¿ª */
.file-box { 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
}

.file-box input[type="file"] { 
    font-size: 14px; 
    color: #495057; 
    padding: 8px 0; 
}

/* 8. ºÎ°¡ Á¤º¸ ¾Ë¸² ¹®±¸ */
.info-notice { 
    background-color: #f8f9fa; 
    border-left: 4px solid #3b5bdb; 
    padding: 15px 20px; 
    font-size: 14px; 
    color: #666; 
    margin-top: 30px; 
    border-radius: 0 8px 8px 0; 
}

/* 9. ÇÏ´Ü Àü¼Û ¹öÆ° Á¤·Ä ¹× ½ºÅ¸ÀÏ */
.btn-wrapper { 
    margin-top: 40px; 
    display: flex; 
    justify-content: center; 
}

.btn-submit { 
    width: 280px; 
    padding: 16px; 
    font-size: 16px; 
    font-weight: 700; 
    color: #fff; 
    background-color: #3b5bdb; 
    border: none; 
    border-radius: 8px; 
    cursor: pointer; 
    transition: background-color 0.2s; 
}

.btn-submit:hover { 
    background-color: #2b4cb0; 
}

.btn-wrapper.ad-buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}
.btn-ad {
	padding: 16px 24px;
	font-size: 16px;
	font-weight: 700;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	min-width: 140px;
}
/* ¸ÞÀÎ Á¦Ãâ ¹öÆ° */
.btn-ad.submit {
	background-color: #3b5bdb;
	color: #fff;
	flex-grow: 2;
	max-width: 280px;
}
.btn-ad.submit:hover { background-color: #2b4cb0; }

/* ´Ù½ÃÀÔ·Â / µ¹¾Æ°¡±â º¸Á¶ ¹öÆ° */
.btn-ad.secondary {
	background-color: #e9ecef;
	color: #495057;
}
.btn-ad.secondary:hover { background-color: #dee2e6; color: #212529; }



/* ¹öÆ° ±×·ì ·¹ÀÌ¾Æ¿ô È£È¯ ½ºÅ¸ÀÏ */
.btn-wrapper.report-buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}
.btn-report {
	padding: 16px 24px;
	font-size: 16px;
	font-weight: 700;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	min-width: 140px;
}
/* ¸ÞÀÎ Á¦Ãâ ¹öÆ° */
.btn-report.submit {
	background-color: #3b5bdb;
	color: #fff;
	flex-grow: 2;
	max-width: 280px;
}
.btn-report.submit:hover { background-color: #2b4cb0; }

/* ´Ù½ÃÀÔ·Â / µ¹¾Æ°¡±â º¸Á¶ ¹öÆ° */
.btn-report.secondary {
	background-color: #e9ecef;
	color: #495057;
}
.btn-report.secondary:hover { background-color: #dee2e6; color: #212529; }


      /* °³ÀÎÁ¤º¸ µ¿ÀÇ ¿µ¿ª Àü¿ë ½ºÅ©·Ñ ¹Ú½º ½ºÅ¸ÀÏ */
       .privacy-scroll-box {
            width: 100%;
            height: 200px;
            overflow-y: auto;
            border: 1px solid #dee2e6;
            border-radius: 6px;
            padding: 16px;
            background-color: #f8f9fa;
            font-size: 14px;
            line-height: 1.6;
            color: #495057;
            margin-bottom: 16px;
        }
        .privacy-scroll-box b {
            color: #212529;
            display: inline-block;
            margin-bottom: 4px;
        }
        .privacy-agree-check {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            font-size: 15px;
            padding: 12px;
            background-color: #edf2ff;
            border-radius: 6px;
            color: #364fc7;
            font-weight: 500;
        }
        .privacy-agree-check input[type="checkbox"] {
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

        .input-group-inline {
            display: flex;
            align-items: center;
            gap: 8px;
            width: 100%;
        }
        .input-group-inline input {
            flex: 1;
            min-width: 0;
        }

        /* ¿ìÆí¹øÈ£ ·¹ÀÌ¾Æ¿ô Àü¿ë Á¶Àý ½ºÅ¸ÀÏ */
        .zipcode-group {
            display: flex;
            align-items: center;
            gap: 8px;
            max-width: 420px;
            margin-bottom: 8px;
        }
        .btn-zipcode {
            height: 44px;
            padding: 0 16px;
            background-color: #495057;
            color: #ffffff;
            border: none;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;
            transition: background-color 0.2s;
        }
        .btn-zipcode:hover {
            background-color: #343a40;
        }

        .radio-flex-group {
            display: flex;
            flex-wrap: wrap;
            gap: 12px 20px;
            align-items: center;
            padding: 8px 0;
        }
        .radio-label {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 15px;
            font-weight: 500;
            color: #495057;
            cursor: pointer;
        }
        .radio-label input[type="radio"] {
            width: 16px;
            height: 16px;
            margin: 0;
            cursor: pointer;
        }

        .etc-amount-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-grow: 1;
            min-width: 200px;
        }

        .section-sub-title {
            font-size: 18px;
            font-weight: 700;
            color: #212529;
            margin: 40px 0 20px 0;
            padding-bottom: 8px;
            border-bottom: 2px solid #343a40;
            grid-column: 1 / -1;
        }

        .btn-wrapper.support-buttons {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-top: 40px;
        }
        .btn-support {
            padding: 16px 24px;
            font-size: 16px;
            font-weight: 700;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.2s ease-in-out;
            min-width: 140px;
        }
        .btn-support.submit {
            background-color: #3b5bdb;
            color: #fff;
            flex-grow: 2;
            max-width: 280px;
        }
        .btn-support.submit:hover { background-color: #2b4cb0; }
        
        .btn-support.secondary {
            background-color: #e9ecef;
            color: #495057;
        }
        .btn-support.secondary:hover { background-color: #dee2e6; color: #212529; }