/* =========================================================
   AIBE 2026 — Indian Contract Act, 1872
   styles.css  ·  Editorial legal aesthetic, responsive + print
   ========================================================= */

:root{
  /* palette */
  --ink:#1c2434;
  --ink-soft:#3a4458;
  --paper:#faf6ee;
  --paper-2:#f3ecde;
  --card:#ffffff;
  --line:#e3dac6;

  --blue:#9f8fb0;
  --green:#1f9a9d;
  --saffron:#d9821f;
	--violet:#8b8e9e;
   --red:#c0102b;

  --blue-soft:#eaf2fa;
  --green-soft:#e7f4ec;
  --saffron-soft:#fbf0df;
  --violet-soft:#f0eafa;
  --red-soft:#fbecea;

  --shadow:0 10px 30px rgba(28,36,52,.08);
  --shadow-sm:0 4px 14px rgba(58,36,25,.07);
  --radius:14px;

  --serif:'Fraunces',Georgia,serif;
  --sans:'Source Sans 3',system-ui,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:120px;}
body{
  margin:0;
  font-family:var(--sans);
  font-weight:500;
  color:var(--ink);
  line-height:1.65;
  background:
    radial-gradient(circle at 12% 0%, var(--saffron-soft) 0, transparent 38%),
    radial-gradient(circle at 88% 8%, var(--blue-soft) 0, transparent 40%),
    var(--paper);
}

