/*
==========================================================================
BFS EDUCATION — SAFE CUSTOM LAYER
==========================================================================
Edit this file for future frontend changes.

Rules:
1. Scope page-specific styles with a unique class such as .v51-*.
2. Keep approved navigation and global components untouched.
3. Avoid !important. Increase selector specificity only when necessary.
4. Add mobile rules beside the related component.
5. Rebuild legacy bundles only when an old source file is intentionally edited.
==========================================================================
*/

:root {
  --v51-navy: #0b2c57;
  --v51-blue: #155f9f;
  --v51-red: #d6322f;
  --v51-ink: #10243e;
  --v51-muted: #60758d;
  --v51-line: #d9e5f0;
  --v51-soft: #f4f8fc;
  --v51-white: #ffffff;
  --v51-green: #14845f;
}

/* -----------------------------------------------------------------------
   FOOTER BOTTOM — restored compact legal/navigation row
------------------------------------------------------------------------ */
footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
}
footer .footer-bottom > span {
  font-size: 11px;
  line-height: 1.5;
}
footer .footer-bottom-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 16px;
}
footer .footer-bottom-links a {
  color: rgba(255,255,255,.76);
  font-size: 11px;
  line-height: 1.4;
  transition: color .2s ease, transform .2s ease;
}
footer .footer-bottom-links a:hover {
  color: #fff;
  transform: translateY(-1px);
}

/* -----------------------------------------------------------------------
   SHARED V51 PAGE ELEMENTS
------------------------------------------------------------------------ */
.v51-check-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v51-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--v51-muted);
  font-size: 12px;
  line-height: 1.55;
}
.v51-check-list svg {
  width: 17px;
  height: 17px;
  min-width: 17px;
  margin-top: 1px;
  color: var(--v51-green);
}
.v51-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.v51-form-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.v51-form-grid label > span {
  color: var(--v51-ink);
  font-size: 11px;
  font-weight: 700;
}
.v51-form-grid input,
.v51-form-grid select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--v51-line);
  border-radius: 7px;
  background: #fff;
  color: var(--v51-ink);
  font: inherit;
  font-size: 12px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.v51-form-grid input:focus,
.v51-form-grid select:focus {
  border-color: #7ca9d1;
  box-shadow: 0 0 0 4px rgba(21,95,159,.10);
}
.v51-form-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 13px 0 0;
  color: var(--v51-muted);
  font-size: 10.5px;
  line-height: 1.55;
}
.v51-form-note svg {
  width: 16px;
  height: 16px;
  min-width: 16px;
  color: var(--v51-green);
}
.v51-form-status {
  min-height: 20px;
  margin-top: 8px;
  color: var(--v51-blue);
  font-size: 11px;
  font-weight: 700;
}

/* -----------------------------------------------------------------------
   FRANCHISE UNIVERSITY PROGRAMS
------------------------------------------------------------------------ */
.v51-university-hero .page-hero-grid,
.v51-centres-hero .page-hero-grid {
  align-items: stretch;
}
.v51-program-status-card,
.v51-centre-verify-card {
  align-self: stretch;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: var(--v51-navy);
  color: #fff;
  box-shadow: 0 22px 50px rgba(5,29,58,.18);
}
.v51-status-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v51-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffcc54;
  box-shadow: 0 0 0 6px rgba(255,204,84,.12);
}
.v51-program-status-card h2,
.v51-centre-verify-card h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(20px,2vw,27px);
  line-height: 1.25;
}
.v51-program-status-card > p,
.v51-centre-verify-card > p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.65;
}
.v51-program-status-card .v51-check-list li {
  color: rgba(255,255,255,.82);
}
.v51-program-status-card .v51-check-list svg {
  color: #8ed7b9;
}

.v51-program-check-layout {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(330px,.92fr);
  gap: 22px;
  align-items: start;
}
.v51-program-check-form,
.v51-confirm-panel {
  border: 1px solid var(--v51-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(14,49,88,.08);
}
.v51-program-check-form {
  padding: 24px;
}
.v51-form-head {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e7eef5;
}
.v51-form-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eaf3fb;
  color: var(--v51-blue);
}
.v51-form-icon svg {
  width: 22px;
  height: 22px;
}
.v51-form-head small {
  display: block;
  margin-bottom: 3px;
  color: var(--v51-red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.v51-form-head h3 {
  margin: 0;
  color: var(--v51-ink);
  font-size: 18px;
}
.v51-form-submit {
  margin-top: 18px;
}
.v51-confirm-panel {
  padding: 24px;
  background: var(--v51-navy);
  color: #fff;
}
.v51-confirm-panel .eyebrow {
  color: #9cc8ee;
}
.v51-confirm-panel h3 {
  margin: 10px 0 18px;
  color: #fff;
  font-size: 22px;
  line-height: 1.32;
}
.v51-number-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: v51counter;
}
.v51-number-list li {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 12px 12px 12px 42px;
  border-top: 1px solid rgba(255,255,255,.10);
  counter-increment: v51counter;
}
.v51-number-list li::before {
  content: counter(v51counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 13px;
  color: #6ea6d5;
  font-size: 10px;
  font-weight: 800;
}
.v51-number-list b {
  color: #fff;
  font-size: 12px;
}
.v51-number-list span {
  color: rgba(255,255,255,.66);
  font-size: 10.5px;
  line-height: 1.5;
}

.v51-process-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  margin-top: 26px;
}
.v51-process-track::before {
  content: "";
  position: absolute;
  top: 49px;
  left: 9%;
  right: 9%;
  height: 2px;
  background: #dbe7f1;
}
.v51-process-track article {
  position: relative;
  z-index: 1;
  padding: 18px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(14,49,88,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.v51-process-track article:hover {
  transform: translateY(-5px);
  border-color: #acc8df;
  box-shadow: 0 22px 42px rgba(14,49,88,.11);
}
.v51-process-track article > span {
  position: absolute;
  top: 14px;
  right: 14px;
  color: #c8d7e6;
  font-size: 20px;
  font-weight: 800;
}
.v51-process-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  border: 7px solid #fff;
  border-radius: 50%;
  background: #eaf3fb;
  color: var(--v51-blue);
  box-shadow: 0 0 0 1px #d9e6f2;
}
.v51-process-icon svg {
  width: 21px;
  height: 21px;
}
.v51-process-track article:nth-child(even) .v51-process-icon {
  background: #fff0f1;
  color: var(--v51-red);
}
.v51-process-track h3 {
  margin: 0 0 8px;
  color: var(--v51-ink);
  font-size: 16px;
}
.v51-process-track p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 11px;
  line-height: 1.6;
}

.v51-requirement-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-top: 24px;
}
.v51-requirement-grid article {
  position: relative;
  overflow: hidden;
  padding: 21px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.v51-requirement-grid article::after {
  content: "";
  position: absolute;
  right: -22px;
  bottom: -22px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #eef5fb;
}
.v51-requirement-grid article:hover {
  transform: translateY(-5px);
  border-color: #acc8df;
  box-shadow: 0 18px 38px rgba(14,49,88,.09);
}
.v51-requirement-grid svg {
  width: 24px;
  height: 24px;
  margin-bottom: 16px;
  color: var(--v51-blue);
}
.v51-requirement-grid article:nth-child(even) svg {
  color: var(--v51-red);
}
.v51-requirement-grid h3 {
  margin: 0 0 7px;
  color: var(--v51-ink);
  font-size: 16px;
}
.v51-requirement-grid p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 11px;
  line-height: 1.6;
}

