/* 보들허브 공통 스타일 */
:root{
  --bg:#FAF8F5; --surface:#FFFFFF; --line:#ECE6DF; --line-2:#F3EEE8;
  --text:#2B1D12; --text-2:#6E6259; --text-3:#A0958C;
  --brown:#4B2B14; --orange:#F07A22; --orange-soft:#FEF2E8;
  --accent:#4B2B14; --accent-hover:#3A200E; --accent-soft:#F5EEE8; --accent-ink:#4B2B14;
  --warn-bg:#FFF6EC; --warn-line:#F5C79E; --warn-text:#8A4A12;
  --ok-bg:#EEF6EF; --ok-text:#2E6B3E; --err-bg:#FCEDEA; --err-line:#EDB8AE; --err-text:#B03A2A;
  --info-bg:#F3EFEA; --info-text:#5A4434;
  --radius:12px;
  --sans:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --logo:'Nunito', 'Pretendard Variable', sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); font-size:15px; line-height:1.55; word-break:keep-all;}
a{color:var(--accent);}
h1,h2,h3{margin:0; line-height:1.3;}
.hidden{display:none !important;}

/* 브랜드 */
.brand{display:flex; align-items:center; gap:10px;}
.logo{font-family:var(--logo); font-weight:800; font-size:26px; letter-spacing:-.01em; color:var(--brown); line-height:1; text-decoration:none;}
.logo b{color:var(--orange); font-weight:800;}
.logo.sm{font-size:21px;}
.brand-sub{font-size:12px; color:var(--text-3); font-weight:600; margin-left:2px;}

/* 폼 */
label.lb{display:block; font-size:13px; font-weight:600; color:var(--text-2); margin:0 0 6px;}
.req{color:var(--orange); margin-left:2px;}
input[type=text], input[type=tel], input[type=password], input[type=search], select, textarea{
  width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:10px; font:inherit; font-size:16px; background:#fff; color:var(--text);
  -webkit-appearance:none; appearance:none;
}
select{background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%); background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:34px;}
input:focus, select:focus, textarea:focus{outline:2px solid var(--orange); outline-offset:0; border-color:var(--orange);}
input:disabled, select:disabled{background:#F1F0EB; color:var(--text-3);}
.field{margin-bottom:16px;}
.help{font-size:12.5px; color:var(--text-3); margin-top:6px;}
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:64px;}
.pw-toggle{position:absolute; right:6px; top:50%; transform:translateY(-50%); padding:6px 10px; font-size:12px; font-weight:700; background:var(--accent-soft); color:var(--accent); border:none; border-radius:7px; cursor:pointer;}

/* 버튼 */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; font:inherit; font-weight:700; font-size:15px; border-radius:10px; border:1px solid transparent; padding:12px 18px; cursor:pointer; text-decoration:none; transition:background .15s, border-color .15s;}
.btn.block{display:flex; width:100%;}
.btn.primary{background:var(--accent); color:#fff;}
.btn.primary:hover{background:var(--accent-hover);}
.btn.soft{background:var(--accent-soft); color:var(--accent);}
.btn.line{background:#fff; border-color:var(--line); color:var(--text);}
.btn.line:hover{border-color:#CFCBBF;}
.btn.danger{background:var(--err-bg); color:var(--err-text);}
.btn.sm{padding:7px 12px; font-size:13px; border-radius:8px;}
.btn:disabled{background:#E6E4DE !important; color:#A3A69F !important; border-color:transparent !important; cursor:not-allowed;}
.linkbtn{background:none; border:none; color:var(--accent); font:inherit; font-weight:700; cursor:pointer; padding:4px; text-decoration:underline; text-underline-offset:3px;}

/* 알림 */
.note{border-radius:10px; padding:11px 14px; font-size:13.5px; margin:0 0 14px; border:1px solid transparent;}
.note.err{background:var(--err-bg); border-color:var(--err-line); color:var(--err-text);}
.note.ok{background:var(--ok-bg); color:var(--ok-text);}
.note.warn{background:var(--warn-bg); border-color:var(--warn-line); color:var(--warn-text);}
.note.info{background:var(--info-bg); color:var(--info-text);}
.note:empty{display:none;}

.pill{display:inline-block; font-size:11.5px; font-weight:700; padding:2px 9px; border-radius:999px; white-space:nowrap; background:#EEEDE8; color:var(--text-2);}
.pill.green{background:var(--ok-bg); color:var(--ok-text);}
.pill.amber{background:var(--warn-bg); color:var(--warn-text);}
.pill.red{background:var(--err-bg); color:var(--err-text);}
.pill.blue{background:var(--info-bg); color:var(--info-text);}
.pill.ink{background:var(--brown); color:#fff;}
.pill.orange{background:var(--orange-soft); color:#B4530E;}
