/* ══════════════════════════════════════════════════════
   공통 상담 신청 섹션 — consult-common.css
   여러 페이지에서 include하여 사용
   ══════════════════════════════════════════════════════ */

.consult-common{
    background:#f5f5f5;
    padding:72px 0 56px;
}
.consult-common__container{
    width:min(1100px, calc(100% - 40px));
    margin:0 auto;
}

/* ── 헤더 ── */
.consult-common__head{
    text-align:center;
    margin-bottom:36px;
}
.consult-common__title{
    margin:0 0 10px;
    font-size:30px;
    font-weight:800;
    letter-spacing:-.5px;
    color:#0f172a;
}
.consult-common__accent{
    color:#003384;
}
.consult-common__desc{
    margin:0;
    color:#64748b;
    line-height:1.75;
    font-size:16px;
}

/* ── 그리드: 폼 + 안내 ── */
.consult-common__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    align-items:start;
}
.consult-common__form-card{order:1}
.consult-common__info{order:2}

/* ── 안내 박스 ── */
.consult-common__info{
    border-radius:18px;
    border:1px solid rgba(15,23,42,.12);
    background:rgba(255,255,255,.90);
    box-shadow:0 12px 30px rgba(2,6,23,.06);
    padding:24px;
}
.consult-common__info-title{
    margin:0 0 10px;
    font-size:20px;
    font-weight:800;
    letter-spacing:-.4px;
    color:#0f172a;
}
.consult-common__info-desc{
    margin:0;
    color:#64748b;
    line-height:1.75;
    font-size:15px;
}
.consult-common__info-list{
    margin:16px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:10px;
    color:#0f172a;
    font-size:15px;
}
.consult-common__info-list li{
    display:flex;
    gap:12px;
}
.consult-common__info-list b{
    min-width:80px;
    font-weight:700;
}

/* ── 폼 카드 ── */
.consult-common__form-card{
    border-radius:18px;
    border:1px solid rgba(15,23,42,.12);
    background:rgba(255,255,255,.92);
    box-shadow:0 12px 30px rgba(2,6,23,.06);
    padding:24px;
}
.consult-common__form{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

/* ── 필드 레이아웃 ── */
.consult-common__field-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.consult-common__form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.consult-common__field{}
.consult-common__label{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:7px;
}

/* ── 입력 ── */
.consult-common__input{
    width:100%;
    padding:13px 14px;
    border-radius:12px;
    border:1px solid rgba(15,23,42,.14);
    background:#fff;
    color:#0f172a;
    font-size:15px;
    outline:none;
    box-sizing:border-box;
    transition:border-color .15s, box-shadow .15s;
    -webkit-appearance:none;
    appearance:none;
}
.consult-common__input:focus{
    border-color:rgba(0,51,132,.42);
    box-shadow:0 0 0 4px rgba(74,126,199,.18);
}
.consult-common__input::placeholder{color:#bbb}
.consult-common__textarea{
    min-height:120px;
    resize:vertical;
    font-family:inherit;
    line-height:1.55;
}

/* ── 힌트/메타 ── */
.consult-common__hint{
    color:#64748b;
    font-size:13px;
    line-height:1.45;
    font-weight:700;
    margin-top:4px;
}
.consult-common__field-meta{
    display:flex;
    justify-content:flex-end;
}

/* ── 개인정보 동의 ── */
.consult-common__consent-details{
    border-radius:16px;
    border:1px solid rgba(15,23,42,.12);
    background:#f8fafc;
    padding:14px;
}
.consult-common__consent-summary{
    cursor:pointer;
    font-weight:800;
    color:rgba(15,23,42,.84);
    font-size:14px;
    line-height:1.4;
}
.consult-common__consent-body{
    margin-top:10px;
    display:grid;
    gap:6px;
}
.consult-common__consent-title{
    font-weight:800;
    font-size:14px;
    letter-spacing:-.2px;
}
.consult-common__consent-text{
    color:rgba(15,23,42,.74);
    font-size:13px;
    line-height:1.6;
    font-weight:600;
}

/* ── 체크 + 버튼 ── */
.consult-common__check{
    display:flex;
    align-items:flex-start;
    gap:8px;
    cursor:pointer;
    font-size:14px;
    font-weight:700;
    color:#0f172a;
    line-height:1.5;
    margin-top:2px;
}
.consult-common__check input[type="checkbox"]{
    width:18px;height:18px;
    margin-top:2px;
    accent-color:#003384;
    flex-shrink:0;
    cursor:pointer;
}
.consult-common__submit{
    display:block;
    width:100%;
    height:52px;
    border:none;
    border-radius:12px;
    background:linear-gradient(135deg, #4a7ec7, #003384);
    color:#fff;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
    transition:filter .15s, transform .1s;
}
.consult-common__submit:hover{filter:brightness(1.05)}
.consult-common__submit:active{transform:scale(.98)}
.consult-common__submit:disabled{
    opacity:.5;
    cursor:not-allowed;
}

/* ══════════════════════════════════════════════════════
   컴팩트 모드 — 1열 레이아웃, 좁은 폼
   ══════════════════════════════════════════════════════ */
.consult-common--compact .consult-common__container{
    width:min(560px, calc(100% - 40px));
}
.consult-common--compact .consult-common__form-card{
    padding:28px 24px;
}
.consult-common--compact .consult-common__form{
    gap:28px;
}
.consult-common--compact .consult-common__field-row,
.consult-common--compact .consult-common__form-row{
    grid-template-columns:1fr;
    gap:28px;
}

/* ── 반응형 ── */
@media(max-width:768px){
    .consult-common{padding:56px 0 44px}
    .consult-common__title{font-size:24px}
    .consult-common__desc{font-size:15px}
    .consult-common__field-row{grid-template-columns:1fr}
    .consult-common__form-row{grid-template-columns:1fr}
    .consult-common__form-card{padding:20px}
    .consult-common__info{padding:20px}
}
@media(max-width:480px){
    .consult-common__title{font-size:22px}
    .consult-common__input{font-size:14px;padding:12px 13px}
    .consult-common__submit{height:48px;font-size:16px}
}