.v51-public-status {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border: 1px solid #e8d49d;
  border-radius: 14px;
  background: #fffaf0;
}
.v51-public-status-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0c8;
  color: #9c6a00;
}
.v51-public-status-icon svg {
  width: 24px;
  height: 24px;
}
.v51-public-status h2 {
  margin: 6px 0 7px;
  color: var(--v51-ink);
  font-size: 22px;
}
.v51-public-status p {
  margin: 0;
  color: #6f6246;
  font-size: 11.5px;
  line-height: 1.65;
}

.v51-safety-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
  margin-top: 22px;
}
.v51-safety-grid article {
  padding: 19px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
}
.v51-safety-grid b {
  display: inline-flex;
  margin-bottom: 15px;
  color: var(--v51-red);
  font-size: 10px;
  letter-spacing: .08em;
}
.v51-safety-grid h3 {
  margin: 0 0 7px;
  color: var(--v51-ink);
  font-size: 15px;
}
.v51-safety-grid p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 10.5px;
  line-height: 1.6;
}
.v51-faq-list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.v51-faq-list details {
  border: 1px solid var(--v51-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(14,49,88,.04);
}
.v51-faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  color: var(--v51-ink);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.v51-faq-list summary::-webkit-details-marker {
  display: none;
}
.v51-faq-list summary span {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  flex: 0 0 27px;
  border-radius: 50%;
  background: #eef5fb;
  color: var(--v51-blue);
  font-size: 17px;
  transition: transform .2s ease;
}
.v51-faq-list details[open] summary span {
  transform: rotate(45deg);
}
.v51-faq-list details p {
  margin: 0;
  padding: 0 18px 17px;
  color: var(--v51-muted);
  font-size: 11px;
  line-height: 1.65;
}

/* -----------------------------------------------------------------------
   OUR CENTERS PAGE
------------------------------------------------------------------------ */
.v51-centre-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 15px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 999px;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v51-centre-badge svg {
  width: 15px;
  height: 15px;
}
.v51-centre-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 18px 0;
}
.v51-centre-mini-grid span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 8px;
  color: rgba(255,255,255,.78);
  font-size: 10px;
}
.v51-centre-mini-grid b {
  color: #7bb4e3;
  font-size: 9px;
}

.v51-centre-filter {
  display: grid;
  grid-template-columns: minmax(280px,1.4fr) minmax(170px,.65fr) minmax(190px,.8fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 22px;
  padding: 14px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(14,49,88,.06);
}
.v51-centre-filter label {
  display: grid;
  gap: 6px;
}
.v51-centre-filter label > span {
  color: var(--v51-ink);
  font-size: 10px;
  font-weight: 700;
}
.v51-centre-filter input,
.v51-centre-filter select {
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--v51-line);
  border-radius: 7px;
  background: #fff;
  color: var(--v51-ink);
  font: inherit;
  font-size: 11px;
}
.v51-search-field {
  position: relative;
}
.v51-search-field svg {
  position: absolute;
  left: 13px;
  bottom: 14px;
  width: 17px;
  height: 17px;
  color: #6f89a4;
}
.v51-search-field input {
  padding-left: 40px;
}
.v51-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0;
  color: var(--v51-muted);
  font-size: 10.5px;
}
.v51-results-bar b {
  color: var(--v51-red);
  font-size: 17px;
}
.v51-results-bar small {
  color: #8294a7;
}
.v51-centre-card {
  overflow: hidden;
  border: 1px solid var(--v51-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(14,49,88,.08);
}
.v51-centre-card-head {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 17px;
  align-items: center;
  padding: 22px;
  border-bottom: 1px solid #e7eef5;
}
.v51-centre-logo {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border: 1px solid #dae6f1;
  border-radius: 14px;
  background: #fff;
}
.v51-centre-logo img {
  width: 66px;
  height: 66px;
  object-fit: contain;
}
.v51-published-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: var(--v51-green);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v51-published-badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22a875;
  box-shadow: 0 0 0 5px rgba(34,168,117,.10);
}
.v51-centre-card-head h3 {
  margin: 0 0 5px;
  color: var(--v51-ink);
  font-size: 21px;
}
.v51-centre-card-head p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 11.5px;
  line-height: 1.55;
}
.v51-centre-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  background: #dfe9f2;
}
.v51-centre-facts > div {
  position: relative;
  min-width: 0;
  padding: 17px 20px;
  background: #f8fbfe;
}
.v51-centre-facts small {
  display: block;
  margin-bottom: 5px;
  color: #70849a;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.v51-centre-facts strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--v51-ink);
  font-size: 12px;
}
.v51-centre-facts button {
  position: absolute;
  right: 12px;
  top: 13px;
  border: 0;
  background: transparent;
  color: var(--v51-blue);
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.v51-course-strip {
  padding: 18px 20px;
}
.v51-course-strip > small {
  display: block;
  margin-bottom: 10px;
  color: #6f8399;
  font-size: 9.5px;
  font-weight: 700;
}
.v51-course-strip > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.v51-course-strip span {
  padding: 7px 10px;
  border: 1px solid #d9e6f2;
  border-radius: 999px;
  background: #eef5fb;
  color: var(--v51-blue);
  font-size: 9.5px;
  font-weight: 750;
}
.v51-centre-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 0 20px 20px;
}
.v51-centre-empty {
  padding: 42px 20px;
  border: 1px dashed #c9d8e6;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.v51-centre-empty svg {
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  color: #7590aa;
}
.v51-centre-empty h3 {
  margin: 0 0 7px;
  color: var(--v51-ink);
  font-size: 19px;
}
.v51-centre-empty p {
  max-width: 520px;
  margin: 0 auto 16px;
  color: var(--v51-muted);
  font-size: 11.5px;
  line-height: 1.6;
}

