/* JTJEE homepage sections built from normal Elementor widgets (template "JTJEE Homepage v3").
   Brand palette only: Yellow #fbe509, White #ffffff, Royal Navy #132c72, Crimson Red #e5150a,
   Deep Ink Navy #1b1947 (text), Earth Brown #6f3c0b (small labels).
   Styles are locked here so edits in Elementor change words, links and pictures, not the brand look. */

.jth { --y: #fbe509; --w: #ffffff; --b: #132c72; --r: #e5150a; --t: #1b1947; --br: #6f3c0b;
  color: var(--t); font-family: "Noto Sans", sans-serif; font-size: 16px; line-height: 1.5; -webkit-text-size-adjust: 100%; }
.jth, .jth *, .jth *::before, .jth *::after { box-sizing: border-box; }

/* ---------- Reset Elementor / theme defaults inside our sections ---------- */
.jth .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  padding: 0 !important; margin: 0 !important; gap: 0; min-height: 0 !important; max-width: none !important; border: 0; }
.jth .e-con > .e-con-inner { padding: 0 !important; max-width: none !important; gap: inherit; }
.jth .elementor-widget, .jth .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.jth .elementor-widget { width: auto; max-width: 100%; }
.jth .elementor-heading-title, .jth .elementor-widget-text-editor, .jth .elementor-icon-list-text {
  font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important;
  color: inherit !important; letter-spacing: inherit !important; text-transform: none !important; margin: 0 !important; padding: 0 !important; }
.jth p, .jth h1, .jth h2, .jth h3, .jth h4, .jth ul { margin: 0 !important; padding: 0; }
.jth a, .jth .elementor-heading-title a { color: inherit !important; text-decoration: none !important; }
.jth img { max-width: 100%; height: auto; display: block; }
.jth a:focus-visible, .jth [role="button"]:focus-visible, .jth input:focus, .jth select:focus, .jth button:focus-visible { outline: 3px solid var(--y); outline-offset: 2px; }

/* Full width, no side gaps */
html body .jth-sec.jth-sec { position: relative; width: 100vw !important; max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.e-con.jth.jth-sec { display: block !important; padding: 56px 20px !important; background: var(--w); }
.jth .e-con.jth-wrap { display: block !important; width: 100% !important; max-width: 1240px !important; margin: 0 auto !important; }
.jth .e-con.jth-wrap > * + * { margin-top: 0; }

/* ---------- Shared text styles ---------- */
.jth .jth-eyebrow { color: var(--br) !important; font-weight: 700; font-size: 15px; margin-bottom: 4px !important; }
.jth .jth-head { font-family: "Baloo 2", sans-serif !important; font-weight: 800; font-size: 44px; line-height: 1.05; color: var(--t) !important; }
.jth .jth-mb { margin-bottom: 26px !important; }

/* ---------- Buttons ---------- */
.jth .jth-btn .elementor-button-wrapper { display: block; }
.jth .jth-btn .elementor-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px !important;
  border-radius: 10px !important; font-family: "Noto Sans", sans-serif !important; font-weight: 700 !important; font-size: 16px !important; line-height: 1.2 !important;
  text-transform: none !important; letter-spacing: normal !important; text-decoration: none !important; box-shadow: none !important; border: 0 !important; cursor: pointer; transition: filter .15s, background .15s, color .15s; }
.jth .jth-btn .elementor-button * { color: inherit !important; }
.jth .jth-btn-r .elementor-button { background: var(--r) !important; color: var(--w) !important; }
.jth .jth-btn-r .elementor-button:hover, .jth .jth-btn-r .elementor-button:focus { background: var(--r) !important; color: var(--w) !important; filter: brightness(.92); }
.jth .jth-btn-o .elementor-button { background: transparent !important; color: var(--t) !important; border: 2px solid var(--t) !important; }
.jth .jth-btn-o .elementor-button:hover, .jth .jth-btn-o .elementor-button:focus { background: var(--t) !important; color: var(--y) !important; }

