/* [2026-05-19] dc_auth.css — 로그인·회원가입·마이페이지 폼 공통 */

.mydb-auth{
  max-width:480px;margin:0 auto;
  padding:clamp(24px,5vw,48px) clamp(16px,3vw,32px) clamp(48px,7vw,80px);
}
.mydb-auth__title{
  font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.02em;
  margin:0 0 8px;
}
.mydb-auth__sub{color:var(--mydb-text-mute);margin:0 0 28px;font-size:14px}

.mydb-form{display:flex;flex-direction:column;gap:14px}
.mydb-form__field{display:flex;flex-direction:column;gap:6px}
.mydb-form__label{font-size:13px;font-weight:600;color:var(--mydb-text)}
.mydb-form__label .req{color:var(--mydb-accent);margin-left:2px}
.mydb-form__hint{font-size:12px;color:var(--mydb-text-mute);line-height:1.5}
.mydb-form__error{font-size:12px;color:#DC2626;line-height:1.5}

.mydb-input{
  width:100%;min-height:44px;
  padding:10px 14px;
  border:1px solid var(--mydb-border);border-radius:10px;
  background:var(--mydb-bg);color:var(--mydb-text);
  font-size:15px;
  transition:border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance:none;appearance:none;
}
.mydb-input:focus{outline:none;border-color:var(--mydb-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.mydb-input::placeholder{color:#94A3B8}
.mydb-input[disabled]{background:var(--mydb-bg-soft);color:var(--mydb-text-mute);cursor:not-allowed}

/* [2026-06-05] 체크박스 행 — 카드형 + 선택 시 강조 (전 메뉴 공통) */
.mydb-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;cursor:pointer;
  padding:10px 12px;border:1px solid var(--mydb-border);border-radius:9px;background:#fff;
  transition:border-color .12s,background .12s;margin-bottom:6px}
.mydb-check:hover{border-color:var(--mydb-primary);background:#F8FAFC}
.mydb-check:has(input:checked){border-color:var(--mydb-primary);background:#EFF6FF}
.mydb-check input[type=checkbox]{margin-top:1px;width:18px;height:18px;accent-color:var(--mydb-primary);flex:none;cursor:pointer}
.mydb-check__text{color:var(--mydb-text);font-weight:500}
.mydb-check__sub{color:var(--mydb-text-mute);font-size:12px;display:block;margin-top:2px}
/* [2026-06-05] 컴팩트 변형 — 로그인 상태유지 등. 카드 테두리 제거 + 작게 */
.mydb-check--sm{padding:2px 0;gap:7px;font-size:12px;border:0;background:transparent;margin-bottom:2px}
.mydb-check--sm:hover{border:0;background:transparent}
.mydb-check--sm:has(input:checked){border:0;background:transparent}
.mydb-check--sm .mydb-check__text{font-weight:500;font-size:12px;color:var(--mydb-text-mute)}
.mydb-check--sm input[type=checkbox]{width:14px;height:14px}

.mydb-alert{
  padding:12px 16px;border-radius:10px;
  font-size:14px;line-height:1.5;
  margin-bottom:16px;
}
.mydb-alert--error  {background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5}
.mydb-alert--success{background:#DCFCE7;color:#166534;border:1px solid #86EFAC}
.mydb-alert--info   {background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE}

/* [2026-05-20 14:00] dc_core.css 의 .mydb-scope button{background:transparent;padding:0} 보다
   specificity 가 낮아 버튼이 보이지 않던 문제 — .mydb-scope 스코프로 격상 */
.mydb-scope .mydb-form__submit{
  width:100%;min-height:48px;padding:12px 16px;
  background:var(--mydb-primary);color:#fff;font-weight:700;font-size:15px;
  border:0;border-radius:10px;
  margin-top:4px;
  cursor:pointer;
  transition:background-color .15s ease;
}
.mydb-scope .mydb-form__submit:hover{background:var(--mydb-primary-dark)}
.mydb-scope .mydb-form__submit:disabled{background:#94A3B8;cursor:not-allowed}

.mydb-divider{
  display:flex;align-items:center;gap:12px;
  color:var(--mydb-text-mute);font-size:12px;
  margin:20px 0;
}
.mydb-divider::before,.mydb-divider::after{
  content:"";flex:1;height:1px;background:var(--mydb-border);
}

.mydb-sns{display:flex;flex-direction:column;gap:8px}
.mydb-sns__btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;border-radius:10px;font-weight:600;font-size:14px;
  border:1px solid var(--mydb-border);
  transition:filter .15s ease;
}
.mydb-sns__btn:hover{filter:brightness(.95)}
.mydb-sns__btn--kakao{background:#FEE500;color:#000;border-color:#FEE500}
.mydb-sns__btn--naver{background:#03C75A;color:#fff;border-color:#03C75A}
.mydb-sns__btn--disabled{background:var(--mydb-bg-soft);color:var(--mydb-text-mute);cursor:not-allowed}
.mydb-sns__icon{font-weight:900;font-size:16px}

.mydb-auth__foot{
  margin-top:24px;text-align:center;font-size:14px;color:var(--mydb-text-mute);
}
.mydb-auth__foot a{color:var(--mydb-primary);font-weight:600}
.mydb-auth__foot a:hover{text-decoration:underline}

/* ===== 마이페이지 ===== */
/* [2026-06-23] 마이페이지 가로 확대 + 박스 디자인 개선(그림자·라운드·여백) */
.mydb-my{max-width:1080px;margin:0 auto;padding:clamp(24px,4vw,44px) clamp(16px,3vw,32px)}
.mydb-my__section{
  border:1px solid var(--mydb-border);border-radius:16px;
  padding:clamp(22px,3vw,34px);background:#fff;
  margin-bottom:20px;box-shadow:0 1px 3px rgba(15,23,42,.04),0 10px 28px -18px rgba(15,23,42,.16);
}
.mydb-my__section h2{
  font-size:19px;font-weight:800;margin:0 0 4px;letter-spacing:-.01em;
}
.mydb-my__section p.mydb-my__hint{
  font-size:13px;color:var(--mydb-text-mute);margin:0 0 22px;line-height:1.6;
}
.mydb-my__section--stub{
  background:var(--mydb-bg-soft);text-align:center;color:var(--mydb-text-mute);
}
.mydb-my__section--stub h2{color:var(--mydb-text)}

/* [2026-06-02] 마이페이지 — 이용권/포인트 카드 + 회원탈퇴 섹션 */
.mydb-my__cards{
  display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  margin-top:6px;
}
.mydb-my__card{
  display:flex;flex-direction:column;gap:5px;
  padding:18px 20px;border:1px solid var(--mydb-border);border-radius:14px;background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);transition:box-shadow .15s,transform .15s,border-color .15s;
}
.mydb-my__card:hover{box-shadow:0 8px 22px -10px rgba(15,23,42,.20);transform:translateY(-1px);border-color:#CBD5E1}
.mydb-my__card--cta{align-items:flex-start;justify-content:center;background:var(--mydb-bg-soft)}
.mydb-my__card-k{font-size:12.5px;color:#64748B;font-weight:600}
.mydb-my__card-v{font-size:22px;font-weight:800;color:#0F172A;letter-spacing:-.01em}
.mydb-my__card-sub{font-size:11.5px;color:#94A3B8}
.mydb-my__section--danger{border:1px solid #FECACA;background:#FEF2F2}
.mydb-my__withdraw summary{display:inline-flex;cursor:pointer;list-style:none}
.mydb-my__withdraw summary::-webkit-details-marker{display:none}

/* [2026-06-05 16:30] 마이페이지 — 로그인 아이디(계정) 카드 */
.mydb-acct{
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;border:1px solid var(--mydb-border);border-radius:14px;
  background:linear-gradient(135deg,#F8FAFF 0%,#EFF4FF 100%);
}
.mydb-acct__avatar{
  flex:none;width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;
  background:linear-gradient(135deg,#3B82F6,#2563EB);
  box-shadow:0 4px 10px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.25);
}
.mydb-acct__avatar--kakao{background:linear-gradient(135deg,#FEE500,#F6C700);color:#3C1E1E;box-shadow:0 4px 10px rgba(246,199,0,.30)}
.mydb-acct__avatar--naver{background:linear-gradient(135deg,#03C75A,#02A94B);box-shadow:0 4px 10px rgba(3,199,90,.30)}
.mydb-acct__avatar--google{background:linear-gradient(135deg,#EA4335,#D33426);box-shadow:0 4px 10px rgba(234,67,53,.28)}
.mydb-acct__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mydb-acct__label{font-size:11.5px;font-weight:700;color:#64748B;text-transform:uppercase;letter-spacing:.04em}
.mydb-acct__id{
  font-size:clamp(15px,2.4vw,18px);font-weight:800;color:#0F172A;letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mydb-acct__badge{
  flex:none;align-self:flex-start;
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 11px;border-radius:999px;
  font-size:12px;font-weight:700;line-height:1;
  background:#fff;color:#2563EB;border:1px solid #BFDBFE;
}
.mydb-acct__badge--kakao{background:#FEF9C3;color:#7C5E00;border-color:#FDE68A}
.mydb-acct__badge--naver{background:#DCFCE7;color:#166534;border-color:#86EFAC}
.mydb-acct__badge--google{background:#FEE2E2;color:#B91C1C;border-color:#FECACA}
@media (max-width:480px){
  .mydb-acct{flex-wrap:wrap}
  .mydb-acct__badge{order:3;margin-left:62px}
}

/* [2026-06-02] 인라인 체크박스 라벨 (기본정보 등) — [2026-06-05] 카드형 통일 */
.mydb-form__check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#0F172A;font-weight:500;
  padding:10px 12px;border:1px solid var(--mydb-border);border-radius:9px;background:#fff;transition:border-color .12s,background .12s}
.mydb-form__check:hover{border-color:var(--mydb-primary);background:#F8FAFC}
.mydb-form__check:has(input:checked){border-color:var(--mydb-primary);background:#EFF6FF}
.mydb-form__check input[type=checkbox]{width:18px;height:18px;accent-color:#2563EB;flex:none;cursor:pointer}
.mydb-form__row{align-items:flex-start}
