/* ==========================================================================
   The Limitation Act, 1963 — AIBE 2026 Revision Hub
   Stylesheet
   Palette: light blue, green, saffron, violet, soft red accents
   ========================================================================== */

:root{
  --blue:    #2b6cb0;
  --blue-lt: #e7f1fb;
  --green:   #2f8f4e;
  --green-lt:#e6f6ec;
  --saffron: #e08a1e;
  --saffron-lt:#fdf1e0;
  --violet:  #7a4fd6;
  --violet-lt:#f0eafd;
  --red:     #d64545;
  --red-lt:  #fdeaea;
  --ink:     #1f2430;
  --ink-soft:#3a4150;
  --paper:   #f6f8fb;
  --card:    #ffffff;
  --line:    rgba(43,108,176,.18);
  --shadow:  0 8px 28px rgba(31,36,48,.10);
  --shadow-sm:0 3px 12px rgba(31,36,48,.08);
  --radius:  16px;
  --maxw:    1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3', system-ui, sans-serif;
  font-weight:600;
  color:var(--ink);
  background:
    radial-gradient(900px 500px at 85% -10%, var(--violet-lt), transparent 60%),
    radial-gradient(900px 500px at -10% 5%, var(--blue-lt), transparent 55%),
    var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Header ---------- */
.site-header{
  background:linear-gradient(135deg, #1d2a52 0%, #2b3e7a 45%, #3b5bdb 100%);
  color:#fff;
  padding:54px 20px 46px;
  position:relative;
  overflow:hidden;
  border-bottom:4px solid var(--saffron);
}
.site-header::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(600px 300px at 80% 120%, rgba(224,138,30,.35), transparent 60%);
  pointer-events:none;
}
.header-inner{max-width:var(--maxw);margin:0 auto;position:relative;z-index:1;}
.kicker{
  letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;
  font-weight:900;color:#ffd9a8;margin:0 0 8px;
}
.site-header h1{
  font-family:'Playfair Display', serif;
  font-weight:800;
  font-size:clamp(2.1rem,5.5vw,3.6rem);
  margin:0 0 10px;line-height:1.08;
  text-shadow:0 2px 18px rgba(0,0,0,.25);
}
.subtitle{margin:0 0 18px;font-size:clamp(1rem,2.4vw,1.18rem);color:#e8eefb;max-width:760px;font-weight:600;}
.header-badges{display:flex;flex-wrap:wrap;gap:10px;}
.badge{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.35);
  padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:700;backdrop-filter:blur(4px);
}

/* ---------- Sticky Nav ---------- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.nav-scroll{
  max-width:var(--maxw);margin:0 auto;
  display:flex;gap:8px;padding:10px 14px;
  overflow-x:auto;scrollbar-width:thin;
}
.navbtn{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;color:var(--ink-soft);
  font-family:inherit;font-weight:700;font-size:.92rem;
  padding:8px 15px;border-radius:999px;cursor:pointer;
  transition:all .18s ease;white-space:nowrap;
}
.navbtn:hover{background:var(--blue-lt);color:var(--blue);border-color:var(--blue);}
.navbtn.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 4px 12px rgba(43,108,176,.35);}
.print-btn{background:var(--saffron);color:#fff;border-color:var(--saffron);}
.print-btn:hover{background:#c5760f;color:#fff;border-color:#c5760f;}

/* ---------- Sections ---------- */
.section{padding:54px 20px;}
.section.alt{background:rgba(255,255,255,.55);}
.wrap{max-width:var(--maxw);margin:0 auto;}
.sec-title{
  font-family:'Playfair Display',serif;font-weight:800;
  font-size:clamp(1.6rem,4vw,2.3rem);color:var(--ink);
  margin:0 0 14px;padding-bottom:10px;
  border-bottom:3px solid;
  border-image:linear-gradient(90deg,var(--blue),var(--green),var(--saffron),var(--violet)) 1;
}
.lead{font-size:1.05rem;color:var(--ink-soft);max-width:820px;margin:0 0 26px;font-weight:600;}

/* ---------- Info cards grid ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.info-card{
  background:var(--card);border-radius:var(--radius);
  padding:22px 22px 16px;box-shadow:var(--shadow-sm);
  border-left:6px solid var(--blue);
}
.info-card h3{margin:0 0 10px;font-size:1.15rem;font-weight:900;color:var(--ink);}
.info-card ul{margin:0;padding-left:18px;}
.info-card li{margin-bottom:7px;font-weight:600;color:var(--ink-soft);}
.info-card.blue{border-left-color:var(--blue);}
.info-card.green{border-left-color:var(--green);}
.info-card.saffron{border-left-color:var(--saffron);}
.info-card.violet{border-left-color:var(--violet);}

.callout{
  margin:26px 0 6px;background:var(--saffron-lt);
  border:1px solid rgba(224,138,30,.4);border-left:6px solid var(--saffron);
  border-radius:12px;padding:16px 18px;font-weight:600;color:#7a4a08;
}

/* ---------- Jump rows ---------- */
.jump-row{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.jump-label{font-weight:900;color:var(--ink-soft);}
.jumpbtn{
  border:1px solid var(--violet);background:var(--violet-lt);color:var(--violet);
  font-family:inherit;font-weight:700;font-size:.88rem;
  padding:7px 14px;border-radius:999px;cursor:pointer;transition:all .18s;
}
.jumpbtn:hover{background:var(--violet);color:#fff;}

/* ---------- Accordion ---------- */
.accordion{display:flex;flex-direction:column;gap:12px;}
.acc-item{background:var(--card);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--line);}
.acc-head{
  width:100%;text-align:left;border:0;cursor:pointer;
  background:linear-gradient(90deg,#fff, #fbfdff);
  font-family:inherit;font-weight:900;font-size:1.08rem;color:var(--ink);
  padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;
  transition:background .18s;
}
.acc-head em{color:var(--blue);font-style:normal;font-weight:800;font-size:.92rem;}
.acc-head:hover{background:var(--blue-lt);}
.acc-item.open .acc-head{background:linear-gradient(90deg,var(--blue),#3b5bdb);color:#fff;}
.acc-item.open .acc-head em{color:#ffd9a8;}
.acc-icon{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;
  background:var(--blue-lt);color:var(--blue);
  display:grid;place-items:center;font-weight:900;font-size:1.2rem;transition:transform .2s;
}
.acc-item.open .acc-icon{background:rgba(255,255,255,.25);color:#fff;transform:rotate(45deg);}
.acc-body{
  max-height:0;overflow:hidden;
  transition:max-height .35s ease, padding .35s ease;
  padding:0 20px;color:var(--ink-soft);font-weight:600;
}
.acc-item.open .acc-body{padding:14px 20px 20px;}
.acc-body p{margin:0 0 12px;}
.acc-body strong{color:var(--ink);}

/* ---------- Tick lists ---------- */
ul.tick{list-style:none;margin:0 0 12px;padding:0;}
ul.tick li{position:relative;padding-left:26px;margin-bottom:9px;font-weight:600;}
ul.tick li::before{
  content:"✔";position:absolute;left:0;top:0;color:var(--green);font-weight:900;
}

/* ---------- Trap / Takeaway boxes ---------- */
.trap,.take{border-radius:10px;padding:12px 14px;margin:12px 0;font-weight:600;}
.trap{background:var(--red-lt);border-left:5px solid var(--red);color:#8a2020;}
.take{background:var(--green-lt);border-left:5px solid var(--green);color:#1c5e32;}

/* ---------- Tables ---------- */
.tbl-title{font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem;margin:30px 0 12px;color:var(--ink);}
.table-scroll{overflow-x:auto;border-radius:14px;box-shadow:var(--shadow-sm);border:1px solid var(--line);}
.data-table{width:100%;border-collapse:collapse;background:#fff;min-width:560px;}
.data-table th{
  background:linear-gradient(90deg,var(--blue),#3b5bdb);color:#fff;
  text-align:left;padding:13px 15px;font-weight:800;font-size:.95rem;
}
.data-table td{padding:12px 15px;border-top:1px solid var(--line);font-weight:600;color:var(--ink-soft);vertical-align:top;}
.data-table tbody tr:nth-child(even){background:#f7faff;}
.data-table tbody tr:hover{background:var(--violet-lt);}
.data-table td strong{color:var(--ink);}

/* ---------- SVG frames ---------- */
.svg-frame{
  background:#fff;border-radius:var(--radius);padding:18px;
  box-shadow:var(--shadow);border:1px solid var(--line);overflow-x:auto;
}
.svg-frame svg{width:100%;height:auto;display:block;}

/* Flowchart */
.fc-box{fill:#fff;stroke:var(--blue);stroke-width:2;}
.fc-box.start{fill:var(--blue);stroke:var(--blue);}
.fc-box.decision{fill:var(--violet-lt);stroke:var(--violet);}
.fc-box.ok{fill:var(--green-lt);stroke:var(--green);}
.fc-box.danger{fill:var(--red-lt);stroke:var(--red);}
.fc-text{fill:var(--ink);font-family:'Source Sans 3',sans-serif;font-weight:800;font-size:16px;text-anchor:middle;}
.fc-sub{fill:var(--ink-soft);font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:12px;text-anchor:middle;}
.fc-yn{fill:var(--saffron);font-family:'Source Sans 3',sans-serif;font-weight:900;font-size:13px;text-anchor:middle;}
.fc-line{stroke:#3b5bdb;stroke-width:2.4;fill:none;}
.fc-white{fill:#fff;}

/* Mind map */
.mm-link line{stroke:var(--violet);stroke-width:2.5;opacity:.5;}
.mm-center{fill:var(--violet);stroke:#5a36ad;stroke-width:3;}
.mm-ctext{fill:#fff;font-family:'Playfair Display',serif;font-weight:800;font-size:22px;text-anchor:middle;}
.mm-node{stroke-width:2.5;}
.mm-node.b1{fill:var(--blue-lt);stroke:var(--blue);}
.mm-node.b2{fill:var(--green-lt);stroke:var(--green);}
.mm-node.b3{fill:var(--saffron-lt);stroke:var(--saffron);}
.mm-node.b4{fill:var(--red-lt);stroke:var(--red);}
.mm-node.b5{fill:var(--violet-lt);stroke:var(--violet);}
.mm-node.b6{fill:#e9f7f9;stroke:#1d92a8;}
.mm-ntitle{fill:var(--ink);font-family:'Source Sans 3',sans-serif;font-weight:900;font-size:16px;text-anchor:middle;}
.mm-nsub{fill:var(--ink-soft);font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:12px;text-anchor:middle;}

/* Roadmap */
.rm-box{stroke-width:2.5;}
.rm-box.s1{fill:var(--blue-lt);stroke:var(--blue);}
.rm-box.s2{fill:var(--green-lt);stroke:var(--green);}
.rm-box.s3{fill:var(--saffron-lt);stroke:var(--saffron);}
.rm-box.s4{fill:var(--violet-lt);stroke:var(--violet);}
.rm-box.s5{fill:var(--red-lt);stroke:var(--red);}
.rm-box.s6{fill:#e9f7f9;stroke:#1d92a8;}
.rm-num{fill:var(--ink);font-family:'Playfair Display',serif;font-weight:800;font-size:30px;text-anchor:middle;opacity:.45;}
.rm-text{fill:var(--ink);font-family:'Source Sans 3',sans-serif;font-weight:900;font-size:15px;text-anchor:middle;}
.rm-sub{fill:var(--ink-soft);font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:12px;text-anchor:middle;}
.rm-line{stroke:#2f9e44;stroke-width:2.6;fill:none;}

/* ---------- Example boxes ---------- */
.ex-box{
  background:#fff;border-radius:14px;padding:18px 18px 16px;
  box-shadow:var(--shadow-sm);border-top:5px solid var(--blue);position:relative;
}
.ex-box h4{margin:8px 0 6px;font-size:1.05rem;font-weight:900;color:var(--ink);}
.ex-box p{margin:0;font-weight:600;color:var(--ink-soft);}
.ex-tag{
  display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;padding:3px 10px;border-radius:999px;color:#fff;
}
.ex-box.begin{border-top-color:var(--blue);}
.ex-box.begin .ex-tag{background:var(--blue);}
.ex-box.pause{border-top-color:var(--saffron);}
.ex-box.pause .ex-tag{background:var(--saffron);}
.ex-box.extend{border-top-color:var(--green);}
.ex-box.extend .ex-tag{background:var(--green);}
.ex-box.exclude{border-top-color:var(--violet);}
.ex-box.exclude .ex-tag{background:var(--violet);}

/* ---------- MCQ / Question lists ---------- */
.mcq-list,.q-list{counter-reset:item;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.mcq-list li,.q-list li{
  background:#fff;border-radius:12px;padding:15px 16px 15px 52px;position:relative;
  box-shadow:var(--shadow-sm);border:1px solid var(--line);font-weight:600;color:var(--ink-soft);
}
.mcq-list li::before,.q-list li::before{
  counter-increment:item;content:counter(item);
  position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:8px;
  background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.9rem;
}
.diff{display:inline-block;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 9px;border-radius:6px;margin-right:8px;vertical-align:middle;}
.diff.easy{background:var(--green-lt);color:var(--green);}
.diff.moderate{background:var(--saffron-lt);color:#b56a0c;}
.diff.hard{background:var(--red-lt);color:var(--red);}

/* ---------- Answer key ---------- */
.toggle-key{
  border:0;background:var(--green);color:#fff;font-family:inherit;font-weight:800;
  font-size:1rem;padding:12px 24px;border-radius:999px;cursor:pointer;
  box-shadow:0 4px 14px rgba(47,143,78,.4);transition:all .2s;margin-bottom:18px;
}
.toggle-key:hover{background:#26763f;}
.answer-key{
  background:#fff;border-radius:var(--radius);padding:8px 22px 22px;
  box-shadow:var(--shadow-sm);border:1px solid var(--line);
}
.key-list{padding-left:22px;}
.key-list li{margin-bottom:8px;font-weight:600;color:var(--ink-soft);}
.key-list li strong{color:var(--green);}

/* ---------- Revision cards ---------- */
.rev-card{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-sm);border-top:5px solid var(--blue);}
.rev-card:nth-child(2){border-top-color:var(--green);}
.rev-card:nth-child(3){border-top-color:var(--saffron);}
.rev-card:nth-child(4){border-top-color:var(--violet);}
.rev-card h4{margin:0 0 10px;font-size:1.1rem;font-weight:900;color:var(--ink);}

/* ---------- Disclaimer ---------- */
.disclaimer-sec{padding-top:20px;}
.disclaimer{
  background:var(--red-lt);border:1px solid rgba(214,69,69,.35);border-left:6px solid var(--red);
  border-radius:12px;padding:16px 18px;font-weight:600;color:#8a2020;
}
.brandline{text-align:center;margin:18px 0 0;color:var(--ink-soft);font-weight:700;}

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:var(--blue);color:#fff;font-size:1.4rem;font-weight:900;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s;
}
.to-top.show{opacity:1;pointer-events:auto;}
.to-top:hover{transform:translateY(-3px);background:#1d5a99;}

/* ---------- Responsive ---------- */
@media (max-width:720px){
  .grid-2{grid-template-columns:1fr;}
  .section{padding:40px 16px;}
  .site-header{padding:42px 18px 36px;}
}

/* ---------- Print ---------- */
@media print{
  .no-print,.topnav,.to-top,.toggle-key{display:none !important;}
  body{background:#fff;color:#000;}
  .site-header{background:#1d2a52 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .section,.section.alt{padding:18px 0;background:#fff !important;}
  .acc-body{max-height:none !important;padding:10px 16px !important;overflow:visible !important;}
  .acc-item{break-inside:avoid;}
  .answer-key{display:block !important;}
  .svg-frame,.info-card,.data-table,.ex-box,.rev-card,.mcq-list li,.q-list li{box-shadow:none;break-inside:avoid;}
  .info-card,.ex-box,.rev-card{border:1px solid #ccc;}
  a{color:#000;text-decoration:none;}
}