/* ── 폼 래퍼 ── */
.ipf-wrap{width:100%;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif}
.ipf-title{margin:0 0 20px;font-size:26px;font-weight:900;letter-spacing:-1px;color:#111;line-height:1.2}

/* ── 알림 ── */
.ipf-alert{margin-bottom:16px;padding:15px 18px;border-radius:14px;font-weight:800;font-size:14px;line-height:1.5}
.ipf-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.ipf-error{background:#fff0f1;border:1px solid #ffc4c9;color:#b6000e}

/* ── 그리드 ── */
.ipf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ipf-field{display:grid;gap:8px}
.ipf-field.ipf-full{grid-column:1/-1}

/* ── 라벨 ── */
.ipf-field label{font-size:14px;font-weight:900;color:#374151;line-height:1}
.ipf-req{color:#e60012}

/* ── 입력 필드 ── */
.ipf-field input,
.ipf-field textarea{
    width:100%;
    border:1.5px solid #e5e7eb;
    border-radius:14px;
    padding:15px 16px;
    background:#fff;
    color:#111;
    outline:none;
    font-size:16px; /* 16px 이상 = iOS 자동 확대 방지 */
    font-family:inherit;
    -webkit-appearance:none;
    appearance:none;
    transition:border-color .15s, box-shadow .15s;
}
.ipf-field textarea{min-height:120px;resize:vertical}
.ipf-field input:focus,
.ipf-field textarea:focus{
    border-color:#e60012;
    box-shadow:0 0 0 4px rgba(230,0,18,.10);
}

/* ── 개인정보 동의 ── */
.ipf-privacy{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:16px;
    padding:14px 16px;
    border:1.5px solid #e5e7eb;
    border-radius:14px;
    background:#f9fafb;
}
.ipf-check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:#374151;flex:1;min-width:0}
.ipf-check label{cursor:pointer;word-break:keep-all}
.ipf-check input[type="checkbox"]{
    width:20px;height:20px;
    accent-color:#e60012;
    margin:0;flex-shrink:0;cursor:pointer;
}
.ipf-policy-link{
    flex-shrink:0;
    color:#e60012;
    font-size:13px;
    font-weight:950;
    text-decoration:underline;
    text-underline-offset:3px;
    white-space:nowrap;
}

/* ── 제출 버튼 ── */
.ipf-submit{
    width:100%;
    min-height:58px;
    margin-top:16px;
    border:0;
    border-radius:16px;
    background:#e60012;
    color:#fff;
    font-weight:950;
    font-size:17px;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(230,0,18,.22);
    display:block;
    font-family:inherit;
    transition:background .18s, transform .1s;
    -webkit-tap-highlight-color:transparent;
}
.ipf-submit:active{transform:scale(.98);background:#c9000f}
.ipf-submit:hover{background:#c9000f}
.ipf-submit:disabled{opacity:.55;cursor:not-allowed}

/* ── 모바일 ── */
@media(max-width:640px){
    .ipf-title{font-size:22px}
    .ipf-grid{grid-template-columns:1fr}           /* 1열로 */
    .ipf-field.ipf-full{grid-column:1}
    .ipf-privacy{flex-direction:row;flex-wrap:wrap;gap:10px}
    .ipf-submit{min-height:54px;font-size:16px;border-radius:14px}
}