.v51-centre-steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 13px;
  margin-top: 24px;
}
.v51-centre-steps article {
  position: relative;
  padding: 18px 16px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(14,49,88,.05);
  transition: transform .22s ease, box-shadow .22s ease;
}
.v51-centre-steps article:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(14,49,88,.10);
}
.v51-centre-steps b {
  position: absolute;
  right: 13px;
  top: 12px;
  color: #cad8e5;
  font-size: 17px;
}
.v51-centre-steps svg {
  width: 24px;
  height: 24px;
  margin-bottom: 17px;
  color: var(--v51-blue);
}
.v51-centre-steps article:nth-child(even) svg {
  color: var(--v51-red);
}
.v51-centre-steps h3 {
  margin: 0 0 7px;
  color: var(--v51-ink);
  font-size: 14px;
}
.v51-centre-steps p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 10px;
  line-height: 1.55;
}

.v51-status-guide {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 22px;
}
.v51-status-guide article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
}
.v51-status-guide article > span {
  width: 13px;
  height: 13px;
  margin-top: 4px;
  border-radius: 50%;
}
.v51-status-guide .is-published > span { background: #21a874; box-shadow: 0 0 0 6px rgba(33,168,116,.10); }
.v51-status-guide .is-review > span { background: #d89b19; box-shadow: 0 0 0 6px rgba(216,155,25,.10); }
.v51-status-guide .is-hidden > span { background: #768ba0; box-shadow: 0 0 0 6px rgba(118,139,160,.10); }
.v51-status-guide h3 {
  margin: 0 0 6px;
  color: var(--v51-ink);
  font-size: 15px;
}
.v51-status-guide p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 10.5px;
  line-height: 1.6;
}
.v51-before-admission {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  align-items: center;
  padding: 25px;
  border: 1px solid #d5e3ef;
  border-radius: 14px;
  background: var(--v51-navy);
}
.v51-before-admission h2 {
  margin: 8px 0;
  color: #fff;
  font-size: 25px;
}
.v51-before-admission p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 11.5px;
  line-height: 1.65;
}
.v51-before-admission .eyebrow {
  color: #91c0e8;
}
.v51-before-admission .v51-check-list li {
  color: rgba(255,255,255,.78);
}
.v51-before-admission .v51-check-list svg {
  color: #8ed7b9;
}
.v51-onboarding-flow {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 24px;
}
.v51-onboarding-flow article {
  position: relative;
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--v51-line);
  border-radius: 12px;
  background: #fff;
}
.v51-onboarding-flow article:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -12px;
  top: 48%;
  z-index: 2;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--v51-red);
  color: #fff;
  font-size: 11px;
}
.v51-onboarding-flow span {
  color: var(--v51-red);
  font-size: 10px;
  font-weight: 800;
}
.v51-onboarding-flow h3 {
  margin: 13px 0 7px;
  color: var(--v51-ink);
  font-size: 14px;
}
.v51-onboarding-flow p {
  margin: 0;
  color: var(--v51-muted);
  font-size: 10px;
  line-height: 1.55;
}

/* -----------------------------------------------------------------------
   RESPONSIVE RULES FOR V51 COMPONENTS
------------------------------------------------------------------------ */
@media (max-width: 1100px) {
  .v51-program-check-layout { grid-template-columns: 1fr; }
  .v51-process-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v51-process-track::before { display: none; }
  .v51-requirement-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v51-safety-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v51-centre-filter { grid-template-columns: 1fr 1fr; }
  .v51-search-field { grid-column: 1 / -1; }
  .v51-centre-steps,
  .v51-onboarding-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .v51-onboarding-flow article::after { display: none; }
}
@media (max-width: 760px) {
  footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    padding-bottom: 88px;
  }
  footer .footer-bottom-links {
    justify-content: flex-start;
    gap: 7px 14px;
  }
  .v51-program-status-card,
  .v51-centre-verify-card {
    padding: 19px;
  }
  .v51-form-grid { grid-template-columns: 1fr; }
  .v51-program-check-form,
  .v51-confirm-panel { padding: 18px; }
  .v51-process-track,
  .v51-requirement-grid,
  .v51-safety-grid,
  .v51-status-guide,
  .v51-centre-steps,
  .v51-onboarding-flow { grid-template-columns: 1fr; }
  .v51-public-status {
    grid-template-columns: auto 1fr;
    align-items: start;
  }
  .v51-public-status .btn {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: space-between;
  }
  .v51-centre-filter { grid-template-columns: 1fr; }
  .v51-search-field { grid-column: auto; }
  .v51-centre-filter .btn { width: 100%; justify-content: space-between; }
  .v51-results-bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .v51-centre-card-head {
    grid-template-columns: 62px 1fr;
    padding: 17px;
  }
  .v51-centre-logo {
    width: 62px;
    height: 62px;
  }
  .v51-centre-logo img {
    width: 52px;
    height: 52px;
  }
  .v51-centre-card-head h3 { font-size: 17px; }
  .v51-centre-facts { grid-template-columns: 1fr; }
  .v51-centre-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .v51-centre-actions .btn {
    width: 100%;
    justify-content: space-between;
  }
  .v51-before-admission { grid-template-columns: 1fr; padding: 20px; }
}
@media (max-width: 480px) {
  .v51-centre-mini-grid { grid-template-columns: 1fr; }
  .v51-public-status {
    grid-template-columns: 1fr;
    padding: 19px;
  }
  .v51-public-status-icon {
    width: 46px;
    height: 46px;
  }
  .v51-program-status-card h2,
  .v51-centre-verify-card h2,
  .v51-public-status h2,
  .v51-before-admission h2 {
    font-size: 19px;
  }
  .v51-form-head {
    align-items: flex-start;
  }
  .v51-form-head h3 { font-size: 16px; }
  .v51-centre-card-head {
    grid-template-columns: 1fr;
  }
  .v51-centre-logo {
    width: 58px;
    height: 58px;
  }
}


