/*
Theme Name: VSBNG
Theme URI: https://vsbng.net.ph/
Author: VSBNG
Description: VSBNG.COM access guide website for VSBNG users.
Version: 3.0.0
Text Domain: vsbng
*/

:root {
  --vs-bg: #06101f;
  --vs-bg2: #0b1830;
  --vs-card: rgba(255,255,255,.07);
  --vs-line: rgba(255,255,255,.14);
  --vs-gold: #ffcf64;
  --vs-gold2: #e99d28;
  --vs-red: #ff4545;
  --vs-green: #25d695;
  --vs-text: #f8fbff;
  --vs-muted: #b8c7dc;
  --vs-soft: #e7eef9;
  --vs-radius: 8px;
  --vs-shadow: 0 22px 56px rgba(0,0,0,.34);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  color: var(--vs-text);
  background: var(--vs-bg);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
}

body.admin-bar .vsbng-header {
  top: 32px;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

.vsbng-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Header */

.vsbng-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: linear-gradient(180deg, rgba(8,18,35,.98), rgba(8,18,35,.9));
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--vs-line);
}

.vsbng-header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.vsbng-logo {
  display: inline-flex;
  align-items: center;
  min-width: 150px;
  text-decoration: none;
}

.vsbng-logo img {
  width: 158px;
  max-height: 52px;
  object-fit: contain;
  display: block;
}

.vsbng-logo-text {
  display: none;
  color: var(--vs-gold);
  font-size: 26px;
  font-weight: 900;
}

.vsbng-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}

.vsbng-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border-radius: var(--vs-radius);
  color: var(--vs-muted);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: .2s ease;
}

.vsbng-nav a:hover,
.vsbng-nav a.is-active {
  color: #1b1204;
  background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
  box-shadow: 0 10px 24px rgba(233,157,40,.22);
}

.vsbng-menu-toggle {
  display: none;
  width: 44px;
  height: 42px;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  color: var(--vs-text);
  background: rgba(255,255,255,.07);
  cursor: pointer;
  font-size: 22px;
}

/* Main */

.vsbng-main {
  min-height: 72vh;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,207,100,.18), transparent 31%),
    radial-gradient(circle at 92% 10%, rgba(255,69,69,.12), transparent 30%),
    radial-gradient(circle at 50% 42%, rgba(37,214,149,.055), transparent 34%),
    linear-gradient(180deg, #06101f 0%, #0b1830 46%, #06101f 100%);
}

/* Hero */

.vsbng-hero {
  padding: 68px 0 42px;
}

.vsbng-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  gap: 34px;
  align-items: center;
}

.vsbng-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  padding: 8px 14px;
  border: 1px solid rgba(255,207,100,.36);
  border-radius: 999px;
  color: var(--vs-gold);
  background: rgba(255,207,100,.09);
  font-size: 14px;
  font-weight: 900;
}

.vsbng-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--vs-red);
  box-shadow: 0 0 0 5px rgba(255,69,69,.14);
}

.vsbng-hero h1 {
  margin: 0 0 18px;
  max-width: 850px;
  color: var(--vs-text);
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.04;
  letter-spacing: 0;
}

.vsbng-lead {
  margin: 0 0 22px;
  max-width: 760px;
  color: var(--vs-muted);
  font-size: 18px;
  line-height: 1.78;
}

/* Buttons */

.vsbng-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 18px 0 0;
}

.vsbng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border-radius: var(--vs-radius);
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.vsbng-btn:hover {
  transform: translateY(-1px);
}

.vsbng-btn-primary {
  color: #1b1204;
  background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
  box-shadow: 0 18px 38px rgba(233,157,40,.28);
}

.vsbng-btn-secondary {
  color: var(--vs-text);
  border: 1px solid var(--vs-line);
  background: rgba(255,255,255,.07);
}

.vsbng-btn-secondary:hover {
  border-color: rgba(255,207,100,.42);
}

.vsbng-btn-home {
  color: #fff;
  background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.06));
  border: 1px solid rgba(255,207,100,.32);
}

/* Route cards */

.vsbng-route-panel {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(255,207,100,.32);
  border-radius: var(--vs-radius);
  background:
    linear-gradient(135deg, rgba(255,207,100,.16), rgba(255,255,255,.045)),
    radial-gradient(circle at 95% 0%, rgba(255,69,69,.14), transparent 36%);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

.vsbng-route-panel strong {
  color: var(--vs-gold);
  font-size: 16px;
}

.vsbng-route-list {
  display: grid;
  gap: 10px;
}

.vsbng-route-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 13px 14px;
  border: 1px solid rgba(255,207,100,.22);
  border-radius: var(--vs-radius);
  color: var(--vs-text);
  background: rgba(0,0,0,.18);
  text-decoration: none;
  font-weight: 900;
  transition: .2s ease;
}

.vsbng-route-list a:hover {
  border-color: rgba(255,207,100,.42);
  background: rgba(255,207,100,.14);
}

.vsbng-route-list span {
  color: var(--vs-gold);
  font-size: 13px;
  white-space: nowrap;
}

/* Media */

.vsbng-media {
  position: relative;
  min-height: 430px;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
    radial-gradient(circle at 50% 28%, rgba(255,207,100,.18), transparent 42%);
  box-shadow: var(--vs-shadow);
  display: grid;
  place-items: center;
}

