/* =========================================================
   Site type + spacing lock
   Only 3 text sizes: large / medium / small
   Primary font: Inter (Google Fonts — modern, clean, professional)
   ========================================================= */
:root {
  --font-main: "Inter", "Noto Sans Devanagari", system-ui, sans-serif;
  --bs-font-sans-serif: "Inter", "Noto Sans Devanagari", system-ui, sans-serif;
  --bs-body-font-family: "Inter", "Noto Sans Devanagari", system-ui, sans-serif;
  --display-font: "Inter", "Noto Sans Devanagari", system-ui, sans-serif;

  --type-lg: 1.625rem;   /* 26px — titles */
  --type-md: 0.9375rem;  /* 15px — body, buttons, nav, cards */
  --type-sm: 0.8125rem;  /* 13px — meta, badges, footer */

  --lh-title: 1.3;
  --lh-body: 1.6;

  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
}

html,
body,
button,
input,
select,
textarea,
p,
li,
label,
td,
th,
a,
span,
b,
strong,
em,
small,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Inter", system-ui, sans-serif !important;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-size: var(--type-md) !important;
  line-height: var(--lh-body) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
}

/* ---- LARGE: page / section titles ---- */
h1, .h1,
.hero-title,
.iq-title,
.cc-hero h1,
.site-hero h1,
.si-hero h1,
.cl-hero h1,
.pg-hero h1,
.iq-article h1,
.iq-detail .iq-article h1,
.nk-head-card h1,
.cd-title-row h1,
.job-layout h1,
body.home-fullhero .cc-hero h1,
.cc-path-stats dt,
.stats-number {
  font-size: var(--type-lg) !important;
  font-weight: 700 !important;
  line-height: var(--lh-title) !important;
  letter-spacing: -0.02em !important;
}

body.home-fullhero .cc-hero h1 {
  color: #fff !important;
}
body.home-fullhero .cc-hero h1 span {
  color: #fb923c !important;
}

/* ---- MEDIUM: body, subheads, buttons, nav, cards ---- */
h2, .h2,
h3, .h3,
h4, .h4,
p, li, label, td, th, .lead,
.btn, a.btn, button, .btn-primary-custom, .btn-navy, .btn-ghost,
.navbar-nav .nav-link,
.nav-cta-btn,
.iq-lab-head h3,
.iq-lab-title h3,
.iq-why-card b,
.iq-step-list b,
.iq-ex-label, .iq-ex-label b, .iq-ex-box,
.iq-tok, .iq-id,
.iqd-box h2,
.iqd-rel a b,
.iqd-track-hero b,
.loop-cta h2,
.course-card h3, .course-card b,
.mega-card b,
.job-card h3, .job-listing h3,
.cd-mod h3,
footer h3, footer h5,
.iq-detail .iqd-copy {
  font-size: var(--type-md) !important;
  line-height: var(--lh-body) !important;
}

p, li, .lead, .loop-cta p, .iq-lab-simple p, .iq-lab-take p, .iq-why-card p, .iq-step-list p {
  font-weight: 400 !important;
  color: var(--text-light);
}
body.home-fullhero .cc-hero p,
body.home-fullhero .cc-hero li {
  color: rgba(255, 255, 255, 0.92) !important;
}

h2, .h2, h3, .h3, h4, .h4,
.iq-lab-head h3, .loop-cta h2, .iqd-box h2 {
  font-weight: 700 !important;
  color: var(--blue) !important;
  line-height: var(--lh-title) !important;
}

