/* ============================================================
   core.css — 밸류브릿지 공용 라이트 토대 (index/home 에디토리얼 기준)
   · 모든 고객 페이지가 공유하는 디자인 토큰 + 기본 chrome(로고·아이브로·카드·폼·버튼)
   · 페이지 고유 스타일은 각 페이지의 inline <style> 또는 page.css 에서 정의
   · 다크였던 기존 변수명을 그대로 유지하되 값만 라이트로 → 컴포넌트 재사용 극대화
   ============================================================ */
:root{
  /* ── 라이트 팔레트 (privacy.html · home 섹션2와 정합) ── */
  --bg:#FAF8F2;                 /* 페이퍼 배경 */
  --surface:#FFFFFF;            /* 카드 표면 */
  --ink:#1A1A1A;               /* 본문 텍스트 */
  --ink-head:#1F2A24;          /* 제목(딥그린 잉크) */
  --muted:#44423B;             /* 보조 텍스트 (진한 회색 — 가독성) */
  --text:#1A1A1A;              /* (레거시 별칭) */
  --text-sec:#44423B;          /* (레거시 별칭) */
  --text-soft:#3D4A42;
  --gold:#C9A84C;              /* 골드 악센트(면·선) */
  --gold-text:#287042;         /* 액센트 텍스트=초록(대표 결정) · 면/선 장식 골드는 --gold */
  --gold-soft:rgba(201,168,76,0.55);
  --gold-line:rgba(168,132,46,0.30);   /* 골드 헤어라인 */
  --green:#1E3A2B;             /* 딥그린 */
  --green-deep:#16301F;
  --deep-green:#1E3A2B;
  --card-bg:#FFFFFF;
  --card-border:rgba(168,132,46,0.30);
  --line:rgba(168,132,46,0.22);
  --err:#B0402F;              /* 라이트 배경용 접근성 레드 */
  --ok:#2E7D4F;              /* 라이트 배경용 접근성 그린 */
  --serif-kr:'Noto Serif KR','Cormorant Garamond',serif;
  --serif:'Cormorant Garamond','Noto Serif KR',serif;
  --sans-kr:'Noto Sans KR','Manrope',sans-serif;
  --sans:'Manrope','Noto Sans KR',sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans-kr);font-weight:400;
  word-break:keep-all;overflow-wrap:break-word;   /* 한글은 어절 단위 줄바꿈(가독성) */
  min-height:100vh;position:relative;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse 78% 44% at 50% -10%,rgba(30,58,43,0.06),transparent 60%),
    radial-gradient(circle at 50% 118%,rgba(201,168,76,0.06),transparent 55%);
}

/* 인증/계정 페이지 공통 — 화면 중앙 정렬 레이아웃 */
body.auth-page{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 18px;
}
body.auth-page::before{
  content:"";position:fixed;inset:14px;
  border:1px solid rgba(168,132,46,0.16);pointer-events:none;z-index:1;
}

/* ── 상단 로고 ── */
.home-logo{position:relative;z-index:20;margin:0 auto 4px;display:inline-block;
  opacity:.92;transition:opacity .3s var(--ease),transform .3s var(--ease);}
.home-logo img{height:34px;display:block;}
.home-logo:hover{opacity:1;transform:translateY(-1px);}
.home-logo:focus-visible{outline:1px solid var(--gold-soft);outline-offset:8px;}

/* ── 모서리 마크 ── */
.corner-mark{position:absolute;z-index:15;font-family:var(--sans);font-size:9.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--muted);}
.corner-mark.tr{top:30px;right:30px;}
.corner-mark .dot{color:var(--gold-text);}

/* ── 본문 래퍼 ── */
.wrap{width:100%;max-width:452px;position:relative;z-index:5;}

/* ── 아이브로 ── */
.eyebrow{text-align:center;font-family:var(--sans);font-size:11px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold-text);margin-bottom:14px;}
.eyebrow .rule{display:inline-block;width:30px;height:1px;background:var(--gold);
  vertical-align:middle;margin:0 12px;opacity:.7;}