.vsbng-media::before {
  content: "VSBNG.COM";
  position: absolute;
  top: 28px;
  left: 24px;
  z-index: 2;
  padding: 8px 12px;
  border: 1px solid rgba(255,207,100,.28);
  border-radius: 999px;
  color: var(--vs-gold);
  background: rgba(0,0,0,.28);
  font-size: 13px;
  font-weight: 900;
}

.vsbng-media img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  opacity: .42;
}

.vsbng-media-note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--vs-radius);
  color: var(--vs-soft);
  background: rgba(0,0,0,.46);
  text-align: center;
  font-size: 14px;
}

/* Sections */

.vsbng-section {
  padding: 42px 0;
}

.vsbng-section h1,
.vsbng-section h2 {
  margin: 0 0 18px;
  color: var(--vs-text);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
  letter-spacing: 0;
}

.vsbng-section h3 {
  margin: 0 0 10px;
  color: var(--vs-gold);
  font-size: 20px;
  line-height: 1.25;
}

.vsbng-section p {
  margin: 0 0 16px;
  color: var(--vs-muted);
  font-size: 17px;
  line-height: 1.86;
}

.vsbng-section p:last-child {
  margin-bottom: 0;
}

/* Grids */

.vsbng-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.vsbng-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

/* Cards */

.vsbng-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,207,100,.18);
  border-radius: var(--vs-radius);
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035)),
    radial-gradient(circle at 18% 0%, rgba(255,207,100,.16), transparent 34%);
  padding: 24px;
  box-shadow: 0 18px 42px rgba(0,0,0,.26);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.vsbng-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,207,100,.18), transparent 28%),
    linear-gradient(315deg, rgba(255,69,69,.10), transparent 34%);
  opacity: .75;
  pointer-events: none;
}

.vsbng-card::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 0;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--vs-gold), var(--vs-red));
}

.vsbng-card > * {
  position: relative;
  z-index: 2;
}

.vsbng-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,207,100,.42);
  box-shadow: 0 24px 52px rgba(0,0,0,.34);
}

.vsbng-card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vsbng-card h3::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: var(--vs-gold);
  box-shadow: 0 0 0 6px rgba(255,207,100,.12);
}

.vsbng-card p {
  font-size: 16px;
}

.vsbng-card .vsbng-btn {
  margin-top: 10px;
  min-height: 44px;
  padding: 0 18px;
  font-size: 14px;
}

.vsbng-highlight {
  border: 1px solid rgba(255,207,100,.38);
  background:
    linear-gradient(135deg, rgba(255,207,100,.15), rgba(255,255,255,.055)),
    radial-gradient(circle at 90% 0%, rgba(255,69,69,.12), transparent 34%);
}

/* Steps */

.vsbng-steps {
  display: grid;
  gap: 14px;
  margin-top: 22px;
  counter-reset: step;
}

.vsbng-step {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: rgba(255,255,255,.055);
}

.vsbng-step::before {
  counter-increment: step;
  content: counter(step);
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #1b1204;
  background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
  font-weight: 900;
}

/* Notice */

.vsbng-notice {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid rgba(37,214,149,.34);
  border-radius: var(--vs-radius);
  background: rgba(37,214,149,.09);
}

.vsbng-notice strong {
  color: #7ff2c9;
}

/* FAQ */

.vsbng-faq details {
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: rgba(255,255,255,.055);
  padding: 16px 18px;
  margin: 0 0 12px;
}

.vsbng-faq details[open] {
  border-color: rgba(255,207,100,.38);
  background: rgba(255,207,100,.08);
}

.vsbng-faq summary {
  cursor: pointer;
  color: var(--vs-text);
  font-weight: 900;
  line-height: 1.4;
}

.vsbng-faq p {
  margin-top: 12px;
  margin-bottom: 0;
}

.vsbng-inner-nav {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* Footer */

.vsbng-footer {
  border-top: 1px solid var(--vs-line);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,207,100,.10), transparent 28%),
    #050d19;
  padding: 44px 0 24px;
}

.vsbng-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr .8fr .8fr .8fr;
  gap: 24px;
}

.vsbng-footer-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 14px;
  text-decoration: none;
}

.vsbng-footer-logo img {
  width: 170px;
  max-height: 58px;
  object-fit: contain;
}

.vsbng-footer-logo span {
  display: none;
  color: var(--vs-gold);
  font-size: 26px;
  font-weight: 900;
}

.vsbng-footer h3 {
  margin: 0 0 12px;
  color: var(--vs-gold);
  font-size: 18px;
}

.vsbng-footer p,
.vsbng-footer a {
  color: var(--vs-muted);
}

.vsbng-footer p {
  margin: 0;
  line-height: 1.78;
}

.vsbng-footer a {
  display: block;
  margin: 9px 0;
  text-decoration: none;
  font-size: 15px;
}

.vsbng-footer a:hover {
  color: var(--vs-gold);
}

.vsbng-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.vsbng-footer-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(255,207,100,.22);
  border-radius: 999px;
  color: var(--vs-gold);
  background: rgba(255,207,100,.08);
  font-size: 12px;
  font-weight: 800;
}

.vsbng-footer-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
  padding: 18px;
  border: 1px solid rgba(255,207,100,.26);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,207,100,.12), rgba(255,255,255,.045)),
    radial-gradient(circle at 100% 0%, rgba(255,69,69,.12), transparent 34%);
}

