/* pages/contact.php 전용 스타일. 공용 컴포넌트는 css/gpc-theme.css 참고. */

.co-wrap { max-width: var(--wrap); margin: 0 auto; padding: clamp(44px,6vw,72px) clamp(20px,6vw,64px) clamp(64px,9vw,100px); display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(32px,5vw,60px); align-items: start; }
@media (max-width: 860px) { .co-wrap { grid-template-columns: 1fr; } }

.co-form { display: flex; flex-direction: column; gap: 20px; }
.co-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 560px) { .co-row { grid-template-columns: 1fr; } }
.co-field label { display: block; font-size: 14px; font-weight: 600; color: #2b3550; margin-bottom: 8px; }
.co-field .req { color: #c0392b; }
.co-input, .co-select, .co-textarea { width: 100%; padding: 14px 15px; border: 1px solid var(--border); border-radius: 9px; font-size: 15px; font-family: inherit; color: var(--text); background: #fff; outline: none; transition: border-color .15s, box-shadow .15s; }
.co-input:focus, .co-select:focus, .co-textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(34,72,184,.12); }
.co-select { cursor: pointer; } .co-textarea { resize: vertical; line-height: 1.6; }
.co-err { margin-top: 7px; font-size: 13px; color: #c0392b; }
.co-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.co-agree { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.co-agree input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--blue); cursor: pointer; }
.co-agree span { font-size: 14px; line-height: 1.6; color: var(--muted); }
.co-agree a { color: var(--blue); text-decoration: underline; }
.co-submit { margin-top: 4px; }

.co-side { display: flex; flex-direction: column; gap: 16px; }
.co-card { border: 1px solid var(--border); border-radius: 16px; padding: 28px 26px; background: #fff; }
.co-card h3 { margin: 0 0 20px; font-size: 16px; font-weight: 700; color: var(--navy); }
.co-ci { display: flex; flex-direction: column; gap: 18px; }
.co-ci__k { font-size: 12px; letter-spacing: .1em; font-weight: 600; color: #9aa6bd; }
.co-ci__v { margin-top: 5px; font-size: 15.5px; font-weight: 600; color: var(--navy); line-height: 1.5; }
.co-ci__v a { color: var(--navy); }
.co-note { background: var(--navy); color: #dfe4ee; border-radius: 16px; padding: 26px; font-size: 14px; line-height: 1.7; }
.co-note b { color: #fff; font-family: var(--serif); font-size: 16px; }

.co-ok { border: 1px solid #cdd9ec; background: var(--bg-soft); border-radius: 18px; padding: clamp(40px,6vw,60px) 40px; text-align: center; }
.co-ok__i { width: 62px; height: 62px; margin: 0 auto; border-radius: 50%; background: var(--blue); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; }
.co-ok h2 { margin: 22px 0 0; font-family: var(--serif); font-weight: 600; font-size: 27px; color: var(--navy); }
.co-ok p { margin: 14px 0 0; font-size: 15.5px; line-height: 1.7; color: var(--muted); }


/* ── reCAPTCHA v3 배지 겹침 회피 ──────────────────────────────────
   구글 배지는 우측 하단(right:0; bottom:14px)에 고정되고 평소엔 로고만
   노출되는데, 공용 "맨 위로" 버튼이 같은 자리를 덮어 배지가 가려진다.
   배지가 뜨는 이 페이지에서만 버튼을 배지 위쪽으로 올린다. */
.gpc-totop { bottom: calc(clamp(16px, 3vw, 32px) + 62px); }
