{"id":220,"date":"2026-08-12T14:30:55","date_gmt":"2026-08-12T14:30:55","guid":{"rendered":"https:\/\/www.visitnorthkurzeme.com\/?page_id=220"},"modified":"2026-10-12T10:55:18","modified_gmt":"2026-10-12T10:55:18","slug":"weather","status":"publish","type":"page","link":"https:\/\/www.visitnorthkurzeme.com\/lv\/weather\/","title":{"rendered":"Weather"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"220\" class=\"elementor elementor-220\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c8c56c e-con-full e-flex e-con e-parent\" data-id=\"6c8c56c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-a8a20ee e-flex e-con-boxed e-con e-child\" data-id=\"a8a20ee\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5fec39 elementor-widget elementor-widget-heading\" data-id=\"a5fec39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Weather forecast <\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-73d1f41 e-con-full e-flex e-con e-parent\" data-id=\"73d1f41\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3cf3ca46 e-flex e-con-boxed e-con e-child\" data-id=\"3cf3ca46\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e2ef26 elementor-widget elementor-widget-html\" data-id=\"6e2ef26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>Laika prognoze - Visit North Kurzeme<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Crimson+Pro:wght@500;600&family=Montserrat:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n  :root{\n    \/* Visit North Kurzeme - z\u012bmola palete (no vnk m\u0101jaslapas) *\/\n    --forest:#38584C; --forest-light:#93A6AA; --amber:#C78A35; --blue:#5F7D85;\n    --stone900:#343735; --stone600:#746D61; --stone500:#8A8578; --stone400:#B4AD9D;\n    --cream:#F1EEE6;\n  }\n  *{box-sizing:border-box;margin:0;padding:0}\n  body{\n    font-family:'Montserrat',-apple-system,\"Segoe UI\",Roboto,sans-serif;\n    font-weight:400;\n    color:var(--stone900);\n    background:linear-gradient(to bottom,#93a6aa24,var(--cream),var(--cream));\n    min-height:100vh; padding:32px 20px 64px;\n  }\n  h1,h2,.head-week h2{font-family:'Crimson Pro',Georgia,serif;font-weight:500}\n  .wrap{max-width:1100px;margin:0 auto}\n  h1{font-size:44px;color:var(--forest);line-height:1.1;margin-bottom:10px}\n  .sub{color:var(--stone600);max-width:640px;line-height:1.5}\n  .label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--stone400)}\n  .card{border:1px solid #ffffff66;background:#ffffff73;backdrop-filter:blur(10px);\n    border-radius:24px;box-shadow:0 10px 30px #1c191708;padding:24px}\n  .grid-top{display:grid;gap:24px;grid-template-columns:.95fr 1.4fr;margin-top:32px}\n  .cur-temp{font-family:'Crimson Pro',Georgia,serif;font-size:80px;font-weight:600;color:var(--forest);letter-spacing:-.02em;line-height:1}\n  .cur-desc{font-size:18px;font-weight:700;color:#292524;margin-top:8px}\n  .row{display:flex;align-items:center;justify-content:space-between;gap:20px}\n  .iconbox{background:#ffffff80;border:1px solid #ffffff80;border-radius:16px;padding:16px;box-shadow:inset 0 2px 6px #0000000a}\n  .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}\n  .mini{border:1px solid #ffffff4d;background:#ffffff4d;border-radius:16px;padding:14px 16px}\n  .mini .big{font-size:20px;font-weight:700;color:#292524;margin-top:6px}\n  .flex-lbl{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--stone400)}\n  h2{font-size:20px;color:#1c1917;margin-bottom:4px}\n  .days3{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr;margin-top:28px}\n  .day3{border:1px solid #ffffff4d;background:#ffffff4d;border-radius:16px;padding:16px;text-align:center}\n  section.block{margin-top:32px}\n  \/* hourly *\/\n  .hours{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}\n  .hour{min-width:112px;background:#ffffff73;border-radius:16px;padding:12px 16px;text-align:center;box-shadow:0 2px 6px #1c191708}\n  .hour .t{font-size:12px;font-weight:700;color:var(--stone400)}\n  .hour .deg{font-size:18px;font-weight:700;margin-top:8px}\n  .hour .meta{display:flex;justify-content:center;gap:12px;margin-top:8px;font-size:12px;font-weight:600;color:var(--stone500)}\n  .hour .meta span{display:flex;align-items:center;gap:4px}\n  \/* 7 day *\/\n  .week{display:grid;gap:12px}\n  .wrow{display:grid;gap:16px;grid-template-columns:1.2fr 1.3fr .8fr .8fr;align-items:center;\n    border:1px solid #ffffff4d;background:#ffffff73;border-radius:16px;padding:16px;transition:.25s}\n  .wrow:hover{background:#ffffff99;box-shadow:0 6px 16px #1c191712}\n  .wday{display:flex;align-items:center;gap:16px}\n  .wday .ib{background:#ffffff80;border:1px solid #ffffff80;border-radius:12px;padding:8px}\n  .wname{font-weight:700}\n  .wdesc{font-size:12px;color:var(--stone500);margin-top:2px}\n  .bar-wrap{display:flex;align-items:center;gap:12px}\n  .bar{position:relative;flex:1;height:8px;background:#e0ddd580;border-radius:99px;overflow:hidden}\n  .bar>div{position:absolute;height:100%;border-radius:99px;background:linear-gradient(to right,var(--forest-light),var(--amber))}\n  .tmin{width:32px;text-align:right;font-size:13px;font-weight:600;color:var(--stone500)}\n  .tmax{width:32px;font-size:13px;font-weight:700;color:var(--forest)}\n  .wmeta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--stone600);font-weight:500}\n  .head-week{display:flex;align-items:center;gap:12px;margin-bottom:24px}\n  .head-week h2{font-size:24px}\n  .loading,.error{padding:40px;text-align:center;color:var(--stone500)}\n  .picker{margin-top:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}\n  .picker label{font-size:13px;font-weight:600;color:var(--stone600)}\n  .picker select{\n    font:inherit;font-size:15px;font-weight:600;color:var(--forest);\n    padding:10px 40px 10px 16px;border-radius:99px;cursor:pointer;\n    border:1px solid #28543b33;background:#ffffffcc;\n    appearance:none;\n    background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2328543b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'\/%3E%3C\/svg%3E\");\n    background-repeat:no-repeat;background-position:right 14px center;\n  }\n  .picker select:hover{border-color:var(--forest)}\n  .txt-forest{color:var(--forest)} .txt-light{color:var(--forest-light)}\n  .txt-amber{color:var(--amber)} .txt-blue{color:var(--blue)}\n  .muted{color:var(--stone400);font-weight:400;font-size:12px}\n  @media(max-width:820px){.grid-top{grid-template-columns:1fr}.days3{grid-template-columns:1fr}\n    .wrow{grid-template-columns:1fr 1fr}h1{font-size:28px}}\n<\/style>\n<\/head>\n<body>\n<div class=\"wrap\">\n  <p class=\"label\" id=\"eyebrow\" style=\"margin-bottom:8px\"><\/p>\n  <h1 id=\"title\"><\/h1>\n  <p class=\"sub\" id=\"subtitle\"><\/p>\n  <div class=\"picker\">\n    <label for=\"loc\" id=\"pickLabel\"><\/label>\n    <select id=\"loc\"><\/select>\n  <\/div>\n  <div id=\"app\"><div class=\"loading\">\u2026<\/div><\/div>\n<\/div>\n\n<script>\n\/\/ ---- 1. Vietas (nosaukums -> koordin\u0101tes) ----\n\/\/ Koordin\u0101tes ir aptuvenas; Open-Meteo re\u017e\u0123is ir ~11 km, t\u0101p\u0113c ar to pietiek.\nconst LOCATIONS = [\n  {name:'S\u012bkrags',     lat:57.6597, lon:22.2256},\n  {name:'Mazirbe',     lat:57.6832, lon:22.3173},\n  {name:'Pitrags',     lat:57.7046, lon:22.3871},\n  {name:'Saunags',     lat:57.7184, lon:22.4330},\n  {name:'Kolka',       lat:57.7399, lon:22.5858},\n  {name:'Melnsils',    lat:57.6510, lon:22.5742},\n  {name:'P\u016brciems',    lat:57.5900, lon:22.6100},\n  {name:'\u0122ipka',       lat:57.5706, lon:22.6535},\n  {name:'\u017docene',      lat:57.5422, lon:22.7098},\n  {name:'Roja',        lat:57.5015, lon:22.8088},\n  {name:'Kaltene',     lat:57.4586, lon:22.8827},\n  {name:'Valgalciems', lat:57.4099, lon:22.9468},\n  {name:'Upesgr\u012bva',   lat:57.3852, lon:23.0157},\n  {name:'M\u0113rsrags',    lat:57.3354, lon:23.1246},\n];\nconst DEFAULT_LOC = 'P\u016brciems';\n\n\/\/ ---- Valoda (sader\u012bgs ar TranslatePress) ----\n\/\/ TranslatePress noklus\u0113to valodu (EN) r\u0101da bez prefiksa, LV\/DE ar \/lv\/ vai \/de\/\n\/\/ un uzst\u0101da <html lang=\"lv-LV\"> utt. Nolas\u0101m valodu no t\u0101.\nfunction detectLang(){\n  \/\/ 1) URL parametrs (noder\u012bgi, ja logr\u012bks ievietots ar <iframe ...?lang=lv>)\n  const q=(new URLSearchParams(location.search).get('lang')||'').toLowerCase();\n  if(q.startsWith('lv')) return 'lv';\n  if(q.startsWith('de')) return 'de';\n  if(q.startsWith('en')) return 'en';\n  \/\/ 2) <html lang=\"...\"> (TranslatePress to uzst\u0101da)\n  const h=(document.documentElement.lang||'').toLowerCase();\n  if(h.startsWith('lv')) return 'lv';\n  if(h.startsWith('de')) return 'de';\n  if(h.startsWith('en')) return 'en';\n  \/\/ 3) URL ce\u013ca prefikss (\/lv\/, \/de\/)\n  const seg=(location.pathname.split('\/').filter(Boolean)[0]||'').toLowerCase();\n  if(seg==='lv') return 'lv';\n  if(seg==='de') return 'de';\n  return 'en'; \/\/ noklus\u0113jums: ang\u013cu\n}\nconst LANG = detectLang();\nconst LOCALE = {en:'en-GB', lv:'lv-LV', de:'de-DE'}[LANG];\n\n\/\/ ---- Tulkojumi ----\nconst I18N = {\n  en:{\n    eyebrow:'Weather forecast', titlePrefix:'Weather',\n    subtitle:'Current weather and 7-day forecast on the North Kurzeme coast.',\n    pick:'Choose a place:', current:'Current weather', wind:'Wind', precip:'Precipitation',\n    nextTitle:'Coming days', nextDesc:'A quick look to plan a walk to the sea, a campfire evening or a night in a tent.',\n    hourlyLabel:'Hourly forecast', hourlyTitle:'Next hours', weekTitle:'7-day forecast',\n    seaTitle:'By the sea', seaTemp:'Sea temperature', today:'Today', rainShort:'precip',\n    loading:'Loading forecast\u2026', error:'Weather forecast is currently unavailable. Please try again shortly.',\n    wx:{clear:'Clear',partly:'Partly cloudy',fog:'Fog',drizzle:'Drizzle',rain:'Rain',snow:'Snow',showers:'Showers',storm:'Thunderstorm',vari:'Variable'}\n  },\n  lv:{\n    eyebrow:'Laika prognoze', titlePrefix:'Laiks',\n    subtitle:'Aktu\u0101lais laiks un 7 dienu prognoze Zieme\u013ckurzemes piekrast\u0113.',\n    pick:'Izv\u0113lies vietu:', current:'Pa\u0161reiz\u0113jais laiks', wind:'V\u0113j\u0161', precip:'Nokri\u0161\u0146i',\n    nextTitle:'Tuv\u0101k\u0101s dienas', nextDesc:'\u012ass ieskats, lai sapl\u0101notu pastaigu, ugunskura vakaru vai nak\u0161\u0146o\u0161anu telt\u012b.',\n    hourlyLabel:'Stundu prognoze', hourlyTitle:'Tuv\u0101k\u0101s stundas', weekTitle:'7 dienu prognoze',\n    seaTitle:'Pie j\u016bras', seaTemp:'J\u016bras temperat\u016bra', today:'\u0160odien', rainShort:'nokri\u0161\u0146i',\n    loading:'Iel\u0101d\u0113 prognozi\u2026', error:'Laika prognoze pa\u0161laik nav pieejama. L\u016bdzu, m\u0113\u0123iniet v\u0113lreiz.',\n    wx:{clear:'Skaidrs',partly:'Da\u013c\u0113ji m\u0101ko\u0146ains',fog:'Migla',drizzle:'Smidzina',rain:'Lietus',snow:'Sniegs',showers:'Lietusg\u0101zes',storm:'P\u0113rkona negaiss',vari:'Main\u012bgs'}\n  },\n  de:{\n    eyebrow:'Wettervorhersage', titlePrefix:'Wetter',\n    subtitle:'Aktuelles Wetter und 7-Tage-Vorhersage an der K\u00fcste von Nordkurland.',\n    pick:'Ort w\u00e4hlen:', current:'Aktuelles Wetter', wind:'Wind', precip:'Niederschlag',\n    nextTitle:'N\u00e4chste Tage', nextDesc:'Ein kurzer Blick, um einen Spaziergang zum Meer, einen Lagerfeuerabend oder eine Nacht im Zelt zu planen.',\n    hourlyLabel:'St\u00fcndliche Vorhersage', hourlyTitle:'N\u00e4chste Stunden', weekTitle:'7-Tage-Vorhersage',\n    seaTitle:'Am Meer', seaTemp:'Meerestemperatur', today:'Heute', rainShort:'Niederschlag',\n    loading:'Vorhersage wird geladen\u2026', error:'Die Wettervorhersage ist derzeit nicht verf\u00fcgbar. Bitte versuchen Sie es sp\u00e4ter erneut.',\n    wx:{clear:'Klar',partly:'Teils bew\u00f6lkt',fog:'Nebel',drizzle:'Nieselregen',rain:'Regen',snow:'Schnee',showers:'Schauer',storm:'Gewitter',vari:'Wechselhaft'}\n  }\n};\nconst T = I18N[LANG];\n\n\/\/ ---- 2. WMO weathercode -> ikona + latvie\u0161u apraksts ----\n\/\/ Lucide SVG celi\u0146i\nconst P = {\n  sun:['circle:12,12,4','M12 2v2','M12 20v2','m4.93 4.93 1.41 1.41','m17.66 17.66 1.41 1.41','M2 12h2','M20 12h2','m6.34 17.66-1.41 1.41','m19.07 4.93-1.41 1.41'],\n  cloudSun:['M12 2v2','m4.93 4.93 1.41 1.41','M20 12h2','m19.07 4.93-1.41 1.41','M15.947 12.65a4 4 0 0 0-5.925-4.128','M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z'],\n  cloudRain:['M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242','M16 14v6','M8 14v6','M12 16v6'],\n  wind:['M12.8 19.6A2 2 0 1 0 14 16H2','M17.5 8a2.5 2.5 0 1 1 2 4H2','M9.8 4.4A2 2 0 1 1 11 8H2'],\n  drops:['M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z','M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97'],\n  waves:['M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1','M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1','M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1']\n};\nfunction icon(paths,size,cls){\n  let inner = paths.map(p=>{\n    if(p.startsWith('circle:')){const [x,y,r]=p.slice(7).split(',');return `<circle cx=\"${x}\" cy=\"${y}\" r=\"${r}\"\/>`;}\n    return `<path d=\"${p}\"\/>`;\n  }).join('');\n  return `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"${size}\" height=\"${size}\" viewBox=\"0 0 24 24\" fill=\"none\"\n    stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"${cls||''}\">${inner}<\/svg>`;\n}\n\/\/ weathercode -> {ikona, kr\u0101sa, atsl\u0113ga}; aprakstu \u0146em no T.wx[k]\nfunction wx(code){\n  if(code===0) return {p:P.sun, c:'txt-amber', k:'clear'};\n  if(code===1||code===2||code===3) return {p:P.cloudSun, c:'txt-light', k:'partly'};\n  if(code>=45&&code<=48) return {p:P.cloudSun, c:'txt-light', k:'fog'};\n  if(code>=51&&code<=57) return {p:P.cloudRain, c:'txt-blue', k:'drizzle'};\n  if(code>=61&&code<=67) return {p:P.cloudRain, c:'txt-blue', k:'rain'};\n  if(code>=71&&code<=77) return {p:P.cloudRain, c:'txt-blue', k:'snow'};\n  if(code>=80&&code<=82) return {p:P.cloudRain, c:'txt-blue', k:'showers'};\n  if(code>=95) return {p:P.cloudRain, c:'txt-blue', k:'storm'};\n  return {p:P.cloudSun, c:'txt-light', k:'vari'};\n}\nfunction wxText(w){ return T.wx[w.k]; }\n\n\/\/ ---- 3. Datumu format\u0113\u0161ana p\u0113c valodas (Intl) ----\nconst DAY_FMT=new Intl.DateTimeFormat(LOCALE,{weekday:'short',day:'numeric',month:'short'});\nconst HOUR_FMT=new Intl.DateTimeFormat(LOCALE,{hour:'2-digit',minute:'2-digit',hour12:false});\nfunction dienaLabel(d,isToday){ return isToday ? T.today : DAY_FMT.format(d); }\nfunction pilnsDatums(d){ return DAY_FMT.format(d); }\n\n\/\/ ---- 4. Datu iel\u0101de no Open-Meteo ----\nfunction buildUrl(lat,lon){\n  return 'https:\/\/api.open-meteo.com\/v1\/forecast?latitude='+lat+'&longitude='+lon\n    +'&current=temperature_2m,weather_code,wind_speed_10m,precipitation_probability'\n    +'&hourly=temperature_2m,precipitation_probability,wind_speed_10m,weather_code'\n    +'&daily=weather_code,temperature_2m_max,temperature_2m_min,precipitation_probability_max,wind_speed_10m_max'\n    +'&timezone=Europe%2FRiga&forecast_days=7';\n}\nfunction buildMarine(lat,lon){\n  return 'https:\/\/marine-api.open-meteo.com\/v1\/marine?latitude='+lat+'&longitude='+lon\n    +'&current=sea_surface_temperature&timezone=Europe%2FRiga';\n}\n\nasync function load(loc){\n  document.getElementById('title').textContent=T.titlePrefix+' - '+loc.name;\n  document.getElementById('app').innerHTML='<div class=\"loading\">'+T.loading+'<\/div>';\n  try{\n    const [wRes,mRes]=await Promise.allSettled([fetch(buildUrl(loc.lat,loc.lon)),fetch(buildMarine(loc.lat,loc.lon))]);\n    const data=await wRes.value.json();\n    let sea=null;\n    if(mRes.status==='fulfilled'){try{const m=await mRes.value.json();sea=Math.round(m.current?.sea_surface_temperature);}catch(e){}}\n    render(data,sea);\n  }catch(e){\n    document.getElementById('app').innerHTML='<div class=\"error\">'+T.error+'<\/div>';\n  }\n}\n\n\/\/ ---- 5. Statiskie teksti + vietas izv\u0113lne ----\nfunction initPicker(){\n  document.getElementById('eyebrow').textContent=T.eyebrow;\n  document.getElementById('subtitle').textContent=T.subtitle;\n  document.getElementById('pickLabel').textContent=T.pick;\n  const sel=document.getElementById('loc');\n  LOCATIONS.forEach(l=>{\n    const o=document.createElement('option');\n    o.value=l.name; o.textContent=l.name;\n    if(l.name===DEFAULT_LOC) o.selected=true;\n    sel.appendChild(o);\n  });\n  sel.addEventListener('change',()=>{\n    const loc=LOCATIONS.find(l=>l.name===sel.value);\n    load(loc);\n  });\n  load(LOCATIONS.find(l=>l.name===DEFAULT_LOC)||LOCATIONS[0]);\n}\n\nfunction render(d,sea){\n  const cur=d.current, H=d.hourly, DD=d.daily;\n  const now=wx(cur.weather_code);\n\n  \/\/ --- Pa\u0161reiz\u0113jais + tuv\u0101k\u0101s 3 dienas ---\n  let top=`<div class=\"grid-top\">\n    <div class=\"card\">\n      <p class=\"label\">${T.current}<\/p>\n      <div class=\"row\" style=\"margin-top:16px\">\n        <div>\n          <span class=\"cur-temp\">${Math.round(cur.temperature_2m)}\u00b0<\/span>\n          <p class=\"cur-desc\">${wxText(now)}<\/p>\n        <\/div>\n        <div class=\"iconbox\">${icon(now.p,72,now.c)}<\/div>\n      <\/div>\n      <div class=\"mini-grid\">\n        <div class=\"mini\"><p class=\"flex-lbl\">${icon(P.wind,14,'txt-forest')}${T.wind}<\/p>\n          <p class=\"big\">${Math.round(cur.wind_speed_10m)} <span class=\"muted\">km\/h<\/span><\/p><\/div>\n        <div class=\"mini\"><p class=\"flex-lbl\">${icon(P.drops,14,'txt-forest')}${T.precip}<\/p>\n          <p class=\"big\">${cur.precipitation_probability??0}%<\/p><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"row\" style=\"justify-content:flex-start;gap:16px;align-items:flex-start\">\n        <span class=\"iconbox\" style=\"color:var(--forest);background:#38584c1a\">${icon(P.cloudSun,22)}<\/span>\n        <div><h2>${T.nextTitle}<\/h2>\n          <p class=\"sub\" style=\"font-size:14px\">${T.nextDesc}<\/p><\/div>\n      <\/div>\n      <div class=\"days3\">`;\n  for(let i=0;i<3;i++){\n    const w=wx(DD.weather_code[i]);\n    const dt=new Date(DD.time[i]+'T00:00');\n    top+=`<div class=\"day3\">\n      <p class=\"label\" style=\"margin-bottom:12px\">${dienaLabel(dt,i===0)}<\/p>\n      <div class=\"iconbox\" style=\"display:inline-block;margin-bottom:12px\">${icon(w.p,42,w.c)}<\/div>\n      <div><span style=\"font-size:18px;font-weight:700;color:var(--forest)\">${Math.round(DD.temperature_2m_max[i])}\u00b0<\/span>\n      <span class=\"muted\"> \/ <\/span><span style=\"color:var(--stone500)\">${Math.round(DD.temperature_2m_min[i])}\u00b0<\/span><\/div>\n    <\/div>`;\n  }\n  top+=`<\/div><\/div><\/div>`;\n\n  \/\/ --- Pie j\u016bras (ja pieejams) ---\n  let seaBlock='';\n  if(sea!=null && !isNaN(sea)){\n    seaBlock=`<section class=\"block\"><div class=\"card\" style=\"max-width:340px\">\n      <p class=\"label\">${T.seaTitle}<\/p>\n      <div class=\"mini\" style=\"margin-top:16px\">\n        <p class=\"flex-lbl\">${icon(P.waves,16,'txt-forest')}${T.seaTemp}<\/p>\n        <p style=\"font-size:28px;font-weight:700;margin-top:6px\">${sea}\u00b0<\/p>\n      <\/div><\/div><\/section>`;\n  }\n\n  \/\/ --- Stundu prognoze (no tagad\u0113j\u0101s stundas uz priek\u0161u, 18h) ---\n  const nowH=new Date();\n  let startIdx=H.time.findIndex(t=>new Date(t)>=new Date(nowH.getFullYear(),nowH.getMonth(),nowH.getDate(),nowH.getHours()));\n  if(startIdx<0)startIdx=0;\n  let hours='';\n  for(let i=startIdx;i<startIdx+18 && i<H.time.length;i++){\n    const w=wx(H.weather_code[i]);\n    const t=new Date(H.time[i]);\n    const hh=HOUR_FMT.format(t);\n    hours+=`<div class=\"hour\">\n      <p class=\"t\">${hh}<\/p>\n      <div style=\"display:flex;justify-content:center;margin-top:8px\">${icon(w.p,28,w.c)}<\/div>\n      <p class=\"deg\">${Math.round(H.temperature_2m[i])}\u00b0<\/p>\n      <div class=\"meta\">\n        <span>${icon(P.drops,13,'txt-forest')}${H.precipitation_probability[i]??0}%<\/span>\n        <span>${icon(P.wind,13,'txt-forest')}${Math.round(H.wind_speed_10m[i])}<\/span>\n      <\/div><\/div>`;\n  }\n  const hourly=`<section class=\"block\"><div class=\"card\">\n    <p class=\"label\">${T.hourlyLabel}<\/p><h2 style=\"margin-top:4px;margin-bottom:16px\">${T.hourlyTitle}<\/h2>\n    <div class=\"hours\">${hours}<\/div><\/div><\/section>`;\n\n  \/\/ --- 7 dienu prognoze ar temperat\u016bras joslu ---\n  const allMin=Math.min(...DD.temperature_2m_min), allMax=Math.max(...DD.temperature_2m_max);\n  const span=allMax-allMin||1;\n  let week='';\n  for(let i=0;i<DD.time.length;i++){\n    const w=wx(DD.weather_code[i]);\n    const dt=new Date(DD.time[i]+'T00:00');\n    const lo=DD.temperature_2m_min[i], hi=DD.temperature_2m_max[i];\n    const left=((lo-allMin)\/span*100).toFixed(1);\n    const width=((hi-lo)\/span*100).toFixed(1);\n    week+=`<div class=\"wrow\">\n      <div class=\"wday\"><div class=\"ib\">${icon(w.p,36,w.c)}<\/div>\n        <div><p class=\"wname\">${pilnsDatums(dt)}<\/p>\n        <p class=\"wdesc\">${wxText(w)}<\/p><\/div><\/div>\n      <div class=\"bar-wrap\"><span class=\"tmin\">${Math.round(lo)}\u00b0<\/span>\n        <div class=\"bar\"><div style=\"left:${left}%;width:${width}%\"><\/div><\/div>\n        <span class=\"tmax\">${Math.round(hi)}\u00b0<\/span><\/div>\n      <p class=\"wmeta\">${icon(P.drops,16,'txt-forest')}<span>${DD.precipitation_probability_max[i]??0}% <span class=\"muted\">${T.rainShort}<\/span><\/span><\/p>\n      <p class=\"wmeta\">${icon(P.wind,16,'txt-forest')}<span>${Math.round(DD.wind_speed_10m_max[i])} <span class=\"muted\">km\/h<\/span><\/span><\/p>\n    <\/div>`;\n  }\n  const calIcon='<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 2v4\"\/><path d=\"M16 2v4\"\/><rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\"\/><path d=\"M3 10h18\"\/><\/svg>';\n  const weekBlock=`<section class=\"block\">\n    <div class=\"head-week\"><span class=\"txt-forest\">${calIcon}<\/span>\n      <h2>${T.weekTitle}<\/h2><\/div>\n    <div class=\"week\">${week}<\/div><\/section>`;\n\n  document.getElementById('app').innerHTML=top+seaBlock+hourly+weekBlock;\n}\ninitPicker();\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Weather forecast Laika prognoze &#8211; Visit North Kurzeme \u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-220","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.1 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Weather - Visit North Kurzeme<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.visitnorthkurzeme.com\/lv\/weather\/\" \/>\n<meta property=\"og:locale\" content=\"lv_LV\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Weather\" \/>\n<meta property=\"og:description\" content=\"Weather forecast Laika prognoze &#8211; Visit North Kurzeme \u2026\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.visitnorthkurzeme.com\/lv\/weather\/\" \/>\n<meta property=\"og:site_name\" content=\"Visit North Kurzeme\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-12T10:55:18+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 min\u016bte\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/weather\\\/\",\"url\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/weather\\\/\",\"name\":\"Weather - Visit North Kurzeme\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/#website\"},\"datePublished\":\"2026-08-12T14:30:55+00:00\",\"dateModified\":\"2026-10-12T10:55:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/weather\\\/#breadcrumb\"},\"inLanguage\":\"lv-LV\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/weather\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/weather\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Weather\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/#website\",\"url\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/\",\"name\":\"Visit North Kurzeme\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.visitnorthkurzeme.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"lv-LV\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Weather - Visit North Kurzeme","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.visitnorthkurzeme.com\/lv\/weather\/","og_locale":"lv_LV","og_type":"article","og_title":"Weather","og_description":"Weather forecast Laika prognoze &#8211; Visit North Kurzeme \u2026","og_url":"https:\/\/www.visitnorthkurzeme.com\/lv\/weather\/","og_site_name":"Visit North Kurzeme","article_modified_time":"2026-10-12T10:55:18+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 min\u016bte"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.visitnorthkurzeme.com\/weather\/","url":"https:\/\/www.visitnorthkurzeme.com\/weather\/","name":"Weather - Visit North Kurzeme","isPartOf":{"@id":"https:\/\/www.visitnorthkurzeme.com\/#website"},"datePublished":"2026-08-12T14:30:55+00:00","dateModified":"2026-10-12T10:55:18+00:00","breadcrumb":{"@id":"https:\/\/www.visitnorthkurzeme.com\/weather\/#breadcrumb"},"inLanguage":"lv-LV","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.visitnorthkurzeme.com\/weather\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.visitnorthkurzeme.com\/weather\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.visitnorthkurzeme.com\/"},{"@type":"ListItem","position":2,"name":"Weather"}]},{"@type":"WebSite","@id":"https:\/\/www.visitnorthkurzeme.com\/#website","url":"https:\/\/www.visitnorthkurzeme.com\/","name":"Visit North Kurzeme","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.visitnorthkurzeme.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"lv-LV"}]}},"_links":{"self":[{"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/pages\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":0,"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/pages\/220\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.visitnorthkurzeme.com\/lv\/wp-json\/wp\/v2\/media?parent=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}