.ml-meteogram-module {
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --border:rgba(15,23,42,.12);
  --text:#0f172a;
  --muted:#64748b;
  --accent:#0284c7;
  --blue:#0284c7;
  --red:#dc2626;
  --green:#16a34a;
  --yellow:#ca8a04;
  --purple:#7c3aed;
  --dark:#334155;
}.ml-meteogram-module * { box-sizing:border-box; }.ml-meteogram-module {
  margin:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(14,165,233,.12), transparent 30%),
    radial-gradient(circle at 80% 10%, rgba(34,197,94,.08), transparent 28%),
    var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}.ml-meteogram-module .wrapper {
  max-width:1320px;
  margin:0 auto;
  padding:26px 18px 42px;
}.ml-meteogram-module .hero {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}.ml-meteogram-module .card {
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 20px 60px rgba(15,23,42,.10);
  overflow:hidden;
}.ml-meteogram-module .header { padding:24px; }.ml-meteogram-module .kicker {
  color:var(--accent);
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
}.ml-meteogram-module h1 {
  margin:8px 0 10px;
  font-size:clamp(30px,4vw,54px);
  line-height:1.02;
}.ml-meteogram-module .lead {
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}.ml-meteogram-module .searchbox {
  position:relative;
  margin-top:22px;
  display:flex;
  gap:10px;
}.ml-meteogram-module .searchbox input {
  width:100%;
  border:1px solid var(--border);
  background:#ffffff;
  color:var(--text);
  border-radius:14px;
  padding:15px 16px;
  font-size:16px;
  outline:none;
}.ml-meteogram-module button {
  border:0;
  border-radius:14px;
  padding:0 18px;
  font-weight:800;
  color:#ffffff;
  background:linear-gradient(135deg,#0ea5e9,#0284c7);
  cursor:pointer;
}.ml-meteogram-module .suggestions {
  position:absolute;
  top:57px;
  left:0;
  right:120px;
  z-index:9999;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  display:none;
  box-shadow:0 18px 45px rgba(15,23,42,.12);
}.ml-meteogram-module .suggestions div {
  padding:12px 14px;
  cursor:pointer;
  border-bottom:1px solid rgba(15,23,42,.08);
}.ml-meteogram-module .suggestions div:hover { background:#f1f5f9; }.ml-meteogram-module #map {
  height:390px;
  min-height:390px;
}.ml-meteogram-module .location-title {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  align-items:baseline;
  margin:22px 0 12px;
}.ml-meteogram-module .location-title h2 {
  margin:0;
  font-size:30px;
}.ml-meteogram-module .location-title span {
  color:var(--muted);
  font-size:14px;
}.ml-meteogram-module .stats {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin:0 0 16px;
}.ml-meteogram-module .stat {
  min-height:118px;
  padding:16px;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  display:flex;
  flex-direction:column;
  justify-content:center;
}.ml-meteogram-module .stat .label {
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  line-height:1.25;
}.ml-meteogram-module .stat .value {
  margin-top:6px;
  font-size:27px;
  font-weight:900;
}.ml-meteogram-module .weather-now {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  text-align:left;
  gap:14px;
  margin-top:8px;
}.ml-meteogram-module .weather-now img {
  width:58px;
  height:58px;
  object-fit:contain;
  margin:0;
}.ml-meteogram-module .wind-box {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:10px;
}.ml-meteogram-module .wind-box .wind-arrow {
  width:56px;
  height:56px;
}.ml-meteogram-module .wind-values, .ml-meteogram-module .day-wind-values {
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  gap:3px 6px;
  font-weight:900;
}.ml-meteogram-module .wind-unit, .ml-meteogram-module .day-wind-unit {
  color:var(--muted);
  font-weight:700;
  font-size:12px;

}.ml-meteogram-module .wind-values {
  font-size:20px;
}.ml-meteogram-module .wind-unit { font-size:13px; }.ml-meteogram-module .day-wind-unit { font-size:12px; }.ml-meteogram-module .blue { color:var(--blue); }.ml-meteogram-module .red { color:var(--red); }.ml-meteogram-module .green { color:var(--green); }.ml-meteogram-module .yellow { color:var(--yellow); }.ml-meteogram-module .daily {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin:0 0 16px;
}.ml-meteogram-module .day {
  background:#f8fafc;
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}.ml-meteogram-module .day-head {
  text-align:center;
  margin-bottom:8px;
}.ml-meteogram-module .day-head b {
  display:block;
  font-size:15px;
  text-transform:uppercase;
}.ml-meteogram-module .day-head span {
  display:block;
  color:var(--muted);
  font-size:13px;
  margin-top:2px;
}.ml-meteogram-module .day-icon {
  display:flex;
  justify-content:center;
  margin:8px 0 10px;
}.ml-meteogram-module .day-icon img {
  width:64px;
  height:64px;
  object-fit:contain;
}.ml-meteogram-module .day-row {
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}.ml-meteogram-module .day-row b {
  font-size:15px;
}.ml-meteogram-module .day-wind {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:12px;
}.ml-meteogram-module .day-wind .wind-arrow {
  width:48px;
  height:48px;
}.ml-meteogram-module .day-wind-values {
  font-size:15px;
}.ml-meteogram-module .grid {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}.ml-meteogram-module .day-hourly-icons {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  margin:8px 0 10px;
  padding:7px 4px;
  border-top:1px solid rgba(15,23,42,.08);
  border-bottom:1px solid rgba(15,23,42,.08);
}.ml-meteogram-module .day-hourly-item {
  text-align:center;
}.ml-meteogram-module .day-hourly-item img {
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
  margin:0 auto 2px;
}.ml-meteogram-module .day-hourly-item span {
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1;
}.ml-meteogram-module .chart-card {
  padding:12px 14px 8px;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}.ml-meteogram-module .chart-title {
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:4px;
  color:var(--muted);
  font-size:14px;
}.ml-meteogram-module canvas {
  width:100% !important;
  height:210px !important;
}
.ml-meteogram-module .precip-chart-card {
  padding-bottom:12px;
}
.ml-meteogram-module .precip-panel {
  position:relative;
}
.ml-meteogram-module .precip-panel + .precip-panel {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(15,23,42,.08);
}
.ml-meteogram-module .precip-panel-heading {
  position:relative;
  z-index:2;
  width:100%;
  margin:0 0 4px 0;
  padding:0 64px;
  box-sizing:border-box;
  text-align:center;
  color:#475569;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  pointer-events:none;
}
.ml-meteogram-module .precip-panel-hourly canvas {
  height:142px !important;
}
.ml-meteogram-module .precip-panel-accum canvas {
  height:112px !important;
}
.ml-meteogram-module .loader {
  display:none;
  margin-top:14px;
  color:var(--accent);
}.ml-meteogram-module .error {
  display:none;
  margin-top:14px;
  color:#991b1b;
  background:#fee2e2;
  border:1px solid #fecaca;
  padding:12px 14px;
  border-radius:14px;
}.ml-meteogram-module .source-note {
  margin-top:16px;
  color:var(--muted);
  font-size:13px;
}.ml-meteogram-module .day-sun {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid rgba(15,23,42,.08);
  color:var(--muted);
  font-size:12px;
}.ml-meteogram-module .day-sun-item {
  display:flex;
  align-items:center;
  gap:4px;
}.ml-meteogram-module .day-sun-item img {
  width:16px;
  height:16px;
  opacity:.8;
}.ml-meteogram-module .day-sun-item span {
  color:var(--muted);
  font-size:12px;
  font-weight:600;
}

@media (max-width:1000px) {.ml-meteogram-module .hero { grid-template-columns:1fr; }.ml-meteogram-module .stats { grid-template-columns:repeat(2,1fr); }.ml-meteogram-module .daily { grid-template-columns:repeat(2,1fr); }.ml-meteogram-module .suggestions { right:0; }.ml-meteogram-module .searchbox { flex-direction:column; }.ml-meteogram-module button { padding:14px 18px; }
}

@media (max-width:560px) {.ml-meteogram-module .wrapper { padding:18px 12px 34px; }.ml-meteogram-module .stats, .ml-meteogram-module .daily {
    grid-template-columns:1fr;
  }.ml-meteogram-module .stat, .ml-meteogram-module .day {
    text-align:center;
  }.ml-meteogram-module .weather-now, .ml-meteogram-module .wind-box, .ml-meteogram-module .day-wind {
    justify-content:center;
  }.ml-meteogram-module .day-row {
    justify-content:center;
    gap:14px;
  }.ml-meteogram-module .location-title {
    text-align:center;
    justify-content:center;
  }.ml-meteogram-module .chart-title {
    flex-direction:column;
    text-align:center;
    gap:2px;
  }.ml-meteogram-module canvas {
    height:220px !important;
  }
  .ml-meteogram-module .precip-panel-hourly canvas {
    height:155px !important;
  }
  .ml-meteogram-module .precip-panel-accum canvas {
    height:125px !important;
  }
}

.ml-meteogram-module {
  margin-top: 0;
}
.ml-meteogram-module .wrapper {
  max-width: none;
  padding: 0;
}
.ml-meteogram-module .hero {
  margin-bottom: 18px;
}
.ml-meteogram-module .card {
  border-radius: 22px;
}
@media (max-width: 900px) {
  .ml-meteogram-module .hero {
    grid-template-columns: 1fr;
  }
  .ml-meteogram-module .stats,
  .ml-meteogram-module .daily {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 560px) {
  .ml-meteogram-module .stats,
  .ml-meteogram-module .daily {
    grid-template-columns: 1fr;
  }
}


/* Meteolab 2027 meteogram page refinements */
.ml-meteogram-module {
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --border:rgba(15,23,42,.12);
  --text:#0f172a;
  --muted:#64748b;
  --accent:#002050;
  --blue:#0284c7;
  --red:#dc2626;
  --green:#16a34a;
  --yellow:#ca8a04;
  --purple:#7c3aed;
  --dark:#334155;
  background:transparent !important;
  font-family:inherit;
}
.ml-meteogram-module .wrapper {
  max-width:none !important;
  width:100%;
  padding:0 !important;
}
.ml-meteogram-module .hero,
.ml-meteogram-module .header {
  display:none !important;
}
.ml-meteogram-module .card {
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 18px 46px rgba(15,23,42,.08);
  overflow:visible;
}
.ml-meteogram-module .meteo-search-panel {
  padding:22px;
  margin-bottom:18px;
}
.ml-meteogram-module .meteo-search-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:22px;
  margin-bottom:16px;
}
.ml-meteogram-module .meteo-search-head h2 {
  margin:6px 0 0;
  font-size:clamp(1.2rem, 2vw, 1.65rem);
  line-height:1.18;
  letter-spacing:-.02em;
  color:#0f172a;
}
.ml-meteogram-module .kicker {
  color:var(--accent);
  font-size:.76rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:850;
}
.ml-meteogram-module .source-note {
  margin:0;
  max-width:430px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.45;
  text-align:right;
}
.ml-meteogram-module .searchbox {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:0;
}
.ml-meteogram-module .searchbox input {
  width:100%;
  border:1px solid rgba(15,23,42,.14);
  background:#ffffff;
  color:var(--text);
  border-radius:999px;
  padding:14px 17px;
  font-size:1rem;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.ml-meteogram-module .searchbox input:focus {
  border-color:rgba(21,130,199,.52);
  box-shadow:0 0 0 4px rgba(21,130,199,.10);
}
.ml-meteogram-module button {
  border:0;
  border-radius:999px;
  padding:0 22px;
  min-height:48px;
  font-weight:850;
  color:#ffffff;
  background:#002050;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(21,130,199,.22);
}
.ml-meteogram-module .suggestions {
  position:absolute;
  top:58px;
  left:0;
  right:112px;
  z-index:9999;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  display:none;
  box-shadow:0 18px 45px rgba(15,23,42,.14);
}
.ml-meteogram-module .suggestions div {
  padding:12px 14px;
  cursor:pointer;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.ml-meteogram-module .suggestions div:hover { background:#f1f5f9; }
.ml-meteogram-module .meteo-map-card {
  overflow:hidden;
  margin-bottom:22px;
}
.ml-meteogram-module #map {
  height:500px;
  min-height:430px;
  width:100%;
}
.ml-meteogram-module .loader {
  display:none;
  margin-top:14px;
  color:var(--accent);
  font-weight:700;
}
.ml-meteogram-module .error {
  display:none;
  margin-top:14px;
  color:#991b1b;
  background:#fee2e2;
  border:1px solid #fecaca;
  padding:12px 14px;
  border-radius:14px;
}
.ml-meteogram-module .location-title {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  align-items:baseline;
  margin:0 0 14px;
}
.ml-meteogram-module .location-title h2 {
  margin:0;
  font-size:clamp(1.5rem, 3vw, 2rem);
  letter-spacing:-.02em;
}
.ml-meteogram-module .location-title span {
  color:var(--muted);
  font-size:.9rem;
}

@media (max-width:900px) {
  .ml-meteogram-module .meteo-search-head {
    flex-direction:column;
    gap:8px;
  }
  .ml-meteogram-module .source-note {
    text-align:left;
    max-width:none;
  }
  .ml-meteogram-module #map {
    height:62vh;
    min-height:420px;
  }
}
@media (max-width:560px) {
  .ml-meteogram-module .meteo-search-panel {
    padding:16px;
    border-radius:18px;
  }
  .ml-meteogram-module .searchbox {
    grid-template-columns:1fr;
  }
  .ml-meteogram-module .suggestions {
    right:0;
    top:55px;
  }
  .ml-meteogram-module button {
    width:100%;
    min-height:46px;
  }
  .ml-meteogram-module #map {
    height:68vh;
    min-height:430px;
  }
  .ml-meteogram-module .location-title {
    text-align:left;
    justify-content:flex-start;
  }
}


/* Meteogram: 6-urne verjetnosti padavin v dnevnih karticah */
.ml-meteogram-module .day-hourly-item .day-hourly-pop {
  display:block;
  margin-top:5px;
  color:#0284c7;
  font-size:11px;
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}

/* Meteogram 2027: mobile stability and PDF/print */
.ml-meteogram-module,
.ml-meteogram-module canvas,
.ml-meteogram-module .chart-card,
.ml-meteogram-module .precip-panel-heading {
  font-family: Arial, Helvetica, sans-serif;
}

.ml-meteogram-module .searchbox {
  grid-template-columns: minmax(0,1fr) auto auto;
}

.ml-meteogram-module .pdf-btn {
  background:#334155;
  box-shadow:0 10px 22px rgba(51,65,85,.18);
}

/* Enaka višina obeh padavinskih risalnih površin na namizju. */
.ml-meteogram-module .precip-panel-hourly canvas,
.ml-meteogram-module .precip-panel-accum canvas {
  height:142px !important;
}

@media (max-width:600px) {
  .ml-meteogram-module .chart-card {
    padding:14px 10px 10px;
  }

  .ml-meteogram-module .chart-title {
    margin-bottom:8px;
    font-size:13px;
  }

  .ml-meteogram-module canvas {
    height:220px !important;
  }

  .ml-meteogram-module .precip-panel-hourly canvas,
  .ml-meteogram-module .precip-panel-accum canvas {
    height:155px !important;
  }

  .ml-meteogram-module .precip-panel-heading {
    padding:0 48px;
    font-size:12px;
    margin-bottom:5px;
  }

  .ml-meteogram-module .searchbox {
    grid-template-columns:1fr 1fr;
  }

  .ml-meteogram-module .searchbox input {
    grid-column:1 / -1;
  }

  .ml-meteogram-module .suggestions {
    top:58px;
  }
}

@media print {
  @page {
    size:A4 portrait;
    margin:8mm;
  }

  body {
    background:#fff !important;
  }

  header,
  footer,
  .ml-hero,
  .meteo-search-panel,
  .meteo-map-card,
  .source-note,
  .loader,
  .error {
    display:none !important;
  }

  .ml-section,
  .ml-container,
  .ml-meteogram-module,
  .ml-meteogram-module .wrapper {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .ml-meteogram-module .location-title {
    margin:0 0 4mm !important;
  }

  .ml-meteogram-module .stats,
  .ml-meteogram-module .daily {
    gap:2mm !important;
    margin-bottom:3mm !important;
  }

  .ml-meteogram-module .stat,
  .ml-meteogram-module .day {
    min-height:0 !important;
    padding:2.5mm !important;
    box-shadow:none !important;
    break-inside:avoid;
  }

  .ml-meteogram-module .grid {
    gap:2mm !important;
  }

  .ml-meteogram-module .chart-card {
    box-shadow:none !important;
    border-radius:3mm !important;
    padding:2mm !important;
    break-inside:avoid;
  }

  .ml-meteogram-module canvas {
    height:42mm !important;
  }

  .ml-meteogram-module .precip-panel-hourly canvas,
  .ml-meteogram-module .precip-panel-accum canvas {
    height:28mm !important;
  }
}


/* Prevent Leaflet zoom controls from appearing inside the open mobile menu. */
@media (max-width: 900px) {
  body:has(.ml-menu-toggle[aria-expanded="true"])
  .ml-meteogram-module .leaflet-control-container {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


/* Vidno stanje med pripravo PDF */
.ml-meteogram-module .pdf-btn:disabled {
  cursor: wait;
  opacity: .86;
}

.ml-meteogram-module .pdf-btn.is-generating {
  min-width: 178px;
  position: relative;
  padding-left: 42px;
}

.ml-meteogram-module .pdf-btn.is-generating::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin-top: -8px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ml-meteogram-pdf-spin .75s linear infinite;
}

@keyframes ml-meteogram-pdf-spin {
  to { transform: rotate(360deg); }
}
