/* Holeshot · sistema de design público (ds1)
   Mesmo vocabulário do calendário: Montserrat, maiúsculas com espaçamento nos rótulos, cartões com cantos redondos,
   pílulas, fundo escuro com acento vermelho, cor por secção e elevação suave ao passar o rato.
   Só carrega no site público (não é usado no backoffice). */
:root {
  --r: 14px;
  --r-lg: 18px;
  --cr: 217, 15, 26;
  --wrap: 1120px;
  --shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
  --shadow-red: 0 14px 32px rgba(var(--cr), 0.16);
  --ease: 0.18s ease;
}
.cat-motocross { --c: #ff4d57; --cr: 255, 77, 87; }
.cat-supercross { --c: #ffb020; --cr: 255, 176, 32; }
.cat-enduro { --c: #34d399; --cr: 52, 211, 153; }
.cat-todo-o-terreno { --c: #38bdf8; --cr: 56, 189, 248; }
.cat-outras { --c: #a78bfa; --cr: 167, 139, 250; }

.pub {
  background: radial-gradient(90% 460px at 50% 0, rgba(217, 15, 26, 0.16), transparent 70%) no-repeat, var(--ink);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
:where(.pub) h1, :where(.pub) h2, :where(.pub) h3 { font-weight: 800; letter-spacing: -0.005em; line-height: 1.12; }
:where(.pub) a { color: var(--red-text); text-underline-offset: 0.18em; }
.pub a:focus-visible, .pub button:focus-visible, .pub input:focus-visible, .pub summary:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pub .wrap { max-width: var(--wrap); margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.pub .muted { color: var(--ash); }

/* ---------- Cabeçalho ---------- */
.topbar { border-bottom: 1px solid var(--line); background: rgba(0, 0, 0, 0.35); color: var(--ash); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; }
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.45rem; padding-bottom: 0.45rem; }
.topbar a { color: var(--ash); font-weight: 800; letter-spacing: 0.14em; text-decoration: none; }
.topbar a:hover { color: #fff; }
.topbar-date::first-letter { text-transform: uppercase; }
.pub .site-header { position: sticky; top: 0; z-index: 30; max-width: none; margin: 0; padding: 0; background: rgba(9, 10, 12, 0.9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 3px solid var(--red); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }
.hd-bar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; }
.pub .logo img { width: 168px; height: 37px; }
.pub .nav { flex: 1 1 auto; display: flex; flex-wrap: nowrap; justify-content: center; gap: 0.15rem; border: 0; padding: 0; min-width: 0; }
.pub .nav a { color: var(--paper); padding: 0.45rem 0.75rem; border-radius: 999px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; white-space: nowrap; transition: background var(--ease), color var(--ease); }
.pub .nav a:hover, .pub .nav a:focus-visible { background: var(--panel-2); color: #fff; }
.pub .nav a.is-current { background: var(--red); color: #fff; }
.pub .search input { width: 9.5rem; padding: 0.5rem 0.9rem 0.5rem 2.1rem; border-radius: 999px; font-size: 0.85rem; font-weight: 600; background: var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9c3b6' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 0.75rem 50% / 1rem; transition: width var(--ease), border-color var(--ease); }
.pub .search input:focus { width: 13rem; border-color: var(--red); outline: none; }
.nav-mobile { display: none; }

/* ---------- Formulários e botões ---------- */
.pub input, .pub textarea, .pub select { border-radius: 12px; padding: 0.65rem 0.9rem; font-weight: 500; transition: border-color var(--ease), box-shadow var(--ease); }
.pub input:focus, .pub textarea:focus, .pub select:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(var(--cr), 0.25); }
.pub input::placeholder, .pub textarea::placeholder { color: #8b8f99; }
.pub .button, .pub form:not([class^="cx-"]) button, .pub .consent button { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.6rem 1.2rem; border: 1px solid var(--red); border-radius: 999px; background: var(--red); color: #fff; font: inherit; font-size: 0.9rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: background var(--ease), border-color var(--ease), transform var(--ease); }
.pub .button:hover, .pub form:not([class^="cx-"]) button:hover, .pub .consent button:hover { background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-1px); }
.pub .button.ghost, .pub form:not([class^="cx-"]) button.ghost, .pub .consent button.ghost { background: transparent; border-color: var(--line); color: var(--paper); }
.pub .button.ghost:hover, .pub form:not([class^="cx-"]) button.ghost:hover, .pub .consent button.ghost:hover { background: var(--panel-2); border-color: var(--red); }
.pub label { font-weight: 600; }
.pub .check { font-weight: 500; font-size: 0.85rem; color: var(--ash); align-items: flex-start; }
.pub .check input { margin-top: 0.15rem; padding: 0; accent-color: var(--red); }
.pub form.stack { max-width: 36rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); gap: 0.9rem; }
.pub .ok, .pub .err { border-radius: var(--r); padding: 0.8rem 1rem; font-weight: 600; max-width: 36rem; }
.pub .empty { padding: 1.4rem; border: 1px dashed var(--line); border-radius: var(--r); text-align: center; }

/* ---------- Estrutura ---------- */
.pub main { padding-top: 1.4rem; padding-bottom: 3.5rem; }
.pub .with-side { gap: 1.8rem; }
.pub .side-col { margin-top: 0; }
.pub main > h1, .pub .main-col > h1, .pub .page > h1 { position: relative; margin: 0 0 0.9rem; padding-bottom: 0.7rem; font-size: clamp(1.9rem, 4.6vw, 2.9rem); }
.pub main > h1::after, .pub .main-col > h1::after, .pub .page > h1::after { content: ""; position: absolute; left: 0; bottom: 0; width: 3.2rem; height: 5px; border-radius: 3px; background: var(--red); }
.page-head { margin: 0 0 1.4rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.page-head h1 { margin: 0.1em 0 0.25em; color: var(--paper); }
.page-head h1::after { display: none; }
.page-head .muted { margin: 0; max-width: 40rem; font-size: 0.98rem; }
.pub .listing .page-head { border-bottom: 0; padding: 1.1rem 1.4rem; border: 1px solid rgba(var(--cr), 0.4); border-left: 6px solid var(--c, var(--red)); border-radius: var(--r-lg); background: radial-gradient(120% 150% at 100% 0%, rgba(var(--cr), 0.22), transparent 58%), linear-gradient(135deg, #1d0c10, var(--panel) 62%); }

/* ---------- Rótulos, pílulas, meta ---------- */
.pub .kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin: 0 0 0.5rem; color: var(--c, var(--red-text)); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.pub .kicker a { position: relative; z-index: 2; color: inherit; text-decoration: none; }
.pub .kicker a:hover { text-decoration: underline; }
.tag-hot { display: inline-flex; align-items: center; padding: 0.15rem 0.65rem; border-radius: 999px; background: var(--red); color: #fff; font-size: 0.68rem; letter-spacing: 0.1em; }
.pub .badge { padding: 0.12rem 0.6rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); color: var(--ash); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.06em; }
.pub .by { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; color: var(--ash); font-size: 0.78rem; font-weight: 600; }
.dotsep { width: 4px; height: 4px; border-radius: 50%; background: var(--ash); opacity: 0.7; }

/* ---------- Secções ---------- */
.sec { margin-top: 2.4rem; }
.sec-h { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: 0 0.2rem 0.65rem; border-bottom: 2px solid var(--c, var(--red)); }
.sec-h h2 { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1.3rem; border: 0; padding: 0; }
.sec-h h2 a { color: var(--paper); text-decoration: none; }
.sec-h h2 a:hover { color: var(--c, var(--red-text)); }
.sec-more { display: inline-flex; align-items: center; padding: 0.3rem 0.85rem; border: 1px solid var(--line); border-radius: 999px; color: var(--paper) !important; font-size: 0.76rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background var(--ease), border-color var(--ease); }
.sec-more:hover { background: var(--panel-2); border-color: var(--c, var(--red)); }

/* ---------- Cartões de notícia (uma coluna) ---------- */
.pub .cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.9rem; }
.pub .card { position: relative; display: grid; grid-template-columns: minmax(0, 15.5rem) minmax(0, 1fr); gap: 1.2rem; align-items: center; margin: 0; padding: 0.7rem; border: 1px solid var(--line); border-left: 4px solid var(--c, var(--red)); border-radius: var(--r); background: var(--panel); animation: cx-rise 0.4s ease both; transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease); }
.pub .card:hover { transform: translateY(-2px); border-color: rgba(var(--cr), 0.75); box-shadow: var(--shadow); }
.pub .cover { position: relative; display: block; min-height: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 10px; background: var(--panel-2); }
.pub .cover img, .pub .cover .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.pub .cover .ph { min-height: 0; }
.pub .card:hover .cover img { transform: scale(1.04); }
.card-body { min-width: 0; padding: 0.2rem 0.5rem 0.2rem 0; }
.pub .card h3 { margin: 0 0 0.4rem; font-size: 1.2rem; line-height: 1.2; }
.pub .card h3 a { color: var(--paper); text-decoration: none; }
.pub .card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--r); }
.pub .card:hover h3 a { color: #fff; }
.pub .card .lead { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 0.6rem; color: var(--ash); font-size: 0.9rem; line-height: 1.5; }
.pub .card-lg { display: block; padding: 0; overflow: hidden; border: 1px solid rgba(var(--cr), 0.4); border-left-width: 1px; border-top: 5px solid var(--c, var(--red)); border-radius: var(--r-lg); background: radial-gradient(120% 90% at 100% 100%, rgba(var(--cr), 0.2), transparent 60%), linear-gradient(135deg, #1d0c10, var(--panel) 62%); }
.pub .card-lg:hover { box-shadow: var(--shadow), var(--shadow-red); }
.pub .card-lg .cover { aspect-ratio: 16 / 9; border-radius: 0; }
.pub .card-lg .card-body { padding: 1.3rem 1.6rem 1.5rem; }
.pub .card-lg h3 { margin-bottom: 0.6rem; font-size: clamp(1.5rem, 3.6vw, 2.3rem); line-height: 1.1; }
.pub .card-lg .lead { -webkit-line-clamp: 3; font-size: 1.02rem; margin-bottom: 0.8rem; }
.home-hero { margin-top: 0; }

/* ---------- Próximas provas (home) ---------- */
.evs { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.ev a { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr); gap: 1.1rem; align-items: center; padding: 0.8rem 1.1rem; border: 1px solid var(--line); border-left: 4px solid var(--c, var(--red)); border-radius: var(--r); background: var(--panel); color: var(--paper); text-decoration: none; transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease); }
.ev a:hover { transform: translateY(-2px); border-color: rgba(var(--cr), 0.75); box-shadow: var(--shadow); }
.ev-date { padding: 0.5rem 0.2rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); text-align: center; }
.ev-date b { display: block; font-size: 1.45rem; font-weight: 800; line-height: 1.05; }
.ev-date small { display: block; margin-top: 0.1rem; color: var(--c, var(--red-text)); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.ev-txt { display: grid; gap: 0.3rem; min-width: 0; }
.ev-txt strong { font-size: 1.05rem; line-height: 1.25; }
.ev-meta { color: var(--ash); font-size: 0.82rem; }

/* ---------- Artigo ---------- */
.pub .story { max-width: none; }
.story-head { margin-bottom: 1.2rem; }
.pub .story h1 { margin: 0.1em 0 0.4em; font-size: clamp(1.9rem, 4.4vw, 2.9rem); line-height: 1.08; }
.pub .dek { margin: 0 0 1rem; color: var(--paper); font-family: var(--font); font-size: clamp(1.05rem, 2vw, 1.25rem); font-weight: 500; line-height: 1.5; opacity: 0.88; }
.story-by { padding: 0.7rem 0 0; border-top: 1px solid var(--line); }
.story-by .by-name { color: var(--paper); font-weight: 800; letter-spacing: 0.04em; }
.story-photo { margin: 1.2rem 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); }
.story-photo img { width: 100%; }
.pub figcaption { padding: 0.65rem 1rem; border-left: 4px solid var(--c, var(--red)); background: var(--panel); color: var(--ash); font-size: 0.8rem; line-height: 1.45; }
.story-photo figcaption { border-left: 0; border-top: 1px solid var(--line); }
.pub .prose { max-width: 728px; margin: 1.4rem 0; font-size: 1.06rem; line-height: 1.75; }
.pub .prose p { margin: 0 0 1.2rem; }
.pub .prose h2, .pub .prose h3 { margin: 2rem 0 0.7rem; padding-left: 0.8rem; border-left: 4px solid var(--c, var(--red)); font-family: var(--font); line-height: 1.2; }
.pub .prose h2 { font-size: 1.45rem; }
.pub .prose h3 { font-size: 1.2rem; }
.pub .prose a { font-weight: 600; }
.pub .prose ul, .pub .prose ol { margin: 0 0 1.2rem; padding-left: 1.3rem; }
.pub .prose li { margin-bottom: 0.4rem; }
.pub .prose li::marker { color: var(--c, var(--red)); }
.pub .prose blockquote { margin: 1.5rem 0; padding: 0.9rem 1.2rem; border: 1px solid var(--line); border-left: 4px solid var(--c, var(--red)); border-radius: var(--r); background: var(--panel); color: var(--paper); font-weight: 500; }
.pub .prose blockquote p { margin: 0; }
.pub .prose iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--r); }
.pub .prose img { border-radius: var(--r); }
.pub .tags { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1.4rem 0; }
.pub .tags a { margin: 0; padding: 0.25rem 0.8rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--paper); font-size: 0.78rem; font-weight: 600; text-decoration: none; transition: border-color var(--ease), background var(--ease); }
.pub .tags a:hover { border-color: var(--red); background: var(--panel-2); }
.pub .gallery { gap: 1rem; }
.pub .gallery img { border-radius: var(--r); }
.pub .share { gap: 0.55rem; margin: 1.6rem 0; padding: 0.9rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); }
.pub .share-label { margin-right: 0.6rem; }
.pub .src-h { margin: 1.6rem 0 0.5rem; font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ash); }
.pub .src-list { color: var(--ash); font-size: 0.9rem; }

/* ---------- Publicidade ---------- */
.pub .ad { margin: 1.4rem 0; }
.pub .side-col .ad { margin: 0; }
.pub .ad-label { margin: 0 0 0.35rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.16em; opacity: 0.7; }
.pub .ad-item img { border-radius: 8px; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08); }
.pub .ad-home-topo { margin: 0.4rem 0 1.4rem; }
.pub .ad-home-topo .ad-label, .pub .ad-noticia-topo .ad-label, .pub .ad-noticia-apos-foto .ad-label, .pub .ad-noticia-fim .ad-label { text-align: center; }

/* ---------- Vídeos ---------- */
.pub .videos { gap: 1.1rem; margin-top: 0.6rem; }
.pub .video { padding: 0.7rem 0.7rem 1rem; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--r); background: var(--panel); transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease); }
.pub .video:hover { transform: translateY(-2px); border-color: rgba(217, 15, 26, 0.75); box-shadow: var(--shadow); }
.pub .video-frame { border-radius: 10px; }
.pub .video h2 { margin: 0.8rem 0.3rem 0.3rem; font-size: 1.02rem; line-height: 1.3; }
.pub .video p { margin: 0 0.3rem; }
.pub .yt-play { width: 68px; height: 46px; margin: -23px 0 0 -34px; border-radius: 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); }

