/* =========================================================
   GYAN BINDU ACADEMY — Engagement & Conversion Layer
   Feature Bible Part G — Features 1-17 integration
   (new: 2,3,6,8,9,11,12,13,14 + animated counters for 17)
   Uses existing design tokens from style.css (:root)
   ========================================================= */

/* ---------- FEATURE 2: Scroll Progress Bar ---------- */
#scroll-prog{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:linear-gradient(90deg,var(--pink-600),var(--gold-500));
  z-index:9998;transition:width .1s ease-out;
}

/* ---------- FEATURE 3: Toast Notifications ---------- */
#toast-box{
  position:fixed;top:96px;right:16px;z-index:9995;
  display:flex;flex-direction:column;gap:10px;max-width:min(320px,90vw);
  pointer-events:none;
}
.gb-toast{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);padding:12px 14px;display:flex;align-items:center;gap:10px;
  font-size:13.5px;color:var(--ink-900);animation:toastIn .35s ease;pointer-events:auto;
}
.gb-toast .ico{font-size:18px;flex:none;}
@keyframes toastIn{from{opacity:0;transform:translateX(50px);}to{opacity:1;transform:translateX(0);}}
@media(max-width:560px){#toast-box{left:16px;right:16px;top:auto;bottom:96px;max-width:none;}}

/* ---------- FEATURE 6: Section Quick-Nav (active highlight) ---------- */
.gb-secnav{
  position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:170;
  display:flex;flex-direction:column;gap:12px;
}
.gb-secnav a{
  width:11px;height:11px;border-radius:50%;background:rgba(22,27,41,.16);
  display:block;position:relative;transition:background .2s,transform .2s;
}
.gb-secnav a:hover{background:var(--navy-700);transform:scale(1.2);}
.gb-secnav a.is-active{background:var(--pink-600);transform:scale(1.35);}
.gb-secnav a .lbl{
  position:absolute;right:22px;top:50%;transform:translateY(-50%);
  background:var(--navy-950);color:#fff;font-size:11.5px;font-weight:600;
  padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .15s;
}
.gb-secnav a:hover .lbl{opacity:1;}
@media(max-width:1080px){.gb-secnav{display:none;}}

/* ---------- FEATURE 8: Live Social-Proof Bar ---------- */
.live-proof{padding:40px 0 8px;background:var(--paper);}
.live-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:860px){.live-grid{grid-template-columns:repeat(2,1fr);}}
.live-card{
  background:var(--paper-alt);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:20px 18px;display:flex;align-items:center;gap:14px;
}
.live-ico{font-size:26px;flex:none;}
.live-val{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--navy-900);line-height:1.1;}
.live-lbl{font-size:12px;color:var(--ink-500);margin-top:2px;}
.live-badge{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;
  color:var(--pink-600);margin-top:5px;text-transform:uppercase;letter-spacing:.04em;
}
.live-dot{width:6px;height:6px;border-radius:50%;background:#28C76F;animation:live-pulse 1.8s ease-in-out infinite;}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.3);}}

/* ---------- FEATURE 9: Rotating FOMO Proof Ticker ---------- */
#proof-ticker{
  position:fixed;left:22px;bottom:92px;z-index:175;max-width:290px;
  transform:translateX(-140%);transition:transform .5s cubic-bezier(.2,.9,.3,1.2);
}
#proof-ticker.is-shown{transform:translateX(0);}
.proof-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);padding:12px 14px;display:flex;align-items:center;gap:10px;
}
.proof-ico{font-size:22px;flex:none;}
.proof-name{display:block;font-size:12.5px;font-weight:700;color:var(--navy-900);}
.proof-action{display:block;font-size:11.5px;color:var(--ink-500);}
.proof-close{
  margin-left:auto;background:none;border:none;color:var(--ink-300);cursor:pointer;
  font-size:15px;line-height:1;padding:2px;flex:none;
}
@media(max-width:560px){#proof-ticker{left:12px;bottom:172px;max-width:calc(100vw - 24px);}}

/* ---------- FEATURE 11/12: Greeting Modal ---------- */
.gb-overlay{
  position:fixed;inset:0;background:rgba(14,21,36,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  z-index:9990;display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.gb-overlay.is-shown{opacity:1;pointer-events:auto;}
.gb-modal{
  background:var(--paper);border-radius:var(--radius-lg);padding:36px 32px;
  max-width:420px;width:100%;position:relative;box-shadow:var(--shadow-lg);
  text-align:center;transform:translateY(16px);transition:transform .3s ease;
}
.gb-overlay.is-shown .gb-modal{transform:translateY(0);}
.gb-modal-close{
  position:absolute;top:14px;right:14px;background:var(--paper-alt);border:none;
  width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--ink-500);font-size:16px;
}
.gb-modal .gb-emoji{font-size:2.6rem;margin-bottom:10px;}
.gb-modal h3{font-size:1.3rem;margin-bottom:8px;}
.gb-modal p{color:var(--ink-500);font-size:14px;line-height:1.6;margin-bottom:18px;}
.gb-modal input{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-size:14px;margin-bottom:14px;font-family:var(--font-body);
}
.gb-modal input:focus{outline:none;border-color:var(--pink-600);}
.gb-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.gb-modal-skip{background:none;border:none;color:var(--ink-500);font-size:13px;cursor:pointer;padding:10px;}

/* ---------- FEATURE 13: Exit-Intent Popup ---------- */
#exit-overlay .gb-modal{max-width:460px;}
#exit-overlay .gb-offer{
  background:var(--pink-50);border:1px solid #FBD1DD;border-radius:var(--radius-sm);
  padding:16px;margin-bottom:20px;text-align:left;
}
#exit-overlay .gb-offer strong{color:var(--pink-600);display:block;margin-bottom:4px;font-size:14px;}
#exit-overlay .gb-offer span{font-size:13px;color:var(--ink-700);}

/* ---------- FEATURE 14: Cookie Consent Bar ---------- */
#cookie-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:9985;
  background:var(--navy-950);color:#C9CEDC;
  padding:16px 22px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  transform:translateY(120%);transition:transform .45s ease;box-shadow:0 -8px 30px rgba(0,0,0,.2);
}
#cookie-bar.is-shown{transform:translateY(0);}
#cookie-bar p{margin:0;flex:1;min-width:220px;font-size:13px;line-height:1.5;}
#cookie-bar strong{color:#fff;}
#cookie-bar a{color:var(--gold-500);text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex:none;}
.cookie-actions button{
  font-family:var(--font-display);font-weight:600;font-size:13px;border-radius:100px;
  padding:9px 20px;cursor:pointer;border:2px solid transparent;
}
.cookie-accept{background:var(--pink-600);color:#fff;}
.cookie-accept:hover{background:var(--pink-700);}
.cookie-reject{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;}
.cookie-reject:hover{border-color:#fff;}

/* Shift floating widgets up while the cookie bar is visible, so nothing overlaps */
body.gb-cookie-visible .back-top{bottom:96px;}
body.gb-cookie-visible .wa-float{bottom:96px;}
body.gb-cookie-visible #proof-ticker{bottom:168px;}
@media(max-width:560px){
  body.gb-cookie-visible #proof-ticker{bottom:248px;}
  #cookie-bar{padding:14px 16px;}
  .cookie-actions{width:100%;justify-content:flex-end;}
}

/* ---------- FEATURE 17: Animated stat counters ---------- */
[data-count]{transition:none;}

/* ---------- FEATURE 16: Mini Hero AI Card ---------- */
.hero-ai-card{
  position:absolute;right:56px;top:50%;transform:translateY(-50%);
  width:300px;z-index:3;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.hac-head{
  padding:14px 18px;background:linear-gradient(135deg,rgba(242,24,79,.35),rgba(245,179,66,.22));
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.hac-head span.title{font-size:12.5px;font-weight:800;color:#fff;}
.hac-live{display:flex;align-items:center;gap:6px;font-size:10.5px;color:rgba(255,255,255,.75);}
.hac-live .dot{width:6px;height:6px;border-radius:50%;background:#28C76F;animation:live-pulse 1.8s ease-in-out infinite;}
.hac-body{padding:18px;min-height:70px;}
#hc-msg{font-size:12.8px;color:rgba(255,255,255,.9);line-height:1.6;}
.hac-tags{padding:0 14px 16px;display:flex;flex-wrap:wrap;gap:7px;}
.hac-tag{
  padding:5px 12px;border-radius:100px;font-size:11.5px;font-weight:600;color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);cursor:pointer;
  transition:background .15s,border-color .15s;
}
.hac-tag:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);}
@media(max-width:960px){.hero-ai-card{display:none;}}

/* ---------- FEATURE 18: Vertical Alternating Timeline ---------- */
.timeline-wrap{max-width:900px;margin:0 auto;position:relative;padding-top:8px;}
.timeline-wrap::before{
  content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;
  background:linear-gradient(var(--pink-600),var(--gold-500));transform:translateX(-50%);
}
@media(max-width:700px){.timeline-wrap::before{left:27px;transform:none;}}
.tl-step{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;margin-bottom:34px;position:relative;}
.tl-step:last-child{margin-bottom:0;}
@media(max-width:700px){.tl-step{grid-template-columns:54px 1fr;gap:16px;}}
.tl-left{text-align:right;padding-right:32px;}
.tl-right{padding-left:32px;}
@media(max-width:700px){.tl-left{display:none;}.tl-right{padding-left:0;grid-column:2;}}
.tl-num{
  width:52px;height:52px;border-radius:50%;background:var(--navy-900);border:3px solid var(--pink-600);
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);
  font-weight:800;font-size:18px;position:relative;z-index:1;margin:0 auto;
}
@media(max-width:700px){.tl-num{margin:0;}}
.tl-title{font-family:var(--font-display);font-weight:800;color:var(--navy-900);margin-bottom:4px;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
.tl-desc{font-size:14px;color:var(--ink-500);line-height:1.6;}

/* ---------- FEATURE 19: Data Array -> Card Grid (generic pattern) ---------- */
.grid-generic{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:860px){.grid-generic{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.grid-generic{grid-template-columns:1fr;}}
.gb-card{
  padding:26px 22px;border-radius:var(--radius-md);background:var(--paper);
  border:1px solid var(--line);transition:transform .2s,box-shadow .2s;
}
.gb-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.gb-card-icon{
  width:52px;height:52px;border-radius:14px;font-size:24px;
  background:linear-gradient(135deg,var(--pink-600),var(--gold-500));
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.gb-card h3{font-size:16px;margin-bottom:6px;color:var(--navy-900);}
.gb-card p{font-size:13.5px;color:var(--ink-500);line-height:1.6;margin:0;}

/* ---------- FEATURE 20: Searchable Knowledge Base ---------- */
.kb-search-wrap{max-width:560px;margin:0 auto 2rem;position:relative;}
.kb-search-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-300);pointer-events:none;}
#kb-search{
  width:100%;padding:14px 18px 14px 44px;border:1.5px solid var(--line);border-radius:100px;
  background:var(--paper);font-size:16px;font-family:var(--font-body);color:var(--ink-900);
  transition:border-color .2s,box-shadow .2s;
}
#kb-search:focus{outline:none;border-color:var(--pink-600);box-shadow:0 0 0 4px rgba(242,24,79,.08);}
#kb-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:2rem;}
.kb-cat{
  padding:7px 18px;border-radius:100px;border:1.5px solid var(--line);color:var(--ink-500);
  font-size:12.5px;font-weight:700;cursor:pointer;background:transparent;font-family:var(--font-body);
  transition:border-color .15s,color .15s,background .15s;
}
.kb-cat:hover{border-color:var(--pink-600);color:var(--pink-600);}
.kb-cat.is-active{border-color:var(--pink-600);color:#fff;background:var(--pink-600);}
#kb-results{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:920px;margin:0 auto;}
@media(max-width:700px){#kb-results{grid-template-columns:1fr;}}
.kb-item{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:18px 20px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s,transform .2s,box-shadow .2s;
}
.kb-item:hover{border-color:var(--pink-600);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.kb-item .kb-ico{font-size:22px;flex:none;line-height:1;margin-top:2px;}
.kb-item h4{font-size:14.5px;font-weight:700;color:var(--navy-900);margin-bottom:4px;}
.kb-item p{font-size:12.8px;color:var(--ink-500);line-height:1.55;margin:0;}
.kb-item .kb-tag-badge{
  display:inline-block;margin-top:8px;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--pink-600);background:var(--pink-50);padding:2px 9px;border-radius:100px;
}
.kb-empty{grid-column:1/-1;text-align:center;color:var(--ink-500);padding:2.5rem 1rem;font-size:13.5px;}

/* ---------- FEATURE 21: Comparison Table ("Us vs Them") ---------- */
.comp-table-wrap{max-width:920px;margin:0 auto;overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--line);}
.comp-table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--paper);min-width:560px;}
.comp-table thead th{
  padding:16px 18px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.03em;color:var(--ink-500);background:var(--paper-alt);border-bottom:1px solid var(--line);
}
.comp-table thead th:first-child{text-align:left;}
.comp-table thead th.comp-us-col{background:var(--navy-900);color:#fff;position:relative;}
.comp-table thead th.comp-us-col span.star{display:block;font-size:9.5px;color:var(--gold-500);margin-top:2px;letter-spacing:.02em;}
.comp-table tbody td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--line);color:var(--ink-700);}
.comp-table tbody tr:last-child td{border-bottom:none;}
.comp-table tbody td:first-child{text-align:left;font-weight:600;color:var(--navy-900);}
.comp-table tbody td.comp-us-col{background:rgba(242,24,79,.045);font-weight:700;color:var(--pink-600);font-size:16px;}
.comp-table tbody td.comp-yes{color:#1E9E5A;font-size:16px;}
.comp-table tbody td.comp-no{color:var(--ink-300);font-size:16px;}
.comp-table tbody td.comp-partial{color:var(--gold-500);font-size:12.5px;font-weight:600;}
.comp-note{max-width:920px;margin:14px auto 0;font-size:12px;color:var(--ink-300);text-align:center;}

/* ---------- FEATURE 22: Accordion FAQ (Single-Open) ---------- */
#faq-list{max-width:760px;margin:0 auto;}
.faq-item{
  border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:12px;
  overflow:hidden;transition:border-color .25s,box-shadow .25s;background:var(--paper);
}
.faq-item.is-open{border-color:var(--pink-600);box-shadow:var(--shadow-sm);}
.faq-q{
  width:100%;padding:18px 22px;background:transparent;border:none;color:var(--navy-900);
  font-size:14.5px;font-weight:700;cursor:pointer;text-align:left;display:flex;
  justify-content:space-between;align-items:center;gap:14px;font-family:var(--font-body);
}
.faq-q:hover{color:var(--pink-600);}
.faq-icon{font-size:19px;color:var(--ink-300);transition:transform .3s,color .3s;flex:none;line-height:1;}
.faq-item.is-open .faq-icon{transform:rotate(45deg);color:var(--pink-600);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.is-open .faq-a{max-height:480px;}
.faq-a-in{padding:0 22px 18px;font-size:13.3px;color:var(--ink-500);line-height:1.75;}

/* ---------- FEATURE 23: Eligibility / Course-Fit Checker ---------- */
.elig-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;align-items:stretch;}
@media(max-width:760px){.elig-wrap{grid-template-columns:1fr;}}
.elig-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px 28px;box-shadow:var(--shadow-sm);}
.elig-card h3{font-family:var(--font-display);font-weight:800;color:var(--navy-900);margin-bottom:20px;font-size:16px;}
.elig-field{margin-bottom:18px;}
.elig-field label{font-size:11px;font-weight:700;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:7px;}
.elig-field select{
  width:100%;padding:12px 38px 12px 14px;background-color:var(--paper-alt);border:1.5px solid var(--line);border-radius:10px;
  font-size:16px;font-family:var(--font-body);color:var(--ink-900);cursor:pointer;
}
.elig-field select:focus{outline:none;border-color:var(--pink-600);}
#elig-result{
  border-radius:var(--radius-md);padding:30px 28px;color:#fff;display:none;flex-direction:column;justify-content:center;
  background:linear-gradient(135deg,var(--navy-900),var(--navy-700));box-shadow:var(--shadow-md);
}
#elig-result.is-shown{display:flex;}
#elig-emoji{font-size:2.4rem;display:block;margin-bottom:10px;}
#elig-title{font-family:var(--font-display);font-weight:800;font-size:16.5px;margin-bottom:8px;}
#elig-text{font-size:13px;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:18px;}
.elig-actions{display:flex;gap:10px;flex-wrap:wrap;}
.elig-actions a{font-size:12.5px;}
.elig-placeholder{color:rgba(255,255,255,.55);font-size:13px;text-align:center;padding:20px 10px;}