/* ==========================================================================
   BFS V52 — balanced topbar, mobile header drawer, image banners and map
   ========================================================================== */

/* Equal left/right columns with a centered announcement area. */
.bfs-topbar-v13 .bfs-topbar-inner{display:grid;grid-template-columns:minmax(250px,1fr) minmax(360px,1.35fr) minmax(250px,1fr);align-items:center;gap:14px}
.bfs-topbar-v13 .bfs-topbar-left{min-width:0;justify-content:flex-start}
.bfs-topbar-v13 .bfs-topbar-right{min-width:0;justify-content:flex-end}
.bfs-topbar-v13 .bfs-topbar-marquee{min-width:0;text-align:center}
.bfs-topbar-v13 .bfs-topbar-marquee-track{margin-inline:auto}

/* Header mobile menu button; desktop navigation remains unchanged. */
.bfs-mobile-menu-toggle{display:none}
.bfs-mobile-header-backdrop,.bfs-mobile-header-drawer{display:none}

/* Uploaded responsive banner artwork. */
.bfs-image-banner-slider{background:#fff}
.bfs-banner-slide.bfs-image-banner-slide{display:none;min-height:0;background:none;align-items:stretch}
.bfs-banner-slide.bfs-image-banner-slide.active{display:block}
.bfs-image-banner-slide>a,.bfs-image-banner-slide picture,.bfs-image-banner-slide img{display:block;width:100%}
.bfs-image-banner-slide img{height:auto;object-fit:contain;background:#fff}
.bfs-image-banner-slider .bfs-banner-arrow{background:rgba(7,35,72,.78);border-color:rgba(255,255,255,.7)}
.bfs-image-banner-slider .bfs-banner-dots{bottom:14px}
.bfs-image-banner-slider .bfs-banner-dot{background:rgba(6,43,88,.38)}
.bfs-image-banner-slider .bfs-banner-dot.active{background:#d6322f}
.bfs-banner-hero .hero-support-after-slider{margin-top:0}

/* Dynamic India map with a layered 3D visual. */
.bfs-map-3d-shell{display:block;min-height:560px;padding:18px;perspective:1200px}
.bfs-map-3d-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:5/4;margin:auto;transform:rotateX(4deg) rotateZ(-.5deg);transform-origin:center;transition:transform .35s ease}
.bfs-map-3d-shell:hover .bfs-map-3d-stage{transform:rotateX(1deg) rotateZ(0deg) translateY(-3px)}
.bfs-map-3d-stage::before{content:"";position:absolute;z-index:-1;inset:8% 7% 2%;border-radius:28px;background:#020d21;filter:blur(28px);opacity:.55;transform:translateY(24px)}
.bfs-map-3d-stage>img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(1,12,31,.35))}
.bfs-map-marker-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.bfs-map-marker{position:absolute;left:var(--map-x);top:var(--map-y);width:18px;height:18px;padding:0;border:3px solid #fff;border-radius:50%;background:#ed3237;box-shadow:0 0 0 7px rgba(237,50,55,.16),0 8px 18px rgba(0,0,0,.32);transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;animation:bfsMapPulse 2.2s ease-in-out infinite}
.bfs-map-marker.is-primary{width:22px;height:22px;background:#19a974;box-shadow:0 0 0 8px rgba(25,169,116,.18),0 8px 18px rgba(0,0,0,.32)}
.bfs-map-marker span{position:absolute;left:50%;bottom:calc(100% + 12px);min-width:max-content;max-width:180px;padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#082954;color:#fff;font-size:10px;font-weight:750;line-height:1.35;box-shadow:0 12px 28px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translate(-50%,7px);transition:.2s}
.bfs-map-marker:hover span,.bfs-map-marker:focus-visible span{opacity:1;visibility:visible;transform:translate(-50%,0)}
@keyframes bfsMapPulse{0%,100%{scale:1}50%{scale:1.12}}
.bfs-dynamic-location-list{position:relative;z-index:5;margin-top:14px}
.bfs-dynamic-location-list .placement-location-chip-v47{cursor:pointer}
.bfs-dynamic-location-list .placement-location-chip-v47:hover{border-color:rgba(255,255,255,.35);transform:translateY(-2px)}

@media(max-width:1180px){
  .bfs-topbar-v13 .bfs-topbar-inner{grid-template-columns:minmax(180px,1fr) minmax(280px,1.25fr) minmax(180px,1fr)}
  .bfs-topbar-v13 .bfs-topbar-left a:last-child{display:none}
}

/* Requested container padding applies only to tablet and mobile views. */
@media(max-width:1120px){.container{padding-inline:clamp(1px,3vw,36px)}}

@media(max-width:920px){
  .bfs-topbar-v13{display:block;min-height:38px}
  .bfs-topbar-v13 .bfs-topbar-inner{grid-template-columns:58px minmax(0,1fr) 58px;gap:6px;min-height:38px;padding-inline:8px}
  .bfs-topbar-v13 .bfs-topbar-left,.bfs-topbar-v13 .bfs-topbar-right{display:flex;align-items:center}
  .bfs-topbar-v13 .bfs-topbar-left a:not(:first-child){display:none}
  .bfs-topbar-v13 .bfs-topbar-left a:first-child{width:54px;justify-content:center;gap:4px;font-size:0}
  .bfs-topbar-v13 .bfs-topbar-left a:first-child::after{content:"Call";font-size:9px;font-weight:750}
  .bfs-topbar-v13 .bfs-topbar-left svg{width:14px;height:14px}
  .bfs-topbar-v13 .bfs-topbar-right a{width:54px;justify-content:center;font-size:9px;font-weight:750}
  .bfs-topbar-v13 .bfs-topbar-marquee{display:block;overflow:hidden;border:0;padding:0}
  .bfs-topbar-v13 .bfs-topbar-marquee-line{gap:7px;font-size:9px;white-space:nowrap}
  .bfs-topbar-v13 .bfs-topbar-marquee-line span,.bfs-topbar-v13 .bfs-topbar-marquee-line b,.bfs-topbar-v13 .bfs-topbar-marquee-line a{display:none}

  .bfs-nav-actions .mobile-student-action{display:none}
  .bfs-mobile-menu-toggle{display:grid;width:46px;height:46px;border-radius:10px;background:#fff;color:#0b376c;border:1px solid #d7e4ef;box-shadow:0 8px 20px rgba(10,45,84,.08)}
  .bfs-mobile-menu-toggle svg{width:22px;height:22px}
  .bfs-mobile-header-backdrop{display:block;position:fixed;inset:0;z-index:1800;background:rgba(3,18,37,.62);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:.25s}
  .bfs-mobile-header-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .bfs-mobile-header-drawer{display:flex;position:fixed;z-index:1810;left:0;top:0;bottom:0;width:min(346px,90vw);flex-direction:column;background:#fff;box-shadow:22px 0 55px rgba(3,23,48,.25);transform:translateX(-104%);visibility:hidden;transition:transform .3s ease,visibility .3s ease}
  .bfs-mobile-header-drawer.is-open{transform:translateX(0);visibility:visible}
  .bfs-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;border-bottom:3px solid #d6322f;background:#fff}
  .bfs-mobile-drawer-brand{display:flex;align-items:center;gap:10px;color:#0b2c57}
  .bfs-mobile-drawer-brand img{width:54px;height:54px;object-fit:contain}
  .bfs-mobile-drawer-brand strong{display:block;font-size:15px}
  .bfs-mobile-drawer-brand small{display:block;margin-top:3px;color:#d6322f;font-size:7.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
  .bfs-mobile-drawer-close{width:42px;height:42px;border:0;border-radius:50%;background:#f2f5f8;color:#132d4b;font-size:27px;line-height:1;cursor:pointer}
  .bfs-mobile-drawer-nav{flex:1;overflow-y:auto;padding:14px 13px 132px;overscroll-behavior:contain}
  .bfs-mobile-drawer-home,.bfs-mobile-drawer-nav summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 12px;border-bottom:1px solid #edf1f5;color:#16283e;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
  .bfs-mobile-drawer-nav summary::-webkit-details-marker{display:none}
  .bfs-mobile-drawer-home{justify-content:flex-start}
  .bfs-mobile-drawer-home svg,.bfs-mobile-drawer-nav summary svg{width:19px;height:19px;color:#0f4f8e}
  .bfs-mobile-drawer-nav summary span{display:flex;align-items:center;gap:11px}
  .bfs-mobile-drawer-nav summary b{color:#7b8da0;font-size:16px;transition:.2s}
  .bfs-mobile-drawer-nav details[open] summary{color:#d6322f;background:#fff7f7}
  .bfs-mobile-drawer-nav details[open] summary b{transform:rotate(180deg)}
  .bfs-mobile-drawer-nav details>div{display:grid;padding:5px 0 8px 42px;border-bottom:1px solid #edf1f5;background:#fbfdff}
  .bfs-mobile-drawer-nav details>div a{padding:9px 10px;border-left:2px solid #dbe7f2;color:#5b6f85;font-size:11.5px;line-height:1.35}
  .bfs-mobile-drawer-nav details>div a:hover{border-left-color:#d6322f;color:#d6322f;background:#fff}
  .bfs-mobile-drawer-actions{position:absolute;left:0;right:0;bottom:0;display:grid;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5ebf1;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
  .bfs-mobile-drawer-actions a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:800}
  .bfs-mobile-login{background:#d6322f;color:#fff}
  .bfs-mobile-apply{border:1px solid #d6322f;color:#d6322f;background:#fff}
  body.bfs-drawer-open{overflow:hidden}

  .bfs-image-banner-slider .bfs-banner-dots{bottom:10px}
  .bfs-image-banner-slide img{width:100%;height:auto}
  .bfs-map-3d-shell{min-height:0;padding:8px}
  .bfs-map-3d-stage{transform:none}
  .bfs-map-3d-shell:hover .bfs-map-3d-stage{transform:none}
  .bfs-map-marker{width:15px;height:15px;border-width:2px}
  .bfs-map-marker span{font-size:8.5px}
}

@media(max-width:420px){
  .bfs-topbar-v13 .bfs-topbar-inner{grid-template-columns:50px minmax(0,1fr) 50px;padding-inline:5px}
  .bfs-topbar-v13 .bfs-topbar-left a:first-child,.bfs-topbar-v13 .bfs-topbar-right a{width:48px}
  .bfs-topbar-v13 .bfs-topbar-marquee-line{font-size:8px}
  .bfs-mobile-header-drawer{width:min(330px,92vw)}
  .bfs-mobile-drawer-head{padding:14px 13px}
  .bfs-mobile-drawer-brand img{width:48px;height:48px}
}


/* ==========================================================================
   V53 DEPLOYMENT SERVICE GATEWAYS
   Visible only on pages whose original prototype form needs a secure live service.
   ========================================================================== */
.production-live-gateway{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 20px;padding:18px;border:1px solid #d7e4f0;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eef5fb);box-shadow:0 14px 34px rgba(12,51,103,.08)}
.production-live-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#0c3367;color:#fff}.production-live-icon svg{width:22px;height:22px}.production-live-copy span{display:block;margin-bottom:4px;color:#d6322f;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.production-live-copy h3{margin:0 0 4px;color:#10243e;font-size:18px}.production-live-copy p{margin:0;color:#60758d;font-size:11.5px;line-height:1.55}.production-live-copy small{display:block;margin-top:6px;color:#72869a;font-size:9.5px;line-height:1.5}.production-live-button{white-space:nowrap}.production-hidden-static-form{display:none!important}.production-form-note{margin:0 0 14px;padding:11px 12px;border-left:3px solid #155f9f;border-radius:7px;background:#eef5fb;color:#536b83;font-size:10.5px;line-height:1.55}
@media(max-width:760px){.production-live-gateway{grid-template-columns:auto 1fr;align-items:start;padding:15px}.production-live-button{grid-column:1/-1;width:100%;justify-content:space-between}.production-live-copy h3{font-size:16px}}

/* ======================================================================
   V54 — OFFICIAL BFS LINKS
   Official social, app, map and WhatsApp Channel presentation.
   ====================================================================== */
.bfs-official-social-links{display:flex;flex-wrap:wrap;gap:7px}
.bfs-official-social-links .social-link{position:relative}
.bfs-official-social-links .social-link svg{width:16px;height:16px}
.bfs-mobile-connect{margin:12px 16px 18px;padding-top:13px;border-top:1px solid #e1eaf3}
.bfs-mobile-connect>small{display:block;margin-bottom:9px;color:#62758b;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.bfs-mobile-connect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.bfs-mobile-connect-grid a{min-width:0;display:grid;place-items:center;gap:5px;padding:9px 4px;border:1px solid #dce7f1;border-radius:9px;background:#f7fafd;color:#0b2c57;font-size:8.5px;font-weight:700;text-align:center;transition:.2s ease}
.bfs-mobile-connect-grid a:hover{border-color:#e05a57;background:#fff3f3;color:#c72725;transform:translateY(-2px)}
.bfs-mobile-connect-grid svg{width:18px;height:18px}
.bfs-connect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}
.bfs-connect-card{position:relative;min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;border:1px solid #d9e5f0;border-radius:12px;background:#fff;color:#10243e;box-shadow:0 12px 30px rgba(14,49,88,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.bfs-connect-card:hover{transform:translateY(-5px);border-color:#aac4dc;box-shadow:0 20px 40px rgba(14,49,88,.11)}
.bfs-connect-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#eaf3fb;color:#155f9f}
.bfs-connect-icon svg{width:22px;height:22px}
.bfs-connect-card small{display:block;margin-bottom:3px;color:#75899e;font-size:8.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.bfs-connect-card h3{margin:0 0 3px;color:#10243e;font-size:15px}
.bfs-connect-card p{margin:0;color:#60758d;font-size:9.5px;line-height:1.45;overflow-wrap:anywhere}
.bfs-connect-card>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f0f5fa;color:#155f9f;font-size:12px}
.bfs-connect-card.instagram .bfs-connect-icon,.bfs-connect-card.facebook .bfs-connect-icon{background:#edf3ff;color:#164c97}
.bfs-connect-card.youtube .bfs-connect-icon{background:#fff0f0;color:#d6322f}
.bfs-connect-card.playstore .bfs-connect-icon{background:#edf8f2;color:#168057}
.bfs-connect-card.whatsapp .bfs-connect-icon{background:#eaf8f0;color:#12965b}
.bfs-connect-card.map .bfs-connect-icon{background:#fff2ef;color:#d04a35}
.bfs-official-website{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:12px;border:1px solid #d9e5f0;border-radius:10px;background:#fff;color:#60758d;font-size:10.5px}
.bfs-official-website svg{width:18px;height:18px;color:#155f9f}
.bfs-official-website a{color:#0b2c57;font-weight:800}
.contact-live-item a{color:inherit;text-decoration:none}
.contact-live-item a:hover{color:#d6322f}
@media(max-width:980px){.bfs-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bfs-connect-grid{grid-template-columns:1fr}.bfs-connect-card{padding:15px}.bfs-official-website{align-items:flex-start;flex-wrap:wrap}.bfs-mobile-connect-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* V54 mobile drawer visibility correction: official links remain inside the scrollable nav. */
.bfs-mobile-drawer-nav>.bfs-mobile-connect{margin:16px 3px 4px;padding:14px 3px 0}
@media(max-width:520px){.bfs-mobile-drawer-nav{padding-bottom:145px}.bfs-mobile-drawer-nav>.bfs-mobile-connect{margin-top:14px}}


/* BFS V55 — mobile drawer menu polish */
@media (max-width: 1120px) {
  /* Clean borderless mobile menu rows */
  .bfs-mobile-drawer-nav .bfs-mobile-drawer-home,
  .bfs-mobile-drawer-nav details,
  .bfs-mobile-drawer-nav summary,
  .bfs-mobile-drawer-nav details > div,
  .bfs-mobile-drawer-nav details > div a {
    border: 0;
  }

  .bfs-mobile-drawer-nav .bfs-mobile-drawer-home,
  .bfs-mobile-drawer-nav summary {
    border-radius: 9px;
    margin-bottom: 3px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
  }

  .bfs-mobile-drawer-nav .bfs-mobile-drawer-home:hover,
  .bfs-mobile-drawer-nav summary:hover,
  .bfs-mobile-drawer-nav details[open] > summary {
    background: #f5f8fc;
    color: #d6322f;
  }

  /* Welfare-style caret, scoped only to the mobile drawer */
  .bfs-mobile-drawer-nav summary > .wf-nav-caret {
    display: inline-grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-left: auto;
    border: 0;
    border-radius: 50%;
    background: #f2f6fa;
    color: #6d8197;
    font-size: 14px;
    line-height: 1;
    transition: transform .22s ease, background-color .22s ease, color .22s ease;
  }

  .bfs-mobile-drawer-nav details[open] > summary > .wf-nav-caret {
    transform: rotate(180deg);
    background: #fff0f0;
    color: #d6322f;
  }

  .bfs-mobile-drawer-nav details > div {
    margin: 2px 0 7px;
    padding: 5px 0 7px 42px;
    border-radius: 8px;
    background: #fbfdff;
  }

  .bfs-mobile-drawer-nav details > div a {
    border-radius: 7px;
  }

  /* Same rounded CTA language used throughout the BFS frontend */
  .bfs-mobile-drawer-actions {
    gap: 9px;
  }

  .bfs-mobile-drawer-actions a {
    min-height: 50px;
    padding: 7px 8px 7px 18px;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(11, 44, 87, .10);
  }

  .bfs-mobile-drawer-actions a > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-left: 12px;
    border-radius: 50%;
    font-size: 14px;
    line-height: 1;
    transition: transform .2s ease;
  }

  .bfs-mobile-drawer-actions a:hover > span,
  .bfs-mobile-drawer-actions a:focus-visible > span {
    transform: translate(2px, -2px);
  }

  .bfs-mobile-login {
    border: 0;
    background: #d6322f;
    color: #fff;
  }

  .bfs-mobile-login > span {
    background: rgba(255, 255, 255, .16);
    color: #fff;
  }

  .bfs-mobile-apply {
    border: 0;
    background: #0b2c57;
    color: #fff;
  }

  .bfs-mobile-apply > span {
    background: rgba(255, 255, 255, .14);
    color: #fff;
  }
}

/* ======================================================================
   BFS V58 — final requested mobile, map, banner, footer and review polish
   ====================================================================== */

/* Banner artwork is visual only; swipe is handled by frontend-v13.js. */
.bfs-image-banner-slide picture,
.bfs-image-banner-slide img{display:block;width:100%}
.bfs-image-banner-slider{touch-action:pan-y;user-select:none;-webkit-user-select:none}

/* Mobile menu toggle: requested display mode with a stronger three-line icon. */
@media (max-width:920px){
  .bfs-mobile-menu-toggle{display:contents}
  .bfs-mobile-menu-toggle svg{width:28px;height:28px;color:#0b376c;cursor:pointer;stroke-width:3.2;filter:drop-shadow(0 2px 4px rgba(11,55,108,.12))}
}

/* Icon-only heading inside the mobile Follow & Connect block. */
.bfs-mobile-connect-heading{
  width:34px;height:34px;display:grid!important;place-items:center;margin:0 0 9px!important;
  border-radius:50%;background:#edf5fc;color:#0b376c;border:1px solid #d8e6f2;
}
.bfs-mobile-connect-heading svg{width:18px;height:18px}

/* Compact Google Play card in the footer brand panel. */
.footer-playstore-card{
  display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:11px;
  margin-top:13px;padding:11px 12px;border:1px solid rgba(255,255,255,.13);border-radius:9px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  color:#fff;box-shadow:0 12px 26px rgba(2,16,38,.14);transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.footer-playstore-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.12)}
.footer-playstore-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#fff;color:#d6322f}
.footer-playstore-icon svg{width:21px;height:21px}
.footer-playstore-card small,.footer-playstore-card strong{display:block}
.footer-playstore-card small{margin-bottom:2px;color:rgba(255,255,255,.62);font-size:8.5px;line-height:1.35}
.footer-playstore-card strong{color:#fff;font-size:11px;line-height:1.35}
.footer-playstore-card>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:12px}

/* Contact-page embedded map. */
.bfs-contact-map-section{overflow:hidden}
.bfs-contact-map-head{align-items:end}
.bfs-contact-map-card{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:0;overflow:hidden;
  margin-top:22px;border:1px solid #d7e4ef;border-radius:14px;background:#fff;
  box-shadow:0 24px 58px rgba(11,47,99,.10)
}
.bfs-contact-map-frame{min-height:420px;background:#eaf2f9}
.bfs-contact-map-frame iframe{display:block;width:100%;height:100%;min-height:420px;border:0}
.bfs-contact-map-info{display:flex;align-items:flex-start;gap:13px;padding:26px;background:#0b2c57;color:#fff}
.bfs-contact-map-pin{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:12px;background:#fff;color:#d6322f}
.bfs-contact-map-pin svg{width:22px;height:22px}
.bfs-contact-map-info small{display:block;margin-bottom:5px;color:#91bce2;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.bfs-contact-map-info h3{margin:0 0 8px;color:#fff;font-size:20px}
.bfs-contact-map-info p{margin:0 0 12px;color:rgba(255,255,255,.72);font-size:11px;line-height:1.65}
.bfs-contact-map-info a{color:#fff;font-size:12px;font-weight:800}

/* Expandable animated quick-action hub on every page. */
.bfs-action-hub{position:fixed;right:18px;bottom:22px;z-index:1250;display:grid;justify-items:end;gap:10px}
.bfs-action-hub-menu{display:grid;gap:9px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);transform-origin:bottom right;transition:.22s ease;pointer-events:none}
.bfs-action-hub.is-open .bfs-action-hub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.bfs-action-hub-item{display:grid;grid-template-columns:38px auto;align-items:center;gap:8px;min-width:132px;padding:6px 11px 6px 6px;border-radius:999px;background:#fff;color:#0b2c57;border:1px solid #d6e4ef;box-shadow:0 12px 28px rgba(5,34,70,.17);font-size:10px;font-weight:800}
.bfs-action-hub-item svg{width:38px;height:38px;padding:10px;border-radius:50%;color:#fff}
.bfs-action-hub-item.is-call svg{background:#1663a8}
.bfs-action-hub-item.is-whatsapp svg{background:#12a66a}
.bfs-action-hub-item.is-top svg{background:#d6322f}
.bfs-action-hub-toggle{position:relative;width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(145deg,#d6322f,#ef4d50);color:#fff;box-shadow:0 16px 36px rgba(214,50,47,.35);cursor:pointer;isolation:isolate}
.bfs-action-hub-toggle::before,.bfs-action-hub-toggle::after{content:"";position:absolute;inset:-7px;border:2px solid rgba(214,50,47,.42);border-radius:50%;z-index:-1;animation:bfsActionWave 2.1s ease-out infinite}
.bfs-action-hub-toggle::after{animation-delay:1.05s}
.bfs-action-hub-toggle svg{width:23px;height:23px}
.bfs-action-hub-toggle>span{position:absolute;right:-1px;top:-1px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#0b2c57;color:#fff;border:2px solid #fff;font-size:13px;font-weight:800;transition:transform .22s ease}
.bfs-action-hub.is-open .bfs-action-hub-toggle>span{transform:rotate(45deg)}
@keyframes bfsActionWave{0%{transform:scale(.82);opacity:.82}75%,100%{transform:scale(1.55);opacity:0}}

/* Home course filters: compact, button-shaped and horizontally scrollable. */
body[data-page="home"] #courses .course-controls{align-items:center;gap:12px}
body[data-page="home"] #courses .filter-pills{
  display:flex;flex-wrap:nowrap;gap:7px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
  scroll-snap-type:inline proximity;padding:3px 2px 8px;scrollbar-width:thin;scrollbar-color:#c7d7e7 transparent
}
body[data-page="home"] #courses .filter-pills::-webkit-scrollbar{height:4px}
body[data-page="home"] #courses .filter-pills::-webkit-scrollbar-thumb{background:#c7d7e7;border-radius:999px}
body[data-page="home"] #courses .filter-btn{
  flex:0 0 auto;min-height:36px;padding:8px 13px!important;border-radius:999px!important;white-space:nowrap;
  font-size:10.5px!important;font-weight:650!important;scroll-snap-align:start
}
body[data-page="home"] #courses .search-mini{flex:0 0 min(250px,100%)}

/* Full India map and permanently visible location totals. */
body[data-page="home"] #placement .bfs-map-3d-shell{overflow:visible!important;padding:8px!important}
body[data-page="home"] #placement .bfs-map-3d-stage{width:100%;aspect-ratio:5/4;overflow:visible}
body[data-page="home"] #placement .bfs-map-3d-stage>img{width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
.bfs-map-marker{width:16px;height:16px}
.bfs-map-marker span{
  top:var(--label-y,0);bottom:auto;left:calc(100% + 8px);display:grid;gap:1px;min-width:76px;padding:6px 8px;
  opacity:1!important;visibility:visible!important;transform:none!important;border-radius:7px;background:#fff;color:#0b2c57;
  border:1px solid #d7e4ef;box-shadow:0 9px 20px rgba(3,24,52,.18);pointer-events:none
}
.bfs-map-marker.label-left span{left:auto;right:calc(100% + 8px);text-align:right}
.bfs-map-marker span b{font-size:8.5px;line-height:1.25;white-space:nowrap}
.bfs-map-marker span small{color:#d6322f;font-size:7.5px;font-weight:800;white-space:nowrap}
.placement-location-chip-v47{justify-content:flex-start}
.placement-location-chip-v47 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.placement-location-chip-v47 b{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);font-size:8.5px}

/* Student review cards: same compact height with content-driven spacing. */
body[data-page="home"] .review-mini-card{
  display:flex!important;flex-direction:column!important;width:300px!important;height:176px!important;min-height:176px!important;padding:15px!important
}
body[data-page="home"] .review-mini-card header{grid-template-columns:36px 1fr auto!important}
body[data-page="home"] .review-mini-card header>span{width:36px!important;height:36px!important}
body[data-page="home"] .review-mini-card .stars{margin:8px 0 4px!important}
body[data-page="home"] .review-mini-card p{min-height:0!important;margin:0!important;font-size:10.5px!important;line-height:1.5!important}
body[data-page="home"] .review-mini-card footer{margin-top:auto!important;padding-top:8px!important}

@media(max-width:920px){
  .bfs-action-hub{right:12px;bottom:84px}
  .bfs-action-hub-toggle{width:52px;height:52px}
  .bfs-action-hub-item{grid-template-columns:36px auto;min-width:122px}
  .bfs-action-hub-item svg{width:36px;height:36px}
  .bfs-contact-map-card{grid-template-columns:1fr}
  .bfs-contact-map-frame,.bfs-contact-map-frame iframe{min-height:330px}
  .bfs-contact-map-info{padding:19px}
  body[data-page="home"] #courses .course-controls{display:grid!important;grid-template-columns:1fr!important}
  body[data-page="home"] #courses .filter-pills{width:100%;margin:0}
  body[data-page="home"] #courses .search-mini{width:100%;max-width:none;flex-basis:auto}
  body[data-page="home"] #placement .bfs-map-3d-stage{min-width:0}
  .bfs-map-marker span{min-width:62px;padding:5px 6px}
  .bfs-map-marker span b{font-size:7px}
  .bfs-map-marker span small{font-size:6.5px}
  body[data-page="home"] .review-mini-card{width:274px!important;height:168px!important;min-height:168px!important}
}

@media(max-width:520px){
  .footer-playstore-card{grid-template-columns:38px minmax(0,1fr) 26px;padding:9px 10px}
  .footer-playstore-icon{width:38px;height:38px}
  .bfs-contact-map-frame,.bfs-contact-map-frame iframe{min-height:280px}
  .bfs-contact-map-head .btn{width:100%;justify-content:space-between}
  body[data-page="home"] #courses .filter-btn{min-height:33px;padding:7px 11px!important;font-size:9.5px!important}
  body[data-page="home"] #placement .bfs-map-3d-shell{padding:1px!important}
  .bfs-map-marker{width:12px;height:12px;border-width:2px}
  .bfs-map-marker span{min-width:48px;padding:4px 5px;line-height:1.1}
  .bfs-map-marker span b{font-size:5.8px}
  .bfs-map-marker span small{font-size:5.2px}
}