/* ---------- Paginação, pesquisa, páginas ---------- */
.pub .pager { gap: 0.8rem; margin: 1.8rem 0 0; }
.search-page { display: flex; gap: 0.6rem; margin: 0 0 1.4rem; max-width: 36rem; }
.search-page input { flex: 1; border-radius: 999px; padding: 0.7rem 1.1rem; }
.pub .page { max-width: 46rem; }
.pub .page > p:not(.nf-code), .pub .page > ul { font-size: 1.04rem; line-height: 1.7; }
.pub .page h2 { margin: 2rem 0 0.6rem; padding-left: 0.8rem; border-left: 4px solid var(--red); font-size: 1.3rem; }
.pub .page li { margin-bottom: 0.5rem; }
.pub .page li::marker { color: var(--red); }
.nf-code { margin: 0; color: var(--red); font-size: clamp(5rem, 22vw, 9rem); font-weight: 800; line-height: 1; letter-spacing: -0.04em; text-shadow: 0 0 40px rgba(var(--cr), 0.5); }
.nf-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
main > ol, .main-col > ol { padding-left: 1.4rem; }

/* ---------- Rodapé ---------- */
.pub .site-footer { display: block; max-width: none; margin: 2rem 0 0; padding: 0; border-top: 3px solid var(--red); background: linear-gradient(180deg, #0f1115, var(--ink)); }
.ft-grid { display: grid; grid-template-columns: 1.4fr 0.8fr 1.4fr; gap: 2.2rem; padding-top: 2.4rem; padding-bottom: 2rem; }
.pub .logo-foot { width: 168px; height: 37px; margin-bottom: 0.8rem; }
.ft-brand p { max-width: 24rem; margin: 0; color: var(--ash); font-size: 0.9rem; }
.pub .site-footer h2 { margin: 0 0 0.8rem; color: var(--paper); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.ft-links li { margin-bottom: 0.4rem; }
.ft-links a { color: var(--ash); font-size: 0.92rem; font-weight: 600; text-decoration: none; }
.ft-links a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--red); }
.ft-news form { display: grid; gap: 0.6rem; }
.ft-news input[type="email"], .ft-news input[name="name"] { border-radius: 999px; }
.ft-news button { justify-self: start; }
.ft-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem 1rem; padding-top: 1rem; padding-bottom: 1.4rem; border-top: 1px solid var(--line); color: var(--ash); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; }