.vsbng-footer-route strong {
  display: block;
  color: var(--vs-gold);
  margin-bottom: 6px;
}

.vsbng-footer-route p {
  margin: 0;
}

.vsbng-footer-route a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 8px;
  color: #1b1204;
  background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
  text-decoration: none;
  font-weight: 900;
  white-space: nowrap;
}

.vsbng-copy {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--vs-line);
  color: var(--vs-muted);
  font-size: 14px;
}

/* Floating */

.vsbng-float {
  position: fixed;
  right: 16px;
  bottom: 18px;
  z-index: 9999;
  display: grid;
  gap: 10px;
}

.vsbng-float a {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 12px 26px rgba(0,0,0,.34);
  text-decoration: none;
  font-size: 0;
  font-weight: 900;
  transition: .18s ease;
}

.vsbng-float a:hover {
  transform: translateY(-2px);
}

.vsbng-float svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.vsbng-float .tg {
  background: linear-gradient(135deg, #40c9ff, #1d86ff);
}

.vsbng-float .ws {
  background: linear-gradient(135deg, #32e68b, #0fa85b);
}

.vsbng-float .fb {
  background: linear-gradient(135deg, #4d8dff, #155bd8);
}

.vsbng-float .top {
  color: #1b1204;
  background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
  font-size: 11px;
}

/* 404 */

.vsbng-error {
  padding: 82px 0;
  text-align: center;
}

.vsbng-error h1 {
  margin: 0 0 14px;
  font-size: clamp(46px, 8vw, 86px);
  line-height: 1;
}

.vsbng-error p {
  max-width: 760px;
  margin: 0 auto 24px;
  color: var(--vs-muted);
  font-size: 18px;
  line-height: 1.8;
}

/* Responsive */

@media (max-width: 1020px) {
  .vsbng-nav a {
    padding: 0 9px;
    font-size: 13px;
  }

  .vsbng-hero-grid {
    grid-template-columns: 1fr;
  }

  .vsbng-media {
    min-height: 340px;
  }

  .vsbng-media img {
    min-height: 340px;
  }
}

@media (max-width: 940px) {
  body.admin-bar .vsbng-header {
    top: 46px;
  }

  .vsbng-menu-toggle {
    display: inline-grid;
    place-items: center;
  }

  .vsbng-nav {
    position: absolute;
    left: 16px;
    right: 16px;
    top: 78px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--vs-line);
    border-radius: var(--vs-radius);
    background: rgba(7,17,31,.985);
    box-shadow: var(--vs-shadow);
  }

  .vsbng-nav.is-open {
    display: flex;
  }

  .vsbng-nav a {
    min-height: 44px;
    justify-content: flex-start;
    padding: 0 14px;
    font-size: 14px;
  }

  .vsbng-hero {
    padding: 38px 0 28px;
  }

  .vsbng-grid-2,
  .vsbng-grid-3,
  .vsbng-footer-grid {
    grid-template-columns: 1fr;
  }

  .vsbng-actions,
  .vsbng-inner-nav {
    display: grid;
  }

  .vsbng-btn {
    width: 100%;
  }

  .vsbng-footer-route {
    display: grid;
  }

  .vsbng-footer-route a {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .vsbng-shell {
    width: min(100% - 24px, 1180px);
  }

  .vsbng-header-inner {
    min-height: 68px;
  }

  .vsbng-logo img {
    width: 132px;
  }

  .vsbng-nav {
    top: 70px;
    left: 12px;
    right: 12px;
  }

  .vsbng-hero h1 {
    font-size: 32px;
  }

  .vsbng-lead {
    font-size: 16px;
  }

  .vsbng-section {
    padding: 32px 0;
  }

  .vsbng-section p {
    font-size: 16px;
  }

  .vsbng-media {
    min-height: 260px;
  }

  .vsbng-media img {
    min-height: 260px;
  }

  .vsbng-route-list a {
    align-items: flex-start;
    flex-direction: column;
  }

  .vsbng-step {
    grid-template-columns: 1fr;
  }

  .vsbng-card {
    padding: 20px;
  }

  .vsbng-float {
    right: 12px;
    bottom: 12px;
    gap: 8px;
  }

  .vsbng-float a {
    width: 44px;
    height: 44px;
  }

  .vsbng-float svg {
    width: 21px;
    height: 21px;
  }
}
/* =========================================================
   VSBNG Global Visual Upgrade
   Add this block at the END of style.css
   ========================================================= */

:root {
    --vs-bg: #071326;
    --vs-bg2: #0b1c36;
    --vs-panel: rgba(255,255,255,.075);
    --vs-panel2: rgba(255,255,255,.105);
    --vs-line: rgba(255,207,100,.22);
    --vs-line2: rgba(255,255,255,.12);
    --vs-gold: #ffcf64;
    --vs-gold2: #ffae2e;
    --vs-red: #ff4545;
    --vs-text: #ffffff;
    --vs-soft: #dbe7ff;
    --vs-muted: #96a8c8;
    --vs-shadow: 0 24px 70px rgba(0,0,0,.34);
    --vs-radius: 8px;
}

/* Page background */
body {
    background:
        radial-gradient(circle at 10% 0%, rgba(255,207,100,.12), transparent 30%),
        radial-gradient(circle at 90% 8%, rgba(255,69,69,.10), transparent 28%),
        linear-gradient(180deg, #061123 0%, #08172d 42%, #061123 100%) !important;
    color: var(--vs-text);
}

/* Global section spacing */
.vsbng-section {
    position: relative;
    padding: 68px 0;
}

.vsbng-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

/* Header upgrade */
.vsbng-header {
    background: rgba(6,17,35,.84) !important;
    border-bottom: 1px solid rgba(255,207,100,.18) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 10px 32px rgba(0,0,0,.24);
}

.vsbng-logo img,
.vsbng-footer-logo img {
    max-height: 48px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(255,207,100,.16));
}

.vsbng-nav a {
    color: var(--vs-soft) !important;
    font-weight: 800;
    border-radius: 8px;
    transition: .22s ease;
}

.vsbng-nav a:hover {
    color: #111 !important;
    background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
    box-shadow: 0 12px 26px rgba(255,174,46,.2);
}

/* Hero upgrade */
.vsbng-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 20%, rgba(255,207,100,.18), transparent 34%),
        radial-gradient(circle at 84% 18%, rgba(255,69,69,.13), transparent 32%),
        linear-gradient(135deg, #071326 0%, #0c2243 56%, #071326 100%) !important;
}

.vsbng-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), transparent);
    pointer-events: none;
}