/* ---------- Programs ---------- */
.jth .e-con.jth-top { display: block !important; margin-bottom: 28px !important; }
.jth .e-con.jth-journey { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; position: relative;
  background: repeating-linear-gradient(90deg, var(--t) 0 9px, transparent 9px 15px) no-repeat; background-size: 80% 3px; background-position: 50% 47px; }
.jth .e-con.jth-step { display: flex !important; flex-direction: column !important; align-items: center; gap: 14px; position: relative; width: auto !important; }
.jth .e-con.jth-dotwrap { display: flex !important; flex-direction: column !important; align-items: center; gap: 8px; width: auto !important; }
.jth .e-con.jth-dot { width: 96px !important; height: 96px; border-radius: 50%; border: 6px solid var(--w) !important; display: flex !important; flex-direction: column !important;
  align-items: center; justify-content: center; font-family: "Baloo 2", sans-serif; line-height: 1; flex: none; text-align: center; }
.jth .jth-dot-s { font-weight: 700; font-size: 13px; line-height: 1; }
.jth .jth-dot-b { font-weight: 800; font-size: 34px; line-height: 1; }
.jth .jth-from { color: var(--br) !important; font-size: 14px; font-weight: 700; margin-top: -6px !important; text-align: center; }
.jth .e-con.jth-pcard { flex: 1 1 auto; width: 100% !important; display: flex !important; flex-direction: column !important; gap: 10px;
  padding: 22px 18px 18px !important; border-radius: 20px; text-decoration: none; transition: filter .15s; }
.jth .e-con.jth-pcard:hover { filter: brightness(1.06); }
.jth .jth-or { font-family: "Baloo Bhaina 2", "Noto Sans Oriya", sans-serif; font-weight: 600; font-size: 17px; line-height: 1.4; }
.jth .jth-en { font-family: "Baloo 2", sans-serif; font-weight: 700; font-size: 18px; line-height: 1.25; }
.jth .jth-go { margin-top: auto !important; padding-top: 12px !important; border-top: 1.5px dashed currentColor; font-weight: 700; font-size: 14px; }
.jth .jth-go .elementor-heading-title::after { content: "\2192"; margin-left: 6px; }
.jth .jth-c-b .jth-dot, .jth .jth-c-b .jth-pcard { background: var(--b) !important; color: var(--w) !important; }
.jth .jth-c-b .jth-dot-b { color: var(--y) !important; }
.jth .jth-c-b .jth-go { color: var(--y) !important; border-top-color: rgba(255,255,255,.5); }
.jth .jth-c-r .jth-dot, .jth .jth-c-r .jth-pcard { background: var(--r) !important; color: var(--w) !important; }
.jth .jth-c-r .jth-go { border-top-color: rgba(255,255,255,.6); }
.jth .jth-c-y .jth-dot, .jth .jth-c-y .jth-pcard { background: var(--y) !important; color: var(--t) !important; }

/* ---------- Counsellor form ---------- */
.e-con.jth.jth-counsel { padding-top: 16px !important; }
.jth .jth-head-s { font-size: 34px; margin-bottom: 18px !important; }
.jth .jth-form { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; align-items: end; padding: 24px; background: var(--w);
  border: 1.5px solid rgba(19,44,114,.2); border-radius: 18px; }
.jth .jth-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 13px; color: var(--br); margin: 0; }
.jth .jth-form input, .jth .jth-form select { width: 100%; height: 46px; padding: 0 12px; border: 1.5px solid var(--t); border-radius: 10px; font: inherit; font-size: 16px;
  font-weight: 400; color: var(--t); background: var(--w); margin: 0; box-shadow: none; }
.jth .jth-submit { min-height: 48px; padding: 0 24px; border-radius: 10px; border: 0; background: var(--r); color: var(--w); font: inherit; font-weight: 700; font-size: 16px;
  cursor: pointer; text-transform: none; letter-spacing: normal; box-shadow: none; }
