/* CreditApp — public legal / company pages
   Scoped so linking this file on payment/register does NOT reset Tailwind layouts. */
:root{
  --pg-bg:#f0f4ff;
  --pg-surface:#fff;
  --pg-text:#0f172a;
  --pg-text2:#475569;
  --pg-text3:#94a3b8;
  --pg-border:#e2e8f0;
  --pg-primary:#2563eb;
  --pg-primary-d:#1d4ed8;
  --pg-shadow:0 4px 24px rgba(15,23,42,.06);
  --pg-r:16px;
  --pg-trans:.2s ease;
}
body.dark{
  --pg-bg:#0b1220;
  --pg-surface:#111827;
  --pg-text:#f1f5f9;
  --pg-text2:#94a3b8;
  --pg-text3:#64748b;
  --pg-border:#1e293b;
  --pg-shadow:0 4px 24px rgba(0,0,0,.35);
}

/* Only legal pages get full-page chrome (not payment/register) */
body.legal-body{
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--pg-bg);
  color:var(--pg-text);
  line-height:1.65;
  min-height:100dvh;
  margin:0;
  transition:background var(--pg-trans),color var(--pg-trans);
}
body.legal-body a{color:var(--pg-primary);text-decoration:none}
body.legal-body a:hover{text-decoration:underline}

.legal-page{
  max-width:720px;margin:0 auto;padding:0 16px 32px;
  box-sizing:border-box;
}
.legal-page *,.legal-page *::before,.legal-page *::after{box-sizing:border-box}
.legal-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0 12px;gap:12px;
}
.legal-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;color:var(--pg-text2);
  min-height:44px;padding:0 4px;
}
.legal-back:hover{color:var(--pg-primary);text-decoration:none}
.legal-brand{
  font-size:13px;font-weight:800;color:var(--pg-primary);
  letter-spacing:-.02em;
}
.legal-dark{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--pg-border);
  background:var(--pg-surface);color:var(--pg-text2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:15px;
}
.legal-card{
  background:var(--pg-surface);
  border:1px solid var(--pg-border);
  border-radius:var(--pg-r);
  box-shadow:var(--pg-shadow);
  padding:28px 24px;
  transition:background var(--pg-trans),border-color var(--pg-trans);
}
.legal-h1{
  font-size:clamp(1.5rem,4vw,1.85rem);
  font-weight:900;letter-spacing:-.03em;
  margin-bottom:8px;line-height:1.2;
}
.legal-lead{
  font-size:15px;color:var(--pg-text2);
  margin-bottom:24px;
}
.legal-h2{
  font-size:15px;font-weight:800;
  margin:20px 0 8px;color:var(--pg-text);
}
.legal-p{
  font-size:14px;color:var(--pg-text2);
  margin-bottom:14px;
}
.legal-p:last-child{margin-bottom:0}

.legal-page .info-table{margin:16px 0 0}
.legal-page .info-row{
  display:flex;flex-wrap:wrap;gap:4px 12px;
  padding:12px 0;border-bottom:1px solid var(--pg-border);
  font-size:14px;
}
.legal-page .info-row:last-child{border-bottom:none}
.legal-page .info-k{font-weight:700;color:var(--pg-text);min-width:120px}
.legal-page .info-v{color:var(--pg-text2);flex:1}

.contact-cta{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:20px;padding:14px 20px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff!important;font-weight:700;font-size:15px;
  border-radius:14px;min-height:48px;text-decoration:none!important;
}
.contact-cta:hover{opacity:.95}

.reviews-grid{display:grid;gap:12px;margin-top:20px}
.review-card{
  border:1px solid var(--pg-border);
  border-radius:12px;padding:16px;
  background:var(--pg-bg);
}
.review-text{font-size:14px;color:var(--pg-text2);font-style:italic;margin-bottom:8px}
.review-meta{font-size:12px;font-weight:700;color:var(--pg-text)}

.legal-foot{
  margin-top:28px;padding-top:20px;
  border-top:1px solid var(--pg-border);
  text-align:center;
}
.legal-foot-nav{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;
  margin-bottom:12px;
}
.legal-foot-link{
  font-size:12px;font-weight:600;color:var(--pg-text2);
  text-decoration:none;
}
.legal-foot-link:hover{color:var(--pg-primary);text-decoration:underline}
.legal-foot-link.is-active{color:var(--pg-primary)}
.legal-foot-copy{font-size:11px;color:var(--pg-text3);margin:0}

.seo-faq{margin-top:28px}
.seo-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.seo-faq-item{
  border:1px solid var(--pg-border);border-radius:12px;
  background:var(--pg-bg);padding:0 14px;
}
.seo-faq-item summary{
  cursor:pointer;font-size:14px;font-weight:700;color:var(--pg-text);
  padding:14px 0;list-style:none;
}
.seo-faq-item summary::-webkit-details-marker{display:none}
.seo-faq-item[open] summary{border-bottom:1px solid var(--pg-border);margin-bottom:8px}
.seo-faq-item .legal-p{padding-bottom:12px}
.seo-city-nav{
  margin-top:24px;padding-top:16px;border-top:1px solid var(--pg-border);
  font-size:12px;line-height:1.8;color:var(--pg-text3);text-align:center;
}

/* Compact footer strip — self-contained (safe on payment/register) */
.cn-legal-strip{
  margin:20px auto 0;
  max-width:720px;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom,0));
  border-top:1px solid #e2e8f0;
  text-align:center;
  box-sizing:border-box;
}
.cn-legal-strip .legal-foot-nav{margin-bottom:8px}
.cn-legal-strip .legal-foot-link{
  font-size:12px;font-weight:600;color:#64748b;
  text-decoration:none;
}
.cn-legal-strip .legal-foot-link:hover{color:#2563eb;text-decoration:underline}
.cn-legal-strip .legal-foot-copy{
  font-size:10.5px;color:#94a3b8;margin:0;
}

@media(max-width:480px){
  .legal-card{padding:22px 18px}
  .legal-page .info-k{min-width:100%}
}
