/* sidebar.css — Two-column layout · sidebar scrolls with content (NOT sticky) */

/* Grid shell wrapping content + sidebar */
.lp-shell{max-width:1280px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start}

/* Left column — prevent grid blowout */
.lp-main-col{min-width:0}

/* Override .lp-content max-width/padding when inside the shell */
.lp-shell .lp-content,
.lp-shell main.lp-content{max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}

/* Full-width sections inside left column: CTA boxes, CTA sections, heroes */
.lp-main-col .cta-box{border-radius:22px}
.lp-main-col .cta-section,.lp-main-col .cta-strip{border-radius:16px;margin:1.5rem 0}

/* Sidebar — sticky on desktop so the lead form stays visible while user scrolls.
   top:96px clears the fixed top nav (56px nav height + 36px topbar + 4px buffer).
   Using 90px was 2px too short when the fc-topbar is present, causing the sidebar
   to peek under it. Mobile media query below switches back to static. */
.lp-sidebar{position:sticky!important;top:96px!important;align-self:start;padding-top:2rem;max-height:calc(100vh - 110px);overflow-y:auto}

/* Sidebar card */
.lp-sidebar-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 24px rgba(0,0,0,.1);border:1px solid #e5e9f0}
.lp-sidebar-card h3{font-size:1.1rem;font-weight:800;color:#0c1a3a;margin:0 0 .3rem;line-height:1.3}
.lp-sidebar-card .lp-sb-sub{font-size:.82rem;color:#6b7280;margin:0 0 1rem;line-height:1.5}

/* Form */
.lp-sidebar-form{display:flex;flex-direction:column;gap:.7rem}
.lp-sidebar-form input,.lp-sidebar-form select{width:100%;padding:.65rem .8rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.88rem;font-family:inherit;color:#1a2540;background:#fff;transition:border-color .2s}
.lp-sidebar-form input:focus,.lp-sidebar-form select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.lp-sidebar-form input::placeholder{color:#9ca3af}
.lp-sidebar-form select{color:#6b7280;cursor:pointer;-webkit-appearance:none;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center/12px #fff}
.lp-sidebar-form select option:not(:first-child){color:#1a2540}

/* Submit button */
.lp-sb-btn{width:100%;padding:.75rem;border:none;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0c1a3a;font-size:.92rem;font-weight:800;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .2s;letter-spacing:.01em}
.lp-sb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(245,158,11,.35)}
.lp-sb-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}

/* Trust line */
.lp-sb-trust{margin:.8rem 0 0;font-size:.78rem;color:#6b7280;text-align:center;line-height:1.5}
.lp-sb-trust a{color:#0c1a3a;font-weight:700;text-decoration:none}
.lp-sb-trust a:hover{text-decoration:underline}

/* Success state */
.lp-sb-success{display:none;text-align:center;padding:1.5rem .5rem}
.lp-sb-success .lp-sb-check{font-size:2.5rem;display:block;margin-bottom:.5rem}
.lp-sb-success h4{color:#059669;font-size:1rem;margin:0 0 .4rem}
.lp-sb-success p{color:#6b7280;font-size:.82rem;margin:0;line-height:1.5}

/* ── Responsive: stack on mobile ──
   Content reads FIRST (no order:-1). Sidebar appears after content.
   Sticky disabled on mobile because (a) it blocks reading, (b) viewport is too short.
   Floating "Free Counselling" CTA button gives mobile users one-tap access to the form. */
@media(max-width:960px){
  .lp-shell{grid-template-columns:1fr;padding:0;gap:0}
  .lp-sidebar{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;padding:0 1rem 1rem;order:1}
  .lp-sidebar-card{border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-top:1.5rem}
  .lp-shell .lp-content,
  .lp-shell main.lp-content{padding-left:1rem!important;padding-right:1rem!important}
  .lp-main-col .cta-section,.lp-main-col .cta-strip{border-radius:0;margin-left:-1rem;margin-right:-1rem}
  /* Floating WhatsApp CTA — official WhatsApp green, circular, branded.
     bottom:5rem (was 1.2rem) to clear hero carousel arrows + marquee on homepage. 2026-05-16 */
  .lp-mob-form-fab{position:fixed;bottom:5rem;right:1.2rem;z-index:497;background:#25d366;color:#fff;border:none;width:56px;height:56px;border-radius:50%;cursor:pointer;box-shadow:0 8px 24px rgba(37,211,102,.45),0 2px 6px rgba(0,0,0,.18);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;-webkit-tap-highlight-color:transparent;font-size:0;animation:fc-fab-pulse 2.4s ease-in-out infinite;padding:0;overflow:hidden}
  .lp-mob-form-fab::before{content:"";display:block;width:30px;height:30px;background-color:#fff;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M19.11 17.205c-.372 0-1.088 1.39-1.518 1.39a.63.63 0 0 1-.315-.1c-.802-.402-1.504-.817-2.163-1.447-.176-.168-.473-.413-.486-.665 0-.514.916-.916 1.16-1.358.245-.443.054-.94-.143-1.388-.275-.665-.654-2.32-1.243-2.755-.546-.404-1.262-.22-1.69.247-.6.66-.957 1.488-.957 2.404 0 .26.033.52.082.776.435 2.36 2.272 4.402 4.226 5.704.654.435 1.327.815 2.07 1.054.726.235 1.397.35 2.054.35.66 0 1.314-.193 1.86-.46.86-.42 1.586-1.205 1.586-2.183 0-1.08-.985-1.643-1.523-1.643z'/><path d='M16.07 0a16 16 0 0 0-13.4 24.6l-2.57 7.4 7.6-2.45A16 16 0 1 0 16.07 0zm0 29.27a13.27 13.27 0 0 1-6.71-1.83l-.48-.28-4.99 1.6 1.62-4.85-.31-.5a13.27 13.27 0 1 1 10.87 5.86z'/></svg>") no-repeat center/contain;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M19.11 17.205c-.372 0-1.088 1.39-1.518 1.39a.63.63 0 0 1-.315-.1c-.802-.402-1.504-.817-2.163-1.447-.176-.168-.473-.413-.486-.665 0-.514.916-.916 1.16-1.358.245-.443.054-.94-.143-1.388-.275-.665-.654-2.32-1.243-2.755-.546-.404-1.262-.22-1.69.247-.6.66-.957 1.488-.957 2.404 0 .26.033.52.082.776.435 2.36 2.272 4.402 4.226 5.704.654.435 1.327.815 2.07 1.054.726.235 1.397.35 2.054.35.66 0 1.314-.193 1.86-.46.86-.42 1.586-1.205 1.586-2.183 0-1.08-.985-1.643-1.523-1.643z'/><path d='M16.07 0a16 16 0 0 0-13.4 24.6l-2.57 7.4 7.6-2.45A16 16 0 1 0 16.07 0zm0 29.27a13.27 13.27 0 0 1-6.71-1.83l-.48-.28-4.99 1.6 1.62-4.85-.31-.5a13.27 13.27 0 1 1 10.87 5.86z'/></svg>") no-repeat center/contain}
  .lp-mob-form-fab:hover,.lp-mob-form-fab:focus{background:#1ebe5a;transform:scale(1.06);outline:none;box-shadow:0 12px 32px rgba(37,211,102,.55),0 3px 8px rgba(0,0,0,.22)}
  .lp-mob-form-fab:active{transform:scale(.94)}
  @keyframes fc-fab-pulse{0%,100%{box-shadow:0 8px 24px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.6),0 2px 6px rgba(0,0,0,.18)}50%{box-shadow:0 8px 24px rgba(37,211,102,.45),0 0 0 14px rgba(37,211,102,0),0 2px 6px rgba(0,0,0,.18)}}
  @media(prefers-reduced-motion:reduce){.lp-mob-form-fab{animation:none}}
  /* Mobile sticky action bar — Free Counselling + Chat on WhatsApp (replaces floating WhatsApp FAB) 2026-05-23 */
  .lp-mob-form-fab{display:none!important}
  .lp-mob-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:980;display:flex;gap:.5rem;padding:.5rem .6rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));background:#ffffff;box-shadow:0 -4px 18px rgba(12,26,58,.16);border-top:1px solid #e5e9f0}
  .lp-mob-actionbar .lp-mob-act{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .4rem;border-radius:12px;font-weight:800;font-size:.95rem;text-decoration:none;border:none;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;line-height:1.15;white-space:nowrap}
  .lp-mob-actionbar .lp-mob-act-form{background:linear-gradient(135deg,#f59e0b,#f97316);color:#0c1a3a}
  .lp-mob-actionbar .lp-mob-act-wa{background:#25d366;color:#fff}
  .lp-mob-actionbar .lp-mob-act:active{transform:scale(.97)}
  /* body{padding-bottom:5rem} removed 2026-05-28 — action bar retired. */
}
/* Desktop: floating WhatsApp FAB retired 2026-05-23. Action bar is mobile-only;
   desktop uses the visible sidebar form + top-bar "WhatsApp Us". */
@media(min-width:961px){
  .lp-mob-form-fab{display:none!important}
  .lp-mob-actionbar{display:none!important}
}
/* Keep multi-stat grids readable on phones even when a page hardcodes an inline
   4/5-column template (inline overrides the base @media rule, so force with !important). 2026-05-23 */
@media(max-width:600px){
  .stat-grid{grid-template-columns:1fr 1fr!important}
}
/* Back-to-top arrow (#fc-btt, z600 bottom-left) must clear the mobile action bar
   (z980, fixed bottom:0). Lift it above the bar on phones/tablets. 2026-05-23 */
@media(max-width:960px){
  #fc-btt{bottom:calc(5.5rem + env(safe-area-inset-bottom))!important;z-index:981!important}
}
/* fc-fab-cue (2026-05-30): make the mobile "Free Counselling" CTA eye-catching, and on tap
   visibly guide the candidate INTO the lead form (glow flash + focused first field). Pure
   UX nudge, no fabricated data. prefers-reduced-motion fully honoured. */
@media(max-width:960px){
  .lp-mob-actionbar .lp-mob-act-form{position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(245,158,11,.5);animation:lpFabPulse 2.6s ease-in-out infinite}
  .lp-mob-actionbar .lp-mob-act-form::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);animation:lpFabShine 3.6s ease-in-out infinite;pointer-events:none}
  .lp-mob-actionbar .lp-mob-act-form:active{animation:none}
}
@keyframes lpFabPulse{0%,100%{box-shadow:0 4px 14px rgba(245,158,11,.45)}50%{box-shadow:0 7px 22px rgba(245,158,11,.9)}}
@keyframes lpFabShine{0%,74%{left:-130%}90%,100%{left:135%}}
.lp-form-flash{animation:lpFormFlash 1.8s ease-out}
@keyframes lpFormFlash{0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}35%{box-shadow:0 0 0 7px rgba(245,158,11,.16)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}
.lp-field-cue{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.5)!important;transition:box-shadow .3s,border-color .3s}
@media(prefers-reduced-motion:reduce){
  .lp-mob-actionbar .lp-mob-act-form{animation:none!important}
  .lp-mob-actionbar .lp-mob-act-form::after{animation:none!important;display:none}
  .lp-form-flash{animation:none!important}
}