.vsbng-hero .vsbng-shell {
    position: relative;
    z-index: 2;
}

.vsbng-hero h1 {
    color: #fff;
    text-shadow: 0 12px 36px rgba(0,0,0,.38);
}

.vsbng-hero p {
    color: var(--vs-soft);
}

/* Titles */
.vsbng-section-title,
.vsbng-section h2 {
    color: #fff;
    letter-spacing: 0;
}

.vsbng-section-title span,
.vsbng-highlight,
.vsbng-gold {
    color: var(--vs-gold);
}

/* Global cards */
.vsbng-card,
.vsbng-info-card,
.vsbng-route-card,
.vsbng-guide-card,
.vsbng-feature-card,
.vsbng-faq-item,
.vsbng-page-card,
.vsbng-content-card,
.vsbng-step-card,
.vsbng-link-card,
.vsbng-box {
    position: relative;
    overflow: hidden;
    border-radius: var(--vs-radius) !important;
    border: 1px solid var(--vs-line) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.045)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.15), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(255,69,69,.08), transparent 34%) !important;
    box-shadow: var(--vs-shadow);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.vsbng-card::before,
.vsbng-info-card::before,
.vsbng-route-card::before,
.vsbng-guide-card::before,
.vsbng-feature-card::before,
.vsbng-faq-item::before,
.vsbng-page-card::before,
.vsbng-content-card::before,
.vsbng-step-card::before,
.vsbng-link-card::before,
.vsbng-box::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, rgba(255,255,255,.16), transparent 34%, rgba(255,207,100,.08));
    opacity: .55;
    pointer-events: none;
}

.vsbng-card:hover,
.vsbng-info-card:hover,
.vsbng-route-card:hover,
.vsbng-guide-card:hover,
.vsbng-feature-card:hover,
.vsbng-faq-item:hover,
.vsbng-page-card:hover,
.vsbng-content-card:hover,
.vsbng-step-card:hover,
.vsbng-link-card:hover,
.vsbng-box:hover {
    transform: translateY(-4px);
    border-color: rgba(255,207,100,.46) !important;
    box-shadow: 0 30px 86px rgba(0,0,0,.42), 0 0 0 1px rgba(255,207,100,.08);
}

/* Card inner content safety */
.vsbng-card > *,
.vsbng-info-card > *,
.vsbng-route-card > *,
.vsbng-guide-card > *,
.vsbng-feature-card > *,
.vsbng-faq-item > *,
.vsbng-page-card > *,
.vsbng-content-card > *,
.vsbng-step-card > *,
.vsbng-link-card > *,
.vsbng-box > * {
    position: relative;
    z-index: 2;
}

.vsbng-card h2,
.vsbng-card h3,
.vsbng-info-card h2,
.vsbng-info-card h3,
.vsbng-route-card h2,
.vsbng-route-card h3,
.vsbng-guide-card h2,
.vsbng-guide-card h3,
.vsbng-feature-card h2,
.vsbng-feature-card h3,
.vsbng-page-card h2,
.vsbng-page-card h3,
.vsbng-content-card h2,
.vsbng-content-card h3 {
    color: #fff;
    margin-bottom: 12px;
}

.vsbng-card p,
.vsbng-info-card p,
.vsbng-route-card p,
.vsbng-guide-card p,
.vsbng-feature-card p,
.vsbng-faq-item p,
.vsbng-page-card p,
.vsbng-content-card p,
.vsbng-step-card p,
.vsbng-link-card p,
.vsbng-box p {
    color: var(--vs-soft);
    line-height: 1.78;
}

/* Route line cards */
.vsbng-route-card {
    padding: 24px !important;
}

.vsbng-route-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 21px;
}

.vsbng-route-card h3::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #38ff9b, #ffcf64);
    box-shadow: 0 0 22px rgba(56,255,155,.45);
    flex: 0 0 auto;
}

/* Buttons */
.vsbng-btn,
.vsbng-button,
.vsbng-primary-btn,
.vsbng-secondary-btn,
.vsbng-route-btn,
.vsbng-cta a,
.vsbng-card a.vsbng-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 13px 19px;
    border-radius: 8px !important;
    border: 1px solid rgba(255,207,100,.26);
    background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2)) !important;
    color: #171005 !important;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 14px 32px rgba(255,174,46,.24);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.vsbng-btn:hover,
