/*
Theme Name: Infopaisa
Theme URI: https://Infopaisa.com
Author: Infopaisa team
Author URI: https://Infopaisa.com
Description: Full-width mobile-first Indian finance theme with dark/light mode, Elementor + Web Stories support, calculators and comparison tables.
Version: 1.0.0
Text Domain: infopaisa
*/

/* CSS VARIABLES – DARK DEFAULT */
:root{
  --ip-bg:#0f172a;
  --ip-text:#e5e7eb;
  --ip-heading:#f9fafb;
  --ip-link:#38bdf8;
  --ip-button:#38bdf8;
  --ip-font-size:16px;
}

/* LIGHT THEME OVERRIDES (APPLY WHEN <html data-theme="light">) */
:root[data-theme="light"]{
  --ip-bg:#f9fafb;
  --ip-text:#111827;
  --ip-heading:#020617;
  --ip-link:#2563eb;
  --ip-button:#2563eb;
}

/* RESET */
*,
*::before,
*::after{
  box-sizing:border-box;
}

/* BODY */
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--ip-bg);
  color:var(--ip-text);
  font-size:var(--ip-font-size);
  line-height:1.7;
}

/* HEADINGS */
h1,h2,h3,h4,h5,h6{
  color:var(--ip-heading);
  margin-top:0;
  margin-bottom:12px;
  line-height:1.3;
}
h1{font-size:2rem;}
h2{font-size:1.6rem;}
h3{font-size:1.3rem;}

/* LINKS */
a{
  color:var(--ip-link);
  text-decoration:none;
}
a:hover{
  text-decoration:underline;
}

/* BUTTONS */
.btn,
button,
input[type=submit]{
  background:var(--ip-button);
  color:#020617;
  border:0;
  padding:10px 20px;
  border-radius:999px;
  font-weight:600;
  cursor:pointer;
  transition:opacity .15s ease, transform .1s ease;
}
.btn:hover,
button:hover,
input[type=submit]:hover{
  opacity:.9;
  transform:translateY(-1px);
}

/* THEME TOGGLE BUTTON (USED IN ELEMENTOR HEADER) */
.ip-theme-toggle{
  font-size:13px;
  padding:6px 12px;
  border-radius:999px;
  background:transparent;
  border:1px solid rgba(148,163,184,.6);
  color:var(--ip-text);
  cursor:pointer;
}
.ip-theme-toggle:hover{
  background:rgba(148,163,184,.08);
}

/* FULL WIDTH */
main,header,footer{
  width:100%;
}

/* ELEMENTOR SAFE */
.elementor *{box-sizing:border-box}

/* CONTAINER FOR NON-ELEMENTOR PAGES (BLOG, ARCHIVE, ETC.) */
.ip-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:16px;
}

.ip-article{
  margin-bottom:24px;
}

.ip-meta{
  font-size:11px;
  opacity:.8;
  margin-bottom:6px;
}

/* CALCULATORS */
.ip-calculator{
  background:rgba(15,23,42,.9);
  border-radius:12px;
  padding:16px;
  margin:20px 0;
  border:1px solid rgba(30,64,175,.4);
}
:root[data-theme="light"] .ip-calculator{
  background:#ffffff;
  border-color:#e5e7eb;
}
.ip-calculator h3{
  margin-bottom:8px;
}
.ip-calculator label{
  display:block;
  margin-top:8px;
}
.ip-calculator input{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid #1e293b;
  background:#020617;
  color:#f9fafb;
}
:root[data-theme="light"] .ip-calculator input{
  background:#f3f4f6;
  border-color:#d1d5db;
  color:#111827;
}

.ip-emi-result,
.ip-sip-result,
.ip-fd-result{
  margin-top:10px;
  font-size:14px;
}

/* COMPARISON TABLE */
.ip-comparison{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  margin:20px 0;
}
.ip-comparison th,
.ip-comparison td{
  padding:12px;
  border-bottom:1px solid #1f2937;
}
.ip-comparison th{
  text-align:left;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.8;
}
:root[data-theme="light"] .ip-comparison th,
:root[data-theme="light"] .ip-comparison td{
  border-bottom:1px solid #e5e7eb;
}

/* LEAD FORM */
.ip-lead-form input,
.ip-lead-form textarea{
  width:100%;
  padding:10px;
  margin-bottom:10px;
  background:#020617;
  border:1px solid #1e293b;
  color:#f9fafb;
  border-radius:8px;
}
:root[data-theme="light"] .ip-lead-form input,
:root[data-theme="light"] .ip-lead-form textarea{
  background:#f9fafb;
  border-color:#d1d5db;
  color:#111827;
}
.ip-lead-success{
  background:#022c22;
  padding:12px;
  border-radius:8px;
  color:#bbf7d0;
  margin-bottom:10px;
}

/* 404 / SIMPLE TEXT ALIGN */
.text-center{text-align:center;}

/* RESPONSIVE */
@media(max-width:768px){
  h1{font-size:1.6rem;}
  h2{font-size:1.3rem;}
  h3{font-size:1.1rem;}
  .ip-container{padding:12px;}
}