.jth .jth-submit:hover, .jth .jth-submit:focus { background: var(--r); color: var(--w); filter: brightness(.92); }

/* ---------- Hero ---------- */
.e-con.jth.jth-hero { background: var(--y) !important; }
.jth .e-con.jth-hero-row { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 32px; }
.jth .e-con.jth-hero-l { display: flex !important; flex-direction: column !important; gap: 20px; }
.jth .e-con.jth-chips, .jth .e-con.jth-ctas { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px; }
.jth .e-con.jth-ctas { gap: 12px; padding-top: 4px !important; }
.jth .jth-chip { padding: 4px 12px !important; background: var(--b); color: var(--w) !important; border-radius: 999px; font-weight: 700; font-size: 12px; letter-spacing: .5px; line-height: 1.5; }
.jth .jth-h1 { font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 60px; line-height: 1.02; }
.jth .jth-h1 em { font-style: normal; color: var(--r); }
.jth .jth-lead { max-width: 500px; font-size: 17px !important; line-height: 1.6 !important; }
.jth .jth-ticks .elementor-icon-list-items { list-style: none; display: flex !important; flex-wrap: wrap; gap: 10px 22px; margin: 0 !important; padding: 0 !important; }
.jth .jth-ticks .elementor-icon-list-item { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; font-weight: 700; font-size: 15px; }
.jth .jth-ticks .elementor-icon-list-item::after { display: none !important; }
.jth .jth-ticks .elementor-icon-list-icon { display: inline-flex; padding: 0 !important; margin: 0 !important; }
.jth .jth-ticks .elementor-icon-list-icon i { color: var(--r) !important; font-size: 17px !important; }
.jth .jth-ticks .elementor-icon-list-icon svg { fill: var(--r) !important; width: 17px !important; height: 17px !important; }
.jth .e-con.jth-hero-r { display: flex !important; justify-content: flex-end; }
.jth .jth-hero-img img { width: 100%; max-width: 540px; border-radius: 28px; }

/* ---------- Scholarship tests ---------- */
.jth .e-con.jth-sch { display: block !important; margin-top: 40px !important; padding: 28px !important; background: var(--w) !important; border-radius: 24px; }
.jth .e-con.jth-sch-top { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 6px 20px; margin-bottom: 18px !important; }
.jth .e-con.jth-sch-t { width: auto !important; display: block !important; }
.jth .jth-h3 { font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 30px; line-height: 1.1; }
.jth .jth-hint { font-weight: 600; font-size: 14px; color: var(--br) !important; }
.jth .e-con.jth-tiles { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.jth .e-con.jth-test { display: contents !important; }
.jth .e-con.jth-tile { width: 100% !important; min-height: 120px; padding: 18px !important; border-radius: 16px; display: flex !important; flex-direction: column !important;
  justify-content: space-between; align-items: stretch; gap: 12px; cursor: pointer; background: var(--b) !important; color: var(--w) !important; transition: background .15s; user-select: none; }
.jth .e-con.jth-tile:hover { background: var(--t) !important; }
.jth .jth-test.is-open > .jth-tile, .jth .jth-test.is-open > .jth-tile:hover { background: var(--r) !important; }
.jth .jth-code { font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 34px; line-height: 1; width: 100% !important; }
.jth .jth-code .elementor-heading-title::after { content: "+"; float: right; font-family: "Noto Sans", sans-serif; font-size: 22px; font-weight: 700; line-height: 1.4; }
.jth .jth-test.is-open .jth-code .elementor-heading-title::after { content: "\2212"; }
.jth .jth-tname { font-weight: 600; font-size: 14px; line-height: 1.35; }
.jth .e-con.jth-detail { order: 10; grid-column: 1 / -1; display: none !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 16px 32px;
  margin-top: 2px !important; padding: 24px !important; background: var(--y) !important; border-radius: 18px; }
.jth .jth-test.is-open > .e-con.jth-detail, body.elementor-editor-active .jth .e-con.jth-detail { display: flex !important; }
.jth .e-con.jth-dtxt { flex: 1 1 320px; width: auto !important; display: flex !important; flex-direction: column !important; gap: 10px; }
.jth .jth-dtxt .jth-eyebrow { margin-bottom: 0 !important; }
.jth .jth-h4 { font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 28px; line-height: 1.1; }
.jth .jth-brief { font-size: 15px !important; color: var(--br) !important; }

/* ---------- Practice ---------- */
.e-con.jth.jth-practice { padding-bottom: 24px !important; }
.jth .e-con.jth-pgrid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 22px; row-gap: 0; }
.jth .e-con.jth-card { display: grid !important; grid-template-rows: subgrid; grid-row: span 4; row-gap: 0; margin-bottom: 22px !important; background: var(--w) !important;
  border: 1.5px solid rgba(19,44,114,.2) !important; border-radius: 22px; overflow: hidden; }
