/* school-bus-tracking.css — DVM Techno School Bus Tracking pages */

:root{--dvm-purple:#7c3cf8;--dvm-pink:#e4007c;--dvm-orange:#ff6a00;}

/* ── Hero ─────────────────────────────────────────────────── */
.sbt-hero{background:linear-gradient(135deg,#060412 0%,#120826 45%,#0a1628 100%);padding:110px 0 80px;position:relative;overflow:hidden;}
.sbt-hero::before{content:"";position:absolute;top:-80px;right:-80px;width:500px;height:500px;background:radial-gradient(circle,rgba(124,60,248,.18) 0%,transparent 70%);pointer-events:none;}
.sbt-hero::after{content:"";position:absolute;bottom:-60px;left:-60px;width:380px;height:380px;background:radial-gradient(circle,rgba(228,0,124,.12) 0%,transparent 70%);pointer-events:none;}
.sbt-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(124,60,248,.12);border:1px solid rgba(124,60,248,.3);border-radius:50px;padding:6px 16px;font-size:.78rem;font-weight:700;color:#b58fff;text-transform:uppercase;letter-spacing:.8px;margin-bottom:22px;}
.sbt-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--dvm-purple);animation:pulse-dot 1.4s infinite;}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.5);opacity:.6;}}
.sbt-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;color:#fff;line-height:1.18;margin-bottom:20px;}
.sbt-hero h1 span{background:linear-gradient(90deg,var(--dvm-purple),var(--dvm-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sbt-hero .hero-sub{font-size:1.05rem;color:#a0a0c0;max-width:580px;line-height:1.7;margin-bottom:30px;}
.sbt-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
.sbt-hero-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:5px 14px;font-size:.78rem;color:#ccc;font-weight:600;}
.hero-cta-group{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.btn-primary-dvm{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--dvm-purple),var(--dvm-pink));color:#fff;font-weight:700;padding:14px 28px;border-radius:50px;text-decoration:none;font-size:.95rem;transition:transform .2s,box-shadow .2s;}
.btn-primary-dvm:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,60,248,.45);color:#fff;}
.btn-ghost-dvm{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(124,60,248,.5);color:#b58fff;font-weight:600;padding:13px 24px;border-radius:50px;text-decoration:none;font-size:.9rem;transition:all .2s;}
.btn-ghost-dvm:hover{background:rgba(124,60,248,.1);color:#fff;}

/* ── USP no-hardware strip ────────────────────────────────── */
.sbt-no-hw{background:linear-gradient(135deg,rgba(124,60,248,.08),rgba(228,0,124,.06));border-top:1px solid rgba(124,60,248,.2);border-bottom:1px solid rgba(124,60,248,.2);padding:48px 0;}
.sbt-no-hw-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.sbt-no-hw-text h2{font-size:clamp(1.5rem,3vw,2.2rem);color:#fff !important;font-weight:800;margin-bottom:14px;line-height:1.25;}
.sbt-no-hw-text h2 span{background:linear-gradient(90deg,#a882ff,#e4007c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sbt-no-hw-text p{color:#babace;line-height:1.75;font-size:.95rem;margin-bottom:0;}
.sbt-no-hw-list{list-style:none;padding:0;margin:16px 0 0;}
.sbt-no-hw-list li{display:flex;gap:12px;align-items:flex-start;color:#ccc;font-size:.9rem;margin-bottom:10px;line-height:1.5;}
.sbt-no-hw-list li::before{content:"✓";color:var(--dvm-purple);font-weight:800;flex-shrink:0;margin-top:1px;}
.sbt-compare{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.2);border-radius:16px;overflow:hidden;}
.sbt-compare table{width:100%;border-collapse:collapse;}
.sbt-compare th{background:rgba(124,60,248,.12);color:#fff;font-size:.82rem;font-weight:700;padding:10px 14px;text-align:center;border-bottom:1px solid rgba(124,60,248,.2);}
.sbt-compare th:first-child{text-align:left;}
.sbt-compare td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);font-size:.83rem;color:#bbb;text-align:center;}
.sbt-compare td:first-child{text-align:left;color:#ddd;}
.sbt-compare .yes{color:#4ade80;font-weight:700;}
.sbt-compare .no{color:#f87171;font-weight:700;}

/* ── Section titles ───────────────────────────────────────── */
.sbt-section{padding:72px 0;}
.sbt-section-dark{background:linear-gradient(180deg,#060412,#0d0820);}
.sbt-section-mid{background:rgba(255,255,255,.015);}
.section-tag{display:inline-block;background:rgba(124,60,248,.1);border:1px solid rgba(124,60,248,.25);border-radius:50px;padding:4px 16px;font-size:.72rem;font-weight:700;color:var(--dvm-purple);text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;}
.section-h2{font-size:clamp(1.6rem,3.2vw,2.4rem);color:#fff;font-weight:800;line-height:1.22;margin-bottom:12px;}
.section-h2 span{background:linear-gradient(90deg,var(--dvm-purple),var(--dvm-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.section-sub{color:#b0b0cc;font-size:.95rem;line-height:1.7;max-width:640px;margin:0 auto;}

/* ── Features grid ────────────────────────────────────────── */
.sbt-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:48px;}
.sbt-feat-card{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.15);border-radius:20px;padding:28px 24px;transition:transform .25s,border-color .25s,box-shadow .25s;}
.sbt-feat-card:hover{transform:translateY(-5px);border-color:var(--dvm-purple);box-shadow:0 12px 40px rgba(124,60,248,.2);}
.sbt-feat-icon{font-size:2rem;margin-bottom:14px;display:block;}
.sbt-feat-card h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:8px;}
.sbt-feat-card p{color:#b0b0cc;font-size:.86rem;line-height:1.65;margin:0;}
.sbt-feat-card .feat-tag{display:inline-block;margin-top:10px;background:rgba(124,60,248,.1);color:#b58fff;font-size:.7rem;font-weight:700;padding:2px 10px;border-radius:50px;border:1px solid rgba(124,60,248,.2);}

/* ── How it works ─────────────────────────────────────────── */
.sbt-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:48px;counter-reset:step-counter;}
.sbt-step{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:32px 24px;text-align:center;position:relative;counter-increment:step-counter;}
.sbt-step::before{content:counter(step-counter, decimal-leading-zero);position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--dvm-purple),var(--dvm-pink));color:#fff;font-size:.82rem;font-weight:800;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;display:flex;}
.sbt-step-icon{font-size:2.5rem;margin-bottom:16px;display:block;margin-top:8px;}
.sbt-step h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:8px;}
.sbt-step p{color:#b0b0cc;font-size:.85rem;line-height:1.65;margin:0;}



/* ── Location cards ──────────────────────────────────────── */
.sbt-locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:40px;}
.sbt-loc-card{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.15);border-radius:16px;padding:20px 18px;text-decoration:none;display:block;transition:transform .2s,border-color .2s,box-shadow .2s;}
.sbt-loc-card:hover{transform:translateY(-4px);border-color:var(--dvm-purple);box-shadow:0 8px 28px rgba(124,60,248,.2);}
.sbt-loc-card .loc-icon{font-size:1.5rem;margin-bottom:10px;display:block;}
.sbt-loc-card h3{color:#fff;font-size:.9rem;font-weight:700;margin-bottom:4px;}
.sbt-loc-card p{color:#9898bb;font-size:.75rem;margin:0;}
.sbt-loc-card .loc-arrow{color:var(--dvm-purple);font-size:.75rem;font-weight:700;margin-top:8px;display:block;}

/* ── FAQ ─────────────────────────────────────────────────── */
.sbt-faq-list{max-width:800px;margin:40px auto 0;}
.sbt-faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.12);border-radius:16px;margin-bottom:12px;overflow:hidden;}
.sbt-faq-item summary{padding:18px 22px;cursor:pointer;font-weight:700;color:#ddd;font-size:.95rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.sbt-faq-item summary::-webkit-details-marker{display:none;}
.sbt-faq-item summary::after{content:"+";font-size:1.4rem;color:var(--dvm-purple);flex-shrink:0;transition:transform .2s;}
.sbt-faq-item[open] summary::after{transform:rotate(45deg);}
.sbt-faq-item .faq-body{padding:0 22px 18px;color:#b0b0cc;font-size:.88rem;line-height:1.72;}

/* ── Emotional CTA ───────────────────────────────────────── */
.sbt-cta-band{background:linear-gradient(135deg,rgba(124,60,248,.15),rgba(228,0,124,.1));border-top:1px solid rgba(124,60,248,.2);border-bottom:1px solid rgba(124,60,248,.2);padding:64px 0;text-align:center;}
.sbt-cta-band h2{font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;font-weight:800;margin-bottom:14px;}
.sbt-cta-band p{color:#a0a0c0;font-size:.95rem;max-width:560px;margin:0 auto 28px;line-height:1.7;}

/* ── Stats strip ─────────────────────────────────────────── */
.sbt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;background:rgba(124,60,248,.06);border:1px solid rgba(124,60,248,.15);border-radius:20px;overflow:hidden;margin-top:48px;}
.sbt-stat{padding:28px 20px;text-align:center;border-right:1px solid rgba(124,60,248,.12);}
.sbt-stat:last-child{border-right:none;}
.sbt-stat .num{font-size:2rem;font-weight:800;color:var(--dvm-purple);display:block;}
.sbt-stat .lbl{font-size:.75rem;color:#b0b0cc;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}

/* ── Benefits 3-col ─────────────────────────────────────── */
.sbt-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:48px;}
.sbt-benefit-col{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:32px 24px;}
.sbt-benefit-col .col-icon{font-size:2.5rem;margin-bottom:16px;display:block;}
.sbt-benefit-col h3{color:#fff;font-size:1.05rem;font-weight:800;margin-bottom:16px;}
.sbt-benefit-col ul{list-style:none;padding:0;margin:0;}
.sbt-benefit-col ul li{color:#ababcc;font-size:.86rem;margin-bottom:9px;padding-left:18px;position:relative;line-height:1.55;}
.sbt-benefit-col ul li::before{content:"→";position:absolute;left:0;color:var(--dvm-purple);font-weight:700;}

/* ── Testimonial ─────────────────────────────────────────── */
.sbt-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px;}
.sbt-testi{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.12);border-radius:20px;padding:28px 24px;}
.sbt-testi .stars{color:#facc15;font-size:1rem;margin-bottom:12px;}
.sbt-testi p{color:#c0c0dd;font-size:.88rem;line-height:1.7;margin-bottom:16px;font-style:italic;}
.sbt-testi .author{display:flex;gap:12px;align-items:center;}
.sbt-testi .author-info .name{color:#fff;font-weight:700;font-size:.88rem;}
.sbt-testi .author-info .role{color:#ababcc;font-size:.75rem;}

@media(max-width:768px){
  .sbt-no-hw-grid{grid-template-columns:1fr;}
  .sbt-compare{overflow-x:auto;}
}

/* ── Utility classes replacing inline styles ──────────────────────── */
.txt-white { color: #fff; }
.cta-note  { margin-top: 18px; font-size: .8rem; color: #a0a0c0; }
.d-flex-center { justify-content: center; }
.mt-32     { margin-top: 32px; }
.no-decoration { text-decoration: none; }
.logo-h    { height: 28px; }

/* ── Location sub-page styles ─────────────────────────────────── */
body{background:#060412;color:#ccc;}
/* Hero */
.loc-hero{background:linear-gradient(135deg,#060412 0%,#0d0820 100%);padding:100px 0 70px;border-bottom:1px solid rgba(124,60,248,.15);}
.loc-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(124,60,248,.12);border:1px solid rgba(124,60,248,.3);border-radius:50px;padding:5px 16px;font-size:.75rem;font-weight:700;color:#b58fff;text-transform:uppercase;letter-spacing:.8px;margin-bottom:18px;}
h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;color:#fff;line-height:1.2;margin-bottom:16px;}
h1 span{background:linear-gradient(90deg,#7c3cf8,#e4007c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{color:#b0b0cc;font-size:.97rem;max-width:620px;line-height:1.72;margin-bottom:24px;}
/* Buttons */
.btn-primary-dvm{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#7c3cf8,#e4007c);color:#fff;font-weight:700;padding:13px 26px;border-radius:50px;text-decoration:none;font-size:.92rem;transition:transform .2s,box-shadow .2s;}
.btn-primary-dvm:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,60,248,.45);color:#fff;}
.btn-ghost-dvm{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(124,60,248,.5);color:#b58fff;font-weight:600;padding:12px 22px;border-radius:50px;text-decoration:none;font-size:.88rem;transition:all .2s;}
.btn-ghost-dvm:hover{background:rgba(124,60,248,.12);color:#fff;}
.cta-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
/* Sections */
.sec{padding:64px 0;}
.sec-dark{background:linear-gradient(180deg,#060412,#0d0820);}
.sec-mid{background:rgba(255,255,255,.014);border-top:1px solid rgba(255,255,255,.04);}
.sec-tag{display:inline-block;background:rgba(124,60,248,.1);border:1px solid rgba(124,60,248,.22);border-radius:50px;padding:3px 14px;font-size:.7rem;font-weight:700;color:#7c3cf8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;}
h2{font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;font-weight:800;line-height:1.22;margin-bottom:10px;}
h2 span{background:linear-gradient(90deg,#7c3cf8,#e4007c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-sub{color:#9090b8;font-size:.93rem;line-height:1.72;max-width:680px;}
/* Feature grid */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:36px;}
.feat-card{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.14);border-radius:18px;padding:24px 20px;transition:transform .22s,border-color .22s;}
.feat-card:hover{transform:translateY(-4px);border-color:#7c3cf8;}
.feat-card .ico{font-size:1.9rem;margin-bottom:12px;display:block;}
.feat-card h3{color:#fff;font-size:.92rem;font-weight:700;margin-bottom:7px;}
.feat-card p{color:#9090b8;font-size:.84rem;line-height:1.65;margin:0;}
/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:36px;counter-reset:step;}
.step{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:28px 20px;text-align:center;position:relative;counter-increment:step;}
.step::before{content:counter(step,"0" counter(step));position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#7c3cf8,#e4007c);color:#fff;font-size:.78rem;font-weight:800;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.step .ico{font-size:2.2rem;margin:8px 0 14px;display:block;}
.step h3{color:#fff;font-size:.9rem;font-weight:700;margin-bottom:7px;}
.step p{color:#9090b8;font-size:.83rem;line-height:1.62;margin:0;}
/* Benefits 3-col */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:36px;}
.benefit-col{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:28px 22px;}
.benefit-col .col-ico{font-size:2.2rem;margin-bottom:14px;display:block;}
.benefit-col h3{color:#fff;font-size:1rem;font-weight:800;margin-bottom:14px;}
.benefit-col ul{list-style:none;padding:0;margin:0;}
.benefit-col ul li{color:#9090b8;font-size:.85rem;margin-bottom:8px;padding-left:18px;position:relative;line-height:1.55;}
.benefit-col ul li::before{content:"→";position:absolute;left:0;color:#7c3cf8;font-weight:700;}
/* Why DVM */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:32px;}
.why-item{background:rgba(124,60,248,.06);border:1px solid rgba(124,60,248,.18);border-radius:14px;padding:20px 18px;text-align:center;}
.why-item .num{font-size:2rem;font-weight:800;color:#7c3cf8;display:block;margin-bottom:4px;}
.why-item .lbl{font-size:.78rem;color:#9090b8;font-weight:600;}
/* FAQ */
.faq-list{max-width:740px;margin:32px auto 0;}
.faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.12);border-radius:14px;margin-bottom:10px;overflow:hidden;}
.faq-item summary{padding:16px 20px;cursor:pointer;font-weight:700;color:#ddd;font-size:.9rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.3rem;color:#7c3cf8;flex-shrink:0;}
.faq-item[open] summary::after{content:"−";}
.faq-item .faq-body{padding:0 20px 16px;color:#9090b8;font-size:.86rem;line-height:1.7;}
/* CTA band */
.cta-band{background:linear-gradient(135deg,rgba(124,60,248,.12),rgba(228,0,124,.08));border-top:1px solid rgba(124,60,248,.2);border-bottom:1px solid rgba(124,60,248,.2);padding:60px 0;text-align:center;}
.cta-band h2{margin-bottom:12px;}
.cta-band p{color:#a0a0c0;max-width:520px;margin:0 auto 24px;font-size:.9rem;line-height:1.7;}
/* Nearby */
.nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-top:28px;}
.nearby-card{background:rgba(255,255,255,.03);border:1px solid rgba(124,60,248,.12);border-radius:12px;padding:14px;text-decoration:none;display:block;text-align:center;transition:border-color .2s;}
.nearby-card:hover{border-color:#7c3cf8;}
.nearby-card span{color:#fff;font-size:.84rem;font-weight:600;display:block;margin-bottom:3px;}
.nearby-card small{color:#8888aa;font-size:.7rem;}
/* Breadcrumb */
.breadcrumb-bar{background:rgba(255,255,255,.03);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.breadcrumb-bar a{color:#7c3cf8;text-decoration:none;font-size:.8rem;}
.breadcrumb-bar span{color:#666688;font-size:.8rem;}
/* Info box */
.info-box{background:rgba(124,60,248,.06);border:1px solid rgba(124,60,248,.2);border-radius:16px;padding:24px 22px;margin-bottom:18px;}
.info-box h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:8px;}
.info-box p{color:#9090b8;font-size:.87rem;line-height:1.7;margin:0;}
/* Contact aside */
.contact-aside{background:linear-gradient(135deg,rgba(124,60,248,.1),rgba(228,0,124,.07));border:1px solid rgba(124,60,248,.25);border-radius:20px;padding:28px 22px;text-align:center;position:sticky;top:100px;}
.contact-aside h3{color:#fff;font-size:1.1rem;font-weight:800;margin-bottom:10px;}
.contact-aside p{color:#a0a0c0;font-size:.86rem;margin-bottom:18px;}