/* ── 카드 ── */
.card{background:var(--surface);border:1px solid var(--card-border);border-radius:18px;
  padding:42px 34px 34px;box-shadow:0 22px 60px rgba(31,42,36,0.10),0 2px 8px rgba(31,42,36,0.05);
  position:relative;}
.card::before{content:"";position:absolute;top:0;left:34px;right:34px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:.6;}
.card h1{font-family:var(--serif-kr);font-size:25px;font-weight:500;letter-spacing:.01em;
  color:var(--ink-head);text-align:center;margin-bottom:8px;}
.card .desc{font-size:13.5px;color:var(--muted);text-align:center;margin-bottom:28px;line-height:1.7;}

/* ── 입력 필드 ── */
.field{margin-bottom:17px;}
.field label{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.field label .req{color:var(--gold-text);margin-left:4px;}
.field input,.field select{width:100%;padding:13px 15px;background:#FFFFFF;
  border:1px solid var(--gold-line);border-radius:10px;color:var(--ink);font-family:var(--sans-kr);
  font-size:16px;font-weight:400;outline:none;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);}
.field input::placeholder{color:#A8A498;}
.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,0.14);}
.field input:disabled{opacity:.55;cursor:not-allowed;background:#F3F0E8;}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237A5E14' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;}
.field select option{background:#FFFFFF;color:var(--ink);}
.field .lock{font-size:11px;color:var(--muted);margin-top:5px;}
.hint{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5;}

/* ── 동의 체크 ── */
.agree{display:flex;gap:10px;align-items:flex-start;margin:4px 0 8px;}
.agree input{width:17px;height:17px;margin-top:2px;accent-color:var(--green);flex-shrink:0;}
.agree label{font-size:12.5px;color:var(--muted);line-height:1.55;}
.agree label a{color:var(--gold-text);text-decoration:underline;text-underline-offset:2px;}

/* ── 기본 버튼 (딥그린 프라이머리) ── */
.btn{width:100%;padding:15px;margin-top:12px;background:var(--green);color:#F5F2E6;border:none;
  border-radius:99px;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),opacity .25s,background .25s;
  box-shadow:0 10px 26px rgba(30,58,43,0.20);}
.btn:hover{transform:translateY(-1px);background:var(--green-deep);box-shadow:0 14px 34px rgba(30,58,43,0.28);}
.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none;}
.btn.ghost{background:none;border:1px solid var(--gold-line);color:var(--muted);box-shadow:none;}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold-text);background:rgba(201,168,76,0.06);transform:none;box-shadow:none;}

/* ── 메시지 ── */
.msg{margin-top:18px;font-size:13px;text-align:center;line-height:1.6;display:none;}
.msg.show{display:block;} .msg.error{color:var(--err);} .msg.ok{color:var(--gold-text);}

/* ── 푸터 링크 ── */
.foot{text-align:center;margin-top:24px;font-size:13px;color:var(--muted);}
.foot a{color:var(--gold-text);text-decoration:none;font-weight:500;}
.foot a:hover{text-decoration:underline;}

/* ── 구분선 ── */
.divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted);
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--gold-line);}

/* ── 소셜 로그인 버튼 (브랜드 컬러 유지) ── */
.social-btn{width:100%;padding:13px;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px;
  background:#FFFFFF;color:#1F1F1F;border:1px solid rgba(31,42,36,0.14);border-radius:99px;
  font-family:var(--sans-kr);font-size:14px;font-weight:500;cursor:pointer;
  transition:box-shadow .2s var(--ease),transform .2s var(--ease);}
.social-btn:hover{box-shadow:0 6px 18px rgba(31,42,36,0.12);transform:translateY(-1px);}
.social-btn svg{width:18px;height:18px;flex-shrink:0;}
.social-btn.kakao{background:#FEE500;color:#191600;border-color:rgba(25,22,0,0.10);}

@media(max-width:480px){
  body.auth-page{padding:44px 14px;}
  .home-logo img{height:30px;} .corner-mark.tr{right:20px;top:26px;font-size:8.5px;}
  .card{padding:34px 24px 30px;} .card h1{font-size:23px;}
}