/* ---------- FEATURE 24: Multi-Step Scored Quiz ---------- */
.quiz-section{background:var(--navy-950);}
.quiz-wrap{max-width:720px;margin:0 auto;}
.quiz-bar-track{height:6px;background:rgba(255,255,255,.15);border-radius:6px;margin-bottom:28px;overflow:hidden;}
#quiz-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--pink-600),var(--gold-500));transition:width .4s ease;}
.quiz-step{display:none;}
.quiz-step.is-active{display:block;}
.quiz-step h3{font-family:var(--font-display);font-weight:700;color:#fff;font-size:16.5px;margin-bottom:20px;}
.quiz-opt{
  background:var(--paper-alt);border:1.5px solid var(--line);border-radius:12px;padding:14px 18px;
  cursor:pointer;font-size:13.8px;color:var(--ink-700);margin-bottom:10px;display:block;width:100%;text-align:left;
  font-family:var(--font-body);transition:border-color .15s,background .15s,color .15s;
}
.quiz-opt:hover{border-color:var(--pink-600);}
.quiz-opt.is-selected{border-color:var(--pink-600);background:var(--pink-50);color:var(--pink-600);font-weight:600;}
#quiz-nav{display:none;justify-content:space-between;align-items:center;margin-top:8px;}
#quiz-nav.is-shown{display:flex;}
#quiz-prev{display:none;}
#quiz-counter{font-size:12.5px;color:rgba(255,255,255,.6);font-weight:600;}
#quiz-start-wrap{text-align:center;padding:20px 0;}
#quiz-result{
  background:var(--navy-800);border-radius:var(--radius-lg);padding:40px 32px;text-align:center;display:none;color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
#quiz-result.is-shown{display:block;}
.quiz-score-ring{
  width:112px;height:112px;border-radius:50%;background:var(--navy-800);border:4px solid var(--gold-500);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;flex-direction:column;
}
#quiz-score-val{font-family:var(--font-display);font-size:1.9rem;font-weight:900;color:var(--gold-500);line-height:1;}
.quiz-score-ring span.lbl{font-size:9.5px;color:rgba(255,255,255,.5);letter-spacing:.06em;margin-top:2px;}
#quiz-grade-txt{font-family:var(--font-display);font-weight:800;font-size:19px;margin-bottom:10px;}
#quiz-feedback{font-size:13.5px;color:rgba(255,255,255,.7);max-width:480px;margin:0 auto 22px;line-height:1.7;}

/* ---------- FEATURE 26: Floating Chat Widget (rule-based) ---------- */
#chat-fab{
  position:fixed;right:22px;bottom:90px;width:58px;height:58px;border-radius:50%;z-index:190;
  background:var(--navy-900);color:#fff;border:none;box-shadow:var(--shadow-md);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:24px;transition:transform .2s,background .2s;
}
#chat-fab:hover{transform:scale(1.08);background:var(--pink-600);}
#chat-fab .chat-fab-badge{
  position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--pink-600);
  border:2px solid var(--paper);
}
#chat-panel{
  position:fixed;right:22px;bottom:158px;width:320px;max-height:min(460px,70vh);z-index:190;
  background:var(--paper);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;
  display:none;flex-direction:column;border:1px solid var(--line);
}
#chat-panel.is-open{display:flex;}
.chat-head{padding:14px 16px;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));display:flex;align-items:center;gap:10px;}
.chat-head-ico{font-size:20px;}
.chat-head-name{font-size:13.5px;font-weight:800;color:#fff;}
.chat-head-status{font-size:10.5px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;}
.chat-head-status .dot{width:6px;height:6px;border-radius:50%;background:#28C76F;}
.chat-close{background:transparent;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:18px;margin-left:auto;line-height:1;}
.chat-close:hover{color:#fff;}
#chat-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-height:140px;}
.chat-msg{max-width:84%;padding:10px 13px;border-radius:12px;font-size:12.8px;line-height:1.55;}
.chat-msg.bot{align-self:flex-start;background:var(--paper-alt);color:var(--ink-900);border-bottom-left-radius:3px;}
.chat-msg.user{align-self:flex-end;background:var(--pink-600);color:#fff;border-bottom-right-radius:3px;}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;}
.chat-q-btn{
  padding:5px 11px;background:var(--paper-alt);border:1px solid var(--line);border-radius:100px;
  font-size:11px;font-weight:600;color:var(--ink-700);cursor:pointer;font-family:var(--font-body);
}
.chat-q-btn:hover{border-color:var(--pink-600);color:var(--pink-600);}
.chat-inp-row{padding:12px 14px;border-top:1px solid var(--line);display:flex;gap:8px;}
#chat-inp{
  flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font-size:16px;
  font-family:var(--font-body);color:var(--ink-900);
}
#chat-inp:focus{outline:none;border-color:var(--pink-600);}
.chat-send{
  width:36px;height:36px;border-radius:50%;background:var(--pink-600);border:none;color:#fff;
  cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;
}
.chat-send:hover{background:var(--pink-700);}
@media(max-width:560px){
  #chat-fab{right:16px;bottom:84px;}
  #chat-panel{right:12px;left:12px;width:auto;bottom:150px;}
}
/* shift chat widgets up while cookie bar is visible, same pattern as other floats */
body.gb-cookie-visible #chat-fab{bottom:164px;}
body.gb-cookie-visible #chat-panel{bottom:232px;}
@media(max-width:560px){
  body.gb-cookie-visible #chat-fab{bottom:238px;}
  body.gb-cookie-visible #chat-panel{bottom:304px;}
}

/* ---------- FEATURE 25: Enhanced Lead Capture Form (inline success) ---------- */
.enq-wrap{max-width:640px;margin:0 auto;}
.enq-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 32px;box-shadow:var(--shadow-md);}
.enq-urgency{
  display:flex;align-items:center;gap:8px;background:var(--pink-50);color:var(--pink-700);border:1px solid rgba(242,24,79,.18);
  border-radius:100px;padding:8px 16px;font-size:12px;font-weight:700;margin-bottom:22px;width:fit-content;
}
#enq-inner h3{font-family:var(--font-display);font-weight:800;color:var(--navy-900);font-size:18px;margin-bottom:4px;}
#enq-inner .enq-sub{font-size:12.5px;color:var(--ink-500);margin-bottom:22px;}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:560px){.enq-grid{grid-template-columns:1fr;}}
.enq-field label{font-size:11px;font-weight:700;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px;}
.enq-field input,.enq-field textarea{
  width:100%;padding:11px 13px;background:var(--paper-alt);border:1.5px solid var(--line);border-radius:10px;
  font-size:16px;font-family:var(--font-body);color:var(--ink-900);
}
.enq-field select{
  width:100%;padding:11px 38px 11px 13px;background-color:var(--paper-alt);border:1.5px solid var(--line);border-radius:10px;
  font-size:16px;font-family:var(--font-body);color:var(--ink-900);cursor:pointer;
}
.enq-field input:focus,.enq-field select:focus,.enq-field textarea:focus{outline:none;border-color:var(--pink-600);}
.enq-field.enq-full{grid-column:1/-1;}
.enq-field.has-error input,.enq-field.has-error select{border-color:var(--pink-600);outline:2px solid rgba(242,24,79,.15);}
.enq-note{font-size:11px;color:var(--ink-500);margin:4px 0 18px;}
#enq-success{display:none;text-align:center;padding:34px 10px;}
#enq-success.is-shown{display:block;}
#enq-success .enq-emoji{font-size:2.6rem;display:block;margin-bottom:12px;}
#enq-success h3{font-family:var(--font-display);font-weight:800;color:#28C76F;font-size:18px;margin-bottom:8px;}
#enq-success p{font-size:13px;color:var(--ink-500);max-width:380px;margin:0 auto;line-height:1.7;}

/* ---------- FEATURE 27: Full AI Career/Help Assistant (rule-based, bilingual) ---------- */
.ai-assist-wrap{
  max-width:1000px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:0;
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);
}
@media(max-width:820px){.ai-assist-wrap{grid-template-columns:1fr;}}
.ai-assist-side{
  background:linear-gradient(150deg,var(--navy-900),var(--navy-700));padding:34px 30px;color:#fff;
  display:flex;flex-direction:column;justify-content:center;
}
.ai-assist-side .ai-ico{font-size:2.4rem;margin-bottom:14px;}
.ai-assist-side h3{font-family:var(--font-display);font-weight:800;font-size:19px;margin-bottom:10px;}
.ai-assist-side p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:20px;}
.ai-assist-facts{display:flex;flex-direction:column;gap:10px;}
.ai-assist-facts div{font-size:12px;color:rgba(255,255,255,.6);display:flex;gap:8px;align-items:flex-start;}
.ai-lang-toggle{display:flex;gap:6px;margin-top:22px;}
.ai-lang-btn{
  flex:1;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-body);
  border:1.5px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.7);
}
.ai-lang-btn.is-active{background:var(--gold-500);color:var(--navy-950);border-color:var(--gold-500);}
.ai-assist-main{background:var(--paper);display:flex;flex-direction:column;min-height:420px;}
#ai-msgs{flex:1;overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;gap:12px;max-height:360px;}
.ai-msg{max-width:86%;padding:11px 15px;border-radius:13px;font-size:13px;line-height:1.6;}
.ai-msg.bot{align-self:flex-start;background:var(--paper-alt);color:var(--ink-900);border-bottom-left-radius:3px;}
.ai-msg.user{align-self:flex-end;background:var(--pink-600);color:#fff;border-bottom-right-radius:3px;}
.ai-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px 14px;}
.ai-q-btn{
  padding:6px 13px;background:var(--paper-alt);border:1px solid var(--line);border-radius:100px;
  font-size:11.5px;font-weight:600;color:var(--ink-700);cursor:pointer;font-family:var(--font-body);
}
.ai-q-btn:hover{border-color:var(--pink-600);color:var(--pink-600);}
.ai-inp-row{padding:16px 20px;border-top:1px solid var(--line);display:flex;gap:10px;}
#ai-inp{
  flex:1;border:1.5px solid var(--line);border-radius:11px;padding:11px 14px;font-size:16px;
  font-family:var(--font-body);color:var(--ink-900);
}
#ai-inp:focus{outline:none;border-color:var(--pink-600);}
.ai-send{
  padding:0 20px;border-radius:11px;background:var(--pink-600);border:none;color:#fff;font-weight:700;
  cursor:pointer;font-family:var(--font-body);font-size:13px;
}
.ai-send:hover{background:var(--pink-700);}