.jth .e-con.jth-band { display: flex !important; flex-direction: column !important; gap: 14px; padding: 22px 24px !important; background: var(--b) !important; color: var(--w) !important; }
.jth .e-con.jth-band-row { display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: center; }
.jth .e-con.jth-band-row > .elementor-widget { width: auto !important; }
.jth .e-con.jth-band-t { display: block !important; }
.jth .jth-ico { width: 46px; height: 46px; display: grid; place-items: center; background: var(--y); border-radius: 12px; }
.jth .jth-tag { padding: 4px 12px !important; background: var(--r); color: var(--w) !important; border-radius: 999px; font-weight: 800; font-size: 12px; letter-spacing: 1px; line-height: 1.5; }
.jth .jth-h3c { font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 28px; line-height: 1.1; }
.jth .jth-sub { margin-top: 2px !important; color: var(--y) !important; font-weight: 700; font-size: 14px; }
.jth .jth-desc { padding: 22px 24px 16px !important; font-size: 15px !important; }
.jth .e-con.jth-ybox { margin: 0 24px !important; min-height: 92px !important; padding: 14px !important; background: var(--y) !important; border-radius: 14px;
  display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-content: flex-start; gap: 8px; width: auto !important; }
.jth .e-con.jth-ybox-col { flex-direction: column !important; flex-wrap: nowrap; justify-content: center; align-content: stretch; gap: 2px; }
.jth .jth-pill { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px !important; background: var(--w); color: var(--t) !important; border-radius: 8px; font-weight: 700; font-size: 14px; }
.jth .jth-pill a:hover { color: var(--r) !important; }
.jth .jth-ylabel { font-weight: 600; font-size: 13px; color: var(--br) !important; }
.jth .jth-yval { font-weight: 700; font-size: 16px; }
.jth .jth-card > .jth-btn { align-self: end; margin: 16px 24px 24px !important; }
.jth .jth-btn-block .elementor-button { display: flex !important; width: 100%; }

/* ---------- Resources ---------- */
.jth .e-con.jth-rgrid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.jth .e-con.jth-rcard { display: flex !important; flex-direction: column !important; gap: 8px; color: var(--t) !important; text-decoration: none; }
.jth .e-con.jth-rvis { height: 170px; display: flex !important; flex-direction: column !important; align-items: center; justify-content: center; gap: 12px; border-radius: 18px;
  font-family: "Baloo 2", sans-serif; font-weight: 800; font-size: 26px; text-align: center; }
.jth .jth-ricon svg { display: block; }
.jth .jth-rv-b { background: var(--b) !important; color: var(--w) !important; }
.jth .jth-rv-y { background: var(--y) !important; color: var(--t) !important; }
.jth .jth-rv-r { background: var(--r) !important; color: var(--w) !important; }
.jth .jth-rmeta { margin-top: 6px !important; color: var(--br) !important; font-weight: 700; font-size: 13px; }
.jth .jth-rtitle { font-family: "Baloo 2", sans-serif; font-weight: 700; font-size: 21px; line-height: 1.25; transition: color .15s; }
.jth .jth-rcard:hover .jth-rtitle { color: var(--r) !important; }