.vsbng-button:hover,
.vsbng-primary-btn:hover,
.vsbng-secondary-btn:hover,
.vsbng-route-btn:hover,
.vsbng-cta a:hover,
.vsbng-card a.vsbng-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 18px 42px rgba(255,174,46,.32);
}

.vsbng-secondary-btn {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.18);
    box-shadow: none;
}

/* Grids */
.vsbng-grid-2,
.vsbng-grid-3,
.vsbng-grid-4,
.vsbng-card-grid,
.vsbng-feature-grid {
    gap: 22px !important;
}

.vsbng-grid-3 > *,
.vsbng-grid-4 > *,
.vsbng-card-grid > *,
.vsbng-feature-grid > * {
    min-width: 0;
}

/* Beautiful content panel */
.vsbng-overview,
.vsbng-overview-panel,
.vsbng-main-content,
.vsbng-page-content,
.vsbng-entry-content {
    border-radius: 8px;
    border: 1px solid rgba(255,207,100,.22);
    background:
        linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.035)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.16), transparent 34%),
        radial-gradient(circle at 100% 10%, rgba(255,69,69,.10), transparent 34%);
    box-shadow: 0 22px 56px rgba(0,0,0,.24);
}

/* Lists inside content */
.vsbng-card ul,
.vsbng-info-card ul,
.vsbng-content-card ul,
.vsbng-page-content ul,
.vsbng-entry-content ul {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.vsbng-card li,
.vsbng-info-card li,
.vsbng-content-card li,
.vsbng-page-content li,
.vsbng-entry-content li {
    position: relative;
    padding: 12px 14px 12px 42px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    background: rgba(0,0,0,.16);
    color: var(--vs-soft);
}

.vsbng-card li::before,
.vsbng-info-card li::before,
.vsbng-content-card li::before,
.vsbng-page-content li::before,
.vsbng-entry-content li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 17px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--vs-gold);
    box-shadow: 0 0 16px rgba(255,207,100,.5);
}

/* Homepage first screen route area */
.vsbng-hero-routes,
.vsbng-route-list,
.vsbng-lines,
.vsbng-access-lines {
    display: grid;
    gap: 14px;
}

.vsbng-hero-routes a,
.vsbng-route-list a,
.vsbng-lines a,
.vsbng-access-lines a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 17px 18px;
    border-radius: 8px;
    border: 1px solid rgba(255,207,100,.28);
    background:
        linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.16), transparent 38%);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 14px 36px rgba(0,0,0,.25);
    transition: .22s ease;
}

.vsbng-hero-routes a:hover,
.vsbng-route-list a:hover,
.vsbng-lines a:hover,
.vsbng-access-lines a:hover {
    transform: translateY(-3px);
    border-color: rgba(255,207,100,.56);
    box-shadow: 0 20px 48px rgba(0,0,0,.34);
}

.vsbng-hero-routes a::after,
.vsbng-route-list a::after,
.vsbng-lines a::after,
.vsbng-access-lines a::after {
    content: "Open";
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
    color: #171005;
    font-size: 13px;
    font-weight: 900;
}

/* Image placeholder areas */
.vsbng-image,
.vsbng-image-box,
.vsbng-media,
.vsbng-media-box,
.vsbng-placeholder {
    overflow: hidden;
    border-radius: 8px;
    border: 1px dashed rgba(255,207,100,.34);
    background:
        linear-gradient(135deg, rgba(255,207,100,.12), rgba(255,255,255,.04)),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 35%);
    min-height: 220px;
}

/* FAQ */
.vsbng-faq-item {
    padding: 22px !important;
}

.vsbng-faq-item h3 {
    color: #fff;
}

/* Footer upgrade */
.vsbng-footer {
    background:
        radial-gradient(circle at 10% 0%, rgba(255,207,100,.12), transparent 30%),
        linear-gradient(180deg, #08172d, #050d1b) !important;
    border-top: 1px solid rgba(255,207,100,.2);
}

.vsbng-footer a {
    color: var(--vs-soft);
    text-decoration: none;
}

.vsbng-footer a:hover {
    color: var(--vs-gold);
}

.vsbng-footer-card,
.vsbng-footer-box {
    border-radius: 8px;
    border: 1px solid rgba(255,207,100,.18);
    background: rgba(255,255,255,.055);
}

/* Floating social icons */
.vsbng-floating-social,
.vsbng-social-float {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 99;
    display: grid;
    gap: 10px;
}

.vsbng-floating-social a,
.vsbng-social-float a,
.vsbng-float-btn {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 50% !important;
    border: 1px solid rgba(255,207,100,.34);
    background:
        linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.055)),
        radial-gradient(circle at 30% 0%, rgba(255,207,100,.26), transparent 42%);
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.34);
    backdrop-filter: blur(14px);
    transition: .2s ease;
}

.vsbng-floating-social a:hover,
.vsbng-social-float a:hover,
.vsbng-float-btn:hover {
    transform: translateY(-3px) scale(1.04);
    border-color: rgba(255,207,100,.62);
    background: linear-gradient(135deg, var(--vs-gold), var(--vs-gold2));
    color: #171005 !important;
}