/* ---------- header ---------- */
.site-header{
  background:linear-gradient(135deg,#1c2434 0%,#28324a 10%,#33415f 50%);
  color:#fff;
  border-bottom:4px solid var(--saffron);
}
.header-inner{
  max-width:1120px;margin:0 auto;padding:30px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.brand{display:flex;gap:18px;align-items:flex-start;}
.brand-mark{
  font-family:var(--serif);font-weight:900;font-size:56px;line-height:1;
  color:var(--saffron);
}
.brand-kicker{
  margin:0 0 4px;text-transform:uppercase;letter-spacing:.18em;
  font-size:12px;font-weight:700;color:#c8d2e6;
}
.brand-title{
  font-family:var(--serif);font-weight:900;font-size:clamp(26px,4vw,42px);
  margin:0;line-height:1.05;letter-spacing:-.01em;
}
.brand-sub{margin:8px 0 0;font-size:14px;color:#b9c4da;font-weight:500;}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--sans);font-weight:700;cursor:pointer;border:none;
  border-radius:10px;padding:12px 20px;font-size:14px;transition:.18s;
}
.btn-print{background:var(--saffron);color:#241600;}
.btn-print:hover{background:#c0701a;transform:translateY(-1px);}
.btn-toggle{
  background:var(--violet);color:#fff;margin-top:6px;box-shadow:var(--shadow-sm);
}
.btn-toggle:hover{background:#5a4188;}

/* ---------- sticky nav ---------- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,238,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topnav-inner{
  max-width:1120px;margin:0 auto;padding:10px 16px;
  display:flex;gap:8px;overflow-x:auto;
}
.nav-link{
  flex:0 0 auto;background:transparent;border:1px solid transparent;
  font-family:var(--sans);font-weight:700;font-size:13.5px;color:var(--ink-soft);
  padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:.16s;
}
.nav-link:hover{background:var(--paper-2);color:var(--ink);}
.nav-link.active{background:var(--ink);color:#fff;}

/* ---------- layout ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:40px 24px 60px;}
.block{margin-bottom:64px;scroll-margin-top:110px;}
.eyebrow{
  text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;
  color:var(--saffron);margin:0 0 6px;
}
.block-title{
  font-family:var(--serif);font-weight:700;font-size:clamp(24px,3.2vw,34px);
  margin:0 0 14px;line-height:1.12;color:var(--ink);
}
.block-intro{font-size:16px;color:var(--ink-soft);max-width:760px;margin:0 0 24px;}
.mini-head{
  font-family:var(--serif);font-weight:700;font-size:21px;margin:32px 0 14px;color:var(--ink);
}

/* ---------- lead card ---------- */
.lead-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px;box-shadow:var(--shadow);border-left:6px solid var(--blue);
}
.quick-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;margin:24px 0;
}
.quick-item{
  background:var(--paper-2);border-radius:10px;padding:14px 16px;display:flex;
  flex-direction:column;gap:2px;border:1px solid var(--line);
}
.qi-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700;}
.qi-val{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--ink);}

.clean-list{margin:8px 0 0;padding-left:22px;}
.clean-list li{margin:9px 0;}

/* ---------- callouts ---------- */
.callout{border-radius:10px;padding:13px 16px;margin:16px 0;font-size:14.5px;border:1px solid;}
.callout-tip{background:var(--blue-soft);border-color:#cfe0f1;}
.callout-ex{background:var(--green-soft);border-color:#cce8d6;}
.callout-trap{background:var(--red-soft);border-color:#f1cfca;}
.takeaway{
  background:var(--saffron-soft);border-left:4px solid var(--saffron);
  padding:12px 16px;border-radius:0 10px 10px 0;margin:16px 0 0;font-size:14.5px;
}

/* ---------- accordion ---------- */
.accordion{display:flex;flex-direction:column;gap:14px;}
.acc-item{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);border-left:6px solid var(--blue);
}
.acc-item[data-accent="blue"]{border-left-color:var(--blue);}
.acc-item[data-accent="green"]{border-left-color:var(--green);}
.acc-item[data-accent="saffron"]{border-left-color:var(--saffron);}
.acc-item[data-accent="violet"]{border-left-color:var(--violet);}
.acc-item[data-accent="red"]{border-left-color:var(--red);}

.acc-head{
  width:100%;display:flex;align-items:center;gap:16px;text-align:left;
  background:transparent;border:none;cursor:pointer;padding:20px 22px;
  font-family:var(--sans);transition:background .15s;
}
.acc-head:hover{background:var(--paper-2);}
.acc-num{
  font-family:var(--serif);font-weight:900;font-size:20px;color:var(--ink-soft);
  min-width:32px;
}
.acc-title{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink);flex:1;line-height:1.25;}
.acc-sec{
  font-size:12.5px;font-weight:700;color:#fff;background:var(--ink-soft);
  padding:4px 10px;border-radius:999px;white-space:nowrap;
}
.acc-icon{
  font-family:var(--serif);font-weight:700;font-size:24px;color:var(--saffron);
  min-width:24px;text-align:center;transition:transform .2s;
}
.acc-item.open .acc-icon{transform:rotate(45deg);}
.acc-body{
  padding:0 22px;max-height:0;overflow:hidden;
  transition:max-height .35s ease,padding .35s ease;
}
.acc-item.open .acc-body{padding:4px 22px 24px;max-height:4000px;}
.acc-body p:first-child{margin-top:0;}

/* ---------- flowchart ---------- */
.flowchart{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 24px;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.flow-node{
  background:var(--paper-2);border:2px solid var(--line);border-radius:10px;
  padding:12px 22px;text-align:center;font-weight:700;font-size:15px;min-width:240px;
}
.flow-node span{display:block;font-weight:600;font-size:12.5px;color:var(--ink-soft);margin-top:3px;}
.fn-start{background:var(--blue-soft);border-color:var(--blue);}
.fn-accent{background:var(--violet-soft);border-color:var(--violet);}
.flow-arrow{color:var(--saffron);font-size:20px;font-weight:700;line-height:1;}
.flow-decision{
  background:var(--saffron-soft);border:2px solid var(--saffron);border-radius:10px;
  padding:14px 22px;text-align:center;font-weight:700;font-size:15px;max-width:420px;
}
.flow-decision span{display:block;font-weight:600;font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.flow-branch{display:flex;gap:48px;margin-top:4px;flex-wrap:wrap;justify-content:center;}
.branch-col{display:flex;flex-direction:column;align-items:center;gap:2px;}
.fn-good{background:var(--green-soft);border-color:var(--green);}
.fn-bad{background:var(--red-soft);border-color:var(--red);}

/* ---------- mind map ---------- */
.mindmap{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 24px;box-shadow:var(--shadow-sm);
}
.mm-center{
  font-family:var(--serif);font-weight:900;font-size:22px;color:#fff;
  background:linear-gradient(135deg,var(--ink),#33415f);
  text-align:center;padding:16px;border-radius:12px;margin-bottom:22px;
  border-bottom:4px solid var(--saffron);
}
.mm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;}
.mm-branch{border-radius:10px;padding:14px 16px;border:1px solid var(--line);border-top:4px solid;}
.mm-branch h4{margin:0 0 6px;font-family:var(--serif);font-size:16px;}
.mm-branch p{margin:0;font-size:13.5px;color:var(--ink-soft);}
.b-blue{background:var(--blue-soft);border-top-color:var(--blue);}
.b-green{background:var(--green-soft);border-top-color:var(--green);}
.b-saffron{background:var(--saffron-soft);border-top-color:var(--saffron);}
.b-violet{background:var(--violet-soft);border-top-color:var(--violet);}
.b-red{background:var(--red-soft);border-top-color:var(--red);}

/* ---------- tables ---------- */
.table-scroll{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;}
.data-table{width:100%;border-collapse:collapse;background:var(--card);min-width:560px;}
.data-table th{
  background:var(--ink);color:#fff;font-family:var(--sans);font-weight:700;
  text-align:left;padding:13px 16px;font-size:14px;
}
.data-table td{padding:12px 16px;border-top:1px solid var(--line);font-size:14px;vertical-align:top;}
.data-table tbody tr:nth-child(even){background:var(--paper-2);}

/* ---------- difficulty tags ---------- */
.diff{
  display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;padding:2px 9px;border-radius:999px;margin-right:6px;
}
.diff.easy{background:var(--green-soft);color:var(--green);border:1px solid #cce8d6;}
.diff.mod{background:var(--saffron-soft);color:#a8631a;border:1px solid #f0d9b3;}
.diff.hard{background:var(--red-soft);color:var(--red);border:1px solid #f1cfca;}

/* ---------- MCQ + QA ---------- */
.mcq-list{list-style:none;counter-reset:none;padding:0;display:grid;gap:16px;}
.mcq{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:18px 20px;box-shadow:var(--shadow-sm);border-left:5px solid var(--blue);
}
.mcq p{margin:0 0 10px;font-weight:700;}
.mcq ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.mcq ul li{
  background:var(--paper-2);border-radius:8px;padding:8px 12px;font-weight:500;font-size:14.5px;
}
.qa-list{padding-left:22px;display:grid;gap:11px;}
.qa-list li{font-size:15.5px;}

/* ---------- answer key ---------- */
.answer-wrap{
  margin-top:20px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);
  border-left:6px solid var(--green);
}
.ans-list{padding-left:22px;display:grid;gap:9px;}
.ans-list li{font-size:14.5px;}

/* ---------- roadmap ---------- */
.roadmap{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;box-shadow:var(--shadow-sm);
}
.rm-step{display:flex;gap:18px;align-items:flex-start;}
.rm-num{
  font-family:var(--serif);font-weight:900;font-size:20px;color:#fff;
  background:var(--violet);min-width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.rm-step h4{margin:6px 0 4px;font-family:var(--serif);font-size:18px;}
.rm-step p{margin:0;color:var(--ink-soft);font-size:14.5px;}
.rm-line{width:2px;height:24px;background:var(--line);margin-left:20px;}

/* ---------- revision grid ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.rev-card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:16px;box-shadow:var(--shadow-sm);border-top:4px solid var(--saffron);
}
.rev-sec{
  display:inline-block;font-family:var(--serif);font-weight:900;font-size:16px;
  color:var(--blue);margin-bottom:6px;
}
.rev-card p{margin:0;font-size:14px;color:var(--ink-soft);}

/* ---------- disclaimer + footer ---------- */
.disclaimer{
  background:var(--red-soft);border:1px solid #f1cfca;border-radius:var(--radius);
  padding:20px 24px;font-size:14px;color:#7a2a20;
}
.disclaimer p{margin:0;}
.site-footer{
  background:var(--ink);color:#c8d2e6;text-align:center;padding:26px 20px;
  display:flex;flex-direction:column;gap:12px;align-items:center;font-size:14px;
}
.to-top{
  background:var(--saffron);color:#241600;border:none;border-radius:999px;
  padding:9px 20px;font-weight:700;cursor:pointer;font-family:var(--sans);
}
.to-top:hover{background:#c0701a;}

/* ---------- responsive ---------- */
@media (max-width:640px){
  .header-inner{flex-direction:column;align-items:flex-start;}
  .acc-head{flex-wrap:wrap;gap:10px;padding:16px;}
  .acc-sec{order:3;}
  .flow-branch{gap:20px;}
  .rm-line{margin-left:20px;}
  .lead-card,.flowchart,.mindmap,.roadmap,.answer-wrap{padding:20px;}
}

/* ---------- print ---------- */
@media print{
  body{background:#fff;color:#000;}
  .topnav,.header-actions,.btn,.to-top,.site-footer .to-top{display:none !important;}
  .site-header{background:#fff;color:#000;border-bottom:2px solid #000;}
  .brand-mark{color:#000;}
  .brand-kicker,.brand-sub{color:#333;}
  .acc-body{max-height:none !important;padding:4px 22px 18px !important;overflow:visible !important;}
  .acc-icon{display:none;}
  .answer-wrap{display:block !important;}
  .block{margin-bottom:28px;page-break-inside:avoid;}
  .acc-item,.mcq,.rev-card,.flow-node,.mm-branch,.lead-card{box-shadow:none;}
  .nav-link{display:none;}
  a{color:#000;}
}