@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');

*{box-sizing:border-box}

.pcf-wrap{
    font-family:'Noto Sans KR',sans-serif;
    max-width:1450px;
    margin:0 auto;
    padding:0;
}

/* 폼 타이틀 */
.pcf-form-title{
    font-size:22px;
    font-weight:700;
    color:#111;
    padding-bottom:14px;
    border-bottom:2.5px solid #111;
    margin-bottom:28px;
    letter-spacing:-0.02em;
}
.pcf-form-title span{
    font-size:13px;
    font-weight:400;
    color:#999;
    margin-left:12px;
    letter-spacing:0;
}

/* 안내문 박스 (구매신청용) */
.pcf-notice-info{
    border:1.5px solid #111;
    border-radius:8px;
    padding:16px 22px;
    margin-bottom:22px;
    background:#fff;
}
.pcf-notice-info p{
    font-size:13.5px;
    color:#222;
    line-height:1.85;
    margin:0;
}
.pcf-notice-info p+p{
    margin-top:4px;
    color:#777;
}

/* 개인정보 스크롤 박스 */
.pcf-privacy-box{
    border:1px solid #ccc;
    border-radius:6px;
    height:148px;
    overflow-y:auto;
    padding:14px 18px;
    font-size:12px;
    line-height:1.95;
    color:#777;
    margin-bottom:12px;
    background:#fafafa;
    scrollbar-width:thin;
    scrollbar-color:#ccc transparent;
}
.pcf-privacy-box::-webkit-scrollbar{width:3px}
.pcf-privacy-box::-webkit-scrollbar-thumb{background:#ccc;border-radius:99px}

/* 동의 체크 */
.pcf-agree-row{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:28px;
    cursor:pointer;
    user-select:none;
}
.pcf-agree-row span{
    font-size:13px;
    font-weight:600;
    color:#111;
}
.pcf-agree-row input[type="checkbox"]{
    -webkit-appearance:none;
    appearance:none;
    width:18px;
    height:18px;
    border:2px solid #bbb;
    border-radius:3px;
    flex-shrink:0;
    position:relative;
    cursor:pointer;
    transition:all .15s;
    background:#fff;
}
.pcf-agree-row input[type="checkbox"]:checked{
    background:#111;
    border-color:#111;
}
.pcf-agree-row input[type="checkbox"]:checked::after{
    content:'';
    position:absolute;
    left:4px;top:1px;
    width:5px;height:9px;
    border:2px solid #fff;
    border-top:none;border-left:none;
    transform:rotate(45deg);
}

/* 테이블형 폼 */
.pcf-ftable{
    width:100%;
    border-collapse:collapse;
    border-top:2px solid #111;
    margin-bottom:28px;
}
.pcf-ftable tr{
    border-bottom:1px solid #e0e0e0;
}
.pcf-ftable th{
    width:200px;
    background:#f7f7f7;
    padding:18px 24px;
    font-size:13.5px;
    font-weight:600;
    color:#333;
    text-align:left;
    vertical-align:middle;
    white-space:nowrap;
    border-right:1px solid #e0e0e0;
    line-height:1.4;
}
.pcf-ftable th .req{
    color:#111;
    font-weight:700;
    margin-left:2px;
}
.pcf-ftable td{
    padding:12px 20px;
    vertical-align:middle;
    background:#fff;
}
.pcf-ftable input[type="text"],
.pcf-ftable input[type="tel"],
.pcf-ftable select,
.pcf-ftable textarea{
    width:100%;
    border:1.5px solid #ddd;
    border-radius:6px;
    padding:11px 14px;
    font-family:'Noto Sans KR',sans-serif;
    font-size:14px;
    color:#111;
    background:#fff;
    outline:none;
    transition:border-color .15s;
    -webkit-appearance:none;
    appearance:none;
}
.pcf-ftable input::placeholder,
.pcf-ftable textarea::placeholder{
    color:#ccc;
    font-size:13px;
}
.pcf-ftable input:focus,
.pcf-ftable select:focus,
.pcf-ftable textarea:focus{
    border-color:#111;
}
.pcf-ftable select{
    cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23999' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:38px;
}
.pcf-ftable textarea{
    resize:vertical;
    min-height:150px;
    line-height:1.75;
}

/* 버튼 */
.pcf-submit-row{
    display:flex;
    justify-content:center;
    margin-top:4px;
}
.pcf-btn{
    height:52px;
    padding:0 60px;
    border-radius:6px;
    font-size:15px;
    font-weight:700;
    font-family:'Noto Sans KR',sans-serif;
    letter-spacing:0.04em;
    cursor:pointer;
    transition:all .18s;
    min-width:200px;
    border:2px solid #111;
}
.pcf-btn:not(:disabled){
    background:#111;
    color:#fff;
}
.pcf-btn:not(:disabled):hover{
    background:#fff;
    color:#111;
}
.pcf-btn:disabled,
.pcf-btn.pcf-btn--disabled{
    background:#f2f2f2;
    color:#ccc;
    border-color:#e0e0e0;
    cursor:not-allowed;
}

/* 알림 */
.pcf-notice{
    padding:14px 20px;
    border-radius:6px;
    font-size:14px;
    font-weight:500;
    margin-bottom:20px;
}
.pcf-notice--success{
    background:#f0faf4;
    border:1.5px solid #7ecfa0;
    color:#1d7a45;
}
.pcf-notice--error{
    background:#fff5f5;
    border:1.5px solid #f4a0a0;
    color:#c00;
}

/* 반응형 */
@media (max-width:768px){
    .pcf-ftable th{
        width:120px;
        padding:14px 14px;
        font-size:12.5px;
    }
    .pcf-ftable td{padding:10px 12px}
    .pcf-btn{width:100%;min-width:unset;padding:0}
}
@media (max-width:480px){
    .pcf-ftable,
    .pcf-ftable tbody,
    .pcf-ftable tr,
    .pcf-ftable th,
    .pcf-ftable td{display:block;width:100%}
    .pcf-ftable th{
        border-right:none;
        border-bottom:none;
        padding:14px 14px 6px;
    }
    .pcf-ftable td{padding:6px 14px 14px}
    .pcf-ftable tr{border-bottom:1px solid #e0e0e0}
}