.vsbng-floating-social svg,
.vsbng-social-float svg,
.vsbng-float-btn svg {
    width: 23px;
    height: 23px;
}

/* Text readability */
p {
    color: var(--vs-soft);
}

a {
    transition: .2s ease;
}

strong {
    color: #fff;
}

/* Mobile */
@media (max-width: 900px) {
    .vsbng-section {
        padding: 52px 0;
    }

    .vsbng-shell {
        width: min(100% - 24px, 1180px);
    }

    .vsbng-grid-2,
    .vsbng-grid-3,
    .vsbng-grid-4,
    .vsbng-card-grid,
    .vsbng-feature-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .vsbng-card,
    .vsbng-info-card,
    .vsbng-route-card,
    .vsbng-guide-card,
    .vsbng-feature-card,
    .vsbng-page-card,
    .vsbng-content-card {
        padding: 20px !important;
    }
}

@media (max-width: 560px) {
    .vsbng-hero h1 {
        font-size: 34px !important;
        line-height: 1.15;
    }

    .vsbng-section h2,
    .vsbng-section-title {
        font-size: 27px !important;
        line-height: 1.2;
    }

    .vsbng-hero-routes a,
    .vsbng-route-list a,
    .vsbng-lines a,
    .vsbng-access-lines a {
        padding: 15px;
        align-items: flex-start;
        flex-direction: column;
    }

    .vsbng-hero-routes a::after,
    .vsbng-route-list a::after,
    .vsbng-lines a::after,
    .vsbng-access-lines a::after {
        align-self: flex-start;
    }

    .vsbng-floating-social,
    .vsbng-social-float {
        right: 12px;
        bottom: 16px;
    }

    .vsbng-floating-social a,
    .vsbng-social-float a,
    .vsbng-float-btn {
        width: 46px;
        height: 46px;
    }
}
/* =========================================================
   VSBNG Heading Size Control
   Add this block at the END of style.css
   ========================================================= */

.vsbng-hero h1,
.vsbng-page-hero h1,
.vsbng-single-hero h1,
.vsbng-section h1,
main h1 {
    font-size: clamp(32px, 3.2vw, 48px) !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
    margin-bottom: 16px !important;
}

.vsbng-section h2,
.vsbng-section-title,
main h2 {
    font-size: clamp(25px, 2.35vw, 36px) !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
}

.vsbng-card h3,
.vsbng-info-card h3,
.vsbng-route-card h3,
.vsbng-guide-card h3,
.vsbng-feature-card h3,
.vsbng-page-card h3,
.vsbng-content-card h3,
.vsbng-faq-item h3,
main h3 {
    font-size: clamp(19px, 1.55vw, 24px) !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
}

.vsbng-hero p,
.vsbng-page-hero p,
.vsbng-single-hero p {
    font-size: clamp(15px, 1.15vw, 18px) !important;
    line-height: 1.72 !important;
}

@media (max-width: 768px) {
    .vsbng-hero h1,
    .vsbng-page-hero h1,
    .vsbng-single-hero h1,
    .vsbng-section h1,
    main h1 {
        font-size: 30px !important;
        line-height: 1.18 !important;
    }

    .vsbng-section h2,
    .vsbng-section-title,
    main h2 {
        font-size: 24px !important;
        line-height: 1.24 !important;
    }

    .vsbng-card h3,
    .vsbng-info-card h3,
    .vsbng-route-card h3,
    .vsbng-guide-card h3,
    .vsbng-feature-card h3,
    .vsbng-page-card h3,
    .vsbng-content-card h3,
    .vsbng-faq-item h3,
    main h3 {
        font-size: 19px !important;
    }
}

@media (max-width: 480px) {
    .vsbng-hero h1,
    .vsbng-page-hero h1,
    .vsbng-single-hero h1,
    .vsbng-section h1,
    main h1 {
        font-size: 27px !important;
    }

    .vsbng-section h2,
    .vsbng-section-title,
    main h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   VSBNG Full Site Card Upgrade
   Add this block at the END of style.css
   ========================================================= */

/* 全站内容区域统一卡片化 */
.vsbng-page-content,
.vsbng-entry-content,
.vsbng-main-content,
.vsbng-content,
.entry-content,
.page-content,
.single-content,
article .entry-content,
main > section .vsbng-shell > p,
main > section .vsbng-shell > div:not(.vsbng-grid-2):not(.vsbng-grid-3):not(.vsbng-grid-4):not(.vsbng-hero-grid):not(.vsbng-route-list):not(.vsbng-lines):not(.vsbng-access-lines) {
    border-radius: 8px;
}

/* 普通内容块升级为卡片 */
.vsbng-page-content,
.vsbng-entry-content,
.vsbng-main-content,
.vsbng-content,
.entry-content,
.page-content,
.single-content,
article .entry-content {
    padding: 28px;
    border: 1px solid rgba(255,207,100,.22);
    background:
        linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.04)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.15), transparent 34%),
        radial-gradient(circle at 100% 8%, rgba(255,69,69,.09), transparent 32%);
    box-shadow: 0 24px 68px rgba(0,0,0,.32);
}

/* 所有文章/页面内的段落分组更清爽 */
.entry-content > p,
.page-content > p,
.vsbng-entry-content > p,
.vsbng-page-content > p {
    margin-bottom: 16px;
    color: #dbe7ff;
    line-height: 1.78;
}