/* ---------- FEATURE 28: Voice Agent (speak + listen) ---------- */
#voice-agent-fab{
  position:fixed;right:22px;bottom:158px;width:58px;height:58px;border-radius:50%;z-index:189;
  background:var(--gold-500);color:var(--navy-950);border:none;box-shadow:var(--shadow-md);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .2s;
}
#voice-agent-fab:hover{transform:scale(1.08);}
#voice-agent-fab.is-listening{animation:va-pulse 1.4s ease-in-out infinite;}
@keyframes va-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,179,66,.5),var(--shadow-md);}50%{box-shadow:0 0 0 12px rgba(245,179,66,0),var(--shadow-md);}}
#va-panel{
  position:fixed;right:22px;bottom:226px;width:320px;max-height:min(440px,68vh);z-index:189;
  background:var(--paper);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;
  display:none;flex-direction:column;border:1px solid var(--line);
}
#va-panel.is-open{display:flex;}
.va-head{padding:14px 16px;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));display:flex;align-items:center;gap:10px;}
.va-head-ico{font-size:20px;}
.va-head-name{font-size:13.5px;font-weight:800;color:#fff;}
.va-head-status{font-size:10.5px;color:rgba(255,255,255,.6);}
.va-close{background:transparent;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:18px;margin-left:auto;line-height:1;}
.va-close:hover{color:#fff;}
.va-lang-toggle{display:flex;gap:6px;padding:12px 16px 0;}
.va-lang-btn{
  flex:1;padding:6px 8px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font-body);
  border:1.5px solid var(--line);background:var(--paper-alt);color:var(--ink-700);
}
.va-lang-btn.is-active{background:var(--pink-600);color:#fff;border-color:var(--pink-600);}
.va-body{flex:1;padding:16px;display:flex;flex-direction:column;align-items:center;gap:14px;overflow-y:auto;}
#va-mic-btn{
  width:76px;height:76px;border-radius:50%;background:var(--pink-600);border:none;color:#fff;font-size:28px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);flex:none;
}
#va-mic-btn.is-listening{background:var(--gold-500);color:var(--navy-950);animation:va-pulse 1.4s ease-in-out infinite;}
#va-status{font-size:12px;color:var(--ink-500);font-weight:600;text-align:center;}
#va-transcript{width:100%;background:var(--paper-alt);border-radius:11px;padding:12px 14px;font-size:12.5px;color:var(--ink-900);min-height:44px;display:none;}
#va-transcript.is-shown{display:block;}
#va-reply{width:100%;background:var(--pink-50);border-radius:11px;padding:12px 14px;font-size:12.5px;color:var(--navy-900);min-height:44px;display:none;line-height:1.6;}
#va-reply.is-shown{display:block;}
.va-fallback{font-size:12px;color:var(--ink-500);text-align:center;line-height:1.7;padding:6px 4px;}
.va-fallback a{color:var(--pink-600);font-weight:700;}
@media(max-width:560px){
  #voice-agent-fab{right:16px;bottom:152px;}
  #va-panel{right:12px;left:12px;width:auto;bottom:218px;}
}
body.gb-cookie-visible #voice-agent-fab{bottom:232px;}
body.gb-cookie-visible #va-panel{bottom:300px;}
@media(max-width:560px){
  body.gb-cookie-visible #voice-agent-fab{bottom:226px;}
  body.gb-cookie-visible #va-panel{bottom:292px;}
}

/* ---------- FEATURE 29: Bilingual Toggle Pattern (shared, EN/HI) ---------- */
[data-i18n-hidden]{display:none;}

/* ---------- Desktop restore: inputs above were bumped to 16px to stop
   iOS Safari's zoom-on-focus; restore the original compact sizing once
   the viewport is wide enough that no mobile browser will zoom ---------- */
@media(min-width:769px){
  #kb-search{font-size:14px;}
  .enq-field input,.enq-field textarea,.enq-field select{font-size:13.5px;}
  .elig-field select{font-size:13.5px;}
  #ai-inp{font-size:13.5px;}
  #chat-inp{font-size:12.8px;}
}

/* ---------- Safe-area support for the floating chat / voice widgets on
   notched phones and gesture-nav Android devices ---------- */
@supports (padding:max(0px)){
  #chat-fab{right:max(22px, calc(env(safe-area-inset-right) + 14px));}
  #voice-agent-fab{right:max(22px, calc(env(safe-area-inset-right) + 14px));}
  #proof-ticker{left:max(22px, calc(env(safe-area-inset-left) + 14px));}
  @media(max-width:560px){
    #chat-fab{right:max(16px, calc(env(safe-area-inset-right) + 8px));}
    #voice-agent-fab{right:max(16px, calc(env(safe-area-inset-right) + 8px));}
    #proof-ticker{left:max(12px, calc(env(safe-area-inset-left) + 6px));}
  }
}
