/* Bariri Online — "Águas que falam"
   Bariri vem do tupi e lembra as águas barulhentas das corredeiras do Tietê.
   Azul-rio e turquesa como base; o vermelho da bandeira só para "novo" e urgências. */
:root {
  --tinta: #0b1f33;
  --rio: #0e4c92;
  --turquesa: #14a3a8;
  --espuma: #e8f4f4;
  --papel: #f6f9f9;
  --vermelho: #d42a2a;
  --texto: #1d2b3a;
  --suave: #56687a;
  --linha: rgba(11, 31, 51, .1);
  --display: "Fraunces", Georgia, serif;
  --sans: "Inter", "Segoe UI", Arial, sans-serif;
  --gutter: clamp(16px, 5vw, 56px);
  --largura: 1100px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--texto); font: 400 16.5px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--turquesa); outline-offset: 3px; }
[hidden] { display: none !important; }
.sprite { display: none; }
h1, h2 { font-family: var(--display); font-weight: 700; letter-spacing: -.015em; color: var(--tinta); }

/* Topo */
.topo { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 10px; padding: calc(10px + env(safe-area-inset-top, 0px)) var(--gutter) 10px; background: rgba(11, 31, 51, .96); backdrop-filter: blur(10px); color: #fff; }
.marca { display: inline-flex; align-items: center; gap: 9px; margin-right: auto; text-decoration: none; font: 700 20px var(--display); letter-spacing: -.02em; }
.marca b, .rodape-nome b { font-weight: 500; color: #8fd3d6; }
.marca-icone { width: 32px; height: 32px; color: #fff; flex: none; }
.marca-icone .ponto { fill: var(--turquesa); }
.onda { stroke-dasharray: 60; stroke-dashoffset: 0; }
.topo-nav { display: flex; gap: 2px; }
.topo-nav a { padding: 8px 10px; border-radius: 999px; font-size: 14.5px; font-weight: 500; color: #cfe3ee; text-decoration: none; }
.topo-nav a:hover, .topo-nav a[aria-current="page"] { background: rgba(255, 255, 255, .1); color: #fff; }
.instalar { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: transparent; color: #fff; font-weight: 600; font-size: 14px; cursor: pointer; }
.instalar svg { width: 18px; height: 18px; }
@media (max-width: 440px) { .instalar span { display: none; } .instalar { padding: 0 9px; } .marca { font-size: 18px; } .topo-nav a { padding: 8px 7px; font-size: 14px; } }

/* Hoje em Bariri */
.hoje { position: relative; background: linear-gradient(160deg, var(--tinta) 0%, var(--rio) 70%, #1561a8 100%); color: #fff; }
.hoje-in { padding: 20px var(--gutter) 62px; max-width: var(--largura); margin: 0 auto; }
.hoje-data { margin: 0 0 12px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9fd9dc; }
.hoje-data span { text-transform: none; letter-spacing: 0; font-weight: 500; color: #fff; }
.agora { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; text-decoration: none; color: inherit; }
.agora .wx { width: 72px; height: 72px; grid-row: span 2; }
.agora p { margin: 0; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.agora strong { font: 700 52px/1 var(--display); letter-spacing: -.03em; }
.agora span { font-size: 17px; color: #d7eef0; }
.agora .agora-extra { font-size: 14px; color: #a9c7dd; }
.contagem { margin: 16px 0 0; padding: 10px 14px; border-radius: 12px; background: rgba(255, 255, 255, .08); font-size: 15px; }
.contagem b { font: 700 19px var(--display); color: #8fd3d6; }
.contagem span { color: #a9c7dd; }
.hoje-onda { position: absolute; left: 0; bottom: -1px; width: 100%; height: 40px; fill: var(--papel); }

/* Ícone animado do tempo atual */
.wx-anim { overflow: visible; }
@media (prefers-reduced-motion: no-preference) {
  .topo .onda { animation: onda .6s var(--ease) both; }
  .topo .onda:nth-of-type(2) { animation-delay: .08s; }
  .topo .onda:nth-of-type(3) { animation-delay: .16s; }
  @keyframes onda { from { stroke-dashoffset: 60; } }
  .a-raios { transform-box: fill-box; transform-origin: center; animation: girar 18s linear infinite; }
  .a-nuvem { animation: deriva 6s ease-in-out infinite alternate; }
  .a-gota { animation: gota 1.1s linear infinite; }
  .a-g2 { animation-delay: .35s; } .a-g3 { animation-delay: .7s; }
  .a-raio { animation: clarao 3.2s ease-in-out infinite; }
  .a-nevoa { animation: deriva 5s ease-in-out infinite alternate; }
  .a-flutua { animation: flutua 5s ease-in-out infinite alternate; }
  .a-pisca circle { animation: pisca 2.4s ease-in-out infinite; }
  .a-pisca circle:nth-child(2) { animation-delay: .8s; } .a-pisca circle:nth-child(3) { animation-delay: 1.6s; }
  @keyframes girar { to { transform: rotate(360deg); } }
  @keyframes deriva { from { transform: translateX(-2px); } to { transform: translateX(3px); } }
  @keyframes gota { 0% { transform: translateY(-4px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(8px); opacity: 0; } }
  @keyframes clarao { 0%, 86%, 100% { opacity: 1; } 90% { opacity: .2; } 94% { opacity: 1; } 97% { opacity: .4; } }
  @keyframes flutua { to { transform: translateY(-2px); } }
  @keyframes pisca { 50% { opacity: .2; } }
}

/* Seções */
main > section:not(.hoje) { padding: 0 var(--gutter); max-width: var(--largura); margin: 0 auto; }
.secao-topo h1 { margin: 24px 0 4px; font-size: clamp(28px, 7vw, 40px); line-height: 1.08; }
.secao-topo h1 em { font-style: normal; font-weight: 500; color: var(--rio); }
.secao-nota { margin: 4px 0 0; font-size: 13.5px; color: var(--suave); }
.secao-nota a { color: var(--rio); }
main h2 { margin: 44px 0 14px; font-size: 24px; }
.secao-linha { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 44px 0 14px; }
.secao-linha h2 { margin: 0; }
.secao-linha a, .ver-mais { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14.5px; color: var(--rio); text-decoration: none; white-space: nowrap; }
.secao-linha svg, .ver-mais svg { width: 16px; height: 16px; }
.ver-mais { justify-content: center; width: 100%; min-height: 48px; margin-top: 14px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; }

/* Carrossel de destaques */
.destaques { position: relative; margin-top: 16px; }
.car-trilho { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 18px; background: #fff; border: 1px solid var(--linha); }
.car-trilho::-webkit-scrollbar { display: none; }
.car-slide { scroll-snap-align: start; }
.car-slide a { display: grid; grid-template-rows: auto 1fr; height: 100%; text-decoration: none; color: inherit; }
.car-img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--espuma); }
.car-img img { width: 100%; height: 100%; object-fit: cover; }
.car-sem-img { display: grid; place-items: center; background: linear-gradient(150deg, var(--tinta), var(--rio)); }
.car-sem-img .car-selo { width: 64px; height: 64px; border-radius: 14px; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .5); }
.car-texto { display: grid; align-content: start; gap: 6px; padding: 14px 16px 18px; min-height: 124px; }
.car-titulo { font: 700 21px/1.2 var(--display); letter-spacing: -.01em; color: var(--tinta); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; align-self: start; }
.car-pontos { position: absolute; top: 12px; right: 12px; display: flex; gap: 6px; padding: 6px 8px; border-radius: 999px; background: rgba(11, 31, 51, .45); backdrop-filter: blur(6px); }
.car-pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .55); cursor: pointer; transition: width .3s var(--ease), background .3s; }
.car-pontos button[aria-current] { width: 22px; background: #fff; }

/* Cartões de notícia: altura fixa para formar uma grade regular */
.n-meta { display: flex; align-items: center; min-width: 0; font-size: 12.5px; color: var(--suave); white-space: nowrap; }
.n-ico { flex: none; width: 16px; height: 16px; margin-right: 6px; border-radius: 4px; }
.n-fonte { overflow: hidden; text-overflow: ellipsis; font-weight: 600; color: var(--rio); }
.n-ponto { margin: 0 5px; }
.lista { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.n a { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 12px; height: 124px; padding: 12px; border: 1px solid var(--linha); border-radius: 16px; background: #fff; text-decoration: none; overflow: hidden; transition: border-color .2s, box-shadow .25s, transform .25s var(--ease); }
.n a:hover { border-color: rgba(14, 76, 146, .35); box-shadow: 0 12px 26px -20px rgba(11, 31, 51, .5); transform: translateY(-1px); }
.n-sem-img a { grid-template-columns: minmax(0, 1fr); }
.n-img { position: relative; grid-column: 2; grid-row: 1; height: 98px; border-radius: 10px; overflow: hidden; background: var(--espuma); }
.n-img img { width: 100%; height: 100%; object-fit: cover; }
.n-texto { grid-column: 1; grid-row: 1; display: grid; grid-template-rows: auto 1fr; gap: 5px; min-width: 0; }
.n-titulo { font-size: 15.5px; font-weight: 600; line-height: 1.35; color: var(--tinta); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; align-self: start; max-height: calc(3 * 1.35em); }
.n-novo { position: absolute; top: 6px; left: 6px; padding: 2px 7px; border-radius: 999px; background: var(--vermelho); color: #fff; font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.n-sem-img .n-novo { left: auto; right: 10px; top: 10px; }
.n-sem-img .n-meta { padding-right: 52px; }
.vazio { padding: 30px 0; color: var(--suave); }

/* Filtros (página de notícias) */
.filtros { display: flex; gap: 8px; margin: 16px calc(var(--gutter) * -1) 6px; padding: 0 var(--gutter) 6px; overflow-x: auto; scrollbar-width: none; }
.filtros::-webkit-scrollbar { display: none; }
.filtros button { flex: none; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; border: 1px solid var(--linha); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 500; cursor: pointer; transition: background .2s, color .2s; }
.filtros button[aria-pressed="true"] { background: var(--rio); border-color: var(--rio); color: #fff; }
.filtros img { width: 18px; height: 18px; border-radius: 4px; }

/* Faixas deslizantes (dias, horas, rádios): rolagem lateral invisível e bordas esmaecidas */
.deslizar { margin: 0 calc(var(--gutter) * -1); -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent); mask-image: linear-gradient(90deg, transparent, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent); }
.dias, .horas, .radios { list-style: none; margin: 0; padding: 4px var(--gutter) 8px; display: grid; grid-auto-flow: column; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.dias::-webkit-scrollbar, .horas::-webkit-scrollbar, .radios::-webkit-scrollbar { display: none; }
.dias { grid-auto-columns: 118px; }
.dias li, .radios li { scroll-snap-align: start; }
.dias a { display: grid; justify-items: center; gap: 2px; height: 100%; padding: 12px 8px; border-radius: 16px; background: #fff; border: 1px solid var(--linha); text-align: center; text-decoration: none; transition: border-color .2s, transform .25s var(--ease); }
.dias a:hover { border-color: rgba(20, 163, 168, .55); transform: translateY(-2px); }
.dia-nome { font-size: 14px; font-weight: 600; text-transform: capitalize; color: var(--tinta); }
.dia-data { font-size: 12px; color: var(--suave); }
.dias .wx { width: 40px; height: 40px; margin: 4px 0; }
.dia-temp { font-size: 14px; color: var(--suave); }
.dia-temp b { font-size: 18px; color: var(--tinta); }
.dia-chuva { font-size: 12px; color: var(--turquesa); font-weight: 600; }

/* Rádios de Bariri */
.radios { grid-auto-columns: 220px; }
.radio { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; height: 100%; padding: 14px; border-radius: 16px; background: #fff; border: 1px solid var(--linha); transition: border-color .2s, box-shadow .2s; }
.radio.tocando { border-color: var(--turquesa); box-shadow: 0 0 0 3px rgba(20, 163, 168, .15); }
.radio-logo { grid-row: span 2; width: 56px; height: 56px; border-radius: 12px; object-fit: contain; background: #fff; border: 1px solid var(--linha); }
.radio-nome { margin: 0; font-weight: 600; font-size: 15.5px; line-height: 1.2; }
.radio-freq { margin: 2px 0 0; font: 700 18px var(--display); color: var(--rio); }
.radio-freq small { font: 500 12px var(--sans); color: var(--suave); }
.radio-acoes { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.radio-tocar { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--rio); color: #fff; font-weight: 600; font-size: 14px; cursor: pointer; }
.radio-tocar svg { width: 16px; height: 16px; }
.radio.tocando .radio-tocar { background: var(--turquesa); }
.radio-site { font-size: 13.5px; color: var(--suave); text-underline-offset: 3px; }
.radio-eq { display: none; gap: 2px; align-items: flex-end; height: 14px; }
.radio.tocando .radio-eq { display: inline-flex; }
.radio-eq i { width: 3px; background: #fff; border-radius: 2px; animation: eq 1s ease-in-out infinite; }
.radio-eq i:nth-child(2) { animation-delay: .2s; } .radio-eq i:nth-child(3) { animation-delay: .4s; }
@keyframes eq { 0%, 100% { height: 4px; } 50% { height: 14px; } }

/* Telefones: cartões do mesmo tamanho, sem quebra de linha */
.tels { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tels a { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 12px; height: 68px; padding: 0 14px; border-radius: 14px; background: #fff; border: 1px solid var(--linha); text-decoration: none; }
.tels a:hover { border-color: rgba(20, 163, 168, .5); }
.tels svg { width: 20px; height: 20px; color: var(--turquesa); }
.tel-nome { display: grid; min-width: 0; }
.tel-nome strong, .tel-nome small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tel-nome strong { font-weight: 600; font-size: 15px; }
.tel-nome small { font-size: 12.5px; color: var(--suave); }
.tel-num { font-weight: 600; font-size: 15px; color: var(--rio); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tels .urgente svg, .tels .urgente .tel-num { color: var(--vermelho); }

/* Avisos */
.avisos { display: grid !important; grid-template-columns: auto 1fr; gap: 14px; margin-top: 44px !important; padding: 20px !important; border-radius: 18px; background: var(--espuma); }
@media (max-width: 1211px) { main > .avisos { margin-left: var(--gutter) !important; margin-right: var(--gutter) !important; } }
.avisos-icone { width: 32px; height: 32px; color: var(--rio); }
.avisos h2 { margin: 0 0 4px; font-size: 20px; }
.avisos-texto { margin: 0 0 12px; font-size: 14.5px; color: var(--suave); }
.avisos-botao { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--rio); color: #fff; font-weight: 600; cursor: pointer; }
.avisos-botao:disabled { opacity: .55; cursor: default; }
.avisos-status { margin: 8px 0 0; font-size: 13.5px; color: var(--suave); }

/* Convite de avisos (aparece sozinho) */
.convite { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 40; display: grid; grid-template-columns: auto 1fr; gap: 12px; max-width: 460px; margin: 0 auto; padding: 16px; border-radius: 18px; background: var(--tinta); color: #fff; box-shadow: 0 20px 50px -18px rgba(0, 0, 0, .6); transform: translateY(140%); transition: transform .35s var(--ease); }
.convite.visivel { transform: none; }
.convite-icone { width: 28px; height: 28px; color: #8fd3d6; }
.convite-titulo { margin: 0; font: 700 18px var(--display); }
.convite-texto { margin: 4px 0 12px; font-size: 14px; color: #c9d8e6; }
.convite-acoes { display: flex; gap: 8px; }
.convite-sim, .convite-nao { min-height: 40px; padding: 0 16px; border-radius: 999px; font-weight: 600; font-size: 14.5px; cursor: pointer; }
.convite-sim { border: 0; background: var(--turquesa); color: #fff; }
.convite-nao { border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; }

/* Página do tempo */
.hoje-tempo .hoje-in { padding-bottom: 70px; }
.agora-grande .wx { width: 92px; height: 92px; }
.agora-grande strong { font-size: 64px; }
.detalhes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0 0; }
.detalhes div { padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .09); }
.detalhes dt { font-size: 12px; color: #a9c7dd; }
.detalhes dd { margin: 2px 0 0; font: 700 18px var(--display); }
.grafico { width: 100%; height: auto; margin: 0 0 8px; }
.g-area { fill: rgba(20, 163, 168, .12); }
.g-linha { fill: none; stroke: var(--turquesa); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.g-temp { font: 600 24px var(--sans); fill: var(--tinta); text-anchor: middle; }
.g-hora { font: 500 21px var(--sans); fill: var(--suave); text-anchor: middle; }
.horas { grid-auto-columns: 64px; }
.horas li { display: grid; justify-items: center; gap: 2px; padding: 10px 4px; border-radius: 14px; background: #fff; border: 1px solid var(--linha); scroll-snap-align: start; }
.h-hora { font-size: 12.5px; font-weight: 600; color: var(--suave); }
.horas .wx { width: 30px; height: 30px; }
.horas b { font-size: 16px; color: var(--tinta); }
.h-chuva { font-size: 11.5px; font-weight: 600; color: var(--turquesa); }
.dias-lista { display: grid; gap: 8px; }
.dias-lista details { border-radius: 16px; background: #fff; border: 1px solid var(--linha); scroll-margin-top: 90px; }
.dias-lista summary { display: grid; grid-template-columns: minmax(0, 1fr) 36px auto; align-items: center; gap: 10px; padding: 12px 14px; list-style: none; cursor: pointer; }
.dias-lista summary::-webkit-details-marker { display: none; }
.dl-nome { font-weight: 600; text-transform: capitalize; }
.dl-nome small { margin-left: 8px; font-weight: 400; font-size: 13px; color: var(--suave); text-transform: none; }
.dias-lista .wx { width: 34px; height: 34px; }
.dl-desc { display: none; }
.dl-temp { font-size: 15px; color: var(--suave); white-space: nowrap; }
.dl-temp b { font-size: 18px; color: var(--tinta); }
.dl-detalhes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0 14px 14px; }
.dl-detalhes div { padding: 8px 10px; border-radius: 10px; background: var(--espuma); }
.dl-detalhes dt { font-size: 12px; color: var(--suave); }
.dl-detalhes dd { margin: 2px 0 0; font-weight: 600; }
.dias-lista details[open] { border-color: rgba(20, 163, 168, .45); }

/* Página de fontes */
.pagina { max-width: 760px; margin: 0 auto; padding: 26px var(--gutter) 10px; }
.pagina h1 { font-size: 32px; margin: 10px 0 14px; }
.pagina h2 { font-size: 21px; margin: 30px 0 8px; }
.fontes { padding-left: 0; list-style: none; }
.fontes li { margin-bottom: 8px; }
.fontes .n-ico { display: inline-block; width: 18px; height: 18px; vertical-align: -4px; }
.fontes .ok { color: #1f7a4d; font-size: 14px; }
.fontes .erro { color: var(--vermelho); font-size: 14px; }

/* Rodapé */
.rodape { position: relative; margin-top: 56px; background: var(--tinta); color: #c9d8e6; }
.rodape-onda { position: absolute; left: 0; top: -39px; width: 100%; height: 40px; fill: var(--tinta); }
.rodape-in { max-width: var(--largura); margin: 0 auto; padding: 26px var(--gutter) calc(30px + env(safe-area-inset-bottom, 0px)); }
.rodape-nome { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font: 700 22px var(--display); color: #fff; }
.rodape-sobre { margin: 0 0 18px; max-width: 58ch; font-size: 14.5px; }
.rodape-links { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 6px; font-size: 14.5px; }
.rodape a { color: #fff; text-underline-offset: 3px; }
.rodape-dev { margin: 0; font-size: 13px; color: #8ea6bd; }

@media (min-width: 640px) {
  .tels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* número ao lado da nota: o nome ganha a linha inteira e não é cortado */
  .tels a { grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-rows: auto auto; row-gap: 1px; align-content: center; }
  .tels svg { grid-row: span 2; }
  .tel-nome { display: contents; }
  .tel-nome strong { grid-column: 2 / 4; }
  .tel-nome small { grid-column: 2; }
  .tel-num { grid-column: 3; grid-row: 2; font-size: 14.5px; }
  .lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dl-desc { display: block; font-size: 14px; color: var(--suave); }
  .dias-lista summary { grid-template-columns: 170px 36px minmax(0, 1fr) auto; }
  .dl-detalhes { grid-template-columns: repeat(3, 1fr); }
  .detalhes { grid-template-columns: repeat(6, 1fr); }
  .g-temp { font-size: 13px; }
  .g-hora { font-size: 11.5px; }
}
@media (min-width: 760px) {
  body { font-size: 17px; }
  .car-slide a { grid-template-columns: 1.35fr 1fr; grid-template-rows: none; }
  .car-img { aspect-ratio: auto; height: 320px; }
  .car-texto { align-content: center; padding: 28px; }
  .car-titulo { font-size: 30px; -webkit-line-clamp: 4; }
  .car-pontos { top: auto; bottom: 16px; right: 16px; }
}
@media (min-width: 1000px) {
  .hoje-in { display: grid; grid-template-columns: auto minmax(0, 440px); justify-content: space-between; align-items: center; column-gap: 40px; }
  .hoje-data { grid-column: 1 / -1; }
  .contagem { margin: 0; }
  .hoje-tempo .hoje-in { grid-template-columns: 1fr; }
  .lista { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dias { grid-auto-columns: minmax(118px, 1fr); }
  .radios { grid-auto-columns: minmax(220px, 1fr); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
