/*
 * themes/pastel.css – IPOGaze Pastel Pop Theme
 * DEFAULT THEME
 *
 * Colors: Lavender / Mint / Peach pastels
 * Fonts:  Nunito (heading) · Outfit (body) · JetBrains Mono (mono)
 */

@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700&family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap');

:root {
  /* ── COLOR PALETTE ──────────────────────────────────────── */
  --bg:          #FDFAFF;
  --white:       #FFFFFF;
  --gray:        #6B7280;
  --gray-lt:     #F9FAFB;
  --gray-border: #E5E7EB;

  --text:        #1F1235;
  --text-md:     #4B5563;
  --text-lt:     #9CA3AF;

  /* Primary – Lavender */
  --primary:     #C4B5FD;
  --primary-lt:  #F5F3FF;
  --primary-md:  #EDE9FE;
  --primary-dk:  #7C3AED;
  /* aliases */
  --lav:         #C4B5FD;
  --lav-lt:      #F5F3FF;
  --lav-md:      #EDE9FE;
  --lav-dk:      #7C3AED;

  /* Secondary – Mint */
  --secondary:   #6EE7B7;
  --secondary-lt:#ECFDF5;
  --secondary-dk:#059669;
  --mint:        #6EE7B7;
  --mint-lt:     #ECFDF5;
  --mint-dk:     #059669;

  /* Accent – Peach/Red */
  --peach:       #FCA5A5;
  --peach-lt:    #FEF2F2;
  --peach-dk:    #EF4444;

  /* Sky / Blue */
  --sky:         #93C5FD;
  --sky-lt:      #EFF6FF;
  --sky-dk:      #1D4ED8;

  /* Yellow / Amber */
  --yellow:      #FDE68A;
  --yellow-lt:   #FFFBEB;
  --yellow-dk:   #D97706;

  /* Pink */
  --pink:        #F9A8D4;
  --pink-dk:     #DB2777;

  /* ── COMPONENT TOKENS ───────────────────────────────────── */
  --radius-card: 20px;
  --radius-pill: 20px;
  --border-width: 1.5px;
  --border-color: var(--gray-border);
  --shadow-card:  0 2px 12px rgba(0,0,0,0.04);
  --shadow-hover: 0 8px 28px rgba(0,0,0,0.10);

  /* ── TYPOGRAPHY ─────────────────────────────────────────── */
  --font-heading: 'Nunito', sans-serif;
  --font-body:    'Outfit', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
}

/* ── BASE ────────────────────────────────────────────────── */
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
}

/* ── FONT ASSIGNMENTS ────────────────────────────────────── */
.logo-name, .logo-mark, .hero-title, .sec-title, .footer-logo,
.hnum, .gmp-price, .up-day, .ks-val, .co-name, .card-title,
.gstat-val, .so-val, .rs-num, .btn-primary, .btn-outline,
.apply-widget .aw-title, .scard-head, .it-val, .lot-count,
.fin-chart, .footer-col-title, .tabs-inner .tab { font-family: var(--font-heading); }

.num, .gmp-est, .up-mon, .footer-copy, .kd-val, .qs-val.mono,
.aw-val.mono, .lot-info, .gstat-sub, .sub-n, .so-sub { font-family: var(--font-mono); }

/* ── STRIP ───────────────────────────────────────────────── */
.strip {
  background: linear-gradient(90deg, var(--lav), var(--pink), var(--mint), var(--sky), var(--lav));
  color: white;
}