/* 页面里面的 h2/h3 做成小标题卡片感 */
.entry-content h2,
.page-content h2,
.vsbng-entry-content h2,
.vsbng-page-content h2,
.entry-content h3,
.page-content h3,
.vsbng-entry-content h3,
.vsbng-page-content h3 {
    position: relative;
    margin-top: 28px;
    margin-bottom: 14px;
    padding-left: 15px;
    color: #fff;
}

.entry-content h2::before,
.page-content h2::before,
.vsbng-entry-content h2::before,
.vsbng-page-content h2::before,
.entry-content h3::before,
.page-content h3::before,
.vsbng-entry-content h3::before,
.vsbng-page-content h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: .22em;
    width: 5px;
    height: 1.1em;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffcf64, #ffae2e);
    box-shadow: 0 0 18px rgba(255,207,100,.45);
}

/* 所有列表做成小卡片 */
.entry-content ul,
.page-content ul,
.vsbng-entry-content ul,
.vsbng-page-content ul,
.entry-content ol,
.page-content ol,
.vsbng-entry-content ol,
.vsbng-page-content ol {
    display: grid;
    gap: 10px;
    margin: 18px 0;
    padding: 0;
    list-style: none;
}

.entry-content li,
.page-content li,
.vsbng-entry-content li,
.vsbng-page-content li {
    position: relative;
    padding: 13px 15px 13px 44px;
    border-radius: 8px;
    border: 1px solid rgba(255,207,100,.16);
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
        rgba(0,0,0,.16);
    color: #dbe7ff;
    line-height: 1.65;
}

.entry-content li::before,
.page-content li::before,
.vsbng-entry-content li::before,
.vsbng-page-content li::before {
    content: "";
    position: absolute;
    left: 17px;
    top: 19px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffcf64;
    box-shadow: 0 0 16px rgba(255,207,100,.55);
}

/* 常规卡片统一升级 */
.vsbng-card,
.vsbng-info-card,
.vsbng-route-card,
.vsbng-guide-card,
.vsbng-feature-card,
.vsbng-page-card,
.vsbng-content-card,
.vsbng-step-card,
.vsbng-link-card,
.vsbng-faq-item,
.vsbng-box {
    border-radius: 8px !important;
    border: 1px solid rgba(255,207,100,.24) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.045)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.16), transparent 35%),
        radial-gradient(circle at 100% 0%, rgba(255,69,69,.09), transparent 35%) !important;
    box-shadow: 0 24px 68px rgba(0,0,0,.32);
    overflow: hidden;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.vsbng-card:hover,
.vsbng-info-card:hover,
.vsbng-route-card:hover,
.vsbng-guide-card:hover,
.vsbng-feature-card:hover,
.vsbng-page-card:hover,
.vsbng-content-card:hover,
.vsbng-step-card:hover,
.vsbng-link-card:hover,
.vsbng-faq-item:hover,
.vsbng-box:hover {
    transform: translateY(-4px);
    border-color: rgba(255,207,100,.52) !important;
    box-shadow: 0 32px 86px rgba(0,0,0,.42);
}

/* 线路卡片重点美化 */
.vsbng-route-list,
.vsbng-lines,
.vsbng-access-lines,
.vsbng-hero-routes {
    display: grid;
    gap: 14px;
}

.vsbng-route-list a,
.vsbng-lines a,
.vsbng-access-lines a,
.vsbng-hero-routes a {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 70px;
    padding: 17px 18px;
    border-radius: 8px;
    border: 1px solid rgba(255,207,100,.34);
    background:
        linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.22), transparent 38%);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 900;
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
    transition: .22s ease;
}

.vsbng-route-list a::before,
.vsbng-lines a::before,
.vsbng-access-lines a::before,
.vsbng-hero-routes a::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #43ff9b, #ffcf64);
    box-shadow: 0 0 22px rgba(67,255,155,.48);
    flex: 0 0 auto;
}

.vsbng-route-list a::after,
.vsbng-lines a::after,
.vsbng-access-lines a::after,
.vsbng-hero-routes a::after {
    content: "Open";
    flex: 0 0 auto;
    padding: 8px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffcf64, #ffae2e);
    color: #171005;
    font-size: 13px;
    font-weight: 900;
}

.vsbng-route-list a:hover,
.vsbng-lines a:hover,
.vsbng-access-lines a:hover,
.vsbng-hero-routes a:hover {
    transform: translateY(-3px);
    border-color: rgba(255,207,100,.62);
    box-shadow: 0 24px 58px rgba(0,0,0,.42);
}

/* 按钮统一 */
.vsbng-btn,
.vsbng-button,
.vsbng-primary-btn,
.vsbng-secondary-btn,
.vsbng-route-btn,
.vsbng-card a,
.vsbng-cta a {
    border-radius: 8px !important;
}

