/* DigiBuzz Core: structural styles required for features to work in any theme. */
.dbz-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.dbz-routes [hidden]{display:none!important}
.dbz-routes__detail.is-entering{animation:dbz-enter .45s cubic-bezier(.2,.8,.2,1)}
.dbz-routes__panel.is-entering{animation:dbz-fade .35s ease}
@keyframes dbz-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes dbz-fade{from{opacity:0}to{opacity:1}}

/* Marquee */
[data-dbz-marquee]{display:flex;overflow:hidden;--dbz-duration:40s}
[data-dbz-marquee] [data-dbz-track]{display:flex;flex:none;margin:0;padding:0;list-style:none}
[data-dbz-marquee].is-running [data-dbz-track]{animation:dbz-marquee var(--dbz-duration) linear infinite}
.dbz-clients__row--reverse.is-running [data-dbz-track]{animation-direction:reverse}
[data-dbz-marquee].is-running:hover [data-dbz-track],[data-dbz-marquee].is-running:focus-within [data-dbz-track],[data-dbz-marquee].is-paused [data-dbz-track]{animation-play-state:paused}
[data-dbz-marquee].is-static{flex-wrap:wrap}
[data-dbz-marquee].is-static [data-dbz-track]{flex-wrap:wrap;justify-content:center}
@keyframes dbz-marquee{to{transform:translateX(-100%)}}

/* Odometer */
.dbz-odo{display:inline-flex;align-items:baseline;line-height:1}
.dbz-odo__digit{display:inline-block;height:1em;overflow:hidden;vertical-align:bottom;min-width:.3em}
.dbz-odo__fix{white-space:pre}
.dbz-odo__reel{display:flex;flex-direction:column;width:100%;text-align:center;align-items:center;line-height:1;word-break:break-all;transform:translateY(0);transition:transform 1.6s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 70ms);white-space:normal}
.is-counted .dbz-odo__reel{transform:translateY(calc(var(--d) * -1em))}

/* Details */
.dbz-faq__item>summary,.dbz-routes__stops>summary{cursor:pointer;list-style:none}
.dbz-faq__item>summary::-webkit-details-marker,.dbz-routes__stops>summary::-webkit-details-marker{display:none}
.dbz-faq__a,.dbz-routes__stoplist{overflow:hidden}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
@media (prefers-reduced-motion:reduce){.dbz-odo__reel{transition:none}.dbz-routes__detail.is-entering,.dbz-routes__panel.is-entering{animation:none}}

/* ================= Hero: smart bus interior ================= */
.dbz-bus{position:relative;aspect-ratio:1160/870;border-radius:28px;overflow:hidden;background:#e9edeb;isolation:isolate;box-shadow:0 40px 80px -40px rgba(36,22,12,.55)}
.dbz-bus__stage{position:absolute;inset:-2%;transform-origin:50% 60%;animation:dbz-sway 7s ease-in-out infinite}
.dbz-bus__svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.dbz-bus__screen{position:absolute;overflow:hidden;background:#05070a;container-type:size}
.dbz-screen{position:absolute;inset:0}
.dbz-screen__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s ease}
.dbz-screen__slide.is-active{opacity:1}
.dbz-screen__slide img,.dbz-screen__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.dbz-screen__glare{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16) 0,rgba(255,255,255,.04) 32%,transparent 45%)}
.dbz-stop{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:5cqh 7cqw;color:#fff;background:radial-gradient(120% 90% at 85% 0,#23a86a 0,transparent 60%),linear-gradient(135deg,#0b5e39,#178a55)}
.dbz-stop p{margin:0}
.dbz-stop__label{display:flex;gap:2.5cqw;align-items:baseline;font-size:5cqw;font-weight:600;opacity:.9}
.dbz-stop__label [lang=ne]{font-family:'Mukta','Noto Sans Devanagari','Kohinoor Devanagari',sans-serif;opacity:.85}
.dbz-stop__name{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;font-size:15cqw;line-height:.95;margin:1.5cqh 0 5cqh!important;letter-spacing:-.01em}
.dbz-stop__name.is-updating{animation:dbz-stop-in .6s cubic-bezier(.16,1,.3,1)}
.dbz-stop__line{display:flex;align-items:center;gap:2.5cqw;font-size:4cqw;opacity:.9}
.dbz-stop__line i{flex:1;height:.8cqw;border-radius:1cqw;background:rgba(255,255,255,.45);position:relative}
.dbz-stop__line i::after{content:"";position:absolute;left:50%;top:50%;width:3.6cqw;height:3.6cqw;margin:-1.8cqw 0 0 -1.8cqw;border-radius:50%;background:#f6ae1b;box-shadow:0 0 0 1.2cqw rgba(246,174,27,.35)}
@keyframes dbz-stop-in{from{opacity:0;transform:translateY(20%)}to{opacity:1;transform:none}}
.dbz-bus__led{position:absolute;overflow:hidden;display:flex;align-items:center;container-type:size;background:#0b0703}
.dbz-bus__led span{display:inline-block;white-space:nowrap;padding-left:100%;font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:700;font-size:78cqh;letter-spacing:.07em;color:#ffb21e;text-shadow:0 0 .35em rgba(255,165,20,.85);animation:dbz-led 9s linear infinite}
.dbz-bus__led::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,transparent 45%,rgba(11,7,3,.75) 55%);background-size:3px 3px;pointer-events:none}
@keyframes dbz-led{to{transform:translateX(-100%)}}
@keyframes dbz-sway{0%,100%{transform:translate(0,0) rotate(0)}30%{transform:translate(-.3%,.35%) rotate(-.22deg)}65%{transform:translate(.25%,-.2%) rotate(.18deg)}}
.dbz-bus__streak{animation:dbz-streak 3.4s linear infinite}
.dbz-bus__streak--r{animation-delay:-1.6s}
@keyframes dbz-streak{from{transform:skewX(-18deg) translateX(0)}to{transform:skewX(-18deg) translateX(1000px)}}
.dbz-bus__road{animation:dbz-road .5s linear infinite}
@keyframes dbz-road{to{stroke-dashoffset:-16}}
.dbz-bus__handle{transform-box:fill-box;transform-origin:50% 0;animation:dbz-swing 2.8s ease-in-out infinite alternate}
@keyframes dbz-swing{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.dbz-bus.is-paused *,.dbz-bus.is-paused .dbz-bus__stage{animation-play-state:paused!important}
.dbz-bus .dbz-hero__caption{z-index:2}
@media (prefers-reduced-motion:reduce){.dbz-bus__stage,.dbz-bus__streak,.dbz-bus__road,.dbz-bus__handle{animation:none}.dbz-bus__led span{animation:none;padding-left:4%}.dbz-screen__slide{transition:none}}
.dbz-bleed{margin-inline:calc(50% - 50vw);width:100vw;max-width:100vw}
/* Elementor sets `.elementor img{height:auto}`; media that must fill its box opts out. */
.elementor img.dbz-hero__bg,.elementor .dbz-hero__frame>img,.elementor .dbz-screen__slide img,.elementor .page-hero__media img{height:100%;max-width:none}