/* ── NAV ─────────────────────────────────────────────────── */
.nav {
  background: rgba(255,255,255,0.85);
  border-bottom: 1.5px solid var(--gray-border);
}
.logo-mark { background: linear-gradient(135deg, var(--lav), var(--pink)); color: #fff; }
.logo-name {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.nav-links a { color: var(--text-md); }
.nav-links a:hover, .nav-links a.active { background: var(--lav-md); color: var(--lav-dk); }
.lpill {
  background: linear-gradient(135deg, var(--lav-md), var(--mint-lt));
  border: 1.5px solid var(--lav);
  color: var(--lav-dk);
}
.ldot { background: var(--mint-dk); }

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  background: linear-gradient(160deg, #FDF4FF 0%, #F0FFFE 40%, #FFF5F7 70%, #F5F0FF 100%);
  border-bottom-color: var(--gray-border);
}
.blob1 { background: radial-gradient(circle, rgba(196,181,253,0.25) 0%, transparent 70%); }
.blob2 { background: radial-gradient(circle, rgba(110,231,183,0.20) 0%, transparent 70%); }
.hero-emoji-tag {
  background: var(--white);
  border-color: var(--lav);
  color: var(--lav-dk);
  box-shadow: 0 2px 12px rgba(196,181,253,0.2);
}
.hero-title .grad {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk), #F59E0B);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.hero-sub { color: var(--text-md); }
.hstat { background: var(--white); border-color: var(--gray-border); box-shadow: var(--shadow-card); }
.hlabel { color: var(--text-lt); }

/* Float cards */
.fc { background: var(--white); border-color: var(--gray-border); box-shadow: 0 4px 20px rgba(0,0,0,0.06); }
.fc:hover { box-shadow: var(--shadow-hover); }
.fc-name { color: var(--text); }
.fc-sub { color: var(--text-lt); }
.pos { color: var(--mint-dk); }
.neg { color: var(--peach-dk); }
.muted { color: var(--text-lt); }

/* ── SECTION ─────────────────────────────────────────────── */
.section-alt {
  background: linear-gradient(180deg, #F8F5FF 0%, #F5FFFC 100%);
  border-top-color: var(--gray-border);
  border-bottom-color: var(--gray-border);
}
.sec-title .grad {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.view-all { color: var(--lav-dk); background: var(--lav-md); }
.view-all:hover { background: var(--lav-dk); color: #fff; }

/* Filter tabs */
.ftab { border-color: var(--gray-border); color: var(--text-md); background: var(--white); }
.ftab:hover { border-color: var(--lav); color: var(--lav-dk); background: var(--lav-md); }
.ftab.active { background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk)); color: #fff; border-color: transparent; }

/* ── TABLE ───────────────────────────────────────────────── */
.table-wrap { border-color: var(--gray-border); background: var(--white); box-shadow: 0 4px 24px rgba(0,0,0,0.05); }
thead tr { background: linear-gradient(90deg, var(--lav-lt), var(--mint-lt)); border-bottom-color: var(--gray-border); }
th { color: var(--text-md); }
td { color: var(--text-md); border-bottom-color: var(--gray-border); }
tbody tr:hover td { background: var(--lav-lt); }
tbody tr.row-open td { background: linear-gradient(90deg, rgba(196,181,253,0.05), rgba(110,231,183,0.05)); }
.co-name { color: var(--text); }
.co-name a:hover { color: var(--lav-dk); text-decoration: underline; }
.co-sub { color: var(--text-lt); }
.b-open { background: var(--mint-lt); color: var(--mint-dk); }
.b-up   { background: var(--yellow-lt); color: var(--yellow-dk); }
.b-list { background: var(--sky-lt); color: var(--sky-dk); }
.sub-bg { background: var(--gray-border); }
.sl { background: linear-gradient(90deg, var(--lav), var(--mint)); }
.sg { background: var(--mint); }
.sr { background: var(--peach); }
.act-btn { background: var(--lav-md); color: var(--lav-dk); }
.act-btn:hover { background: var(--lav-dk); color: #fff; }
.pill-lav    { background: var(--lav-md); color: var(--lav-dk); }
.pill-mint   { background: var(--mint-lt); color: var(--mint-dk); }
.pill-peach  { background: var(--peach-lt); color: var(--peach-dk); }
.pill-sky    { background: var(--sky-lt); color: var(--sky-dk); }
.pill-yellow { background: var(--yellow-lt); color: var(--yellow-dk); }

/* ── GMP GRID ────────────────────────────────────────────── */
.gmp-card { background: var(--white); border-color: var(--gray-border); box-shadow: var(--shadow-card); }
.gmp-card:hover { box-shadow: var(--shadow-hover); }
.gmp-name { color: var(--text); }
.gmp-est { color: var(--text-lt); }
.gmp-foot { border-top-color: var(--gray-border); }
.pct-pos { background: var(--mint-lt); color: var(--mint-dk); }
.pct-neg { background: var(--peach-lt); color: var(--peach-dk); }

/* ── UPCOMING LIST ───────────────────────────────────────── */
.up-item { background: var(--white); border-color: var(--gray-border); box-shadow: 0 2px 10px rgba(0,0,0,0.04); }
.up-item:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.08); }
.up-day {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.up-mon { color: var(--text-lt); }
.up-vline { background: var(--gray-border); }
.up-name { color: var(--text); }
.up-meta { color: var(--text-lt); }
.up-price { color: var(--text); }
.up-size { color: var(--text-lt); }

/* ── LISTED GRID ─────────────────────────────────────────── */
.l-card { background: var(--white); border-color: var(--gray-border); box-shadow: 0 2px 10px rgba(0,0,0,0.04); }
.l-card:hover { box-shadow: 0 6px 22px rgba(0,0,0,0.08); }
.l-name { color: var(--text); }
.l-label { color: var(--text-lt); }
.l-val { color: var(--text-md); }
.gt-pos  { background: var(--mint-lt); color: var(--mint-dk); }
.gt-neg  { background: var(--peach-lt); color: var(--peach-dk); }
.gt-flat { background: var(--gray-lt); color: var(--text-lt); }

/* ── AD SLOT ─────────────────────────────────────────────── */
.ad-slot { background: var(--gray-lt); border-color: var(--gray-border); color: var(--text-lt); }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer { background: linear-gradient(160deg, #1F1235 0%, #2D1B4E 60%, #1A2840 100%); color: rgba(255,255,255,0.75); }
.footer-top { border-bottom-color: rgba(255,255,255,0.08); }
.footer-logo {
  background: linear-gradient(135deg, var(--lav), var(--pink));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.footer-desc { color: rgba(255,255,255,0.45); }
.footer-col-title { color: rgba(255,255,255,0.35); }
.footer-links a { color: rgba(255,255,255,0.55); }
.footer-links a:hover { color: var(--lav); }
.disclaimer { color: rgba(255,255,255,0.30); }
.footer-copy { color: rgba(255,255,255,0.25); }

/* ── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb { background: var(--white); border-bottom-color: var(--gray-border); }
.bc-inner { color: var(--text-lt); }
.bc-sep { color: var(--gray-border); }
.bc-link { color: var(--lav-dk); }
.bc-cur { color: var(--text-md); }

/* ── COMPANY HERO ────────────────────────────────────────── */
.co-hero { background: linear-gradient(160deg, #FDF4FF 0%, #F0FFFE 50%, #FFF5F7 100%); border-bottom-color: var(--gray-border); }
.co-avatar { background: linear-gradient(135deg, var(--sky), var(--lav)); color: #fff; box-shadow: 0 6px 20px rgba(147,197,253,0.4); }
.co-name { color: var(--text); }
.tag-open  { background: var(--mint-lt); color: var(--mint-dk); border-color: var(--mint); }
.tag-main  { background: var(--lav-md); color: var(--lav-dk); }
.tag-nse   { background: var(--sky-lt); color: var(--sky-dk); }
.tag-bse   { background: var(--yellow-lt); color: var(--yellow-dk); }
.tag-fresh { background: var(--peach-lt); color: var(--peach-dk); }
.co-desc-short { color: var(--text-md); }
.btn-primary {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk));
  color: #fff;
  box-shadow: 0 4px 16px rgba(124,58,237,0.3);
}
.btn-primary:hover { box-shadow: 0 8px 24px rgba(124,58,237,0.4); }
.btn-outline { background: var(--white); color: var(--lav-dk); border-color: var(--lav); }
.btn-outline:hover { background: var(--lav-md); }
.btn-watch { background: var(--white); color: var(--text-md); border-color: var(--gray-border); }
.btn-watch:hover { border-color: var(--pink); color: var(--pink-dk); }
.key-stats { border-top-color: var(--gray-border); }
.ks { border-right-color: var(--gray-border); }
.ks-label { color: var(--text-lt); }
.ks-sub { color: var(--text-lt); }

/* ── TABS ────────────────────────────────────────────────── */
.tabs-bar { background: var(--white); border-bottom-color: var(--gray-border); }
.tab { color: var(--text-lt); }
.tab:hover { color: var(--text-md); }
.tab.active { color: var(--lav-dk); border-bottom-color: var(--lav-dk); }

/* ── CARD ────────────────────────────────────────────────── */
.card { background: var(--white); border-color: var(--gray-border); box-shadow: var(--shadow-card); }
.card-head { border-bottom-color: var(--gray-border); }
.card-title { color: var(--text); }
.ci-lav    { background: var(--lav-md); }
.ci-mint   { background: var(--mint-lt); }
.ci-yellow { background: var(--yellow-lt); }
.ci-pink   { background: var(--peach-lt); }
.ci-sky    { background: var(--sky-lt); }

/* GMP stat cards */
.gmp-stat        { background: var(--lav-lt); border-color: var(--lav-md); }
.gmp-stat.green  { background: var(--mint-lt); border-color: var(--mint); }
.gmp-stat.yellow { background: var(--yellow-lt); border-color: var(--yellow); }
.gstat-lbl { color: var(--text-lt); }
.gstat-sub { color: var(--text-lt); }

/* Chart */
.chart-area { border-color: var(--gray-border); background: linear-gradient(180deg, rgba(196,181,253,0.05) 0%, transparent 100%); }
.chart-title { color: var(--text-md); }
.cpill { border-color: var(--gray-border); color: var(--text-lt); background: transparent; }
.cpill.active { background: var(--lav-md); color: var(--lav-dk); border-color: var(--lav); }

/* Subscription */
.sub-overview {}
.so-qib { background: var(--lav-md); }
.so-nii { background: var(--mint-lt); }
.so-ret { background: var(--yellow-lt); }
.so-lbl { color: var(--text-md); }
.so-sub { color: var(--text-lt); }
table.sub-table thead tr { background: var(--gray-lt); border-bottom-color: var(--gray-border); }
table.sub-table th { color: var(--text-lt); }
table.sub-table td { color: var(--text-md); border-bottom-color: var(--gray-border); }
table.sub-table tbody tr:hover td { background: var(--lav-lt); }
.sub-bar-bg { background: var(--gray-border); }
.sb-lav { background: linear-gradient(90deg, var(--lav), var(--lav-dk)); }
.sb-mint { background: var(--mint); }
.sb-yellow { background: linear-gradient(90deg, var(--yellow), var(--yellow-dk)); }

/* Financials */
.fin-yr-label { color: var(--text-lt); }
.fl-item { color: var(--text-md); }
.fl-lav  { background: var(--lav-dk); }
.fl-mint { background: var(--mint-dk); }
.fb-rev  { background: linear-gradient(180deg, var(--lav), var(--lav-dk)); }
.fb-pat  { background: linear-gradient(180deg, var(--mint), var(--mint-dk)); }
table.fin-table thead tr { background: var(--gray-lt); }
table.fin-table th { color: var(--text-lt); border-bottom-color: var(--gray-border); }
table.fin-table td { border-bottom-color: var(--gray-border); }
table.fin-table tbody tr:hover td { background: var(--mint-lt); }
table.fin-table .metric { color: var(--text-md); }
.up-green { color: var(--mint-dk); }
.up-red   { color: var(--peach-dk); }

/* About */
.about-item { background: var(--gray-lt); }
.ai-label { color: var(--text-lt); }
.ai-val { color: var(--text); }
.about-desc { color: var(--text-md); }
.pc-pros { background: var(--mint-lt); border-color: var(--mint); }
.pc-cons { background: var(--peach-lt); border-color: var(--peach); }
.pc-pros .pc-title { color: var(--mint-dk); }
.pc-cons .pc-title { color: var(--peach-dk); }
.pc-list li { color: var(--text-md); }
.pc-pros li::before { content: '✓'; background: var(--mint); color: #fff; }
.pc-cons li::before { content: '!'; background: var(--peach); color: #fff; }

/* Review */
.review-score { background: linear-gradient(135deg, var(--lav-lt), var(--mint-lt)); }
.rs-num {
  background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.rs-label { color: var(--text-lt); }
.rs-name { color: var(--text-md); }
.rs-bg { background: var(--gray-border); }
.rs-fill { background: linear-gradient(90deg, var(--lav), var(--mint)); }
.rs-val { color: var(--text-md); }
.rs-rec-label { color: var(--text-lt); }
.rs-rec-val { background: linear-gradient(135deg, var(--mint), var(--mint-dk)); color: #fff; }
.analyst-card { border-color: var(--gray-border); background: var(--white); }
.ac-name { color: var(--text); }
.ac-org  { color: var(--text-lt); }
.ac-text { color: var(--text-md); }
.acb-sub     { background: var(--mint-lt); color: var(--mint-dk); }
.acb-avoid   { background: var(--peach-lt); color: var(--peach-dk); }
.acb-neutral { background: var(--yellow-lt); color: var(--yellow-dk); }

/* Allotment Timeline */
.allot-timeline::before { background: linear-gradient(to bottom, var(--mint), var(--lav), var(--pink)); }
.at-dot.done    { background: var(--mint); color: #fff; }
.at-dot.active  { background: linear-gradient(135deg, var(--lav-dk), var(--pink-dk)); color: #fff; box-shadow: 0 0 0 4px var(--lav-md); }
.at-dot.pending { background: var(--gray-border); color: var(--text-lt); }
.at-date { color: var(--text-lt); }
.at-name { color: var(--text); }
.at-sub  { color: var(--text-lt); }
.listing-result { background: linear-gradient(135deg, var(--mint-lt), var(--lav-lt)); border-color: var(--mint); }
.lr-title { color: var(--mint-dk); }
.lr-item { background: var(--white); }
.lr-label { color: var(--text-lt); }

/* ── SIDEBAR ─────────────────────────────────────────────── */
.scard { background: var(--white); border-color: var(--gray-border); box-shadow: var(--shadow-card); }
.scard-head { border-bottom-color: var(--gray-border); color: var(--text); }
.apply-widget { background: linear-gradient(135deg, var(--lav-lt), var(--mint-lt)); border-color: var(--lav); }
.aw-title { color: var(--text); }
.aw-row { border-bottom-color: rgba(196,181,253,0.3); }
.aw-label { color: var(--text-lt); }
.aw-val { color: var(--text); }
.calc-row { background: var(--white); }
.calc-label { color: var(--text-lt); }
.lot-btn { background: var(--lav-md); color: var(--lav-dk); }
.lot-btn:hover { background: var(--lav-dk); color: #fff; }
.lot-count { color: var(--text); }
.lot-info { color: var(--text-lt); }
.invest-total { background: linear-gradient(135deg, var(--lav-md), var(--mint-lt)); }
.it-label { color: var(--text-lt); }
.it-val { color: var(--lav-dk); }
.kd-item { border-bottom-color: var(--gray-border); }
.kd-label { color: var(--text-lt); }
.kd-val { color: var(--text); }
.kd-done    { color: var(--mint-dk); }
.kd-active  { color: var(--lav-dk); font-weight: 700; }
.kd-pending { color: var(--text-lt); }
.qs-item { background: var(--gray-lt); }
.qs-label { color: var(--text-lt); }
.qs-val { color: var(--text); }
.ri-item { border-bottom-color: var(--gray-border); }
.ri-label { color: var(--text-lt); }
.ri-val { color: var(--text); }
.ri-val a { color: var(--lav-dk); }

/* ── STATIC PAGES ────────────────────────────────────────── */
.static-page-title { color: var(--text); }
.static-page-subtitle { color: var(--text-md); }
.static-page-body { color: var(--text-md); }
.static-page-body h2 { color: var(--text); }
.static-page-body h3 { color: var(--text); }
.static-page-body a { color: var(--lav-dk); }
.static-page-body .policy-card { background: var(--lav-lt); border-color: var(--lav-md); }
.static-page-body .info-box { background: var(--yellow-lt); border-color: var(--yellow); color: var(--yellow-dk); }
.static-page-body .info-box.mint { background: var(--mint-lt); border-color: var(--mint); color: var(--mint-dk); }
.static-page-body .info-box.peach { background: var(--peach-lt); border-color: var(--peach); color: var(--peach-dk); }
.static-page-body .step-list li { border-bottom-color: var(--gray-border); }
.static-page-body .step-num { background: var(--lav-md); color: var(--lav-dk); }
.static-page-body .dos-card { background: var(--mint-lt); border-color: var(--mint); }
.static-page-body .dos-card h4 { color: var(--mint-dk); }
.static-page-body .donts-card { background: var(--peach-lt); border-color: var(--peach); }
.static-page-body .donts-card h4 { color: var(--peach-dk); }

/* ── 404 ERROR PAGE ── */
.error-code { color: var(--primary-dk); }
.btn-secondary { color: var(--primary-dk); border-color: var(--primary-dk); background: transparent; }
.btn-secondary:hover { background: var(--primary-dk); color: #fff; }
