/* Codewaala legal pages (privacy, terms, refund, grievance, contact, dpdp).
   Builds on the tokens in /styles.css (dark indigo theme). */
.tri-top{height:5px;background:linear-gradient(90deg,#ff9933 0 33.3%,#ffffff 33.3% 66.6%,#138808 66.6%)}
.legal{max-width:820px;margin:0 auto;padding:0 22px 64px}
.legal-hero{padding:48px 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}
.legal-hero h1{font-size:clamp(30px,4.6vw,46px);line-height:1.1;letter-spacing:-.02em;margin:0 0 12px}
.legal-hero .lede{font-size:clamp(16px,2vw,18px);color:#c4cdee;max-width:680px;margin:0 0 14px}
.legal-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;
  border:1px solid rgba(16,185,129,.45);background:rgba(16,185,129,.10);color:#a7f3d0;
  font-size:12.5px;font-weight:700;letter-spacing:.02em;margin-bottom:16px}
.legal-badge svg{width:16px;height:16px;flex:0 0 auto}
.legal-meta{font-size:13.5px;color:var(--mut);margin:0}
.legal-meta b{color:#dbe2fb}
.legal-hindi{font-size:13.5px;color:#c9d2f2;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);
  border-radius:12px;padding:10px 14px;margin:16px 0 0}

/* prose */
.legal h2{font-size:clamp(21px,2.6vw,26px);line-height:1.2;letter-spacing:-.01em;margin:44px 0 12px;padding-top:6px;scroll-margin-top:80px}
.legal h3{font-size:17.5px;margin:26px 0 8px;color:#fff;scroll-margin-top:80px}
.legal p,.legal li{color:#d3daf3;font-size:16px;line-height:1.72}
.legal p{margin:0 0 14px}
.legal ul,.legal ol{padding-left:22px;margin:0 0 16px}
.legal li{margin:0 0 7px}
.legal a{color:#a5b4fc;text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:#fff}
.legal a.btn{text-decoration:none;color:#fff}
.legal strong,.legal b{color:#fff}
.legal code{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.9em;background:rgba(255,255,255,.07);
  padding:1px 6px;border-radius:6px}
.legal hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.legal .small{font-size:13.5px;color:var(--mut)}

/* table of contents */
.toc{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 0 10px}
.toc b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.toc li{font-size:14.5px;margin:0 0 5px;break-inside:avoid}
.toc a{color:#c9d2f2;text-decoration:none}
.toc a:hover{color:#fff;text-decoration:underline}

/* callouts */
.note,.kids,.warn{border-radius:14px;padding:16px 18px;margin:18px 0}
.note{background:rgba(99,102,241,.10);border:1px solid rgba(99,102,241,.35)}
.kids{background:linear-gradient(160deg,rgba(16,185,129,.12),rgba(6,182,212,.08));border:1px solid rgba(16,185,129,.45)}
.kids h2,.kids h3{margin-top:4px}
.warn{background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.4)}
.note p:last-child,.kids p:last-child,.warn p:last-child,.kids ul:last-child{margin-bottom:0}

/* tables */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 20px;border:1px solid var(--line);border-radius:12px}
.tbl table{width:100%;border-collapse:collapse;min-width:620px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.55;color:#d3daf3}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);background:rgba(255,255,255,.04)}
.tbl tr:last-child td{border-bottom:0}
.tbl td b{color:#fff}

/* cards */
.lcards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0 20px}
.lcard{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:18px}
.lcard .ic{font-size:24px;display:block;margin-bottom:6px}
.lcard h3{margin:0 0 6px;font-size:16.5px}
.lcard p{margin:0;font-size:14.5px;color:#b8c1e6}
.officer{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(160deg,#121a3a,#0e1430);
  border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:16px 0}
.officer .av{flex:0 0 48px;height:48px;border-radius:14px;background:var(--grad);display:grid;place-items:center;font-weight:800;color:#fff}
.officer p{margin:0 0 4px;font-size:15px}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-left:44px;margin-bottom:14px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;
  background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;font-size:14px}
.timeline{border-left:2px solid rgba(168,85,247,.5);margin:12px 0 20px 8px;padding-left:20px}
.timeline div{position:relative;margin-bottom:14px}
.timeline div::before{content:"";position:absolute;left:-27px;top:7px;width:12px;height:12px;border-radius:50%;background:#a855f7}
.timeline b{display:block;color:#fff}
details.faq{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 10px}
details.faq summary{cursor:pointer;font-weight:700;color:#fff}
details.faq p{margin:10px 0 0}

/* forms */
.lform{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:18px 0}
.lform label{display:block;font-size:13.5px;color:#c4cdee;font-weight:600;margin:14px 0 6px}
.lform .opt{color:var(--mut);font-weight:400}
.lform input,.lform select,.lform textarea{width:100%;padding:12px 14px;border-radius:11px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--txt);font-size:15px;font-family:inherit}
.lform select option{background:#0f1733;color:var(--txt)}
.lform input:focus,.lform select:focus,.lform textarea:focus{outline:none;border-color:var(--violet2);box-shadow:0 0 0 3px rgba(124,58,237,.25)}
.lform .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.lform .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin-top:16px}
.lform .check input{width:18px;height:18px;flex:0 0 18px;margin-top:3px}
.lform .hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lform .msg{min-height:20px;margin:14px 0 0;font-size:14px;color:var(--red)}
.lform .msg.ok{color:#6ee7b7;background:rgba(16,185,129,.10);border:1px solid rgba(16,185,129,.4);border-radius:10px;padding:12px 14px}
.lform button[disabled]{opacity:.6;cursor:wait}

.legal-end{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mut)}

@media(max-width:720px){
  .legal{padding:0 16px 48px}
  .toc ol{columns:1}
  .lcards{grid-template-columns:1fr}
  .lform .row2{grid-template-columns:1fr}
  .lform{padding:16px}
  .officer{flex-direction:column}
}

@media print{
  body{background:#fff!important;color:#000!important}
  .tri-top,.tw-site-header,[data-tw-header],.lform,.cw-legal-foot,#cc-chat-widget{display:none!important}
  .legal{max-width:none;padding:0}
  .legal h1,.legal h2,.legal h3,.legal p,.legal li,.legal b,.legal strong,.legal-meta,.tbl td,.tbl th,.lcard p{color:#000!important}
  .legal a{color:#000!important}
  .note,.kids,.warn,.lcard,.toc,.officer,.tbl{background:#fff!important;border-color:#999!important}
  .tbl{overflow:visible}.tbl table{min-width:0}
  .legal-badge{color:#065f46;border-color:#065f46;background:#fff}
}
