/* ============================================================================
   legal.css — shared styling for the standalone Privacy, Terms and Contact
   pages. Kept self-contained (no app JS/vendor libs) and served same-origin so
   the site's strict Content-Security-Policy is satisfied. Reuses the PDF
   Toolbox brand palette so the legal pages feel part of the same product.
============================================================================ */
:root{--bg:#f6f7fb;--card:#fff;--text:#1a1d29;--sub:#6b7280;--border:#e5e7eb;--r:16px;}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;}
a{color:#4D96FF;text-decoration:none;}
a:hover{text-decoration:underline;}

.legal-wrap{max-width:820px;margin:0 auto;padding:28px 20px 72px;}

.legal-head{text-align:center;margin-bottom:28px;}
.legal-head a.brand{display:inline-block;font-size:24px;font-weight:700;background:linear-gradient(90deg,#FF6B6B,#4D96FF);-webkit-background-clip:text;background-clip:text;color:transparent;}
.legal-head .brand:hover{text-decoration:none;}

.legal-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:38px 40px;}
.legal-card h1{font-size:28px;margin:0 0 6px;}
.legal-card .updated{color:var(--sub);font-size:13px;margin:0 0 26px;}
.legal-card h2{font-size:18px;margin:30px 0 10px;padding-top:6px;}
.legal-card h3{font-size:15px;margin:18px 0 6px;}
.legal-card p,.legal-card li{font-size:14.5px;color:#33384a;}
.legal-card ul{padding-left:22px;margin:8px 0 14px;}
.legal-card li{margin:5px 0;}
.legal-card strong{color:var(--text);}

.contact-box{background:#f3f4f6;border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin:18px 0;}
.contact-box .row{display:flex;gap:10px;margin:8px 0;font-size:14.5px;flex-wrap:wrap;}
.contact-box .row span{color:var(--sub);min-width:120px;}
.contact-box .row b{color:var(--text);}

.legal-nav{display:flex;justify-content:center;gap:8px 20px;flex-wrap:wrap;margin-top:30px;font-size:13.5px;}
.legal-foot{text-align:center;color:var(--sub);font-size:12.5px;margin-top:26px;}

@media (max-width:560px){
  .legal-card{padding:26px 20px;}
  .contact-box .row span{min-width:0;width:100%;}
}

/* Contact form + pricing/checkout shared additions */
.cform label{display:block;font-size:13.5px;color:var(--sub);margin:12px 0}
.cform input,.cform select,.cform textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-family:inherit;font-size:14px;margin-top:4px;box-sizing:border-box}
.cform textarea{resize:vertical}
.cform .hp{position:absolute;left:-5000px}
.send-btn{background:#1a1d29;color:#fff;border:none;border-radius:10px;padding:11px 22px;font-size:14.5px;font-weight:600;cursor:pointer;margin-top:6px}
.send-btn:hover{background:#000}
.sent-note{display:none;background:#dcfce7;color:#166534;border-radius:9px;padding:10px 14px;font-size:13.5px;margin-top:12px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}
.plan{border:1px solid var(--border);border-radius:14px;padding:22px;background:#fff;position:relative;display:flex;flex-direction:column}
.plan.hot{border:2px solid #7048e8;box-shadow:0 12px 30px #7048e822}
.plan .badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#7048e8,#4d96ff);color:#fff;font-size:11px;font-weight:700;border-radius:50px;padding:4px 12px;white-space:nowrap}
.plan h3{margin:2px 0 4px;font-size:17px}
.plan .price{font-size:26px;font-weight:800;margin:2px 0}
.plan .price small{font-size:13px;color:var(--sub);font-weight:500}
.plan ul{list-style:none;padding:0;margin:12px 0;flex:1}
.plan li{font-size:13.5px;margin:7px 0;color:#33384a}
.plan .cta{display:block;text-align:center;background:#1a1d29;color:#fff;border-radius:10px;padding:11px;font-weight:600;font-size:14px;text-decoration:none}
.plan .cta:hover{background:#000;text-decoration:none}
.plan .cta.grad{background:linear-gradient(135deg,#7048e8,#4d96ff)}
.plan .cta.ghost{background:#f3f4f6;color:var(--text)}
.cmp{width:100%;border-collapse:collapse;font-size:13.5px;margin:14px 0}
.cmp th,.cmp td{border:1px solid var(--border);padding:9px 11px;text-align:center}
.cmp td:first-child,.cmp th:first-child{text-align:left}
.cmp thead th{background:#f3f4f6}
.soon-card{text-align:center;padding:14px 6px}
.soon-icon{font-size:44px;margin-bottom:8px}
.order{background:#f3f4f6;border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:18px 0;text-align:left}
.order .row{display:flex;justify-content:space-between;font-size:14px;margin:6px 0}
.order .row.total{border-top:1px solid var(--border);padding-top:8px;font-weight:700}

.sent-note.err{background:#fee2e2;color:#991b1b}
.sent-note.err a{color:#991b1b;font-weight:600}