.btn, a.btn, button.btn,
.btn-primary-custom, .btn-navy, .btn-ghost {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ---- SMALL: meta, captions, badges, footer, kickers ---- */
h5, .h5, h6, .h6,
small, .small, .text-muted,
.cd-kicker, .iqd-kicker, .mega-kicker, .section-eyebrow,
.cc-hero-eyebrow, .iqd-meta, .iqd-count, .iqd-rel-meta,
.topic-badge, .level-pill,
.iq-lab-sub, .iq-ex-note, .iq-viz-note,
.crumb, .crumb a, .crumb span,
footer p, footer li, footer a, footer small,
.cd-duration, .iq-teach-more,
.whatsapp-float {
  font-size: var(--type-sm) !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

/* Icons stay Font Awesome — never inherit Inter */
i[class*="fa-"],
.fa, .fas, .far, .fab,
.fa-solid, .fa-regular, .fa-brands {
  font-size: inherit;
}
i[class*="fa-"], .fa, .fas, .far, .fa-solid, .fa-regular {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
}
i.fa-brands, .fab {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}
.fa-solid, .fas { font-weight: 900 !important; }
.fa-regular, .far { font-weight: 400 !important; }

/* ---- Clean spacing ---- */
h1, h2, h3, h4 {
  margin-top: 0 !important;
  margin-bottom: var(--space-sm) !important;
}
p { margin: 0 0 var(--space-sm) !important; }
p:last-child { margin-bottom: 0 !important; }

.iq-detail .iq-article { padding: 20px !important; }
.iq-lab-card,
.iqd-box,
.iqd-track,
.loop-cta {
  padding: 20px !important;
}

.iq-teach { gap: var(--space-md) !important; }
.iqd-grid { gap: var(--space-lg) !important; }
.iq-lab-head { margin-bottom: var(--space-md) !important; }

.container.py-4 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
.container.py-5 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

@media (max-width: 767.98px) {
  :root { --type-lg: 1.375rem; }
}

/* =========================================================
   Site radius lock — every button / card / box = 5px
   Circles (avatars, dots) stay round.
   ========================================================= */
:root {
  --radius: 5px;
  --bs-border-radius: 5px;
  --bs-border-radius-sm: 5px;
  --bs-border-radius-lg: 5px;
  --bs-border-radius-xl: 5px;
  --bs-border-radius-xxl: 5px;
  --bs-border-radius-pill: 5px;
  --bs-btn-border-radius: 5px;
}

button,
.btn,
a.btn,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea,
.form-control,
.form-select,
.form-control:focus,
.input-group-text,
.nav-shell,
.navbar-toggler,
.lang-switch,
.lang-switch button,
.dropdown-menu,
.mega-menu,
.mega-card,
.modal-content,
.modal-header,
.modal-body,
.modal-footer,
.alert,
.badge,
.card,
.page-link,
.pagination .page-item .page-link,
.rounded,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-4,
.rounded-pill,
.whatsapp-float,
.section-eyebrow,
.cc-hero-eyebrow,
.hero-chip,
.course-card,
.program-card,
.job-card,
.job-listing,
.service-card,
.stat-card,
.rev-card,
.catalog-row,
.home-lab-card,
.home-lab-chip,
.job-assist-card,
.info-steps article,
.iq-howto article,
.iq-card,
.iq-article,
.iq-lab-card,
.iq-lab-simple,
.iq-lab-why,
.iq-lab-steps,
.iq-lab-example,
.iq-lab-take,
.iq-lab-picture,
.iq-why-card,
.iq-ex-box,
.iq-tok,
.iq-viz-step,
.iq-viz-nest,
.iq-head-ico,
.iq-lab-num,
.iq-step-n,
.iq-why-ico,
.iq-ex-ico,
.iqd-box,
.iqd-track,
.iqd-copy,
.iqd-step,
.iq-st-mini,
.loop-qa,
.loop-qa-a,
.loop-qa-copy,
.loop-qa-link,
.loop-num,
.loop-topic,
.loop-cta,
.level-pill,
.topic-badge,
.course-badge,
.cd-badge,
.pj-badge,
.filter-chip,
.iq-track-chip,
.iq-find-box,
.iq-find-count,
.iq-pg-nav,
.iq-pg-num,
.iq-dl-btn,
.iq-qbtn,
.cd-card,
.cd-mod,
.pj-side-card,
.nk-apply-card,
.nk-head-card,
.job-filter-card,
.apply-modal .modal-content,
.lead-input,
.lead-select-btn,
.p-btn,
.p-input,
.am-input,
.naukri-search,
.naukri-search input,
.naukri-search button,
.cc-float-card,
.cc-float-ico,
.cc-path-board,
.cc-path-n,
.cc-path-links,
.cc-path-link-ico,
.cc-path-title i,
.placed-logo,
.loop-jobs,
.loop-job,
.loop-job-logo,
.loop-job-apply,
.rev-arrow,
.si-strip,
.si-strip-cta,
.job-assist-pct,
.iq-db-panel,
.iq-side,
.iq-seo-track,
.st-card,
.st-box,
.st-btn,
.st-chip,
.st-pill,
.st-panel,
.iq-teach-say,
.iq-teach-say-ico,
.iq-teach-kicker i,
[class*="card"]:not(.cc-hero),
[class*="-box"],
[class*="-panel"],
[class*="-modal"],
[class*="-chip"],
[class*="-pill"],
[class*="-badge"],
[class*="-btn"],
[class*="btn-"] {
  border-radius: 5px !important;
}

/* True circles only */
.cc-avatar,
.cc-hero-dot,
.rounded-circle,
.rev-photo,
.rev-avatar,
.iqd-track-bot,
.dash-top i {
  border-radius: 50% !important;
}

.navbar .btn,
.navbar .nav-cta-btn,
.navbar .btn.btn-primary-custom,
.lang-switch,
.lang-switch button {
  border-radius: 5px !important;
}

.lang-switch button[data-lang="hi"] {
  font-family: "Noto Sans Devanagari", "Inter", sans-serif !important;
}

/* Nuclear override — every button/card/tag on tests + interview pages MUST be 5px */
body.st-page .btn,
body.st-page a.btn,
body.st-page .btn.btn-primary-custom,
body.st-page .btn.btn-navy,
body.st-page .btn.btn-ghost,
body.st-page .st-card,
body.st-page .st-card-badge,
body.st-page .st-card-price,
body.st-page .st-card-price-row,
body.st-page .st-price-tag,
body.st-page .st-chip,
body.st-page .st-chips li,
body.st-page .st-hero-pills div,
body.iq-page .btn,
body.iq-page .btn.btn-primary-custom,
body.iq-page .iqd-card,
body.iq-page .loop-qa,
body.iq-page .loop-qa-a,
body.iq-page .hero-chip,
body.iq-page .lang-switch,
body.iq-page .lang-switch button {
  border-radius: 5px !important;
  --bs-btn-border-radius: 5px !important;
}

/* Force EN pill orange even without JS (server-rendered class) */
.lang-switch button.is-on,
.navbar .lang-switch button.is-on {
  background: #e86f1a !important;
  color: #fff !important;
  border-color: #e86f1a !important;
}

/* Read full answer — navy button (loads last so nothing overrides) */
a.loop-qa-link,
.loop-qa-foot a.loop-qa-link,
.loop-qa a.loop-qa-link,
body.iq-page a.loop-qa-link,
a.btn.loop-qa-link {
  color: #fff !important;
  background: #35345a !important;
  border: 1px solid #35345a !important;
  border-radius: 5px !important;
  padding: 8px 14px !important;
  white-space: nowrap !important;
}
a.loop-qa-link:hover,
.loop-qa-foot a.loop-qa-link:hover,
.loop-qa a.loop-qa-link:hover,
body.iq-page a.loop-qa-link:hover,
a.btn.loop-qa-link:hover {
  color: #fff !important;
  background: #2a2948 !important;
  border-color: #2a2948 !important;
}
a.loop-qa-link i,
.loop-qa a.loop-qa-link i {
  color: inherit !important;
}