/* 手机端 */
@media (max-width: 768px) {
    .vsbng-page-content,
    .vsbng-entry-content,
    .vsbng-main-content,
    .vsbng-content,
    .entry-content,
    .page-content,
    .single-content,
    article .entry-content {
        padding: 20px;
    }

    .vsbng-route-list a,
    .vsbng-lines a,
    .vsbng-access-lines a,
    .vsbng-hero-routes a {
        min-height: 64px;
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .vsbng-route-list a,
    .vsbng-lines a,
    .vsbng-access-lines a,
    .vsbng-hero-routes a {
        align-items: flex-start;
        flex-direction: column;
    }

    .vsbng-route-list a::after,
    .vsbng-lines a::after,
    .vsbng-access-lines a::after,
    .vsbng-hero-routes a::after {
        align-self: flex-start;
    }
}
/* =========================================================
   VSBNG Text Contrast Fix
   Add this block at the END of style.css
   ========================================================= */

/* 全站文字更清晰 */
body,
main,
.vsbng-section,
.vsbng-card,
.vsbng-info-card,
.vsbng-content-card,
.vsbng-page-card,
.vsbng-route-card,
.vsbng-guide-card,
.vsbng-feature-card,
.vsbng-faq-item {
    color: #f7fbff !important;
}

/* 普通正文提亮 */
p,
li,
.vsbng-card p,
.vsbng-info-card p,
.vsbng-content-card p,
.vsbng-page-card p,
.vsbng-route-card p,
.vsbng-guide-card p,
.vsbng-feature-card p,
.vsbng-faq-item p,
.entry-content p,
.page-content p {
    color: #e8f1ff !important;
}

/* 标题更亮 */
h1,
h2,
h3,
h4,
.vsbng-card h3,
.vsbng-info-card h3,
.vsbng-content-card h3,
.vsbng-page-card h3,
.vsbng-route-card h3,
.vsbng-guide-card h3,
.vsbng-feature-card h3,
.vsbng-faq-item h3 {
    color: #ffffff !important;
    text-shadow: 0 8px 24px rgba(0,0,0,.28);
}

/* 顶部菜单文字提亮 */
.vsbng-header,
.vsbng-header a,
.vsbng-nav a,
.vsbng-menu a,
.main-navigation a,
.primary-menu a,
.menu a {
    color: #ffffff !important;
}

/* 菜单背景增强，避免字融进背景 */
.vsbng-header {
    background:
        linear-gradient(180deg, rgba(5,15,32,.96), rgba(7,19,38,.9)) !important;
    border-bottom: 1px solid rgba(255,207,100,.26) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.36);
}

/* 菜单按钮状态更明显 */
.vsbng-nav a,
.vsbng-menu a,
.main-navigation a,
.primary-menu a,
.menu a {
    position: relative;
    padding: 10px 13px;
    border-radius: 8px;
    font-weight: 900 !important;
    text-shadow: 0 3px 12px rgba(0,0,0,.45);
    transition: .22s ease;
}

.vsbng-nav a:hover,
.vsbng-menu a:hover,
.main-navigation a:hover,
.primary-menu a:hover,
.menu a:hover,
.vsbng-nav .current-menu-item > a,
.vsbng-menu .current-menu-item > a,
.main-navigation .current-menu-item > a,
.primary-menu .current-menu-item > a,
.menu .current-menu-item > a {
    color: #151005 !important;
    background: linear-gradient(135deg, #ffcf64, #ffae2e) !important;
    text-shadow: none;
    box-shadow: 0 12px 28px rgba(255,174,46,.28);
}

/* 手机菜单也提亮 */
.vsbng-mobile-menu,
.vsbng-nav.is-open,
.vsbng-menu.is-open,
.main-navigation.toggled,
.primary-menu.toggled {
    background: rgba(5,15,32,.98) !important;
    border: 1px solid rgba(255,207,100,.22);
}

.vsbng-mobile-menu a,
.vsbng-nav.is-open a,
.vsbng-menu.is-open a,
.main-navigation.toggled a,
.primary-menu.toggled a {
    color: #ffffff !important;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

/* 线路卡文字更醒目 */
.vsbng-route-list a,
.vsbng-lines a,
.vsbng-access-lines a,
.vsbng-hero-routes a {
    color: #ffffff !important;
}

.vsbng-route-list a span,
.vsbng-lines a span,
.vsbng-access-lines a span,
.vsbng-hero-routes a span {
    color: #ffcf64 !important;
    font-weight: 900;
}

/* 卡片里的小字和说明不再发灰 */
.vsbng-muted,
.vsbng-note,
.vsbng-media-note,
.vsbng-eyebrow,
.vsbng-lead,
.vsbng-footer p,
.vsbng-footer li,
.vsbng-footer a {
    color: #dfeaff !important;
}

/* 金色标签更明显 */
.vsbng-eyebrow,
.vsbng-mini-label,
.vsbng-footer-badges span,
.vsbng-badge {
    color: #ffcf64 !important;
    border-color: rgba(255,207,100,.36) !important;
    background: rgba(255,207,100,.12) !important;
}

/* 底部菜单文字 */
.vsbng-footer h2,
.vsbng-footer h3,
.vsbng-footer strong {
    color: #ffffff !important;
}

.vsbng-footer a:hover {
    color: #ffcf64 !important;
}

/* 卡片背景再加深一点，文字更突出 */
.vsbng-card,
.vsbng-info-card,
.vsbng-content-card,
.vsbng-page-card,
.vsbng-route-card,
.vsbng-guide-card,
.vsbng-feature-card,
.vsbng-faq-item {
    background:
        linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
        radial-gradient(circle at 0% 0%, rgba(255,207,100,.18), transparent 35%),
        linear-gradient(180deg, rgba(5,15,32,.78), rgba(5,15,32,.58)) !important;
}