{"id":3999,"date":"2025-12-03T17:28:24","date_gmt":"2025-12-03T20:28:24","guid":{"rendered":"https:\/\/jornalvia.com\/piracicaba\/?page_id=3999"},"modified":"2026-01-19T09:40:34","modified_gmt":"2026-01-19T12:40:34","slug":"horoscopo-do-dia","status":"publish","type":"page","link":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/","title":{"rendered":"Horosc\u00f3po do dia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3999\" class=\"elementor elementor-3999\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cb9fdf e-flex e-con-boxed e-con e-parent\" data-id=\"7cb9fdf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8a1bdf elementor-widget elementor-widget-heading\" data-id=\"f8a1bdf\" 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\">Hor\u00f3scopo<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9e5aa9e painel e-flex e-con-boxed e-con e-parent\" data-id=\"9e5aa9e\" 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-92cb6d3 elementor-widget elementor-widget-html\" data-id=\"92cb6d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\n  \/\/ \ud83d\udd39 L\u00ea o signo da URL, ex: ?signo=aries\r\n  const urlParams = new URLSearchParams(window.location.search);\r\n  const signo = urlParams.get('signo')?.toLowerCase();\r\n\r\n  let signoInfo = null;\r\n\r\n  async function consultarSigno() {\r\n    try {\r\n      const response = await fetch('https:\/\/jornalvia.com\/painel\/horoscope\/cache.json?' + Date.now());\r\n      const json = await response.json();\r\n\r\n      delete json[\"_ultima_atualizacao\"];\r\n      delete json[\"last-update\"];\r\n\r\n      \/\/ \ud83d\udd38 Verifica se o signo existe no JSON\r\n      if (!signo || !json[signo]) {\r\n        console.warn(`\u26a0\ufe0f Signo '${signo}' n\u00e3o encontrado ou n\u00e3o informado.`);\r\n        return;\r\n      }\r\n\r\n      const dataSign = json[signo];\r\n      const dias = Object.keys(dataSign);\r\n      const ultimoDia = dias[dias.length - 1];\r\n      signoInfo = dataSign[ultimoDia];\r\n\r\n      console.log(\"\u2705 Dados carregados do signo:\", signoInfo);\r\n\r\n      \/\/ \ud83d\udd14 Dispara evento global informando que o signo foi carregado\r\n      window.dispatchEvent(new Event(\"signoCarregado\"));\r\n\r\n    } catch (err) {\r\n      console.error(\"\u274c Erro ao consultar o JSON:\", err);\r\n    }\r\n  }\r\n\r\n  consultarSigno();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-481cb32 e-flex e-con-boxed e-con e-parent\" data-id=\"481cb32\" 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-d7025ba elementor-widget elementor-widget-heading\" data-id=\"d7025ba\" 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\">Previs\u00e3o de hoje<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67acbbf elementor-widget elementor-widget-html\" data-id=\"67acbbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #dataSigno {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 25px;\r\n    color: #444;\r\n    text-align: left;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"dataSigno\">Carregando data...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    const dataOriginal = signoInfo.hora_atualizacao?.substring(0, 10) || \"\";\r\n    let dataFormatada = \"Data indispon\u00edvel.\";\r\n    if (dataOriginal.includes(\"-\")) {\r\n      const [ano, mes, dia] = dataOriginal.split(\"-\");\r\n      dataFormatada = `${dia}\/${mes}\/${ano}`;\r\n    }\r\n    document.getElementById(\"dataSigno\").innerText = dataFormatada;\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cb7a6df e-flex e-con-boxed e-con e-parent\" data-id=\"cb7a6df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a2f3b27 e-con-full e-flex e-con e-child\" data-id=\"a2f3b27\" 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-c1189b5 e-con-full e-flex e-con e-child\" data-id=\"c1189b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a38a6d8 elementor-widget elementor-widget-html\" data-id=\"a38a6d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #nomeSigno {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 40px;\r\n    font-weight: 600;\r\n    color: #0033CC;\r\n    text-align: left;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"nomeSigno\">Carregando signo...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    const nome = signoInfo.sign_name || \"Signo n\u00e3o encontrado\";\r\n    document.getElementById(\"nomeSigno\").innerText = nome;\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c322234 e-con-full e-flex e-con e-child\" data-id=\"c322234\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2264828 elementor-widget elementor-widget-html\" data-id=\"2264828\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #periodoSigno {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 22px;\r\n    color: #444;\r\n    text-align: left;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"periodoSigno\">Carregando per\u00edodo...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    let periodo = signoInfo.data || \"Per\u00edodo indispon\u00edvel.\";\r\n    periodo = periodo.replace(\/\\\\\/g, '').trim();\r\n    document.getElementById(\"periodoSigno\").innerText = periodo;\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b64982a e-con-full e-flex e-con e-child\" data-id=\"b64982a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-507f518 e-con-full e-flex e-con e-child\" data-id=\"507f518\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f96dc83 elementor-widget elementor-widget-html\" data-id=\"f96dc83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"signoImagem\"><\/div>\r\n\r\n<script>\r\n  async function mostrarImagemSigno() {\r\n    try {\r\n      const response = await fetch('https:\/\/jornalvia.com\/painel\/horoscope\/cache.json?' + Date.now());\r\n      const json = await response.json();\r\n\r\n      \/\/ Remove chaves desnecess\u00e1rias\r\n      delete json[\"_ultima_atualizacao\"];\r\n      delete json[\"last-update\"];\r\n\r\n      \/\/ Verifica se o signo existe\r\n      if (!json[signo]) {\r\n        document.getElementById(\"signoImagem\").innerHTML = `<p>\u274c Signo '${signo}' n\u00e3o encontrado.<\/p>`;\r\n        return;\r\n      }\r\n\r\n      \/\/ Pega o \u00faltimo registro (geralmente o mais recente)\r\n      const dataSign = json[signo];\r\n      const dias = Object.keys(dataSign);\r\n      const ultimoDia = dias[dias.length - 1];\r\n      const info = dataSign[ultimoDia];\r\n\r\n      \/\/ Corrige a URL da imagem\r\n      const imgURL = info.imagem_url.replace(\/\\\\\/g, '');\r\n      const nomeSigno = info.sign_name || signo.charAt(0).toUpperCase() + signo.slice(1);\r\n\r\n      \/\/ Exibe apenas a imagem\r\n      document.getElementById(\"signoImagem\").innerHTML = `\r\n        <img decoding=\"async\" src=\"${imgURL}\"\r\n             alt=\"${nomeSigno}\"\r\n             title=\"${nomeSigno}\"\r\n             style=\"width:150px; height:150px; border-radius:50%; object-fit:contain;\">\r\n      `;\r\n    } catch (err) {\r\n      console.error(\"Erro ao carregar JSON:\", err);\r\n    }\r\n  }\r\n\r\n  mostrarImagemSigno();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-482747c e-con-full e-flex e-con e-child\" data-id=\"482747c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-75464f8 elementor-widget elementor-widget-html\" data-id=\"75464f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #horoscopoTexto {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 22px;\r\n    color: #222;\r\n    line-height: 1.6;\r\n    text-align: left;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"horoscopoTexto\">Carregando hor\u00f3scopo...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    const texto = signoInfo.horoscopo || \"Hor\u00f3scopo indispon\u00edvel.\";\r\n    document.getElementById(\"horoscopoTexto\").innerText = texto;\r\n  });\r\n<\/script>\r\n\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\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-01a5666 e-flex e-con-boxed e-con e-parent\" data-id=\"01a5666\" 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-37ec40e elementor-widget elementor-widget-heading\" data-id=\"37ec40e\" 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\">Perfil<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e945abb elementor-widget elementor-widget-html\" data-id=\"e945abb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #perfilSigno {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 30px;\r\n    font-weight: 700; \/* \ud83d\udd39 Negrito *\/\r\n    color: #0033CC;\r\n    text-align: left;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"perfilSigno\">Carregando perfil...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    let perfil = signoInfo.sign_perfil || \"Perfil indispon\u00edvel.\";\r\n    perfil = perfil.replace(\/\\\\\/g, '').trim();\r\n    document.getElementById(\"perfilSigno\").innerText = perfil;\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-28cd42c e-flex e-con-boxed e-con e-parent\" data-id=\"28cd42c\" 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-7cf1d7e elementor-widget elementor-widget-html\" data-id=\"7cf1d7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #perfilDetalhes {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 25px;\r\n    font-weight: 400; \/* \ud83d\udd39 Normal *\/\r\n    color: #444;\r\n    text-align: left;\r\n    line-height: 1.6;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"perfilDetalhes\">Carregando descri\u00e7\u00e3o...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    let detalhes = signoInfo.sign_perfil_detalhes || \"Descri\u00e7\u00e3o indispon\u00edvel.\";\r\n    detalhes = detalhes.replace(\/\\\\\/g, '').trim();\r\n    document.getElementById(\"perfilDetalhes\").innerHTML = detalhes; \/\/ \ud83d\udc48 renderiza HTML\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c83f242 e-flex e-con-boxed e-con e-parent\" data-id=\"c83f242\" 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-a7bcd99 elementor-widget elementor-widget-heading\" data-id=\"a7bcd99\" 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\">Resumo<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2aa0c10 e-flex e-con-boxed e-con e-parent\" data-id=\"2aa0c10\" 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-19fb667 elementor-widget elementor-widget-html\" data-id=\"19fb667\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #resumoDetalhes {\r\n    font-family: 'Albert Sans', sans-serif;\r\n    font-size: 25px;\r\n    font-weight: 400; \/* \ud83d\udd39 Normal *\/\r\n    color: #444;\r\n    text-align: left;\r\n    line-height: 1.6;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"resumoDetalhes\">Carregando resumo...<\/div>\r\n\r\n<script>\r\n  window.addEventListener(\"signoCarregado\", () => {\r\n    let resumo = signoInfo.sign_resumo_detalhes || \"Resumo indispon\u00edvel.\";\r\n    resumo = resumo.replace(\/\\\\\/g, '').trim();\r\n    document.getElementById(\"resumoDetalhes\").innerHTML = resumo; \/\/ \ud83d\udc48 renderiza HTML\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e0cfb12 e-flex e-con-boxed e-con e-parent\" data-id=\"e0cfb12\" 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-528879b elementor-widget elementor-widget-heading\" data-id=\"528879b\" 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\">Veja mais...<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-70ae76a painel e-flex e-con-boxed e-con e-parent\" data-id=\"70ae76a\" 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-ccaa8d9 elementor-widget elementor-widget-html\" data-id=\"ccaa8d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  .horoscope-wrapper {\r\n    position: relative;\r\n    overflow: hidden;\r\n    width: 100%;\r\n    background: #fff;\r\n  }\r\n\r\n  \/* === DESKTOP: todos os 12 signos em uma linha === *\/\r\n  @media (min-width: 769px) {\r\n    .horoscope-list {\r\n      display: grid;\r\n      grid-template-columns: repeat(12, 1fr);\r\n      justify-items: center;\r\n      align-items: center;\r\n      width: 100%;\r\n      padding: 20px 0;\r\n      margin: 0;\r\n      box-sizing: border-box;\r\n      overflow: hidden;\r\n    }\r\n\r\n    .sign-item {\r\n      text-align: center;\r\n      cursor: pointer;\r\n      border-radius: 50%;\r\n      transition: transform 0.25s ease;\r\n      width: 100%;\r\n      max-width: 110px; \/* aumenta um pouco o tamanho para preencher mais *\/\r\n    }\r\n\r\n    .sign-item:hover {\r\n      transform: scale(1.1);\r\n    }\r\n\r\n    .sign-item img {\r\n      width: 85px;\r\n      height: 85px;\r\n      border-radius: 50%;\r\n      object-fit: contain;\r\n      background: #fff;\r\n      display: block;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .sign-name {\r\n      font-family: 'Albert Sans', sans-serif;\r\n      font-weight: 600;\r\n      color: #0033cc;\r\n      text-transform: none;\r\n      font-size: 0.9rem;\r\n      margin-top: 6px;\r\n    }\r\n\r\n    \/* \ud83d\udd39 remove setas apenas no desktop *\/\r\n    .horoscope-btn {\r\n      display: none !important;\r\n    }\r\n  }\r\n\r\n  \/* === MOBILE: mant\u00e9m carrossel e setas === *\/\r\n  @media (max-width: 768px) {\r\n    .horoscope-list {\r\n      display: flex;\r\n      gap: 10px; \/* \ud83d\udd39 diminui o espa\u00e7o entre os signos *\/\r\n      overflow-x: auto;\r\n      scroll-behavior: smooth;\r\n      scrollbar-width: none;\r\n      justify-content: flex-start;\r\n      align-items: center;\r\n      padding: 15px 35px;\r\n      width: 100%;\r\n    }\r\n\r\n    .horoscope-list::-webkit-scrollbar { display: none; }\r\n\r\n    .sign-item {\r\n      flex: 0 0 75px;\r\n      width: 75px;\r\n      text-align: center;\r\n    }\r\n\r\n    .sign-item img {\r\n      width: 58px;\r\n      height: 58px;\r\n      border-radius: 50%;\r\n      object-fit: contain;\r\n      background: #fff;\r\n      display: block;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .sign-name {\r\n      font-family: 'Albert Sans', sans-serif;\r\n      font-weight: 600;\r\n      color: #0033cc;\r\n      font-size: 0.75rem;\r\n      margin-top: 4px;\r\n    }\r\n\r\n    \/* \ud83d\udd39 setas vis\u00edveis no mobile *\/\r\n    .horoscope-btn {\r\n      display: flex;\r\n      top: 45%;\r\n    }\r\n  }\r\n\r\n  \/* --- BOT\u00d5ES DE NAVEGA\u00c7\u00c3O --- *\/\r\n  .horoscope-btn {\r\n    position: absolute;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    background: #0033CC;\r\n    backdrop-filter: blur(6px);\r\n    color: white;\r\n    border: none;\r\n    border-radius: 50%;\r\n    width: 38px;\r\n    height: 38px;\r\n    cursor: pointer;\r\n    opacity: 0.95;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-size: 16px;\r\n    transition: background 0.2s, transform 0.2s, opacity 0.2s;\r\n    z-index: 10;\r\n  }\r\n\r\n  .horoscope-btn:hover {\r\n    background: rgba(0, 40, 160, 0.9);\r\n    transform: translateY(-50%) scale(1.1);\r\n    opacity: 1;\r\n  }\r\n\r\n  .horoscope-btn-left { left: 10px; }\r\n  .horoscope-btn-right { right: 10px; }\r\n<\/style>\r\n\r\n<div class=\"horoscope-wrapper\">\r\n  <button class=\"horoscope-btn horoscope-btn-left\" onclick=\"scrollSigns(-1)\">&#10094;<\/button>\r\n  <div id=\"signCarousel\" class=\"horoscope-list\"><\/div>\r\n  <button class=\"horoscope-btn horoscope-btn-right\" onclick=\"scrollSigns(1)\">&#10095;<\/button>\r\n<\/div>\r\n\r\n<script>\r\n  async function carregarHoroscopos() {\r\n    try {\r\n      const response = await fetch('https:\/\/jornalvia.com\/painel\/horoscope\/cache.json?' + Date.now());\r\n      const json = await response.json();\r\n\r\n      if (json[\"_ultima_atualizacao\"]) delete json[\"_ultima_atualizacao\"];\r\n      const lastUpdate = json[\"last-update\"];\r\n      delete json[\"last-update\"];\r\n\r\n      const list = document.getElementById(\"signCarousel\");\r\n      list.innerHTML = '';\r\n\r\n      Object.keys(json).forEach(sign => {\r\n        const dataSign = json[sign];\r\n        const dias = Object.keys(dataSign);\r\n        const ultimoDia = dias[dias.length - 1];\r\n        const info = dataSign[ultimoDia];\r\n        const imgURL = info.imagem_url.replace(\/\\\\\/g, '');\r\n\r\n        const nomeSigno = info.sign_name\r\n          ? info.sign_name\r\n          : sign.charAt(0).toUpperCase() + sign.slice(1);\r\n\r\n        \/\/ \ud83d\udd39 URL corrigida conforme solicitado\r\n        const link = document.createElement('a');\r\n        link.href = `https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia?signo=${sign}`;\r\n        link.target = '_self';\r\n        link.style.textDecoration = 'none';\r\n\r\n        const card = document.createElement('div');\r\n        card.className = 'sign-item';\r\n        card.innerHTML = `\r\n          <img decoding=\"async\" src=\"${imgURL}\" alt=\"${nomeSigno}\" title=\"${nomeSigno}\">\r\n          <div class=\"sign-name\">${nomeSigno}<\/div>\r\n        `;\r\n\r\n        link.appendChild(card);\r\n        list.appendChild(link);\r\n      });\r\n\r\n      console.log(\"\u2705 \u00daltima atualiza\u00e7\u00e3o:\", lastUpdate);\r\n    } catch (err) {\r\n      console.error(\"Erro ao carregar JSON:\", err);\r\n    }\r\n  }\r\n\r\n  function scrollSigns(dir) {\r\n    const list = document.getElementById('signCarousel');\r\n    list.scrollBy({ left: dir * 250, behavior: 'smooth' });\r\n  }\r\n\r\n  carregarHoroscopos();\r\n<\/script>\r\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","protected":false},"excerpt":{"rendered":"<p>Hor\u00f3scopo Previs\u00e3o de hoje &nbsp; Carregando data&#8230; Carregando signo&#8230; Carregando per\u00edodo&#8230; Carregando hor\u00f3scopo&#8230; Perfil &nbsp; Carregando perfil&#8230; Carregando descri\u00e7\u00e3o&#8230; Resumo &nbsp; Carregando resumo&#8230; Veja mais&#8230; &nbsp; \u276e \u276f<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3996,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3999","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Jornal Via &#8226; Horosc\u00f3po do dia<\/title>\n<meta name=\"description\" content=\"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jornal Via &#8226; Horosc\u00f3po do dia\" \/>\n<meta property=\"og:description\" content=\"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/\" \/>\n<meta property=\"og:site_name\" content=\"Piracicaba\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-19T12:40:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/11\/seo-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/\",\"url\":\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/\",\"name\":\"Jornal Via &#8226; Horosc\u00f3po do dia\",\"isPartOf\":{\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#website\"},\"datePublished\":\"2025-12-03T20:28:24+00:00\",\"dateModified\":\"2026-01-19T12:40:34+00:00\",\"description\":\"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo\",\"breadcrumb\":{\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/jornalvia.com\/piracicaba\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jornal VIA &#8211; Horosc\u00f3po\",\"item\":\"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Horosc\u00f3po do dia\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#website\",\"url\":\"https:\/\/jornalvia.com\/piracicaba\/\",\"name\":\"Jornal VIA\",\"description\":\"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo\",\"publisher\":{\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#organization\"},\"alternateName\":\"Jornal VIA \u2022 Piracicaba\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jornalvia.com\/piracicaba\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#organization\",\"name\":\"Jornal VIA\",\"url\":\"https:\/\/jornalvia.com\/piracicaba\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/09\/logo_site_5.png\",\"contentUrl\":\"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/09\/logo_site_5.png\",\"width\":800,\"height\":800,\"caption\":\"Jornal VIA\"},\"image\":{\"@id\":\"https:\/\/jornalvia.com\/piracicaba\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jornal Via &#8226; Horosc\u00f3po do dia","description":"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo","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:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/","og_locale":"pt_BR","og_type":"article","og_title":"Jornal Via &#8226; Horosc\u00f3po do dia","og_description":"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo","og_url":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/","og_site_name":"Piracicaba","article_modified_time":"2026-01-19T12:40:34+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/11\/seo-image.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/","url":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/","name":"Jornal Via &#8226; Horosc\u00f3po do dia","isPartOf":{"@id":"https:\/\/jornalvia.com\/piracicaba\/#website"},"datePublished":"2025-12-03T20:28:24+00:00","dateModified":"2026-01-19T12:40:34+00:00","description":"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo","breadcrumb":{"@id":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/horoscopo-do-dia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/jornalvia.com\/piracicaba\/"},{"@type":"ListItem","position":2,"name":"Jornal VIA &#8211; Horosc\u00f3po","item":"https:\/\/jornalvia.com\/piracicaba\/horoscopo\/"},{"@type":"ListItem","position":3,"name":"Horosc\u00f3po do dia"}]},{"@type":"WebSite","@id":"https:\/\/jornalvia.com\/piracicaba\/#website","url":"https:\/\/jornalvia.com\/piracicaba\/","name":"Jornal VIA","description":"Seu novo jornal de not\u00edcias em Piracicaba com informa\u00e7\u00f5es locais, do Brasil e do mundo","publisher":{"@id":"https:\/\/jornalvia.com\/piracicaba\/#organization"},"alternateName":"Jornal VIA \u2022 Piracicaba","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jornalvia.com\/piracicaba\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/jornalvia.com\/piracicaba\/#organization","name":"Jornal VIA","url":"https:\/\/jornalvia.com\/piracicaba\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/jornalvia.com\/piracicaba\/#\/schema\/logo\/image\/","url":"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/09\/logo_site_5.png","contentUrl":"https:\/\/jornalvia.com\/piracicaba\/wp-content\/uploads\/sites\/2\/2025\/09\/logo_site_5.png","width":800,"height":800,"caption":"Jornal VIA"},"image":{"@id":"https:\/\/jornalvia.com\/piracicaba\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/pages\/3999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/comments?post=3999"}],"version-history":[{"count":10,"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/pages\/3999\/revisions"}],"predecessor-version":[{"id":5986,"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/pages\/3999\/revisions\/5986"}],"up":[{"embeddable":true,"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/pages\/3996"}],"wp:attachment":[{"href":"https:\/\/jornalvia.com\/piracicaba\/wp-json\/wp\/v2\/media?parent=3999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}