/* ===== Tablet ≤1024px ===== */
@media (max-width: 1024px) {
  .jth .jth-head { font-size: 38px; }
  .jth .jth-h1 { font-size: 48px; }
  .jth .jth-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jth .jth-form .jth-submit { grid-column: span 3; }
  .jth .e-con.jth-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jth .e-con.jth-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jth .e-con.jth-journey { gap: 10px; background-position: 50% 39px; }
  .jth .e-con.jth-dot { width: 80px !important; height: 80px; }
  .jth .jth-dot-b { font-size: 28px; }
  .jth .e-con.jth-pcard { padding: 18px 14px 14px !important; }
  .jth .jth-or { font-size: 15px; }
  .jth .jth-en { font-size: 16px; }
  .jth .e-con.jth-hero-row { grid-template-columns: 1fr; }
  .jth .e-con.jth-hero-r { justify-content: center; }
}

/* ===== Mobile ≤767px ===== */
@media (max-width: 767px) {
  .e-con.jth.jth-sec { padding: 40px 16px !important; }
  .jth .jth-head { font-size: 32px; }
  /* programs: vertical journey */
  .jth .e-con.jth-journey { grid-template-columns: 1fr; gap: 14px;
    background: repeating-linear-gradient(180deg, var(--t) 0 9px, transparent 9px 15px) no-repeat; background-size: 3px calc(100% - 150px); background-position: 39px 40px; }
  .jth .e-con.jth-step { flex-direction: row !important; align-items: stretch; gap: 12px; }
  .jth .e-con.jth-dotwrap { gap: 4px; width: 80px !important; flex: none; }
  .jth .e-con.jth-dot { width: 76px !important; height: 76px; border-width: 5px !important; }
  .jth .jth-dot-b { font-size: 26px; }
  .jth .jth-from { margin: 0 !important; font-size: 12px; background: var(--w); padding: 0 2px !important; }
  .jth .e-con.jth-pcard { padding: 16px !important; }
  .jth .jth-or { font-size: 16px; }
  /* form */
  .jth .jth-head-s { font-size: 26px; }
  .jth .jth-form { grid-template-columns: 1fr; padding: 18px; }
  .jth .jth-form .jth-submit { grid-column: auto; }
  /* hero */
  .jth .e-con.jth-hero-row { gap: 24px; }
  .jth .jth-h1 { font-size: 36px; }
  .jth .jth-lead { font-size: 16px !important; }
  .jth .e-con.jth-ctas > .jth-btn { flex: 1 1 100%; }
  .jth .jth-ctas .elementor-button { display: flex !important; width: 100%; }
  .jth .jth-hero-img img { border-radius: 20px; }
  .jth .e-con.jth-sch { margin-top: 28px !important; padding: 18px !important; border-radius: 18px; }
  .jth .jth-h3 { font-size: 24px; }
  .jth .e-con.jth-tiles { gap: 10px; }
  .jth .e-con.jth-tile { min-height: 100px; padding: 14px !important; }
  .jth .jth-code { font-size: 26px; }
  .jth .jth-tname { font-size: 13px; }
  .jth .e-con.jth-detail { padding: 18px !important; }
  .jth .jth-h4 { font-size: 22px; }
  .jth .jth-detail > .jth-btn { width: 100% !important; }
  .jth .jth-detail .elementor-button { display: flex !important; width: 100%; }
  /* practice + resources */
  .jth .e-con.jth-pgrid { grid-template-columns: 1fr; }
  .jth .e-con.jth-rgrid { grid-template-columns: 1fr; gap: 28px; }
  .jth .e-con.jth-rvis { height: 140px; }
}
@media (max-width: 380px) {
  .jth .e-con.jth-tiles { grid-template-columns: 1fr; }
}