/* ---------- Consentimento de estatísticas ---------- */
.pub .consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 60; max-width: 46rem; margin: 0 auto; padding: 1rem 1.2rem; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--r-lg); background: rgba(18, 20, 26, 0.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.8rem 1.2rem; animation: cx-rise 0.4s ease both; }
.pub .consent[hidden] { display: none; }
.pub .consent p { flex: 1 1 18rem; margin: 0; font-size: 0.85rem; line-height: 1.45; color: var(--ash); }
.pub .consent p strong { color: var(--paper); }
.consent-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pub .consent button { padding: 0.5rem 1rem; font-size: 0.82rem; }

/* ---------- Mobile e movimento reduzido ---------- */
@media (max-width: 960px) {
  .pub .nav a { color: var(--paper); padding: 0.45rem 0.55rem; letter-spacing: 0.08em; }
  .pub .search input { width: 7.5rem; }
}
@media (max-width: 880px) {
  .ft-grid { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 800px) {
  .pub .nav, .pub .search { display: none; }
  .hd-bar { min-height: 3.5rem; }
  .pub .logo img { width: 140px; height: 31px; }
  .nav-mobile { display: block; }
  .nav-mobile > summary { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.5rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--paper); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; list-style: none; }
  .nav-mobile > summary::-webkit-details-marker { display: none; }
  .nav-mobile[open] > summary { background: var(--red); border-color: var(--red); }
  .burger, .burger::before, .burger::after { display: block; width: 1rem; height: 2px; border-radius: 2px; background: currentColor; }
  .burger { position: relative; }
  .burger::before, .burger::after { content: ""; position: absolute; left: 0; }
  .burger::before { top: -5px; }
  .burger::after { top: 5px; }
  .nav-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; display: grid; gap: 0.8rem; margin: 0; padding: 1rem; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--r-lg) var(--r-lg); background: rgba(14, 15, 19, 0.98); box-shadow: 0 24px 40px rgba(0, 0, 0, 0.6); }
  .nav-panel input { border-radius: 999px; padding-left: 1rem; }
  .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
  .pub .nav-mobile .nav-links a { display: flex; align-items: center; padding: 0.65rem 0.9rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--paper); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
  .pub .nav-mobile .nav-links a.is-current { background: var(--red); border-color: var(--red); }
  .pub .nav-mobile { border-bottom: 0; padding-bottom: 0; }
  .pub .site-header { border-bottom-width: 3px; }
  .pub .with-side { gap: 0; }
  .pub .main-col { padding-bottom: 0.5rem; }
  .pub .side-col { margin-top: 2rem; }
}
@media (max-width: 640px) {
  .pub { font-size: 16px; }
  .pub main { padding-top: 1rem; }
  .pub .card { grid-template-columns: 6.6rem minmax(0, 1fr); gap: 0.8rem; padding: 0.55rem; align-items: start; }
  .pub .cover { aspect-ratio: 1 / 1; }
  .card-body { padding: 0.1rem 0.2rem 0.1rem 0; }
  .pub .card h3 { font-size: 1rem; margin-bottom: 0.3rem; }
  .pub .card .lead { display: none; }
  .pub .card .kicker { margin-bottom: 0.3rem; font-size: 0.64rem; letter-spacing: 0.12em; }
  .pub .card-lg { display: block; padding: 0; }
  .pub .card-lg .cover { aspect-ratio: 16 / 10; }
  .pub .card-lg .card-body { padding: 1rem 1.1rem 1.2rem; }
  .pub .card-lg h3 { font-size: 1.45rem; }
  .pub .card-lg .lead { display: -webkit-box; -webkit-line-clamp: 3; font-size: 0.95rem; }
  .pub .card-lg .kicker { font-size: 0.7rem; }
  .sec { margin-top: 2rem; }
  .sec-h h2 { font-size: 1.15rem; }
  .ev a { grid-template-columns: 3.8rem minmax(0, 1fr); gap: 0.8rem; padding: 0.7rem 0.8rem; }
  .ev-date b { font-size: 1.2rem; }
  .pub .prose { font-size: 1.02rem; line-height: 1.7; }
  .pub .story-photo { margin-left: -1rem; margin-right: -1rem; border-radius: 0; border-left: 0; border-right: 0; }
  .pub .share { padding: 0.8rem; }
  .pub .share-btn { width: 42px; height: 42px; }
  .pub .consent { left: 0.6rem; right: 0.6rem; bottom: 0.6rem; padding: 0.8rem 0.9rem; }
  .consent-btns { width: 100%; }
  .consent-btns button { flex: 1 1 0; }
  .search-page { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .pub .card, .pub .consent { animation: none; }
  .pub .card, .pub .card:hover, .pub .video:hover, .ev a:hover, .pub .button:hover, .pub form:not([class^="cx-"]) button:hover, .pub .consent button:hover { transform: none; }
  .pub * { transition: none !important; }
}

/* Texto das notícias justificado */
.pub .prose p, .pub .prose li, .pub .dek { text-align: justify; text-justify: inter-word; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
.pub .prose blockquote p { text-align: justify; }
