/* =====================================================================
   결제 · 요금안내 · 약관 페이지 공통 스타일
   기존 auth.css 디자인 토큰(--primary 등)을 그대로 따릅니다.
   ===================================================================== */

/* ── 공개 페이지 상단 헤더 ─────────────────────────────────────── */
.pay-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1040px;margin:0 auto;padding:22px 24px;}
.pay-topbar .brand{font-weight:950;color:var(--primary);letter-spacing:.08em;font-size:.95rem;text-decoration:none;}
.pay-topbar .top-actions{display:flex;gap:8px;}

/* ── 요금안내(pricing) ────────────────────────────────────────── */
.pricing-shell{max-width:1040px;margin:0 auto;padding:14px 24px 60px;}
.pricing-hero{text-align:center;margin:26px 0 34px;}
.pricing-hero .kicker{display:inline-flex;font-size:.78rem;font-weight:950;color:var(--primary);background:#efecff;border-radius:999px;padding:6px 12px;letter-spacing:.06em;margin-bottom:14px;}
.pricing-hero h1{margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:950;letter-spacing:-.03em;}
.pricing-hero p{margin:0 auto;max-width:560px;color:var(--muted);line-height:1.7;word-break:keep-all;}

.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,420px));justify-content:center;gap:18px;margin-bottom:34px;}
.plan-card{background:rgba(255,255,255,.97);border:1px solid rgba(108,92,231,.16);border-radius:26px;padding:30px;box-shadow:0 22px 70px rgba(54,44,120,.10);display:flex;flex-direction:column;}
.plan-card .plan-name{font-size:1.15rem;font-weight:950;margin:0 0 6px;}
.plan-card .plan-summary{color:var(--muted);line-height:1.6;font-size:.92rem;margin:0 0 18px;word-break:keep-all;}
.plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;}
.plan-price b{font-size:2.1rem;font-weight:950;letter-spacing:-.03em;color:#241f4d;}
.plan-price span{color:var(--muted);font-weight:800;}
.plan-cycle-note{font-size:.82rem;color:#8a5a00;background:#FFF8E8;border:1px solid #FFE0B2;border-radius:12px;padding:10px 12px;line-height:1.55;margin:12px 0 18px;word-break:keep-all;}
.plan-features{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px;}
.plan-features li{display:flex;gap:9px;align-items:flex-start;font-size:.92rem;color:#3d4350;line-height:1.5;word-break:keep-all;}
.plan-features li::before{content:'✓';flex:none;width:20px;height:20px;border-radius:99px;background:#efecff;color:var(--primary);font-weight:950;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
.plan-card .btn-main{margin-top:auto;text-decoration:none;display:flex;align-items:center;justify-content:center;}

.pricing-notes{background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:22px;padding:24px 26px;}
.pricing-notes h2{margin:0 0 12px;font-size:1.02rem;font-weight:950;}
.pricing-notes ul{margin:0;padding-left:20px;color:#4a505c;line-height:1.75;font-size:.9rem;}
.pricing-notes li{margin-bottom:6px;word-break:keep-all;}

/* ── 결제(payment) 페이지 ─────────────────────────────────────── */
.pay-card{width:min(560px,100%);}
.pay-plan-box{border:1px solid rgba(108,92,231,.2);background:#f8f6ff;border-radius:18px;padding:18px 20px;margin:6px 0 18px;}
.pay-plan-box .pay-plan-name{font-weight:950;font-size:1.02rem;margin-bottom:4px;}
.pay-plan-box .pay-plan-desc{color:var(--muted);font-size:.86rem;line-height:1.55;word-break:keep-all;}
.pay-amount-row{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed rgba(108,92,231,.25);margin-top:14px;padding-top:14px;}
.pay-amount-row span{font-weight:800;color:#555;}
.pay-amount-row b{font-size:1.4rem;font-weight:950;color:#241f4d;letter-spacing:-.02em;}
.pay-buyer{margin-bottom:6px;}
.pay-buyer .field input[readonly]{background:#f7f8fb;color:#555;}
.billing-notice{border:1px solid #d8e6ff;background:#f2f7ff;border-radius:16px;padding:15px 16px;line-height:1.65;color:#1e3a6e;font-size:.87rem;margin:16px 0;word-break:keep-all;}
.billing-notice b{color:#12224a;}
.agree-list{display:flex;flex-direction:column;gap:10px;margin:16px 0 20px;}
.agree-item{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;color:#3d4350;}
.agree-item input[type=checkbox]{width:19px;height:19px;margin-top:1px;accent-color:var(--primary);flex:none;cursor:pointer;}
.agree-item a{color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:2px;}
.agree-all{border:1px solid var(--line);background:#fafbff;border-radius:13px;padding:11px 12px;font-weight:900;}
.pay-secure-line{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;color:#8a90a0;font-size:.8rem;font-weight:700;}

/* ── 약관/방침 문서 레이아웃 ──────────────────────────────────── */
.doc-shell{max-width:820px;margin:0 auto;padding:14px 24px 60px;}
.doc-card{background:rgba(255,255,255,.97);border:1px solid rgba(108,92,231,.12);border-radius:24px;padding:36px 38px;box-shadow:0 22px 70px rgba(54,44,120,.08);}
.doc-card h1{margin:0 0 6px;font-size:1.6rem;font-weight:950;letter-spacing:-.02em;}
.doc-card .doc-sub{color:var(--muted);font-size:.88rem;margin-bottom:26px;}
.doc-card h2{margin:30px 0 10px;font-size:1.08rem;font-weight:950;color:#2b2f3d;}
.doc-card h2:first-of-type{margin-top:0;}
.doc-card p,.doc-card li{color:#3d4350;line-height:1.8;font-size:.93rem;word-break:keep-all;}
.doc-card ol,.doc-card ul{padding-left:22px;margin:8px 0 16px;}
.doc-card li{margin-bottom:6px;}
.doc-card table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:.88rem;}
.doc-card th,.doc-card td{border:1px solid var(--line);padding:10px 12px;text-align:left;line-height:1.55;word-break:keep-all;}
.doc-card th{background:#fafafc;font-weight:900;color:#555;}
.doc-highlight{border:1px solid #FFE0B2;background:#FFF8E8;border-radius:14px;padding:14px 16px;color:#6b4b00;line-height:1.7;font-size:.9rem;margin:14px 0;word-break:keep-all;}
.doc-effective{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;}

/* ── 사업자 정보 푸터 (payment-config.js 가 자동 렌더링) ─────────── */
.biz-footer{margin-top:40px;border-top:1px solid rgba(108,92,231,.12);background:rgba(255,255,255,.6);}
.biz-footer-inner{max-width:1040px;margin:0 auto;padding:26px 24px 34px;}
.biz-footer-links{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;}
.biz-footer-links a{text-decoration:none;font-size:.84rem;font-weight:800;color:#4a505c;}
.biz-footer-links a:hover{color:var(--primary);}
.biz-footer-info{display:flex;flex-wrap:wrap;gap:6px 16px;color:#8a90a0;font-size:.78rem;line-height:1.7;}
.biz-footer-copy{margin-top:10px;color:#aab0be;font-size:.75rem;}

/* 로그인 화면(index.html) 하단 간이 푸터 */
.login-legal-footer{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);}
.login-legal-footer .legal-links{display:flex;flex-wrap:wrap;gap:5px 12px;margin-bottom:9px;}
.login-legal-footer .legal-links a{font-size:.78rem;font-weight:800;color:#666;text-decoration:none;}
.login-legal-footer .legal-links a:hover{color:var(--primary);}
.login-legal-footer .legal-biz{color:#9aa0ad;font-size:.72rem;line-height:1.7;word-break:keep-all;}

@media (max-width:640px){
  .doc-card{padding:24px 20px;border-radius:20px;}
  .pay-topbar{padding:16px;}
  .pricing-shell,.doc-shell{padding-left:16px;padding-right:16px;}
  .plan-card{padding:24px 20px;}
}
