@charset "utf-8";
/* =========================================================
   PLAY BADUK 테마 - 디자인 토큰 & 공통(헤더/푸터) 스타일
   Figma: 플레이 바둑 홈페이지
   ========================================================= */

/* ===== Figma 디스플레이 폰트 (Pretendard는 CDN-head.php에서 로드) ===== */
@font-face{ font-family:"Jalnan2"; font-weight:400; font-style:normal; font-display:swap;
  src:url("../fonts/Jalnan.woff2") format("woff2"); }
@font-face{ font-family:"GmarketSans"; font-weight:700; font-style:normal; font-display:swap;
  src:url("../fonts/GmarketSans-Bold.woff2") format("woff2"); }
@font-face{ font-family:"IBMPlexSansKR"; font-weight:400; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSansKR-Regular.woff2") format("woff2"); }
@font-face{ font-family:"IBMPlexSansKR"; font-weight:500; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSansKR-Medium.woff2") format("woff2"); }
@font-face{ font-family:"IBMPlexSansKR"; font-weight:700; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSansKR-Bold.woff2") format("woff2"); }
@font-face{ font-family:"GothicA1"; font-weight:800; font-style:normal; font-display:swap;
  src:url("../fonts/GothicA1-ExtraBold.woff2") format("woff2"); }

/* 박스사이징 리셋: padding/border 포함 폭 계산(모바일 가로 넘침 방지) */
.pb-header *, .pb-header,
#pb-content *, #pb-content,
.pb-footer *, .pb-footer{ box-sizing:border-box; }

:root{
  /* Brand */
  --pb-primary:        #2D72E2;   /* 메인 블루 (버튼/링크) */
  --pb-primary-dark:   #1F5FCB;   /* hover */
  --pb-primary-soft:   #EAF1FD;   /* 옅은 블루 배경 */
  --pb-navy:           #011A59;   /* 제목/강조 다크 네이비 */
  --pb-yellow:         #FFB000;   /* 별점/포인트 옐로우 */
  --pb-red:            #FF5A5A;
  --pb-green:          #22C55E;

  /* Text */
  --pb-text:           #333333;
  --pb-text-sub:       #6B7280;
  --pb-text-mute:      #9AA0A6;

  /* Surface */
  --pb-bg:             #FFFFFF;
  --pb-bg-cream:       #FFF7EC;   /* 히어로 크림 배경 */
  --pb-bg-soft:        #F3F3F3;   /* 섹션 회색 */
  --pb-bg-soft2:       #F8F9FB;   /* 푸터 하단바 */
  --pb-line:           #E5E7EB;   /* 구분선/테두리 */

  /* Layout */
  --pb-container:      1200px;
  --pb-header-w:       1480px;
  --pb-header-h:       70px;
  --pb-radius:         16px;
  --pb-radius-sm:      10px;
  --pb-radius-pill:    999px;
  --pb-shadow:         0 8px 30px rgba(17,34,68,.08);
}

/* ---- 기본 리셋 보정 (그누보드 default.css 위에 덮어쓰기) ---- */
html,body{ background:var(--pb-bg); }
body, body * { font-family:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif; }
body{ color:var(--pb-text); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
/* 한글 줄바꿈: 단어(어절) 단위로 줄바꿈, 긴 단어는 강제 줄바꿈 */
body, .pb-container, p, h1, h2, h3, h4, span, div, td, th, li, a, label, b{ word-break:keep-all; overflow-wrap:break-word; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; }

/* 그누보드 기본 헤더/푸터 흔적 숨김 (테마 자체 헤더 사용) */
#hd_h1, #skip_to_container{ position:absolute; left:-9999px; }

.pb-container{ width:100%; max-width:var(--pb-container); margin:0 auto; padding:0 20px; }

/* 버튼 공통 */
.pb-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:54px; padding:0 26px; border-radius:var(--pb-radius-pill);
  background:var(--pb-primary); color:#fff; font-weight:700; font-size:16px;
  border:0; cursor:pointer; transition:.15s; white-space:nowrap; }
.pb-btn:hover{ background:var(--pb-primary-dark); }
.pb-btn--ghost{ background:#fff; color:var(--pb-navy); border:1px solid var(--pb-line); }
.pb-btn--ghost:hover{ background:#f5f7fa; }
.pb-btn--sm{ height:40px; padding:0 18px; font-size:14px; }

/* =========================================================
   헤더
   ========================================================= */
.pb-header{ position:sticky; top:0; z-index:1000; background:#fff;
  border-bottom:1px solid var(--pb-line); }
.pb-header__inner{ max-width:var(--pb-header-w); margin:0 auto; height:var(--pb-header-h);
  display:flex; align-items:center; gap:28px; padding:0 30px; }

/* 로고 (PLAY BADUK 텍스트 로고) */
.pb-logo{ display:flex; align-items:center; flex-shrink:0; }
.pb-logo img{ height:38px; width:auto; display:block; }
.pb-logo-txt{ display:flex; flex-direction:column; line-height:.95; font-weight:900;
  letter-spacing:.5px; font-size:20px; flex-shrink:0; }
.pb-logo .play span:nth-child(1){ color:var(--pb-primary); }
.pb-logo .play span:nth-child(2){ color:var(--pb-yellow); }
.pb-logo .play span:nth-child(3){ color:var(--pb-red); }
.pb-logo .play span:nth-child(4){ color:var(--pb-green); }
.pb-logo .baduk{ color:#333333; }

/* 메뉴 */
.pb-gnb{ display:flex; align-items:center; gap:34px; margin:0 auto; }
.pb-gnb a{ color:#000000; font-size:14px; font-weight:400; white-space:nowrap; transition:.15s; }
.pb-gnb a:hover, .pb-gnb a.on{ color:var(--pb-primary); font-weight:600; }

/* 우측 영역 */
.pb-header__util{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.pb-header__util .pb-btn{ height:37px; padding:0 18px; font-size:16px; font-weight:600; }
.pb-header__util .ghost{ background:#fff; color:#000; border:1px solid #868686; border-radius:var(--pb-radius-pill);
  height:37px; padding:0 18px; font-size:16px; font-weight:400; display:inline-flex; align-items:center; }
.pb-header__util .ghost:hover{ background:#f5f7fa; }
.pb-avatar{ width:42px; height:42px; border-radius:50%; background:var(--pb-primary-soft);
  display:inline-flex; align-items:center; justify-content:center; color:var(--pb-primary); font-size:18px; }
.pb-avatar:hover{ background:#dbe6fb; }

/* 모바일 햄버거 */
.pb-burger{ display:none; background:none; border:0; font-size:22px; color:var(--pb-navy); cursor:pointer; }

/* =========================================================
   본문 래퍼
   ========================================================= */
#pb-content{ min-height:50vh; }
.pb-page{ padding:36px 20px 80px; }
.pb-breadcrumb{ font-size:14px; color:var(--pb-text-mute); margin-bottom:14px; }
.pb-breadcrumb a{ color:var(--pb-text-sub); }
.pb-breadcrumb a:hover{ color:var(--pb-primary); }
.pb-breadcrumb .sep{ margin:0 8px; color:#000; }
.pb-breadcrumb .cur{ color:#000; font-weight:600; }
.pb-page-title{ font-size:30px; font-weight:800; color:#000; margin-bottom:28px; }

/* 그누보드 기본 컨테이너 흔적 정리 */
#wrapper,#container_wr,#container{ width:auto; max-width:none; margin:0; padding:0; background:none; border:0; }

/* =========================================================
   푸터
   ========================================================= */
.pb-footer{ background:#fff; border-top:1px solid var(--pb-line); margin-top:60px; }
.pb-footer__top{ max-width:var(--pb-container); margin:0 auto; padding:40px 20px;
  display:flex; align-items:flex-start; gap:40px; }
.pb-footer__logo{ font-weight:900; font-size:22px; line-height:.95; display:flex; flex-direction:column; }
.pb-footer__logo img{ height:46px; width:auto; }
.pb-footer__logo .play span:nth-child(1){ color:var(--pb-primary); }
.pb-footer__logo .play span:nth-child(2){ color:var(--pb-yellow); }
.pb-footer__logo .play span:nth-child(3){ color:var(--pb-red); }
.pb-footer__logo .play span:nth-child(4){ color:var(--pb-green); }
.pb-footer__logo .baduk{ color:#333333; }
.pb-footer__divider{ width:1px; align-self:stretch; background:var(--pb-line); }
.pb-footer__company b{ display:block; font-size:17px; color:#333333; margin-bottom:12px; }
.pb-footer__company p{ color:var(--pb-text-sub); font-size:14px; line-height:1.9; }
.pb-footer__right{ margin-left:auto; display:flex; align-items:center; gap:16px; }
.pb-footer__yt{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:#333333; font-size:15px; }
.pb-footer__yt i{ color:#FF0000; font-size:26px; }
#pb-top{ position:fixed; right:28px; bottom:28px; z-index:900;
  width:58px; height:58px; border-radius:50%; background:#3a3f4a; color:#fff; border:0;
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; font-size:11px; font-weight:700; gap:1px;
  box-shadow:0 6px 18px rgba(0,0,0,.22); transition:transform .15s, background .15s; }
#pb-top:hover{ background:#2d72e2; transform:translateY(-2px); }
#pb-top i{ font-size:14px; }
@media (max-width:768px){ #pb-top{ right:16px; bottom:16px; width:50px; height:50px; } }
.pb-footer__bottom{ background:var(--pb-bg-soft2); border-top:1px solid var(--pb-line); }
.pb-footer__bottom .inner{ max-width:var(--pb-container); margin:0 auto; padding:22px 20px;
  display:flex; align-items:center; justify-content:space-between; }
.pb-footer__links a{ color:var(--pb-text-sub); font-size:14px; }
.pb-footer__links span{ color:var(--pb-line); margin:0 14px; }
.pb-footer__copy{ color:var(--pb-text-mute); font-size:13px; }

/* =========================================================
   반응형
   ========================================================= */
@media (max-width:1100px){
  .pb-gnb{ display:none; }
  .pb-burger{ display:inline-block; }
  .pb-header__inner{ gap:14px; padding:0 16px; }
  /* 모바일 헤더: 로고 + 햄버거만 (로그인/회원가입은 슬라이드 메뉴에) */
  .pb-header__util .ghost,
  .pb-header__util .pb-btn,
  .pb-header__util .pb-avatar{ display:none; }
}
@media (max-width:768px){
  .pb-footer__top{ flex-wrap:wrap; gap:20px; }
  .pb-footer__right{ margin-left:0; width:100%; justify-content:flex-end; }
  .pb-footer__bottom .inner{ flex-direction:column; gap:10px; text-align:center; }
}

/* 모바일 슬라이드 메뉴 */
#pb-mnav{ position:fixed; inset:0 auto 0 0; width:280px; background:#fff; z-index:2000;
  transform:translateX(-100%); transition:.25s; box-shadow:4px 0 24px rgba(0,0,0,.12); padding:24px; overflow-y:auto; }
#pb-mnav.open{ transform:translateX(0); }
#pb-mnav a{ display:block; padding:14px 6px; border-bottom:1px solid var(--pb-line); color:var(--pb-navy); font-weight:600; }
#pb-mnav-bg{ position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1999; display:none; }
#pb-mnav-bg.open{ display:block; }

/* =========================================================
   배너 · 안내/알림 바: 14px 미만 작은 글씨만 14px로 상향
   (큰 제목·설명문 등 14px 이상은 그대로 유지)
   ========================================================= */
.pb-adm-alert,                   /* 관리자 새 주문 알림 바 (13→14) */
.pb-rv-hero .kicker,             /* 후기 히어로 라벨 (13→14) */
.pb-rv-stat span{                /* 후기 히어로 통계 캡션 (12→14) */
  font-size:14px !important;
}

/* =========================================================
   회원 / 인증 폼 (로그인·회원가입·찾기·정보수정)
   ========================================================= */
.pb-btn--full{ width:100%; height:54px; }
.pb-field{ display:block; margin-bottom:18px; }
.pb-field__lb{ display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:700; color:var(--pb-navy); margin-bottom:8px; }
.pb-field__link{ font-size:13px; font-weight:600; color:var(--pb-primary); }
.pb-field__in{ display:flex; align-items:center; gap:10px; height:52px; padding:0 16px; border:1px solid var(--pb-line);
  border-radius:12px; background:#fff; transition:.15s; }
.pb-field__in:focus-within{ border-color:var(--pb-primary); box-shadow:0 0 0 3px var(--pb-primary-soft); }
.pb-field__in i{ color:var(--pb-text-mute); }
.pb-field__in input, .pb-field__in select{ flex:1; border:0; outline:0; font-size:15px; background:transparent; height:100%; min-width:0; }
.pb-field__in .pb-btn--sm{ flex-shrink:0; }

.pb-auth{ padding:24px 0 70px; }
.pb-auth__grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; }
.pb-auth__aside{ background:var(--pb-primary-soft); border-radius:20px; padding:48px 44px; }
.pb-auth__aside h2{ font-size:30px; font-weight:900; color:var(--pb-navy); line-height:1.35; }
.pb-auth__aside > p{ color:var(--pb-text-sub); margin-top:16px; font-size:15px; line-height:1.6; }
.pb-auth__feats{ margin-top:34px; display:flex; flex-direction:column; gap:18px; }
.pb-auth__feats li{ display:flex; align-items:center; gap:16px; background:#fff; border-radius:14px; padding:18px 20px; }
.pb-auth__feats i{ width:44px; height:44px; border-radius:50%; background:var(--pb-primary-soft); color:var(--pb-primary);
  display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.pb-auth__feats b{ display:block; color:var(--pb-navy); font-size:16px; }
.pb-auth__feats span{ display:block; color:var(--pb-text-sub); font-size:13px; margin-top:3px; }

.pb-auth__panel{ background:#fff; border:1px solid var(--pb-line); border-radius:20px; padding:46px 44px; box-shadow:var(--pb-shadow); }
.pb-auth__panel h3{ font-size:24px; font-weight:900; color:var(--pb-navy); }
.pb-auth__desc{ color:var(--pb-text-sub); font-size:14px; margin:8px 0 28px; }
.pb-auth__chk{ display:flex; align-items:center; gap:8px; margin:6px 0 20px; font-size:14px; color:var(--pb-text); }
.pb-auth__chk input{ width:18px; height:18px; accent-color:var(--pb-primary); }
.pb-auth__social{ display:flex; gap:12px; margin-top:16px; }
.pb-social{ flex:1; height:50px; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:15px; }
.pb-social--kakao{ background:#FEE500; color:#3C1E1E; }
.pb-social--naver{ background:#03C75A; color:#fff; }
.pb-social--naver b{ font-size:18px; }
.pb-auth__links{ text-align:center; margin-top:26px; font-size:14px; }
.pb-auth__links a{ color:var(--pb-text-sub); }
.pb-auth__links a:hover{ color:var(--pb-primary); }
.pb-auth__links span{ color:var(--pb-line); margin:0 12px; }

/* 스텝 인디케이터 */
.pb-steps{ display:flex; align-items:center; justify-content:center; gap:0; margin:10px 0 40px; }
.pb-step{ display:flex; align-items:center; gap:10px; color:var(--pb-text-mute); }
.pb-step__no{ width:34px; height:34px; border-radius:50%; background:#E5E9F0; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
.pb-step.on .pb-step__no{ background:var(--pb-primary); }
.pb-step.on{ color:var(--pb-navy); font-weight:700; }
.pb-step__bar{ width:80px; height:2px; background:#E5E9F0; margin:0 18px; }

/* 회원가입 2단 */
.pb-reg-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:24px; align-items:start; }
.pb-card{ background:#fff; border:1px solid var(--pb-line); border-radius:18px; padding:34px 32px; box-shadow:var(--pb-shadow); }
.pb-card h3{ font-size:20px; font-weight:800; color:var(--pb-navy); margin-bottom:22px; }
.pb-row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pb-agree{ display:flex; align-items:center; gap:10px; padding:16px 0; border-bottom:1px solid var(--pb-line); font-size:15px; }
.pb-agree:last-of-type{ border-bottom:0; }
.pb-agree input{ width:20px; height:20px; accent-color:var(--pb-primary); }
.pb-agree .req{ margin-left:auto; font-size:12px; color:var(--pb-primary); font-weight:700; }
.pb-agree .opt{ margin-left:auto; font-size:12px; color:var(--pb-text-mute); }
.pb-agree--all{ font-weight:800; color:var(--pb-navy); border-bottom:2px solid var(--pb-navy); }

/* 찾기 페이지 탭 */
.pb-tabs{ display:flex; gap:8px; background:#F1F4F9; padding:6px; border-radius:12px; margin-bottom:26px; }
.pb-tabs a{ flex:1; text-align:center; padding:11px 0; border-radius:9px; font-weight:700; color:var(--pb-text-sub); font-size:15px; }
.pb-tabs a.on{ background:var(--pb-primary); color:#fff; }

/* 번호형 단계 목록 (찾기 안내 패널) */
.pb-steplist{ margin-top:30px; display:flex; flex-direction:column; gap:14px; }
.pb-steplist li{ display:flex; align-items:center; gap:14px; background:#fff; border-radius:12px; padding:16px 18px; }
.pb-steplist .n{ width:30px; height:30px; border-radius:50%; background:var(--pb-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex-shrink:0; }
.pb-steplist b{ color:var(--pb-navy); font-size:15px; }

/* 결과 박스 */
.pb-result{ margin-top:20px; background:var(--pb-primary-soft); border-radius:12px; padding:18px 20px; display:flex; align-items:center; gap:12px; }
.pb-result i{ color:var(--pb-primary); font-size:20px; }
.pb-result b{ color:var(--pb-navy); }
.pb-result a{ margin-left:auto; color:var(--pb-primary); font-weight:700; }

/* =========================================================
   아이디/비밀번호 찾기 (Figma node 213:2 — 아이디 찾기 페이지)
   색상/사이즈 Figma 정확 반영. 폰트 Pretendard.
   ========================================================= */
/* 페이지 타이틀(head.php 출력)을 Figma 38px/네이비 #141d2f 로 보정 */
.pb-page-title:has(+ .pb-find){ font-size:38px; font-weight:700; color:#141D2F; line-height:48px; margin-bottom:0; }
.pb-find__lead{ margin:8px 0 30px; color:#3E485B; font-size:17px; line-height:26px; }

.pb-find__grid{
  display:grid;
  grid-template-columns:500px 460px;
  justify-content:space-between;
  gap:40px;
  align-items:start;
}

/* ---- 좌측 가이드 패널 ---- */
.pb-find__guide{
  background:#ECF5FF; border:1px solid #DAE4F3; border-radius:18px;
  box-shadow:0 12px 30px rgba(18,38,75,.07);
  padding:50px 50px 0; min-height:678px; box-sizing:border-box;
}
.pb-find__guide-icon{
  display:flex; align-items:center; justify-content:center;
  width:86px; height:86px; border-radius:50%; background:#fff;
  box-shadow:0 6px 16px rgba(18,38,75,.08);
}
.pb-find__guide-icon img{ width:40px; height:40px; display:block; }
.pb-find__guide-title{
  margin:74px 0 0; font-size:34px; font-weight:700; color:#141D2F; line-height:44px;
}
.pb-find__guide-desc{
  margin:17px 0 0; font-size:17px; color:#3E485B; line-height:28px; max-width:360px;
}
.pb-find__steps{
  list-style:none; margin:34px 0 0; padding:0;
  display:flex; flex-direction:column; gap:29px;
}
.pb-find__steps li{ display:flex; align-items:flex-start; gap:18px; }
.pb-find__steps-n{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%;
  background:#fff; color:#2D72E2; font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 6px rgba(18,38,75,.08);
}
.pb-find__steps-txt{ padding-top:2px; }
.pb-find__steps-txt b{ display:block; color:#141D2F; font-size:16px; font-weight:700; line-height:22px; }
.pb-find__steps-txt span{ display:block; margin-top:4px; color:#3E485B; font-size:12px; line-height:18px; }

/* ---- 우측 카드 ---- */
.pb-find__card{
  background:#fff; border:1px solid #DAE4F3; border-radius:18px;
  box-shadow:0 12px 30px rgba(18,38,75,.07);
  padding:55px 50px 0; min-height:678px; box-sizing:border-box;
}
.pb-find__tabs{ display:flex; gap:20px; }
.pb-find__tabs a{
  width:180px; height:48px; border-radius:24px;
  display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:700; text-align:center;
  border:1px solid #DAE4F3; background:#fff; color:#3E485B;
}
.pb-find__tabs a.on{ background:#2D72E2; border-color:#2D72E2; color:#fff; }
.pb-find__card-title{ margin:42px 0 0; font-size:30px; font-weight:700; color:#141D2F; line-height:38px; }
.pb-find__card-desc{ margin:10px 0 0; font-size:15px; color:#3E485B; line-height:24px; }

/* ---- 폼 필드 ---- */
.pb-find__card form{ margin-top:32px; }
.pb-ffield{ margin-bottom:22px; }
.pb-ffield__lb{ display:block; margin-bottom:8px; font-size:15px; font-weight:700; color:#141D2F; line-height:22px; }
.pb-ffield__in{
  display:flex; align-items:center; gap:12px;
  height:56px; padding:0 18px; box-sizing:border-box;
  border:1px solid #DAE4F3; border-radius:8px; background:#fff;
}
.pb-ffield__in:focus-within{ border-color:#2D72E2; box-shadow:0 0 0 3px rgba(45,114,226,.12); }
.pb-ffield__ic{ width:22px; height:22px; flex:0 0 22px; display:block; }
.pb-ffield__in input{
  flex:1; min-width:0; border:0; outline:0; background:transparent;
  height:100%; font-size:14px; color:#141D2F;
}
.pb-ffield__in input::placeholder{ color:#808B9C; }
.pb-ffield__row{ display:flex; gap:13px; align-items:stretch; }
.pb-ffield__row .pb-ffield__in{ flex:1 1 auto; }
.pb-authbtn{
  flex:0 0 110px; width:110px; height:56px; border-radius:8px;
  border:1px solid #2D72E2; background:#fff; color:#2D72E2;
  font-size:15px; font-weight:700; cursor:pointer;
}
.pb-authbtn:hover{ background:#EAF1FD; }

.pb-submit{
  width:100%; height:58px; margin-top:18px;
  border:0; border-radius:8px; background:#2D72E2; color:#fff;
  font-size:18px; font-weight:700; cursor:pointer;
}
.pb-submit:hover{ background:#1F5FCB; }

/* ---- 결과 박스 ---- */
.pb-rbox{
  display:flex; align-items:flex-start; gap:14px;
  margin-top:26px; padding:18px 26px; box-sizing:border-box;
  background:#ECF5FF; border:1px solid #DAE4F3; border-radius:10px;
}
.pb-rbox__ic{ width:24px; height:24px; flex:0 0 24px; margin-top:2px; display:block; }
.pb-rbox__txt b{ display:block; color:#141D2F; font-size:16px; font-weight:700; line-height:24px; }
.pb-rbox__txt b span{ color:#2D72E2; }
.pb-rbox__sub{ display:block; margin-top:2px; color:#3E485B; font-size:12px; line-height:18px; }
.pb-rbox--err{ background:#FDECEC; border-color:#F5C6C6; }
.pb-rbox--err .pb-rbox__txt b{ color:#C0392B; }
.pb-rbox__ic-x{
  flex:0 0 24px; width:24px; height:24px; border-radius:50%;
  background:#E74C3C; color:#fff; font-style:normal; font-weight:700; font-size:15px;
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.pb-find__back{ margin-top:18px; text-align:right; }
.pb-find__back a{ color:#2D72E2; font-size:14px; font-weight:700; }
.pb-find__back a:hover{ text-decoration:underline; }

@media (max-width:1024px){
  .pb-find__grid{ grid-template-columns:minmax(0,1fr); gap:24px; justify-content:stretch; }
  .pb-find__guide, .pb-find__card{ min-height:0; padding-left:34px; padding-right:34px; }
}
@media (max-width:768px){
  .pb-find__guide{ display:none; }
  .pb-find__card{ padding:30px 20px 24px; border-radius:16px; }
  .pb-find__tabs a{ width:auto; flex:1; }
  .pb-find__tabs{ gap:12px; }
  .pb-ffield__row{ flex-wrap:nowrap; }
  .pb-authbtn{ flex-basis:96px; width:96px; }
}

@media (max-width:860px){
  /* minmax(0,1fr): 자식 min-content보다 작게도 축소 허용(가로 넘침 방지) */
  .pb-auth__grid, .pb-reg-grid{ grid-template-columns:minmax(0,1fr); }
  .pb-row2{ grid-template-columns:minmax(0,1fr); }
}
/* 모바일 인증화면: 좌측 안내 패널 숨김, 폼 카드만 노출 (Figma 모바일 일치) */
@media (max-width:768px){
  .pb-auth__aside{ display:none; }
  .pb-auth{ padding:8px 0 50px; }
  .pb-auth__grid, .pb-reg-grid{ min-width:0; }
  .pb-auth__panel{ padding:30px 20px; border-radius:16px; min-width:0; }
  .pb-auth__panel h3{ font-size:21px; }
  .pb-reg-grid{ gap:18px; }
  .pb-card{ padding:26px 18px; min-width:0; }
  /* 회원가입 스텝 인디케이터 축소 */
  .pb-steps{ gap:0; margin:8px 0 24px; flex-wrap:nowrap; }
  .pb-step{ font-size:12.5px; gap:6px; }
  .pb-step__no{ width:26px; height:26px; font-size:12px; }
  .pb-step__bar{ width:18px; margin:0 7px; }
  .pb-auth__social{ flex-wrap:wrap; }
  .pb-auth__social .pb-social{ min-width:0; flex:1 1 130px; font-size:14px; }
  /* 찾기 화면 탭/필드 풀폭 */
  .pb-tabs a{ font-size:14px; padding:11px 0; }
  .pb-field__in input{ min-width:0; }
}
