@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Doto:wght,ROND@852,23&display=swap');

body.djls-bus-open { overflow: hidden !important; }
.djls-bus-backdrop {
  position: fixed; inset: 0; z-index: 2147483000; background: rgba(0,0,0,.58);
}
.djls-bus-dialog {
  --bg:#0a0e2b; --yellow:#ffce19; --muted:#a5a9c4; --blue:#2271b1;
  position: fixed; z-index: 2147483001; left:50%; top:50%; transform:translate(-50%,-50%);
  box-sizing:border-box; width:min(760px,calc(100vw - 36px)); max-height:calc(100dvh - 36px);
  overflow:auto; background:var(--bg); color:#fff; border:1px solid #343a5c; border-radius:0;
  box-shadow:0 22px 70px rgba(0,0,0,.52); font-family:'Barlow',Arial,sans-serif;
}
.djls-bus-dialog * { box-sizing:border-box; }
.djls-bus-head { position:relative; padding:24px 62px 16px 28px; }
.djls-bus-head-label { display:block; color:var(--yellow); font-size:20px; line-height:1.05; font-weight:400; }
.djls-bus-head-station { display:block; margin-top:3px; color:var(--yellow); font-size:52px; line-height:1; font-weight:400; letter-spacing:-.5px; }
.djls-bus-close { position:absolute; right:14px; top:14px; width:42px; height:42px; border:0; background:transparent; color:#fff; font:400 32px/1 Arial,sans-serif; cursor:pointer; }
.djls-bus-meta { padding:0 28px 18px; color:rgba(255,255,255,.86); font-size:16px; }
.djls-bus-provider-bar { display:flex; width:100%; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.djls-bus-provider { flex:1 1 0; min-height:44px; padding:8px 10px; border:0; border-right:1px solid rgba(255,255,255,.12); border-radius:0; background:#151a3a; color:#fff; font:600 13px/1.15 'Barlow',Arial,sans-serif; cursor:pointer; }
.djls-bus-provider:last-child { border-right:0; }
.djls-bus-provider.is-active { background:var(--yellow); color:#000; }
.djls-bus-body { padding:22px 28px 28px; }
.djls-bus-source-warning { margin:0 0 18px; padding:10px 12px; border-left:4px solid var(--yellow); background:rgba(255,206,25,.08); color:#fff; font-size:13px; line-height:1.35; }
.djls-bus-next-top { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:8px; }
.djls-bus-next-label { color:rgba(255,255,255,.70); font-size:16px; }
.djls-bus-next-time { color:var(--yellow); font-size:42px; line-height:.95; font-weight:500; font-variant-numeric:tabular-nums; }
.djls-bus-next-provider { color:rgba(255,255,255,.72); font-size:13px; text-align:right; }
.djls-bus-direction-control { display:grid; grid-template-columns:58px minmax(0,1fr) 58px; min-height:70px; width:100%; }
.djls-bus-destination { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; min-height:70px; padding:10px 16px; background:var(--yellow); color:#000; font-size:22px; line-height:1.1; font-weight:700; text-align:center; }
.djls-bus-destination .djls-bus-doto { min-width:0; font-family:'Doto','Barlow',Arial,sans-serif; font-weight:852; font-variation-settings:'wght' 852,'ROND' 23; font-size:30px; overflow-wrap:anywhere; }
.djls-bus-direction-arrow { appearance:none; -webkit-appearance:none; position:relative; display:block; width:58px; min-height:70px; padding:0; border:0; border-radius:0; background:var(--blue); cursor:pointer; }
.djls-bus-direction-arrow::before { content:''; position:absolute; left:50%; top:50%; width:24px; height:24px; transform:translate(-50%,-50%); background:center/24px 24px no-repeat; }
.djls-bus-direction-prev::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M42 12 L22 32 L42 52' fill='none' stroke='%23ffffff' stroke-width='9' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
.djls-bus-direction-next::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M22 12 L42 32 L22 52' fill='none' stroke='%23ffffff' stroke-width='9' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
.djls-bus-direction-arrow:hover, .djls-bus-direction-arrow:focus-visible { background:#1b5f98; outline:none; }
.djls-bus-direction-arrow:focus-visible { box-shadow:inset 0 0 0 3px #ffffff; }
.djls-bus-direction-arrow:disabled { opacity:.45; cursor:default; }
.djls-bus-trip-times { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0 18px; }
.djls-bus-trip-col:last-child { text-align:right; }
.djls-bus-trip-caption { display:block; color:rgba(255,255,255,.70); font-size:15px; line-height:1.2; }
.djls-bus-trip-place { display:block; min-height:22px; margin-top:3px; color:#fff; font-size:17px; line-height:1.15; font-weight:600; }
.djls-bus-trip-value { display:block; margin-top:6px; color:var(--yellow); font-size:60px; line-height:.92; font-weight:400; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.djls-bus-countdown-label { color:rgba(255,255,255,.70); text-align:right; font-size:18px; }
.djls-bus-countdown { margin:4px 0 20px; color:var(--yellow); text-align:right; font-size:44px; line-height:1; font-weight:400; font-variant-numeric:tabular-nums; }
.djls-bus-progress { margin:8px 0 20px; padding-top:14px; border-top:1px solid rgba(255,255,255,.13); }
.djls-bus-progress-meta { margin-bottom:10px; color:rgba(255,255,255,.62); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.djls-bus-track-scroll { width:100%; overflow-x:auto; overflow-y:hidden; padding:7px 0 5px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.djls-bus-track-canvas { position:relative; height:76px; min-width:100%; padding:0 34px; }
.djls-bus-track { position:absolute; left:34px; right:34px; top:11px; height:7px; background:rgba(255,255,255,.20); }
.djls-bus-track-fill { position:absolute; left:0; top:0; bottom:0; width:0; background:var(--yellow); }
.djls-bus-track-dot { position:absolute; top:50%; left:0; z-index:4; width:15px; height:15px; transform:translate(-50%,-50%); background:var(--yellow); border:3px solid var(--bg); box-shadow:0 0 0 2px var(--yellow); border-radius:50%; }
.djls-bus-track-stop { position:absolute; top:7px; width:86px; transform:translateX(-43px); text-align:center; color:#fff; font-family:'Barlow',Arial,sans-serif; pointer-events:none; }
.djls-bus-track-stop-node { display:block; width:9px; height:9px; margin:0 auto 8px; border:2px solid var(--bg); border-radius:50%; background:rgba(255,255,255,.88); box-shadow:0 0 0 1px rgba(255,255,255,.38); }
.djls-bus-track-stop-name { display:block; min-height:20px; color:rgba(255,255,255,.76); font-size:9px; line-height:1.05; font-weight:600; overflow-wrap:anywhere; }
.djls-bus-track-stop-time { display:block; margin-top:3px; color:#fff; font-size:12px; line-height:1; font-weight:700; font-variant-numeric:tabular-nums; }
.djls-bus-departures-toggle { position:relative; display:flex; align-items:center; width:100%; min-height:62px; padding:10px 72px 10px 16px; border:0; border-radius:0; background:var(--yellow); color:#000; font:700 18px/1.1 'Barlow',Arial,sans-serif; cursor:pointer; text-align:left; }
.djls-bus-departures-toggle::after { content:''; position:absolute; right:0; top:0; bottom:0; width:58px; background:var(--blue) center/24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M12 22 L32 42 L52 22' fill='none' stroke='%23ffffff' stroke-width='9' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
.djls-bus-departures-toggle[aria-expanded='true']::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M12 42 L32 22 L52 42' fill='none' stroke='%23ffffff' stroke-width='9' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
.djls-bus-departures { margin-top:8px; border:1px solid rgba(255,255,255,.16); }
.djls-bus-departures[hidden] { display:none !important; }
.djls-bus-row { display:grid; grid-template-columns:92px minmax(0,1fr) minmax(190px,250px); gap:16px; align-items:center; min-height:66px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.10); }
.djls-bus-row:last-child { border-bottom:0; }
.djls-bus-row-time { color:var(--yellow); font-size:23px; line-height:1; font-weight:700; font-variant-numeric:tabular-nums; }
.djls-bus-row-main { min-width:0; }
.djls-bus-row-destination { color:#fff; font-size:15px; line-height:1.18; font-weight:700; overflow-wrap:anywhere; }
.djls-bus-row-meta { min-width:0; text-align:right; }
.djls-bus-row-provider { color:rgba(255,255,255,.66); font-size:11px; line-height:1.2; text-align:right; white-space:normal; }
.djls-bus-row-date { margin-top:4px; color:rgba(255,255,255,.52); font-size:11px; line-height:1.15; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.djls-bus-empty { padding:18px; color:#fff; background:#151a3a; font-size:14px; line-height:1.45; }
.djls-bus-empty a { color:var(--yellow); }
.djls-bus-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.djls-bus-action { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px; border:0; border-radius:0; background:var(--muted); color:#000; text-decoration:none; font:700 14px/1.1 'Barlow',Arial,sans-serif; cursor:pointer; }
.djls-bus-action:first-child { background:var(--yellow); }
.djls-bus-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-top:12px; }
.djls-bus-status { min-height:18px; color:rgba(255,255,255,.65); font-size:11px; }
.djls-bus-crest { display:block; width:34px; max-height:42px; object-fit:contain; }

@media (max-width:767px) {
  .djls-bus-dialog { inset:0; left:0; top:0; transform:none; width:100%; height:100dvh; max-height:none; border:0; }
  .djls-bus-head { padding:18px 52px 12px 20px; text-align:right; }
  .djls-bus-head-label { font-size:14px; }
  .djls-bus-head-station { font-size:30px; }
  .djls-bus-meta { padding:0 20px 12px; text-align:right; font-size:12px; }
  .djls-bus-provider { min-height:42px; padding:6px 4px; font-size:10px; }
  .djls-bus-body { padding:18px 20px 24px; }
  .djls-bus-next-time { font-size:32px; }
  .djls-bus-direction-control { grid-template-columns:48px minmax(0,1fr) 48px; min-height:60px; }
  .djls-bus-direction-arrow { width:48px; min-height:60px; }
  .djls-bus-destination { min-height:60px; padding:8px 8px; font-size:17px; }
  .djls-bus-destination .djls-bus-doto { font-size:23px; }
  .djls-bus-track-canvas { height:73px; }
  .djls-bus-track-stop { width:78px; transform:translateX(-39px); }
  .djls-bus-track-stop-name { font-size:8px; }
  .djls-bus-track-stop-time { font-size:11px; }
  .djls-bus-trip-times { gap:18px; margin:20px 0 16px; }
  .djls-bus-trip-place { min-height:18px; font-size:15px; line-height:1.15; }
  .djls-bus-trip-value { font-size:44px; }
  .djls-bus-countdown-label { font-size:13px; }
  .djls-bus-countdown { font-size:42px; }
  .djls-bus-track-stops { font-size:8px; }
  .djls-bus-row { grid-template-columns:60px minmax(0,1fr); gap:6px 10px; min-height:64px; padding:10px 8px; align-items:start; }
  .djls-bus-row-time { grid-column:1; grid-row:1 / span 2; padding-top:1px; font-size:20px; }
  .djls-bus-row-main { grid-column:2; grid-row:1; }
  .djls-bus-row-destination { font-size:13px; line-height:1.15; }
  .djls-bus-row-meta { grid-column:2; grid-row:2; margin-top:1px; text-align:left; }
  .djls-bus-row-provider, .djls-bus-row-date { text-align:left; }
  .djls-bus-row-provider { font-size:10px; }
  .djls-bus-row-date { margin-top:2px; font-size:10px; }
}

/* 0.2.0 – SiMBus linije 100/300 */
.djls-bus-source-warning a {
  color: var(--yellow);
  font-weight: 700;
  text-decoration: underline;
}
.djls-bus-destination .djls-bus-doto {
  font-size: clamp(18px, 2.1vw, 30px);
}
@media (max-width:767px) {
  .djls-bus-destination .djls-bus-doto { font-size: clamp(15px, 5vw, 23px); }
}

/* 0.2.1 – čitljiva shematska trasa s jednakim razmakom stajališta */
.djls-bus-track-canvas {
  height: 88px;
  min-width: 100%;
  padding: 0;
}
.djls-bus-track-stop {
  width: 96px;
  transform: translateX(-48px);
}
.djls-bus-track-stop-name {
  min-height: 22px;
  font-size: 10px;
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.djls-bus-track-stop-time {
  margin-top: 3px;
  font-size: 12px;
}
@media (max-width:767px) {
  .djls-bus-track-canvas { height: 84px; }
  .djls-bus-track-stop { width: 90px; transform:translateX(-45px); }
  .djls-bus-track-stop-name { font-size:9px; line-height:1.08; }
  .djls-bus-track-stop-time { font-size:11px; }
}

/* 0.2.2 – objedinjeni POLASCI i uredniji metapodaci */
.djls-bus-departures { overflow:hidden; }


/* =========================================================
   0.2.4 – POLOŽAJ AUTOBUSA
   - bijele točke centrirane na geometrijsku sredinu linije
   - veće točke, nazivi i vremena
   - veći jednaki razmak između stajališta
   ========================================================= */
.djls-bus-dialog .djls-bus-track-canvas {
  height: 126px;
  min-width: 100%;
  padding: 0;
}

.djls-bus-dialog .djls-bus-track {
  top: 42px;
  height: 8px;
}

.djls-bus-dialog .djls-bus-track-stop {
  top: 0;
  width: 152px;
  height: 122px;
  padding-top: 62px;
  transform: translateX(-76px);
  text-align: center;
}

.djls-bus-dialog .djls-bus-track-stop-node {
  position: absolute;
  left: 50%;
  top: 46px;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  margin: 0;
  transform: translate(-50%, -50%);
  border: 3px solid var(--bg);
  border-radius: 50%;
  background: #f5f6fb;
  box-shadow: 0 0 0 2px rgba(255,255,255,.50);
}

.djls-bus-dialog .djls-bus-track-stop-name {
  display: block;
  min-height: 34px;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.12;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.djls-bus-dialog .djls-bus-track-stop-time {
  position: absolute;
  left: 50%;
  top: 8px;
  width: 112px;
  transform: translateX(-50%);
  display: block;
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Žuti indikator koristi istu geometrijsku os kao bijele točke. */
.djls-bus-dialog .djls-bus-track-dot {
  top: 50%;
  width: 19px;
  height: 19px;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

@media (max-width:767px) {
  .djls-bus-dialog .djls-bus-track-canvas {
    height: 120px;
  }

  .djls-bus-dialog .djls-bus-track {
    top: 40px;
  }

  .djls-bus-dialog .djls-bus-track-stop {
    width: 136px;
    height: 114px;
    padding-top: 58px;
    transform: translateX(-68px);
  }

  .djls-bus-dialog .djls-bus-track-stop-node {
    top: 44px;
    width: 16px;
    height: 16px;
    border-width: 3px;
  }

  .djls-bus-dialog .djls-bus-track-stop-name {
    min-height: 31px;
    font-size: 13px;
    line-height: 1.10;
  }

  .djls-bus-dialog .djls-bus-track-stop-time {
    top: 7px;
    width: 104px;
    margin: 0;
    font-size: 14px;
  }
}


/* =========================================================
   0.2.5 – BUSNO STAJALIŠTE + RUTA NA KARTI
   ========================================================= */
.djls-bus-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.djls-bus-action-route {
  background:#2271b1 !important;
  color:#ffffff !important;
}

.djls-bus-route-view {
  position:fixed;
  inset:0;
  z-index:2147483002;
  background:#dfe6ee;
  font-family:'Barlow',Arial,sans-serif;
}
.djls-bus-route-map {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.djls-bus-route-head {
  position:absolute;
  z-index:1000;
  top:10px;
  left:54px;
  right:10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:12px 14px;
  background:#0a0e2b;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 7px 24px rgba(0,0,0,.28);
  pointer-events:auto;
}
.djls-bus-route-head strong {
  display:block;
  color:#ffce19;
  font-size:18px;
  line-height:1.15;
}
.djls-bus-route-head span {
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.25;
  letter-spacing:.035em;
}
.djls-bus-route-close {
  flex:0 0 auto;
  flex-basis:42px;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:0;
  background:#2271b1;
  color:#ffffff;
  font:400 28px/1 Arial,sans-serif;
  cursor:pointer;
}
.djls-bus-route-legend {
  position:absolute;
  z-index:1000;
  left:16px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  background:#0a0e2b;
  color:#ffffff;
  font:600 11px/1.15 'Barlow',Arial,sans-serif;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  pointer-events:none;
}
.djls-bus-route-legend-dot {
  width:14px;
  height:14px;
  border:3px solid #0a0e2b;
  border-radius:50%;
  background:#ffce19;
  box-shadow:0 0 0 2px #ffce19;
}
.djls-bus-route-view .leaflet-tooltip.djls-bus-route-stop-label {
  padding:5px 7px;
  border:1px solid rgba(0,0,0,.22);
  border-radius:0;
  background:#ffffff;
  color:#111111;
  box-shadow:0 2px 7px rgba(0,0,0,.16);
  font:600 11px/1.15 Helvetica,Arial,sans-serif;
  text-align:center;
  white-space:nowrap;
}
.djls-bus-route-view .leaflet-tooltip-top.djls-bus-route-stop-label::before {
  border-top-color:#ffffff;
}
/* 0.2.6 – gornja traka počinje desno od Leaflet +/− kontrola.
   Kontrole ostaju potpuno vidljive i klikabilne na desktopu i mobitelu. */
.djls-bus-route-view .leaflet-top.leaflet-left {
  z-index:1100;
}
.djls-bus-route-view .leaflet-control-zoom {
  pointer-events:auto;
}
@media (max-width:767px) {
  .djls-bus-actions { grid-template-columns:1fr; }
  .djls-bus-route-head {
    top:8px; left:50px; right:8px; gap:8px; padding:9px 10px;
  }
  .djls-bus-route-head strong { font-size:14px; }
  .djls-bus-route-head span { font-size:9px; }
  .djls-bus-route-close { flex-basis:36px; width:36px; height:36px; min-width:36px; min-height:36px; padding:0; font-size:25px; }
  .djls-bus-route-legend { left:8px; bottom:10px; font-size:9px; }
  .djls-bus-route-view .leaflet-tooltip.djls-bus-route-stop-label { font-size:10px; }
}


/* =========================================================
   0.2.8 – CENTRIRANI PROCJENJENI POLOŽAJ AUTOBUSA NA RUTI
   Marker je iznad tooltip labela i ima dvostruki kontrastni obrub.
   ========================================================= */
.djls-bus-route-view .leaflet-pane.djlsBusVehiclePane-pane,
.djls-bus-route-view .leaflet-djlsBusVehiclePane-pane {
  z-index:720 !important;
  pointer-events:none !important;
}
.djls-bus-route-vehicle-icon-wrap {
  width:34px !important;
  height:34px !important;
  /* VAŽNO: ne dirati margin-left / margin-top koje Leaflet postavlja
     prema iconAnchor [17,17]. Tako je LatLng točno u centru kruga. */
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:none !important;
}
.djls-bus-route-vehicle-icon {
  display:block;
  box-sizing:border-box;
  width:30px;
  height:30px;
  margin:2px;
  border:5px solid #0a0e2b;
  border-radius:50%;
  background:#ffce19;
  box-shadow:
    0 0 0 3px #ffffff,
    0 3px 10px rgba(0,0,0,.48);
}
.djls-bus-route-legend-dot {
  box-sizing:border-box;
  width:18px;
  height:18px;
  border:4px solid #0a0e2b;
  background:#ffce19;
  box-shadow:0 0 0 2px #ffffff;
}
@media (max-width:767px) {
  .djls-bus-route-vehicle-icon {
    width:28px;
    height:28px;
    border-width:5px;
    box-shadow:0 0 0 3px #ffffff,0 3px 9px rgba(0,0,0,.48);
  }
}


/* =========================================================
   0.2.19 – PC + TABLET

   PC: postojeći kompaktni 85% prikaz ostaje NETAKNUT.
   MOBITEL: postojeći fullscreen prikaz do 767 px ostaje NETAKNUT.

   TABLET: koristi isti provjereni fixed centar kao osnovni PC popup:
   left:50% + top:50% + translate(-50%,-50%). Nema flex-centeringa,
   nema left/top izračuna i nema scale 0.85. Vidljivi okvir popupa je
   uvijek centriran po širini i visini viewporta. Ako je sadržaj viši,
   skrola se cijeli popup, uključujući otvorene POLASKE.
   ========================================================= */
@media (min-width:1025px) {
  .djls-bus-dialog {
    scale:0.85;
    transform-origin:center center;
  }
}

/* Tablet klasa poništava samo PC scale i vraća osnovno fixed centriranje. */
.djls-bus-backdrop.djls-bus-is-tablet {
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  width:100dvw !important;
  height:100vh !important;
  height:100dvh !important;
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
}

.djls-bus-backdrop.djls-bus-is-tablet .djls-bus-dialog {
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:min(760px, calc(100vw - 32px)) !important;
  width:min(760px, calc(100dvw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-width:calc(100dvw - 32px) !important;
  height:auto !important;
  max-height:calc(100vh - 32px) !important;
  max-height:calc(100dvh - 32px) !important;
  margin:0 !important;
  transform:translate(-50%, -50%) !important;
  transform-origin:center center !important;
  scale:1 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch;
}

/* Odbrojavanje ostaje vidljivo u svim tablet stanjima. */
.djls-bus-backdrop.djls-bus-is-tablet .djls-bus-countdown-label,
.djls-bus-backdrop.djls-bus-is-tablet .djls-bus-countdown {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Veći nazivi mjesta ispod POLAZAK / ODREDIŠTE – samo tablet. */
.djls-bus-backdrop.djls-bus-is-tablet .djls-bus-trip-place {
  min-height:23px !important;
  margin-top:4px !important;
  font-size:18px !important;
  line-height:1.12 !important;
  font-weight:600 !important;
}

/* POLASCI nisu zaseban scroll prozor: proširuju sadržaj cijelog popupa. */
.djls-bus-backdrop.djls-bus-is-tablet .djls-bus-departures {
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}

/* Petrinja 0.4.2 – aktualne SiMBus obavijesti. */
.djls-bus-live-notices{display:grid;gap:6px;margin:0 0 12px}.djls-bus-live-notice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:9px 12px;background:#ffce19;color:#0a0e2b;text-decoration:none;border:0;font-size:12px;line-height:1.25}.djls-bus-live-notice strong{font-weight:800;white-space:nowrap}.djls-bus-live-notice span{font-weight:600}.djls-bus-live-notice:hover,.djls-bus-live-notice:focus{background:#f4bd00;color:#0a0e2b}
@media(max-width:640px){.djls-bus-live-notice{grid-template-columns:1fr;gap:3px;font-size:11px}.djls-bus-live-notice strong{white-space:normal}}
