/* ==========================================================================
   WP Notícias – estilos do portal
   ========================================================================== */

:root {
	--wpn-primary: #005082;
	--wpn-secondary: #007fcf;
	--wpn-accent: #8dc63f;
	--wpn-accent-dark: #79b22b;
	--wpn-hero: #0b1b3f;
	--wpn-link: #2563eb;
	--wpn-radius: 10px;
	--wpn-text: #333;
	--wpn-muted: #6b7280;
	--wpn-border: #e5e7eb;
	--wpn-soft: #f4f4f4;
	--wpn-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--wpn-font-news: "Plus Jakarta Sans", "Open Sans", system-ui, sans-serif;
	--wpn-container: 1170px;
	--wpn-fixed-h: 0px;
	--wpn-text-scale: 1;
}

/* Base ------------------------------------------------------------------- */
body.wpn-site {
	margin: 0;
	background: #fff;
	color: var(--wpn-text);
	font-family: var(--wpn-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	padding-bottom: var(--wpn-fixed-h);
}
.wpn-site *, .wpn-scope * { box-sizing: border-box; }
.wpn-site img, .wpn-scope img { max-width: 100%; height: auto; display: block; }
.wpn-site a, .wpn-scope a { color: inherit; text-decoration: none; }
.wpn-site h1, .wpn-site h2, .wpn-site h3, .wpn-site h4 { margin: 0; line-height: 1.2; color: inherit; }
.wpn-site button { font-family: inherit; cursor: pointer; }
.wpn-site :focus-visible { outline: 3px solid var(--wpn-accent); outline-offset: 2px; }
.wpn-container { width: 100%; max-width: calc(var(--wpn-container) + 32px); margin: 0 auto; padding: 0 16px; }
.wpn-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wpn-skip { position: absolute; left: -999px; top: 0; z-index: 9999; background: #000; color: #fff !important; padding: 10px 14px; }
.wpn-skip:focus { left: 8px; top: 8px; }
.wpn-center { text-align: center; }
.wpn-block { margin-top: 28px; }
.wpn-ico { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* Imagens com cantos arredondados em todo o portal */
.wpn-card__img, .wpn-card__img img, .wpn-rcard__img, .wpn-mini__img, .wpn-mini__img img,
.wpn-hero__media img, .wpn-ad img, .wpn-article__content img, .wpn-card--overlay .wpn-card__link {
	border-radius: var(--wpn-radius);
}

/* Barra superior ---------------------------------------------------------- */
.wpn-topbar { background: var(--wpn-primary); color: #fff; font-size: 14px; }
.wpn-topbar__in { display: flex; align-items: center; justify-content: space-between; min-height: 34px; gap: 12px; }
.wpn-topbar__left { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.wpn-topbar__icon { display: inline-flex; width: 30px; height: 34px; align-items: center; justify-content: center; opacity: .95; }
.wpn-topbar__icon:hover { opacity: 1; background: rgba(255,255,255,.12); }
.wpn-topbar__link { padding: 0 8px; border-left: 1px solid rgba(255,255,255,.25); line-height: 16px; }
.wpn-topbar__link:first-of-type { border-left: 0; margin-left: 6px; }
.wpn-topbar__link:hover { text-decoration: underline; }
.wpn-topbar__date { color: var(--wpn-accent); margin-left: 10px; }
.wpn-topbar__account { display: inline-flex; align-items: center; gap: 8px; }

/* Cabeçalho --------------------------------------------------------------- */
.wpn-header { background: #fff; }
.wpn-header__in { display: flex; align-items: center; gap: 24px; min-height: 96px; }
.wpn-logo { flex-shrink: 0; }
.wpn-logo img { max-height: 58px; width: auto; }
.wpn-logo__text { display: inline-flex; flex-direction: column; align-items: flex-end; }
.wpn-logo__box {
	display: inline-block; padding: 4px 14px 4px 12px; border: 2.5px solid var(--wpn-secondary); border-radius: 8px 0 8px 0;
	font-style: italic; font-weight: 800; font-size: 26px; letter-spacing: -.5px; text-transform: uppercase; color: var(--wpn-secondary); line-height: 1.1;
	box-shadow: 4px 4px 0 var(--wpn-accent);
}
.wpn-logo__box strong { color: var(--wpn-accent-dark); font-weight: 800; }
.wpn-logo__box--light { color: #fff; border-color: #fff; font-size: 20px; }
.wpn-logo__box--light strong { color: var(--wpn-accent); }
.wpn-logo__city { font-weight: 800; font-size: 14px; color: var(--wpn-primary); letter-spacing: 1px; text-transform: uppercase; margin-top: 4px; }
.wpn-weather { font-size: 11px; color: #666; }
.wpn-weather__rain { display: flex; align-items: center; gap: 4px; }
.wpn-weather__rain .wpn-ico { color: var(--wpn-accent); }
.wpn-weather__row { display: flex; align-items: center; gap: 12px; margin-top: 2px; }
.wpn-weather__part { display: flex; flex-direction: column; align-items: center; font-size: 10px; }
.wpn-weather__temps { display: flex; flex-direction: column; line-height: 1.2; margin-left: 6px; }
.wpn-weather__temps b { font-weight: 400; color: #444; font-size: 12px; }
.wpn-weather__temps small { color: #999; }
.wpn-search { margin-left: auto; display: flex; align-items: stretch; width: 290px; border: 1px solid #ddd; border-right: 3px solid var(--wpn-accent); border-radius: 4px; overflow: hidden; background: #fff; }
.wpn-search input { flex: 1; border: 0; padding: 12px; font: inherit; font-size: 14px; outline: none; min-width: 0; background: transparent; color: var(--wpn-text); }
.wpn-search button { border: 0; background: transparent; color: #999; padding: 0 12px; }
.wpn-search button:hover { color: var(--wpn-accent-dark); }
.wpn-search--big { margin: 20px auto 0; width: 100%; max-width: 480px; }
.wpn-burger, .wpn-search-toggle { display: none; background: none; border: 0; color: var(--wpn-primary); padding: 6px; }

/* Menu -------------------------------------------------------------------- */
.wpn-nav { background: #fff; border-top: 1px solid #e3e3e3; border-bottom: 1px solid #d1d1d1; position: sticky; top: 0; z-index: 90; transition: box-shadow .2s; }
.admin-bar .wpn-nav { top: 32px; }
.wpn-nav.is-stuck { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.wpn-menu { list-style: none; margin: 0; padding: 0; display: flex; justify-content: space-between; }
.wpn-menu > li { position: relative; }
.wpn-menu > li > a { display: block; padding: 0 6px; line-height: 45px; font-size: 15px; text-transform: uppercase; color: #333; white-space: nowrap; transition: background .15s; }
.wpn-menu > li > a:hover { background: rgba(0,0,0,.06); }
.wpn-menu > li.current-menu-item > a, .wpn-menu > li.current-menu-parent > a, .wpn-menu > li.current-cat > a { background: rgba(0,0,0,.2); }
.wpn-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; list-style: none; padding: 8px 0; margin: 0; box-shadow: 0 10px 30px rgba(0,0,0,.12); border-radius: 0 0 8px 8px; z-index: 10; }
.wpn-menu li:hover > .sub-menu, .wpn-menu li:focus-within > .sub-menu { display: block; }
.wpn-menu .sub-menu a { display: block; padding: 8px 16px; font-size: 14px; }
.wpn-menu .sub-menu a:hover { background: var(--wpn-soft); color: var(--wpn-secondary); }

/* Gaveta mobile */
.wpn-drawer { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1000; opacity: 0; visibility: hidden; transition: .25s; }
.wpn-drawer.is-open { opacity: 1; visibility: visible; }
.wpn-drawer__panel { position: absolute; left: 0; top: 0; bottom: 0; width: 86%; max-width: 340px; background: #fff; padding: 56px 18px 24px; overflow-y: auto; transform: translateX(-100%); transition: transform .25s; }
.wpn-drawer.is-open .wpn-drawer__panel { transform: none; }
.wpn-drawer__close { position: absolute; right: 10px; top: 10px; background: none; border: 0; color: #333; }
.wpn-drawer .wpn-search { width: 100%; margin: 0 0 16px; }
.wpn-drawer__menu ul { list-style: none; margin: 0; padding: 0; }
.wpn-drawer__menu a { display: block; padding: 12px 4px; border-bottom: 1px solid #eee; text-transform: uppercase; font-size: 15px; }
.wpn-drawer__menu .sub-menu a { padding-left: 18px; text-transform: none; }
.wpn-drawer__social { display: flex; gap: 10px; margin-top: 20px; color: var(--wpn-primary); }

/* Publicidade ------------------------------------------------------------- */
.wpn-ad-wrap { margin-top: 12px; margin-bottom: 12px; }
.wpn-ad { position: relative; text-align: center; }
.wpn-ad img { margin: 0 auto; width: 100%; }
.wpn-ad__label { position: absolute; right: 8px; top: 6px; font-size: 9px; letter-spacing: .5px; text-transform: uppercase; background: rgba(0,0,0,.35); color: #fff; padding: 1px 6px; border-radius: 4px; z-index: 1; }
.wpn-ad--sidebar { margin: 0 auto 22px; max-width: 336px; }
.wpn-ad--inline { margin: 26px 0; }
.wpn-fixed-ad { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; background: rgba(255,255,255,.96); box-shadow: 0 -4px 20px rgba(0,0,0,.1); padding: 6px 0; }
.wpn-fixed-ad .wpn-container { position: relative; }
.wpn-fixed-ad img { max-height: 90px; object-fit: contain; }
.wpn-fixed-ad__close { position: absolute; right: 20px; top: -22px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #ddd; background: #fff; color: #333; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.wpn-popup { position: fixed; inset: 0; background: rgba(0,0,0,.7); z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px; animation: wpnFade .25s; }
.wpn-popup[hidden] { display: none; }
.wpn-popup__box { position: relative; width: 100%; max-width: 660px; }
.wpn-popup__box .wpn-ad img { border-radius: 14px; max-height: 80vh; object-fit: contain; }
.wpn-popup__close { position: absolute; right: -14px; top: -14px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #111; border: 3px solid #111; display: flex; align-items: center; justify-content: center; }
@keyframes wpnFade { from { opacity: 0; } to { opacity: 1; } }

/* Chapéus e títulos ------------------------------------------------------- */
.wpn-hat { display: block; color: var(--wpn-accent); text-transform: uppercase; font-weight: 600; font-size: 14px; line-height: 1.35; margin: 0 0 2px; }
.wpn-hat--md { font-size: 16px; }
.wpn-hat--sm { font-size: 13px; font-weight: 400; }
.wpn-title-home { font-size: 32px; font-weight: 400; color: #333; margin-bottom: 26px; }
.wpn-title-home strong { font-weight: 700; }
.wpn-title-home--center { text-align: center; }
.wpn-title-home--center a { border-bottom: 3px solid var(--wpn-accent); padding-bottom: 2px; }
.wpn-title-home--left { border-left: 5px solid var(--wpn-accent); padding-left: 12px; line-height: 1.1; }
.wpn-title-home a:hover { color: var(--wpn-secondary); }

/* Botões */
.wpn-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--wpn-accent); color: #fff !important; border: 0; border-radius: 4px; padding: 0 30px; line-height: 44px; font-size: 16px; transition: background .15s, transform .15s; margin-top: 26px; }
.wpn-btn:hover { background: var(--wpn-accent-dark); }
.wpn-btn--lg { line-height: 48px; }
.wpn-btn[disabled] { opacity: .6; cursor: default; }
.wpn-more-link { display: inline-flex; gap: 6px; align-items: center; color: var(--wpn-accent-dark); font-weight: 600; margin-top: 12px; }

/* Grades ------------------------------------------------------------------ */
.wpn-grid { display: grid; gap: 24px 22px; }
.wpn-grid--2 { grid-template-columns: repeat(2, 1fr); }
.wpn-grid--3 { grid-template-columns: repeat(3, 1fr); }
.wpn-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Cards ------------------------------------------------------------------- */
.wpn-card__img { display: block; overflow: hidden; position: relative; background: #e9ecef; }
.wpn-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.wpn-card:hover .wpn-card__img img, .wpn-rcard:hover img, .wpn-mini:hover img { transform: scale(1.05); }
.wpn-card__title { font-weight: 600; color: #333; }
.wpn-card__title a:hover, .wpn-card--overlay:hover .wpn-card__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wpn-card__excerpt { color: #777; font-size: 14px; margin: 8px 0 0; line-height: 1.55; }

.wpn-card--grid .wpn-card__img { aspect-ratio: 3 / 2; margin-bottom: 6px; }
.wpn-card--grid .wpn-card__title { font-size: 16px; line-height: 1.35; }

.wpn-headlines { margin-top: 16px; }
.wpn-headlines__grid { display: grid; grid-template-columns: 1.02fr 1fr 1fr; gap: 22px; }
.wpn-card--overlay, .wpn-headlines__main { height: 100%; }
.wpn-card--overlay .wpn-card__link { display: block; position: relative; overflow: hidden; height: 100%; min-height: 330px; background: #111; }
.wpn-card--overlay .wpn-card__img { position: absolute; inset: 0; border-radius: 0; }
.wpn-card--overlay .wpn-card__img img { border-radius: 0; }
.wpn-card--overlay:hover .wpn-card__img img { transform: scale(1.05); }
.wpn-card--overlay .wpn-card__overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 16px 16px; background: linear-gradient(transparent, rgba(0,0,0,.85)); }
.wpn-card--overlay .wpn-card__title { color: #fff; font-size: 22px; line-height: 1.2; font-weight: 700; }
.wpn-card--side { display: grid; grid-template-columns: 46% 1fr; gap: 12px; align-items: start; }
.wpn-card--side .wpn-card__excerpt { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.wpn-card--side .wpn-card__img { aspect-ratio: 3 / 2; }
.wpn-card--side .wpn-card__title { font-size: 20px; line-height: 1.15; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }

/* Mais lidas e split */
.wpn-split { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.wpn-split__aside { position: sticky; top: 64px; }
.wpn-mostread { border-bottom: 4px solid var(--wpn-accent); padding: 4px 8px 6px; margin-bottom: 22px; background: #fff; box-shadow: 0 0 0 1px #ececec; border-radius: var(--wpn-radius) var(--wpn-radius) 0 0; }
.wpn-mostread__title { font-size: 28px; font-weight: 700; padding: 8px 8px 10px; }
.wpn-mostread ol { list-style: none; margin: 0; padding: 0; }
.wpn-mostread li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 8px; border-top: 1px solid #e6e6e6; }
.wpn-mostread__n { font-size: 38px; line-height: 1; font-weight: 700; color: var(--wpn-accent); min-width: 22px; }
.wpn-mostread li a { display: block; font-size: 14px; color: #333; line-height: 1.4; }
.wpn-mostread li a:hover { color: var(--wpn-secondary); }

/* Chamadas */
.wpn-calls { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 28px; }
.wpn-call { display: block; border-top: 1px solid #ddd; padding-top: 8px; }
.wpn-call strong { display: block; font-weight: 600; }
.wpn-call > span:last-child { font-size: 15px; color: #444; }
.wpn-call:hover strong { color: var(--wpn-secondary); }

/* Seções de categoria */
.wpn-section { padding: 44px 0 48px; }
.wpn-section--featured { background: #f2f2f2; margin-top: 40px; }
.wpn-section--grid { border-bottom: 1px solid #e5e5e5; }
.wpn-slider { position: relative; margin-bottom: 30px; }
.wpn-slider__track { display: flex; overflow: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.wpn-slider__slide { flex: 0 0 100%; scroll-snap-align: start; }
.wpn-card--feature { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 12px; }
.wpn-card--feature .wpn-card__img { aspect-ratio: 16 / 10; }
.wpn-card--feature .wpn-card__title { font-size: 24px; line-height: 1.2; }
.wpn-card--feature .wpn-card__excerpt { font-size: 15px; }
.wpn-slider__nav { position: absolute; top: 40%; width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.95); color: #333; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.wpn-slider__nav--prev { left: 10px; }
.wpn-slider__nav--next { left: calc(50% - 48px); }
.wpn-slider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.wpn-slider__dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: #bbb; }
.wpn-slider__dots button.is-active { background: #444; }

/* ==========================================================================
   Notícia (single) – modelo com topo escuro, áudio e barra lateral
   ========================================================================== */
.wpn-progress { position: fixed; left: 0; top: 0; right: 0; height: 3px; z-index: 3000; pointer-events: none; }
.admin-bar .wpn-progress { top: 32px; }
.wpn-progress span { display: block; height: 100%; width: 0; background: var(--wpn-link); box-shadow: 0 0 8px var(--wpn-link); transition: width .1s linear; }

.wpn-article, .wpn-related, .wpn-archive-head, .wpn-archive { font-family: var(--wpn-font-news); }
.wpn-hero { position: relative; background: var(--wpn-hero); color: #fff; overflow: hidden; }
.wpn-hero::before { content: ""; position: absolute; inset: -40px; background-image: var(--wpn-hero-img); background-size: cover; background-position: center; filter: blur(40px) saturate(1.1); opacity: .22; }
.wpn-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, var(--wpn-hero) 35%, rgba(11,27,63,.55)); }
.wpn-hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px; align-items: center; padding-top: 42px; padding-bottom: 42px; max-width: calc(1080px + 32px); }
.wpn-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: rgba(255,255,255,.75); margin-bottom: 14px; }
.wpn-crumbs a:hover { color: #fff; text-decoration: underline; }
.wpn-crumbs__current { color: rgba(255,255,255,.55); }
.wpn-crumbs--dark { color: var(--wpn-muted); }
.wpn-crumbs--dark a:hover { color: var(--wpn-link); }
.wpn-pill { display: inline-block; background: #fff; color: var(--wpn-link) !important; font-size: 10.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 16px; }
.wpn-hero__title { font-size: clamp(28px, 3.3vw, 44px); line-height: 1.12; font-weight: 800; letter-spacing: -.8px; color: #fff; }
.wpn-hero__sub { margin: 14px 0 0; font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.82); }
.wpn-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; font-size: 13px; color: rgba(255,255,255,.75); }
.wpn-hero__meta span { display: inline-flex; align-items: center; gap: 5px; }
.wpn-dot { opacity: .5; }
.wpn-hero__media { margin: 0; position: relative; }
.wpn-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; box-shadow: 0 24px 50px rgba(0,0,0,.35); }
.wpn-hero__media figcaption { position: absolute; right: 10px; bottom: 10px; font-size: 11px; color: #fff; background: rgba(0,0,0,.5); padding: 3px 8px; border-radius: 6px; }

.wpn-single { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; padding-top: 40px; padding-bottom: 60px; max-width: calc(1000px + 32px); align-items: start; }

/* Player de áudio */
.wpn-tts { border: 1px solid #dbe4f3; background: linear-gradient(180deg, #f7faff, #f1f5fd); border-radius: 14px; padding: 14px 16px; margin-bottom: 26px; box-shadow: 0 1px 2px rgba(16,24,40,.04); font-family: var(--wpn-font-news); }
.wpn-tts__head { display: flex; align-items: center; gap: 12px; }
.wpn-tts__icon { width: 38px; height: 38px; border-radius: 10px; background: var(--wpn-link); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wpn-tts.is-playing .wpn-tts__icon { animation: wpnPulse 1.4s infinite; }
@keyframes wpnPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(37,99,235,.45); } 50% { box-shadow: 0 0 0 8px rgba(37,99,235,0); } }
.wpn-tts__info { flex: 1; min-width: 0; }
.wpn-tts__info strong { display: block; font-size: 14px; font-weight: 700; color: #111827; }
.wpn-tts__sub { font-size: 11.5px; color: var(--wpn-muted); }
.wpn-tts__play { display: inline-flex; align-items: center; gap: 8px; background: var(--wpn-link); color: #fff; border: 0; border-radius: 8px; padding: 9px 16px; font-size: 13px; font-weight: 600; box-shadow: 0 4px 12px rgba(37,99,235,.3); transition: filter .15s; }
.wpn-tts__play:hover { filter: brightness(1.08); }
.wpn-tts__pause-ico, .wpn-tts.is-playing .wpn-tts__play-ico { display: none; }
.wpn-tts.is-playing .wpn-tts__pause-ico { display: inline; }
.wpn-tts__panel { margin-top: 14px; }
.wpn-tts__bar { height: 6px; border-radius: 99px; background: #dbe4f3; cursor: pointer; overflow: hidden; }
.wpn-tts__bar span { display: block; height: 100%; width: 0; background: var(--wpn-link); border-radius: 99px; transition: width .3s; }
.wpn-tts__controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.wpn-tts__btns, .wpn-tts__speed { display: flex; align-items: center; gap: 6px; }
.wpn-tts__btns button, .wpn-tts__speed button { width: 32px; height: 32px; border-radius: 8px; border: 1px solid #d5deee; background: #fff; color: #1f2937; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; }
.wpn-tts__btns button:hover, .wpn-tts__speed button:hover { border-color: var(--wpn-link); color: var(--wpn-link); }
.wpn-tts__pos { font-size: 12px; color: var(--wpn-muted); margin-left: 6px; }
.wpn-tts__speed span { min-width: 46px; text-align: center; font-weight: 700; font-size: 13px; color: var(--wpn-link); background: #fff; border-radius: 8px; padding: 6px 4px; border: 1px solid #d5deee; }
.wpn-tts__voice select { max-width: 200px; height: 32px; border-radius: 8px; border: 1px solid #d5deee; background: #fff; font: inherit; font-size: 12px; padding: 0 6px; }
.wpn-tts__error { font-size: 13px; color: #b91c1c; margin: 10px 0 0; }
.wpn-reading { background: linear-gradient(90deg, rgba(37,99,235,.10), rgba(37,99,235,.02)); border-radius: 6px; box-shadow: -8px 0 0 rgba(37,99,235,.10); }

.wpn-textsize { display: flex; align-items: center; gap: 6px; justify-content: flex-end; margin: -10px 0 14px; font-size: 12px; color: var(--wpn-muted); }
.wpn-textsize button { border: 1px solid var(--wpn-border); background: #fff; border-radius: 6px; padding: 3px 9px; font-weight: 700; font-size: 12px; color: #374151; }
.wpn-textsize button:hover { border-color: var(--wpn-link); color: var(--wpn-link); }

.wpn-article__content { font-size: calc(15.5px * var(--wpn-text-scale)); line-height: 1.95; color: #3f3f46; }
.wpn-article__content p { margin: 0 0 1.35em; }
.wpn-article__content h2 { font-size: 1.45em; font-weight: 800; color: #111827; margin: 1.6em 0 .6em; letter-spacing: -.3px; }
.wpn-article__content h3 { font-size: 1.2em; font-weight: 700; color: #111827; margin: 1.4em 0 .5em; }
.wpn-article__content a { color: var(--wpn-link); text-decoration: underline; text-underline-offset: 2px; }
.wpn-article__content blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 4px solid var(--wpn-link); background: #f6f8fc; border-radius: 0 12px 12px 0; font-style: italic; color: #1f2937; }
.wpn-article__content blockquote p:last-child { margin-bottom: 0; }
.wpn-article__content blockquote cite { display: block; margin-top: 8px; font-size: .85em; font-style: normal; font-weight: 700; color: var(--wpn-link); }
.wpn-article__content ul, .wpn-article__content ol { padding-left: 1.3em; margin: 0 0 1.35em; }
.wpn-article__content li { margin-bottom: .4em; }
.wpn-article__content figure { margin: 1.6em 0; }
.wpn-article__content figcaption { font-size: 12.5px; color: var(--wpn-muted); margin-top: 6px; text-align: center; }
.wpn-article__content img { margin: 0 auto; }
.wpn-article__content iframe { max-width: 100%; border-radius: var(--wpn-radius); }

.wpn-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 20px; }
.wpn-tags a { font-size: 11.5px; font-weight: 600; color: #374151; border: 1px solid var(--wpn-border); border-radius: 999px; padding: 5px 12px; background: #fff; }
.wpn-tags a:hover { border-color: var(--wpn-link); color: var(--wpn-link); }

.wpn-share { border: 1px solid var(--wpn-border); border-radius: 14px; background: #fafbfc; padding: 16px; }
.wpn-share__label { display: block; font-size: 12px; color: var(--wpn-muted); margin-bottom: 10px; }
.wpn-share__btns { display: flex; flex-wrap: wrap; gap: 6px; }
.wpn-share__btn { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; font-size: 11.5px; font-weight: 600; border: 0; border-radius: 6px; padding: 8px 12px; transition: transform .15s, filter .15s; font-family: inherit; }
.wpn-share__btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.wpn-share__btn.is-wa { background: #25d366; }
.wpn-share__btn.is-fb { background: #1877f2; }
.wpn-share__btn.is-tg { background: #229ed9; }
.wpn-share__btn.is-x { background: #111; }
.wpn-share__btn.is-in { background: #0a66c2; }
.wpn-share__btn.is-ig { background: linear-gradient(45deg, #f58529, #dd2a7b 50%, #8134af); }
.wpn-share__btn.is-copy { background: #fff; color: #e11d48 !important; border: 1px solid #fecdd3; }
.wpn-share__btn.is-copied { background: #16a34a; color: #fff !important; border-color: #16a34a; }
.wpn-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; font-size: 12.5px; font-weight: 600; color: #374151; border: 1px solid var(--wpn-border); border-radius: 8px; padding: 9px 14px; background: #fff; }
.wpn-back:hover { border-color: var(--wpn-link); color: var(--wpn-link); }
.wpn-comments { margin-top: 40px; border-top: 1px solid #eef0f3; padding-top: 30px; }
.wpn-comments h2, .wpn-comments h3, .wpn-comments .comment-reply-title { font-size: 20px; font-weight: 800; color: #111827; margin: 0 0 8px; }
.wpn-comments p { font-size: 13.5px; color: var(--wpn-muted); }
.wpn-comments .comment-list { list-style: none; padding: 0; margin: 0 0 30px; }
.wpn-comments .comment-list li { border: 1px solid #eef0f3; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.wpn-comments .comment-author img { border-radius: 50%; display: inline-block; vertical-align: middle; margin-right: 8px; }
.wpn-comments .comment-form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.wpn-comments .comment-form > p { margin: 0; }
.wpn-comments .comment-notes, .wpn-comments .comment-form-comment, .wpn-comments .comment-form-cookies-consent, .wpn-comments .form-submit, .wpn-comments .logged-in-as { grid-column: 1 / -1; }
.wpn-comments label { display: block; font-size: 12px; font-weight: 700; color: #374151; margin-bottom: 5px; }
.wpn-comments .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.wpn-comments input[type=text], .wpn-comments input[type=email], .wpn-comments input[type=url], .wpn-comments textarea { width: 100%; border: 1px solid #dfe3ea; border-radius: 10px; padding: 11px 12px; font: inherit; font-size: 14px; background: #fafbfc; color: #111827; transition: border-color .15s, box-shadow .15s; }
.wpn-comments textarea { min-height: 130px; resize: vertical; }
.wpn-comments input:focus, .wpn-comments textarea:focus { outline: none; border-color: var(--wpn-link); box-shadow: 0 0 0 3px rgba(37,99,235,.15); background: #fff; }
.wpn-comments .submit { background: var(--wpn-link); color: #fff; border: 0; border-radius: 10px; padding: 12px 22px; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.wpn-comments .submit:hover { filter: brightness(1.08); }
@media (max-width: 640px) { .wpn-comments .comment-form { grid-template-columns: 1fr; } }

/* Barra lateral */
.wpn-single__aside, .wpn-archive__aside { position: sticky; top: 64px; }
.wpn-box { border: 1px solid #edf0f4; border-radius: 14px; padding: 16px 12px; margin-bottom: 18px; background: #fff; box-shadow: 0 1px 3px rgba(16,24,40,.04); }
.wpn-box__title { font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: #111827; margin: 2px 4px 14px; }
.wpn-box--mostread { padding: 0; border: 0; box-shadow: none; }
.wpn-box--mostread .wpn-mostread__title { font-size: 20px; }
.wpn-box--mostread .wpn-mostread__n { font-size: 30px; }
.wpn-mini { display: grid; grid-template-columns: 76px 1fr; gap: 10px; padding: 8px 4px; }
.wpn-mini + .wpn-mini { border-top: 1px solid #f1f3f6; }
.wpn-mini__img { display: block; overflow: hidden; aspect-ratio: 1 / .78; }
.wpn-mini__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; border-radius: 8px; }
.wpn-mini__cat { display: block; font-size: 9.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--wpn-link); }
.wpn-mini__title { font-size: 12.5px; font-weight: 600; line-height: 1.4; color: #111827; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 2px 0; }
.wpn-mini__title a:hover { color: var(--wpn-link); }
.wpn-mini__date { font-size: 10.5px; color: #9ca3af; }
.wpn-catlist { list-style: none; margin: 0; padding: 0; }
.wpn-catlist a { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; color: #374151; padding: 8px 8px; border-radius: 8px; background: #fafbfc; margin-bottom: 4px; transition: background .15s; }
.wpn-catlist a:hover, .wpn-catlist .is-current a { background: #eef3fe; color: var(--wpn-link); }
.wpn-catlist em { font-style: normal; color: var(--wpn-muted); font-size: 11.5px; }
.wpn-catmore { margin-top: 6px; }
.wpn-catmore summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 10px; border-radius: 8px; border: 1px dashed #d5dce6; font-size: 12.5px; font-weight: 700; color: var(--wpn-link); transition: background .15s, border-color .15s; }
.wpn-catmore summary::-webkit-details-marker { display: none; }
.wpn-catmore summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.wpn-catmore[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.wpn-catmore summary:hover { background: #eef3fe; border-color: #c7d6fb; }
.wpn-catmore__close, .wpn-catmore[open] .wpn-catmore__open { display: none; }
.wpn-catmore[open] .wpn-catmore__close { display: inline; }
.wpn-catmore[open] summary { margin-bottom: 8px; }
.wpn-catlist--more { max-height: 420px; overflow-y: auto; padding-right: 4px; }
.wpn-allnews { display: block; text-align: center; font-size: 12.5px; font-weight: 600; color: #374151; border: 1px solid var(--wpn-border); border-radius: 10px; padding: 10px; background: #fff; }
.wpn-allnews:hover { color: var(--wpn-link); border-color: var(--wpn-link); }

/* Relacionadas */
.wpn-related { background: #f7f8fa; padding: 50px 0 60px; }
.wpn-related .wpn-container { max-width: calc(1000px + 32px); }
.wpn-related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.wpn-related__head h2 { font-size: 26px; font-weight: 800; color: #111827; letter-spacing: -.4px; margin-top: 6px; }
.wpn-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--wpn-link); font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.wpn-eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; }
.wpn-outline-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--wpn-link) !important; border: 1px solid #c7d7fb; border-radius: 8px; padding: 8px 14px; background: #fff; white-space: nowrap; }
.wpn-outline-btn:hover { background: #eef3fe; }
.wpn-rcard { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 1px 3px rgba(16,24,40,.06); border: 1px solid #eef0f3; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.wpn-rcard:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(16,24,40,.10); }
.wpn-rcard__img { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: 14px 14px 0 0; }
.wpn-rcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.wpn-rcard__body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.wpn-rcard__title { font-size: 15px; font-weight: 700; line-height: 1.35; color: #111827; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wpn-rcard__title a:hover { color: var(--wpn-link); }
.wpn-rcard__excerpt { font-size: 12.5px; color: var(--wpn-muted); line-height: 1.6; margin: 8px 0 16px; flex: 1; }
.wpn-rcard__foot { display: flex; justify-content: space-between; align-items: center; font-size: 11.5px; color: #9ca3af; }
.wpn-rcard__foot a { display: inline-flex; gap: 5px; align-items: center; color: var(--wpn-link); font-weight: 700; }

/* Listagens --------------------------------------------------------------- */
.wpn-archive-head { background: linear-gradient(180deg, #f5f7fb, #fff); border-bottom: 1px solid #eef0f3; padding: 34px 0 30px; }
.wpn-archive-head h1 { font-size: clamp(26px, 3vw, 38px); font-weight: 800; color: #111827; letter-spacing: -.6px; margin-top: 8px; }
.wpn-archive-head__desc { color: var(--wpn-muted); margin-top: 8px; max-width: 720px; }
.wpn-archive { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; padding-top: 34px; padding-bottom: 60px; align-items: start; }
.wpn-list { display: flex; flex-direction: column; gap: 22px; }
.wpn-card--list { display: grid; grid-template-columns: 300px 1fr; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #eef0f3; animation: wpnFade .4s; }
.wpn-card--list .wpn-card__img { aspect-ratio: 3 / 2; }
.wpn-card--list .wpn-card__title { font-size: 21px; font-weight: 700; line-height: 1.25; color: #111827; }
.wpn-card--list .wpn-card__meta { display: flex; align-items: center; gap: 5px; margin-top: 10px; font-size: 12px; color: #9ca3af; }
.wpn-empty { text-align: center; padding: 50px 20px; }

/* Rodapé ------------------------------------------------------------------ */
.wpn-footer { margin-top: 0; font-family: var(--wpn-font); }
.wpn-footer__main { background: var(--wpn-secondary); color: #fff; padding: 38px 0 34px; }
.wpn-footer__cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.wpn-footer h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.wpn-footer ul { list-style: none; margin: 0; padding: 0; }
.wpn-footer li a { font-size: 14px; line-height: 1.8; opacity: .95; }
.wpn-footer li a:hover { text-decoration: underline; opacity: 1; }
.wpn-footer__bar { background: var(--wpn-primary); color: #fff; padding: 16px 0; }
.wpn-footer__bar-in { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.wpn-footer__logo img { max-height: 44px; width: auto; }
.wpn-footer__legal { display: flex; flex-direction: column; font-size: 12px; line-height: 1.35; }
.wpn-footer__legal strong { font-size: 15px; }
.wpn-footer__about { margin: 0 0 0 auto; max-width: 420px; font-size: 13px; opacity: .85; }
.wpn-footer__cta { background: var(--wpn-accent-dark); color: #fff; text-align: center; padding: 12px 0; font-size: 15px; }
.wpn-footer__cta p { margin: 0; }
.wpn-footer__cta a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; margin-top: 2px; }
.wpn-footer__cta a:hover { text-decoration: underline; }

/* Flutuantes -------------------------------------------------------------- */
.wpn-wagroup { position: fixed; left: 0; bottom: calc(var(--wpn-fixed-h) + 90px); z-index: 96; background: #25d366; color: #fff; border-radius: 0 10px 10px 0; box-shadow: 0 6px 20px rgba(0,0,0,.18); max-width: 240px; animation: wpnSlide .5s ease both; animation-delay: 1.5s; }
.wpn-wagroup a { display: flex; align-items: center; gap: 10px; padding: 12px 14px 12px 12px; font-size: 13px; line-height: 1.3; }
.wpn-wagroup__close { position: absolute; right: -8px; top: -8px; width: 20px; height: 20px; border-radius: 50%; background: #e02424; color: #fff; border: 0; display: flex; align-items: center; justify-content: center; padding: 0; }
@keyframes wpnSlide { from { transform: translateX(-110%); } to { transform: none; } }
.wpn-a11y { position: fixed; right: 16px; bottom: calc(var(--wpn-fixed-h) + 16px); z-index: 97; }
.wpn-a11y__btn { width: 50px; height: 50px; border-radius: 50%; border: 3px solid #fff; background: var(--wpn-link); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(37,99,235,.4); }
.wpn-a11y__panel { position: absolute; right: 0; bottom: 60px; width: 230px; background: #fff; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.2); padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.wpn-a11y__panel[hidden] { display: none; }
.wpn-a11y__panel strong { font-size: 14px; margin-bottom: 4px; }
.wpn-a11y__panel button { text-align: left; border: 1px solid var(--wpn-border); background: #fafbfc; border-radius: 8px; padding: 8px 10px; font-size: 13px; color: #111; }
.wpn-a11y__panel button:hover, .wpn-a11y__panel button.is-on { border-color: var(--wpn-link); background: #eef3fe; }
html.wpn-contrast .wpn-main, html.wpn-contrast .wpn-header, html.wpn-contrast .wpn-nav, html.wpn-contrast .wpn-footer { filter: contrast(1.35) saturate(1.2); }
html.wpn-gray .wpn-main, html.wpn-gray .wpn-header, html.wpn-gray .wpn-nav, html.wpn-gray .wpn-footer, html.wpn-gray .wpn-topbar { filter: grayscale(1); }
html.wpn-links .wpn-main a { text-decoration: underline !important; outline: 1px dashed currentColor; outline-offset: 2px; }
.wpn-main { zoom: var(--wpn-a11y-scale, 1); }

/* Responsivo -------------------------------------------------------------- */
@media (max-width: 1180px) {
	.wpn-menu { overflow-x: auto; scrollbar-width: none; }
	.wpn-menu::-webkit-scrollbar { display: none; }
	.wpn-weather { display: none; }
}
@media (max-width: 992px) {
	.wpn-topbar { display: none; }
	.wpn-header__in { min-height: 64px; gap: 10px; justify-content: space-between; }
	.wpn-burger, .wpn-search-toggle { display: inline-flex; }
	.wpn-header .wpn-search { display: none; }
	.wpn-header.is-search-open .wpn-search { display: flex; position: absolute; left: 16px; right: 16px; top: 100%; width: auto; z-index: 99; margin: 0; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
	.wpn-header { position: relative; }
	.wpn-logo { margin: 0 auto; }
	.wpn-logo img { max-height: 42px; }
	.wpn-logo__box { font-size: 18px; }
	.wpn-logo__city { font-size: 11px; }
	.wpn-nav { display: none; }
	.wpn-header { position: sticky; top: 0; z-index: 90; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
	.admin-bar .wpn-header { top: 46px; }
	.wpn-headlines__grid { grid-template-columns: 1fr 1fr; }
	.wpn-headlines__main { grid-column: 1 / -1; }
	.wpn-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.wpn-split, .wpn-single, .wpn-archive { grid-template-columns: 1fr; }
	.wpn-split__aside, .wpn-single__aside, .wpn-archive__aside { position: static; }
	.wpn-hero__in { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; padding-bottom: 30px; }
	.wpn-hero__media { order: -1; }
	.wpn-footer__cols { grid-template-columns: repeat(2, 1fr); }
	.wpn-footer__about { margin-left: 0; }
	.wpn-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.wpn-headlines__grid, .wpn-grid--2, .wpn-grid--3, .wpn-calls { grid-template-columns: 1fr; }
	.wpn-grid--4 { grid-template-columns: 1fr 1fr; gap: 18px 14px; }
	.wpn-card--grid .wpn-card__title { font-size: 14.5px; }
	.wpn-card--side { grid-template-columns: 42% 1fr; }
	.wpn-card--side .wpn-card__title { font-size: 17px; }
	.wpn-card--side .wpn-card__excerpt { display: none; }
	.wpn-card--overlay .wpn-card__title { font-size: 20px; }
	.wpn-card--feature { grid-template-columns: 1fr; }
	.wpn-card--feature .wpn-card__title { font-size: 20px; }
	.wpn-slider__nav--next { left: auto; right: 10px; }
	.wpn-slider__nav { top: 22%; }
	.wpn-title-home { font-size: 25px; }
	.wpn-card--list { grid-template-columns: 1fr; gap: 12px; }
	.wpn-card--list .wpn-card__title { font-size: 18px; }
	.wpn-tts__head { flex-wrap: wrap; }
	.wpn-tts__play { width: 100%; justify-content: center; }
	.wpn-tts__voice { width: 100%; }
	.wpn-tts__voice select { max-width: none; width: 100%; }
	.wpn-related__head { flex-direction: column; align-items: flex-start; }
	.wpn-footer__cols { grid-template-columns: 1fr 1fr; }
	.wpn-wagroup { max-width: 200px; }
	.wpn-wagroup a { font-size: 12px; }
	.wpn-popup__close { right: 0; }
	.wpn-textsize > span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wpn-site *, .wpn-site *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Contato / Ouvidoria
   ========================================================================== */
.wpn-hero--contact .wpn-hero__in--single { grid-template-columns: 1fr; max-width: calc(1170px + 32px); padding-top: 46px; padding-bottom: 90px; }
.wpn-hero--contact .wpn-hero__text { max-width: 760px; }
.wpn-hero--contact::before { background: radial-gradient(circle at 85% 20%, rgba(37,99,235,.55), transparent 45%), radial-gradient(circle at 10% 90%, rgba(141,198,63,.25), transparent 40%); filter: none; opacity: 1; inset: 0; }
.wpn-hero__badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.wpn-hero__badges span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: rgba(255,255,255,.9); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 7px 13px; }
.wpn-contact { position: relative; margin-top: -56px; padding-bottom: 70px; font-family: var(--wpn-font-news); }
.wpn-ouv__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.wpn-ouv__main { background: #fff; border-radius: 18px; box-shadow: 0 20px 50px rgba(15,23,42,.10); border: 1px solid #eef0f4; padding: 10px 32px 30px; position: relative; z-index: 1; }
.wpn-ouv__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 64px; z-index: 1; }
.wpn-hp { position: absolute; left: -9999px; }

.wpn-ouv-step { padding: 26px 0; border-bottom: 1px solid #f0f2f5; }
.wpn-ouv-step__head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.wpn-ouv-step__head > span { width: 32px; height: 32px; border-radius: 10px; background: #eef3fe; color: var(--wpn-link); font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wpn-ouv-step__head h2 { font-size: 18px; font-weight: 800; color: #111827; letter-spacing: -.2px; }
.wpn-ouv-step__head p { margin: 3px 0 0; font-size: 13px; color: var(--wpn-muted); }

.wpn-ouv-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wpn-ouv-type { --c: #2563eb; --bg: #eef3fe; position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1.5px solid #e6e9ef; border-radius: 14px; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; background: #fff; }
.wpn-ouv-type--elogio { --c: #db2777; --bg: #fdf2f8; }
.wpn-ouv-type--reclamacao { --c: #ea580c; --bg: #fff7ed; }
.wpn-ouv-type--denuncia { --c: #dc2626; --bg: #fef2f2; }
.wpn-ouv-type--solicitacao { --c: #7c3aed; --bg: #f5f3ff; }
.wpn-ouv-type--pauta { --c: #16a34a; --bg: #f0fdf4; }
.wpn-ouv-type input { position: absolute; opacity: 0; pointer-events: none; }
.wpn-ouv-type:hover { border-color: var(--c); transform: translateY(-1px); }
.wpn-ouv-type__ico { width: 40px; height: 40px; border-radius: 12px; background: var(--bg); color: var(--c); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.wpn-ouv-type strong { font-size: 14px; color: #111827; }
.wpn-ouv-type small { font-size: 12px; color: var(--wpn-muted); line-height: 1.4; }
.wpn-ouv-type:has(input:checked) { border-color: var(--c); background: var(--bg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 18%, transparent); }
.wpn-ouv-type:has(input:checked)::after { content: "✓"; position: absolute; top: 10px; right: 12px; width: 22px; height: 22px; border-radius: 50%; background: var(--c); color: #fff; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.wpn-ouv-type:has(input:focus-visible) { outline: 3px solid var(--wpn-link); outline-offset: 2px; }

.wpn-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.wpn-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wpn-field--full { grid-column: 1 / -1; }
.wpn-field > label, .wpn-field > span { font-size: 13px; font-weight: 700; color: #1f2937; }
.wpn-field label b { color: #dc2626; }
.wpn-field label span { font-weight: 400; color: var(--wpn-muted); }
.wpn-field input, .wpn-field select, .wpn-field textarea, .wpn-lookup input {
	width: 100%; border: 1.5px solid #e3e7ee; border-radius: 11px; padding: 12px 14px; font: inherit; font-size: 14.5px; color: #111827; background: #fafbfc; transition: border-color .15s, box-shadow .15s, background .15s;
}
.wpn-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%236b7280' stroke-width='2.4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.wpn-field textarea { resize: vertical; min-height: 150px; line-height: 1.6; }
.wpn-field input:focus, .wpn-field select:focus, .wpn-field textarea:focus, .wpn-lookup input:focus { outline: none; border-color: var(--wpn-link); background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.wpn-field.has-error input, .wpn-field.has-error select, .wpn-field.has-error textarea { border-color: #dc2626; background: #fffafa; }
.wpn-field__err { margin: 0; font-size: 12px; color: #dc2626; min-height: 0; }
.wpn-field__err:empty { display: none; }
.wpn-field__foot { display: flex; justify-content: space-between; gap: 10px; }
.wpn-count { font-size: 11.5px; color: #9ca3af; margin-left: auto; }
.wpn-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed #cfd6e2; border-radius: 12px; padding: 22px; text-align: center; color: var(--wpn-muted); font-size: 13px; cursor: pointer; background: #fafbfc; transition: border-color .15s, background .15s; }
.wpn-drop:hover, .wpn-drop.is-over { border-color: var(--wpn-link); background: #f5f8ff; color: var(--wpn-link); }
.wpn-drop.has-file { border-style: solid; border-color: #16a34a; background: #f0fdf4; color: #166534; }
.wpn-drop input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wpn-drop strong { color: var(--wpn-link); }

.wpn-anon { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; background: #fef2f2; border: 1px solid #fecaca; margin-bottom: 18px; cursor: pointer; }
.wpn-anon[hidden] { display: none; }
.wpn-anon input { position: absolute; opacity: 0; }
.wpn-anon__switch { width: 40px; height: 22px; border-radius: 22px; background: #d1d5db; position: relative; flex-shrink: 0; transition: background .2s; margin-top: 2px; }
.wpn-anon__switch::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.wpn-anon input:checked + .wpn-anon__switch { background: #dc2626; }
.wpn-anon input:checked + .wpn-anon__switch::after { transform: translateX(18px); }
.wpn-anon strong { display: block; font-size: 14px; color: #991b1b; }
.wpn-anon small { font-size: 12.5px; color: #b91c1c; }
.wpn-fields[data-personal].is-hidden { display: none; }

.wpn-seg { display: flex; background: #f1f4f8; border-radius: 11px; padding: 4px; gap: 4px; }
.wpn-seg label { flex: 1; }
.wpn-seg input { position: absolute; opacity: 0; }
.wpn-seg span { display: block; text-align: center; padding: 8px 6px; border-radius: 8px; font-size: 13px; font-weight: 600; color: #4b5563; cursor: pointer; transition: background .15s, color .15s; }
.wpn-seg input:checked + span { background: #fff; color: var(--wpn-link); box-shadow: 0 1px 3px rgba(16,24,40,.1); }
.wpn-seg input:focus-visible + span { outline: 2px solid var(--wpn-link); }

.wpn-ouv-submit { padding-top: 24px; }
.wpn-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #4b5563; line-height: 1.55; cursor: pointer; }
.wpn-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--wpn-link); flex-shrink: 0; }
.wpn-check a { color: var(--wpn-link); text-decoration: underline; }
.wpn-ouv-alert { margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: #fef2f2; color: #991b1b; font-size: 13.5px; border: 1px solid #fecaca; }
.wpn-ouv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; background: var(--wpn-link); color: #fff; border: 0; border-radius: 12px; padding: 15px 28px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 10px 24px rgba(37,99,235,.28); transition: transform .15s, filter .15s; }
.wpn-ouv-btn:hover { transform: translateY(-1px); filter: brightness(1.07); }
.wpn-ouv-btn[disabled] { opacity: .7; cursor: wait; transform: none; }
.wpn-ouv-btn.is-loading span::after { content: "…"; }
.wpn-ouv-btn--ghost { background: #fff; color: var(--wpn-link); border: 1.5px solid #c7d7fb; box-shadow: none; }
.wpn-ouv-btn--block { width: 100%; margin-top: 4px; padding: 12px; box-shadow: none; }

.wpn-ouv-done { text-align: center; padding: 50px 10px 40px; animation: wpnFade .4s; }
.wpn-ouv-done:focus { outline: none; }
.wpn-ouv-done__ico { width: 72px; height: 72px; border-radius: 50%; background: #dcfce7; color: #16a34a; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; box-shadow: 0 0 0 10px #f0fdf4; }
.wpn-ouv-done h2 { font-size: 24px; font-weight: 800; color: #111827; }
.wpn-ouv-done p { color: var(--wpn-muted); font-size: 14px; }
.wpn-ouv-done__codes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 460px; margin: 22px auto; }
.wpn-ouv-done__codes div { background: #f6f8fc; border: 1px dashed #c7d7fb; border-radius: 12px; padding: 14px; }
.wpn-ouv-done__codes small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--wpn-muted); }
.wpn-ouv-done__codes strong { font-size: 19px; color: #111827; letter-spacing: .5px; }
.wpn-ouv-done__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

.wpn-ouv-card { background: #fff; border: 1px solid #eef0f4; border-radius: 16px; padding: 20px; box-shadow: 0 6px 20px rgba(15,23,42,.05); }
.wpn-ouv-card--channels { box-shadow: 0 20px 50px rgba(15,23,42,.10); }
.wpn-ouv-card h3 { font-size: 15px; font-weight: 800; color: #111827; margin-bottom: 12px; }
.wpn-ouv-card__sub { font-size: 12.5px; color: var(--wpn-muted); margin: -6px 0 12px; }
.wpn-channel { display: flex; gap: 12px; align-items: center; padding: 10px 6px; border-radius: 12px; transition: background .15s; }
a.wpn-channel:hover { background: #f6f8fc; }
.wpn-channel + .wpn-channel { border-top: 1px solid #f3f4f6; }
.wpn-channel__ico { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wpn-channel__ico.is-blue { background: #eef3fe; color: #2563eb; }
.wpn-channel__ico.is-green { background: #dcfce7; color: #16a34a; }
.wpn-channel__ico.is-violet { background: #f3e8ff; color: #7c3aed; }
.wpn-channel__ico.is-orange { background: #ffedd5; color: #ea580c; }
.wpn-channel__ico.is-gray { background: #f3f4f6; color: #4b5563; }
.wpn-channel small { display: block; font-size: 11px; color: var(--wpn-muted); text-transform: uppercase; letter-spacing: .5px; }
.wpn-channel strong { font-size: 14px; color: #111827; font-weight: 700; word-break: break-word; }
.wpn-lookup { display: flex; flex-direction: column; gap: 8px; }
.wpn-lookup input { padding: 11px 12px; font-size: 13.5px; }
.wpn-lookup__result { margin-top: 14px; border-radius: 12px; padding: 14px; background: #f6f8fc; font-size: 13px; animation: wpnFade .3s; }
.wpn-lookup__result.is-error { background: #fef2f2; color: #991b1b; }
.wpn-lookup__result h4 { font-size: 14px; margin: 6px 0 4px; color: #111827; }
.wpn-lookup__result .wpn-st { display: inline-block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 4px 10px; border-radius: 999px; }
.wpn-st--recebida { background: #e0e7ff; color: #3730a3; }
.wpn-st--analise { background: #fef3c7; color: #92400e; }
.wpn-st--respondida { background: #dcfce7; color: #166534; }
.wpn-st--arquivada { background: #e5e7eb; color: #374151; }
.wpn-lookup__answer { margin-top: 10px; padding: 12px; background: #fff; border-left: 3px solid var(--wpn-link); border-radius: 0 10px 10px 0; white-space: pre-wrap; color: #1f2937; line-height: 1.55; }
.wpn-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.wpn-steps li { position: relative; padding: 0 0 16px 42px; counter-increment: s; }
.wpn-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--wpn-hero); color: #fff; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.wpn-steps li:not(:last-child)::after { content: ""; position: absolute; left: 13.5px; top: 30px; bottom: 2px; width: 1px; background: #e5e7eb; }
.wpn-steps strong { display: block; font-size: 13.5px; color: #111827; }
.wpn-steps span { font-size: 12.5px; color: var(--wpn-muted); line-height: 1.5; }

.wpn-faq { margin-top: 44px; max-width: 860px; }
.wpn-faq h2 { font-size: 24px; font-weight: 800; color: #111827; margin-bottom: 16px; letter-spacing: -.3px; }
.wpn-faq details { border: 1px solid #eef0f4; border-radius: 12px; background: #fff; margin-bottom: 10px; transition: box-shadow .15s; }
.wpn-faq details[open] { box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.wpn-faq summary { cursor: pointer; list-style: none; padding: 16px 48px 16px 18px; font-weight: 700; font-size: 14.5px; color: #111827; position: relative; }
.wpn-faq summary::-webkit-details-marker { display: none; }
.wpn-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 20px; color: var(--wpn-link); transition: transform .2s; }
.wpn-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.wpn-faq details p { margin: 0; padding: 0 18px 16px; font-size: 14px; color: #4b5563; line-height: 1.65; }

@media (max-width: 992px) {
	.wpn-ouv__grid { grid-template-columns: 1fr; }
	.wpn-ouv__aside { position: static; }
	.wpn-hero--contact .wpn-hero__in--single { padding-bottom: 76px; }
}
@media (max-width: 640px) {
	.wpn-ouv__main { padding: 4px 18px 24px; border-radius: 14px; }
	.wpn-ouv-types { grid-template-columns: 1fr 1fr; gap: 10px; }
	.wpn-ouv-type { padding: 12px; }
	.wpn-ouv-type small { display: none; }
	.wpn-fields { grid-template-columns: 1fr; }
	.wpn-ouv-btn { width: 100%; }
	.wpn-ouv-done__codes { grid-template-columns: 1fr; }
}
/* ==========================================================================
   Rodapé legal, política de privacidade e consentimento de cookies (LGPD)
   ========================================================================== */
.wpn-footer__legal-links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12.5px; }
.wpn-footer__legal-links a, .wpn-footer__legal-links button { color: rgba(255,255,255,.85); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.wpn-footer__legal-links a:hover, .wpn-footer__legal-links button:hover { color: #fff; text-decoration: underline; }

.wpn-legal { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 44px; align-items: start; margin-top: -56px; padding-bottom: 70px; position: relative; font-family: var(--wpn-font-news); }
.wpn-legal__toc { position: sticky; top: 70px; background: #fff; border: 1px solid #eef0f4; border-radius: 16px; padding: 20px; box-shadow: 0 20px 50px rgba(15,23,42,.10); z-index: 1; }
.wpn-legal__toc strong { display: block; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; color: #111827; margin-bottom: 10px; }
.wpn-legal__toc ol { margin: 0; padding: 0 0 0 18px; font-size: 13px; line-height: 1.5; color: var(--wpn-muted); }
.wpn-legal__toc li { margin-bottom: 6px; }
.wpn-legal__toc a:hover, .wpn-legal__toc a.is-active { color: var(--wpn-link); }
.wpn-legal__toc a.is-active { font-weight: 700; }
.wpn-legal__prefs { margin-top: 14px; width: 100%; border: 1.5px solid #c7d7fb; background: #f5f8ff; color: var(--wpn-link); border-radius: 10px; padding: 10px; font: inherit; font-weight: 700; font-size: 13px; cursor: pointer; }
.wpn-legal__body { background: #fff; border: 1px solid #eef0f4; border-radius: 18px; padding: 38px 44px; box-shadow: 0 20px 50px rgba(15,23,42,.08); z-index: 1; position: relative; }
.wpn-legal__body h2 { scroll-margin-top: 80px; padding-top: 6px; border-top: 1px solid #f1f3f6; margin-top: 1.8em !important; }
.wpn-legal__body h2:first-of-type { border-top: 0; }
.wpn-legal__lead { font-size: 1.08em; color: #1f2937; background: #f6f8fc; border-radius: 12px; padding: 18px 20px; border-left: 4px solid var(--wpn-link); }
.wpn-legal__body table { width: 100%; border-collapse: collapse; margin: 1em 0 1.6em; font-size: .9em; line-height: 1.55; display: block; overflow-x: auto; }
.wpn-legal__body th { background: #f6f8fc; text-align: left; color: #111827; font-weight: 700; }
.wpn-legal__body th, .wpn-legal__body td { border: 1px solid #e8ebf1; padding: 10px 12px; vertical-align: top; }
.wpn-legal__updated { color: var(--wpn-muted); font-size: .9em; }

.wpn-cookie { position: fixed; left: 20px; right: 20px; bottom: calc(var(--wpn-fixed-h) + 20px); z-index: 2500; max-width: 1060px; margin: 0 auto; display: flex; align-items: center; gap: 18px; background: #fff; border-radius: 18px; padding: 18px 20px; box-shadow: 0 24px 60px rgba(15,23,42,.25); border: 1px solid #e8ebf1; font-family: var(--wpn-font-news); animation: wpnUp .4s ease; }
@keyframes wpnUp { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.wpn-cookie[hidden] { display: none; }
.wpn-cookie__icon { width: 48px; height: 48px; border-radius: 14px; background: #eef3fe; color: var(--wpn-link); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wpn-cookie__text { flex: 1; min-width: 0; }
.wpn-cookie__text strong { font-size: 14.5px; color: #111827; }
.wpn-cookie__text p { margin: 3px 0 0; font-size: 13px; line-height: 1.5; color: #4b5563; }
.wpn-cookie__text a { color: var(--wpn-link); text-decoration: underline; }
.wpn-cookie__btns { display: flex; gap: 8px; flex-shrink: 0; }
.wpn-cookie__btn { border: 1.5px solid transparent; border-radius: 10px; padding: 11px 16px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: filter .15s, background .15s; }
.wpn-cookie__btn.is-primary { background: var(--wpn-link); color: #fff; }
.wpn-cookie__btn.is-primary:hover { filter: brightness(1.08); }
.wpn-cookie__btn.is-ghost { background: #fff; color: #111827; border-color: #d9dee8; }
.wpn-cookie__btn.is-ghost:hover { background: #f6f8fc; }
.wpn-cookie__btn.is-link { background: none; color: var(--wpn-link); text-decoration: underline; padding-left: 6px; padding-right: 6px; }

.wpn-cc-modal { position: fixed; inset: 0; z-index: 2600; background: rgba(15,23,42,.55); display: flex; align-items: center; justify-content: center; padding: 16px; font-family: var(--wpn-font-news); animation: wpnFade .2s; }
.wpn-cc-modal[hidden] { display: none; }
.wpn-cc-modal__box { width: 100%; max-width: 620px; max-height: 90vh; display: flex; flex-direction: column; background: #fff; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.3); overflow: hidden; }
.wpn-cc-modal__head { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #eef0f4; }
.wpn-cc-modal__head h2 { font-size: 19px; font-weight: 800; color: #111827; margin: 0; }
.wpn-cc-modal__x { border: 0; background: #f3f4f6; width: 34px; height: 34px; border-radius: 10px; font-size: 22px; line-height: 1; cursor: pointer; color: #374151; }
.wpn-cc-modal__body { padding: 18px 24px; overflow-y: auto; }
.wpn-cc-modal__body > p { font-size: 13.5px; color: #4b5563; line-height: 1.6; margin: 0 0 14px; }
.wpn-cc-cat { border: 1px solid #eef0f4; border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.wpn-cc-cat__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.wpn-cc-cat__head strong { font-size: 14.5px; color: #111827; }
.wpn-cc-cat p { margin: 6px 0 0; font-size: 12.5px; color: var(--wpn-muted); line-height: 1.55; }
.wpn-cc-always { font-size: 11.5px; font-weight: 800; color: #166534; background: #dcfce7; border-radius: 999px; padding: 4px 10px; }
.wpn-cc-switch { position: relative; width: 44px; height: 24px; flex-shrink: 0; cursor: pointer; }
.wpn-cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.wpn-cc-switch span { position: absolute; inset: 0; background: #d1d5db; border-radius: 24px; transition: background .2s; }
.wpn-cc-switch span::after { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.wpn-cc-switch input:checked + span { background: var(--wpn-link); }
.wpn-cc-switch input:checked + span::after { transform: translateX(20px); }
.wpn-cc-switch input:focus-visible + span { outline: 3px solid rgba(37,99,235,.4); outline-offset: 2px; }
.wpn-cc-modal__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 24px; border-top: 1px solid #eef0f4; background: #f9fafb; }
.wpn-cc-modal__foot a { font-size: 13px; color: var(--wpn-link); text-decoration: underline; }
.wpn-cc-modal__foot div { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 992px) {
	.wpn-legal { grid-template-columns: 1fr; }
	.wpn-legal__toc { position: static; }
	.wpn-cookie { flex-wrap: wrap; }
	.wpn-cookie__btns { width: 100%; }
	.wpn-cookie__btn { flex: 1; }
}
@media (max-width: 640px) {
	.wpn-legal__body { padding: 24px 18px; }
	.wpn-cookie { left: 10px; right: 10px; bottom: calc(var(--wpn-fixed-h) + 10px); padding: 16px; gap: 12px; }
	.wpn-cookie__icon { display: none; }
	.wpn-cookie__btns { flex-direction: column-reverse; }
	.wpn-cc-modal__foot div, .wpn-cc-modal__foot .wpn-cookie__btn { width: 100%; }
}
/* ==========================================================================
   Padronização tipográfica e de layout (Plus Jakarta Sans em todo o portal)
   ========================================================================== */
:root { --wpn-font: "Plus Jakarta Sans", "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --wpn-ink: #111827; }
body.wpn-site { font-size: 15px; color: #374151; }

/* Grades sem estouro: colunas sempre do mesmo tamanho */
.wpn-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wpn-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wpn-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wpn-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.wpn-grid > *, .wpn-headlines__grid > * { min-width: 0; }

/* Barra superior e menu */
.wpn-topbar { font-size: 13px; }
.wpn-menu > li > a { font-size: 13.5px; font-weight: 600; letter-spacing: .3px; color: #1f2937; }

/* Chapéu */
.wpn-hat, .wpn-hat--md, .wpn-hat--sm { font-size: 11.5px; font-weight: 800; letter-spacing: .6px; color: var(--wpn-accent-dark); margin: 0 0 6px; }

/* Títulos com limite de linhas */
.wpn-card__title { color: var(--wpn-ink); font-weight: 700; letter-spacing: -.2px; }
.wpn-card__title, .wpn-card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.wpn-card--grid .wpn-card__img { margin-bottom: 12px; }
.wpn-card--grid .wpn-card__title { font-size: 15.5px; line-height: 1.4; -webkit-line-clamp: 3; }
.wpn-card__excerpt { font-size: 13.5px; line-height: 1.6; color: #6b7280; -webkit-line-clamp: 3; margin-top: 8px; }

/* Manchetes: destaque grande + duas notícias em coluna */
.wpn-headlines { margin-top: 22px; }
.wpn-headlines__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.wpn-card--overlay .wpn-card__link { min-height: 380px; }
.wpn-card--overlay .wpn-card__overlay { padding: 90px 24px 24px; background: linear-gradient(180deg, transparent, rgba(3,7,18,.55) 35%, rgba(3,7,18,.92)); }
.wpn-card--overlay .wpn-hat { color: #bef264; }
.wpn-card--overlay .wpn-card__title { font-size: 26px; line-height: 1.22; font-weight: 800; letter-spacing: -.5px; -webkit-line-clamp: 4; }
.wpn-card--side { display: flex; flex-direction: column; gap: 0; height: 100%; }
.wpn-card--side .wpn-card__img { aspect-ratio: 16 / 10; margin-bottom: 14px; }
.wpn-card--side .wpn-card__title { font-size: 18px; line-height: 1.35; font-weight: 800; -webkit-line-clamp: 3; }
.wpn-card--side .wpn-card__excerpt { -webkit-line-clamp: 3; }

/* Títulos de seção */
.wpn-title-home { font-size: 26px; font-weight: 500; color: var(--wpn-ink); letter-spacing: -.4px; }
.wpn-title-home strong { font-weight: 800; }
.wpn-title-home--left { font-weight: 800; }
.wpn-section--featured { background: #f5f7fa; }
.wpn-card--feature .wpn-card__title { font-size: 24px; font-weight: 800; line-height: 1.25; -webkit-line-clamp: 3; letter-spacing: -.4px; }
.wpn-card--feature .wpn-card__body { padding: 8px 8px 8px 16px; }

/* Mais lidas */
.wpn-mostread { border-radius: 16px; box-shadow: 0 1px 3px rgba(16,24,40,.06); border: 1px solid #eef0f4; border-bottom: 4px solid var(--wpn-accent); padding: 8px 14px 10px; }
.wpn-mostread__title { font-size: 20px; font-weight: 800; letter-spacing: -.3px; color: var(--wpn-ink); padding: 10px 4px 12px; }
.wpn-mostread li { padding: 12px 4px; border-top-color: #f0f2f5; }
.wpn-mostread__n { font-size: 30px; font-weight: 800; }
.wpn-mostread li a { font-size: 13.5px; font-weight: 600; color: #1f2937; line-height: 1.45; }

/* Chamadas e botões */
.wpn-call { border-top: 0; background: #f8fafc; border: 1px solid #eef0f4; border-radius: 14px; padding: 16px 18px; transition: border-color .15s, box-shadow .15s; }
.wpn-call:hover { border-color: var(--wpn-accent); box-shadow: 0 6px 20px rgba(16,24,40,.06); }
.wpn-call strong { color: var(--wpn-ink); font-weight: 800; font-size: 15.5px; margin: 2px 0 4px; }
.wpn-call > span:last-child { font-size: 13.5px; color: #6b7280; }
.wpn-btn { border-radius: 10px; font-weight: 700; font-size: 14.5px; }

/* Listagens */
.wpn-card--list .wpn-card__title { font-size: 20px; font-weight: 800; -webkit-line-clamp: 3; }

/* Rodapé */
.wpn-footer h3 { font-weight: 800; font-size: 14.5px; letter-spacing: .2px; }
.wpn-footer li a { font-size: 13.5px; }

@media (max-width: 992px) {
	.wpn-headlines__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpn-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpn-split { grid-template-columns: 1fr; }
	.wpn-card--overlay .wpn-card__link { min-height: 320px; }
}
@media (max-width: 640px) {
	.wpn-headlines__grid, .wpn-grid--2, .wpn-grid--3 { grid-template-columns: minmax(0, 1fr); }
	.wpn-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpn-card--overlay .wpn-card__title { font-size: 21px; }
	.wpn-card--side { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 12px; align-items: start; }
	.wpn-card--side .wpn-card__img { margin-bottom: 0; aspect-ratio: 4 / 3; }
	.wpn-card--side .wpn-card__title { font-size: 15.5px; }
	.wpn-card--grid .wpn-card__title { font-size: 14px; }
	.wpn-title-home { font-size: 22px; }
}
/* ==========================================================================
   Hover elegante nas notícias (cor azul em vez de sublinhado)
   ========================================================================== */
.wpn-card__title a, .wpn-card__title, .wpn-mostread li a, .wpn-mini__title a, .wpn-rcard__title a, .wpn-call strong { transition: color .2s ease; }
.wpn-card__title a:hover, .wpn-card--overlay:hover .wpn-card__title { text-decoration: none !important; }
.wpn-card:hover .wpn-card__title, .wpn-card:hover .wpn-card__title a,
.wpn-card__title a:focus-visible,
.wpn-mostread li a:hover, .wpn-mini:hover .wpn-mini__title a, .wpn-rcard:hover .wpn-rcard__title a,
.wpn-call:hover strong { color: var(--wpn-link) !important; }
.wpn-card--overlay:hover .wpn-card__title { color: #fff !important; }
.wpn-card--overlay .wpn-card__title { background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s ease; }
.wpn-card--overlay:hover .wpn-card__title { background-size: 100% 2px; }
.wpn-card__img img, .wpn-rcard__img img, .wpn-mini__img img { transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .3s ease; }
.wpn-card:hover .wpn-card__img img, .wpn-rcard:hover img, .wpn-mini:hover img { transform: scale(1.06); filter: brightness(1.04) saturate(1.05); }
.wpn-card--grid, .wpn-card--list, .wpn-card--side { cursor: pointer; }
.wpn-card--grid .wpn-card__img, .wpn-card--side .wpn-card__img, .wpn-card--list .wpn-card__img { box-shadow: 0 1px 2px rgba(16,24,40,.06); transition: box-shadow .3s ease; }
.wpn-card:hover .wpn-card__img { box-shadow: 0 12px 28px rgba(16,24,40,.16); }
.wpn-card:hover .wpn-hat { color: var(--wpn-accent-dark); }

/* ==========================================================================
   Página de acesso (/entrar/)
   ========================================================================== */
body.wpn-login-body { margin: 0; font-family: var(--wpn-font); background: #f4f6fb; color: #374151; }
.wpn-login { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: 100vh; }
.wpn-login__brand { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 48px 56px; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(37,99,235,.55), transparent 45%), radial-gradient(circle at 10% 95%, rgba(141,198,63,.28), transparent 40%), linear-gradient(160deg, var(--wpn-hero), #122652); }
.wpn-login__brand::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 380px; height: 380px; border-radius: 50%; border: 60px solid rgba(255,255,255,.04); }
.wpn-login__logo img { max-height: 64px; width: auto; }
.wpn-login__pitch { position: relative; z-index: 1; max-width: 480px; }
.wpn-login__pitch h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; font-weight: 800; letter-spacing: -.8px; margin: 14px 0 26px; }
.wpn-login__pitch ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.wpn-login__pitch li { display: flex; gap: 12px; align-items: center; font-size: 15px; color: rgba(255,255,255,.88); }
.wpn-login__pitch li span { width: 26px; height: 26px; border-radius: 8px; background: rgba(255,255,255,.12); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #bef264; flex-shrink: 0; }
.wpn-login__copy { font-size: 12.5px; color: rgba(255,255,255,.55); margin: 0; position: relative; z-index: 1; }
.wpn-login__panel { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; position: relative; }
.wpn-login__back { position: absolute; top: 28px; right: 32px; font-size: 13px; font-weight: 700; color: #4b5563; text-decoration: none; padding: 8px 14px; border-radius: 10px; border: 1px solid #e5e7eb; background: #fff; transition: color .15s, border-color .15s; }
.wpn-login__back:hover { color: var(--wpn-link); border-color: #c7d7fb; }
.wpn-login__card { width: 100%; max-width: 420px; background: #fff; border: 1px solid #eef0f4; border-radius: 20px; padding: 38px 36px 30px; box-shadow: 0 30px 70px rgba(15,23,42,.10); animation: wpnUp .4s ease; }
.wpn-login__mobile-logo { display: none; margin-bottom: 22px; }
.wpn-login__mobile-logo img { max-height: 48px; width: auto; }
.wpn-login__card h1 { font-size: 26px; font-weight: 800; color: #111827; letter-spacing: -.5px; margin: 0; }
.wpn-login__sub { color: #6b7280; font-size: 14px; margin: 6px 0 24px; }
.wpn-login__alert { border-radius: 12px; padding: 12px 14px; font-size: 13.5px; margin-bottom: 18px; background: #eef3fe; color: #1e3a8a; border: 1px solid #c7d7fb; }
.wpn-login__alert.is-error { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.wpn-login__form .wpn-field { margin-bottom: 18px; }
.wpn-login__form label { font-size: 13px; font-weight: 700; color: #1f2937; }
.wpn-login__row { display: flex; justify-content: space-between; align-items: center; }
.wpn-login__row a { font-size: 12.5px; font-weight: 700; color: var(--wpn-link); text-decoration: none; }
.wpn-login__row a:hover { text-decoration: underline; }
.wpn-login__input { position: relative; display: flex; align-items: center; margin-top: 6px; }
.wpn-login__input > svg { position: absolute; left: 14px; color: #9ca3af; pointer-events: none; }
.wpn-login__input input { width: 100%; border: 1.5px solid #e3e7ee; border-radius: 12px; padding: 13px 44px; font: inherit; font-size: 15px; color: #111827; background: #fafbfc; transition: border-color .15s, box-shadow .15s, background .15s; }
.wpn-login__input input:focus { outline: none; border-color: var(--wpn-link); background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.wpn-login__input input:focus + .wpn-login__eye, .wpn-login__input:focus-within > svg { color: var(--wpn-link); }
.wpn-login__eye { position: absolute; right: 8px; width: 34px; height: 34px; border: 0; background: transparent; border-radius: 8px; color: #9ca3af; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.wpn-login__eye:hover, .wpn-login__eye[aria-pressed="true"] { color: var(--wpn-link); background: #eef3fe; }
.wpn-login__caps { font-size: 12px; color: #b45309; margin: 6px 0 0; }
.wpn-login__submit { width: 100%; margin-top: 22px; }
.wpn-login__secure { display: flex; gap: 6px; align-items: center; justify-content: center; flex-wrap: wrap; margin: 20px 0 0; font-size: 12px; color: #6b7280; text-align: center; }
.wpn-login__secure a { color: var(--wpn-link); }
@media (max-width: 900px) {
	.wpn-login { grid-template-columns: 1fr; }
	.wpn-login__brand { display: none; }
	.wpn-login__panel { padding: 80px 16px 40px; background: radial-gradient(circle at 90% 0%, rgba(37,99,235,.12), transparent 40%); }
	.wpn-login__mobile-logo { display: block; }
	.wpn-login__card { padding: 30px 22px 24px; }
	.wpn-login__back { top: 18px; right: 16px; }
}
.wpn-login__secure { display: block; line-height: 1.6; }
.wpn-login__secure svg { display: inline-block; vertical-align: -2px; margin-right: 4px; }

/* ==========================================================================
   Carrossel de banners
   ========================================================================== */
.wpn-ad { position: relative; }
.wpn-ad__label { z-index: 4; pointer-events: none; }
.wpn-popup__close, .wpn-fixed-ad__close { z-index: 5; }
.wpn-ad--lateral_quadrado { margin: 0 auto 22px; max-width: 336px; }
.wpn-carousel { position: relative; }
.wpn-carousel__viewport { position: relative; overflow: hidden; border-radius: var(--wpn-radius); aspect-ratio: var(--wpn-ar, auto); background: #eef1f5; isolation: isolate; }
.wpn-carousel--slide .wpn-carousel__track { display: flex; height: 100%; transition: transform .7s cubic-bezier(.22,.8,.2,1); will-change: transform; }
.wpn-carousel--slide .wpn-carousel__slide { flex: 0 0 100%; min-width: 0; height: 100%; }
.wpn-carousel--fade .wpn-carousel__track { position: relative; height: 100%; }
.wpn-carousel--fade .wpn-carousel__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.wpn-carousel--fade .wpn-carousel__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.wpn-carousel__slide picture, .wpn-carousel__slide > a { display: block; width: 100%; height: 100%; }
.wpn-carousel__slide img { width: 100%; height: 100%; object-fit: contain; border-radius: 0 !important; } /* nunca corta a arte */
.wpn-carousel__slide .wpn-ad__html { height: 100%; display: flex; align-items: center; justify-content: center; }
.wpn-carousel__slide .wpn-ad__html > ins,
.wpn-carousel__slide .wpn-ad__html > .adsbygoogle { width: 100%; max-width: 100%; }
.wpn-carousel__nav { position: absolute; top: calc(50% - 16px); transform: translateY(-50%); z-index: 3; width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #111827; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.18); cursor: pointer; opacity: 0; transition: opacity .2s, transform .2s, background .2s; }
.wpn-carousel__nav--prev { left: 12px; }
.wpn-carousel__nav--next { right: 12px; }
.wpn-carousel:hover .wpn-carousel__nav, .wpn-carousel__nav:focus-visible { opacity: 1; }
.wpn-carousel__nav:hover { background: #fff; color: var(--wpn-link); transform: translateY(-50%) scale(1.06); }
.wpn-carousel__bar { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; }
.wpn-carousel__dots { display: flex; gap: 6px; align-items: center; }
.wpn-carousel__dot { position: relative; width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: #cbd2dc; cursor: pointer; overflow: hidden; transition: width .3s ease, background .3s; }
.wpn-carousel__dot.is-active { width: 28px; background: #dbe3ee; }
.wpn-carousel__dot.is-active::after { content: ""; position: absolute; inset: 0; background: var(--wpn-link); border-radius: inherit; transform-origin: left; transform: scaleX(1); }
.wpn-carousel.is-running .wpn-carousel__dot.is-active::after { animation: wpnDotFill var(--wpn-cr-time, 5s) linear forwards; }
@keyframes wpnDotFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.wpn-carousel__pause { width: 24px; height: 24px; border-radius: 50%; border: 1px solid #d5dbe4; background: #fff; color: #374151; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.wpn-carousel__pause:hover { color: var(--wpn-link); border-color: var(--wpn-link); }
.wpn-carousel__pause .i-play, .wpn-carousel.is-paused .wpn-carousel__pause .i-pause { display: none; }
.wpn-carousel.is-paused .wpn-carousel__pause .i-play { display: inline; }

/* Carrossel no rodapé fixo e no pop-up */
.wpn-fixed-ad .wpn-carousel__viewport { aspect-ratio: auto; height: 90px; background: transparent; }
.wpn-fixed-ad .wpn-carousel__slide img { object-fit: contain; }
.wpn-fixed-ad .wpn-carousel__bar { position: absolute; left: 10px; bottom: 6px; margin: 0; z-index: 3; background: rgba(255,255,255,.9); border-radius: 99px; padding: 3px 8px; }
.wpn-fixed-ad .wpn-carousel__nav { width: 30px; height: 30px; top: 50%; }
.wpn-popup__box { max-width: min(660px, 82vh); }
.wpn-popup .wpn-carousel__bar { background: rgba(255,255,255,.95); border-radius: 99px; padding: 5px 10px; width: fit-content; margin: 10px auto 0; }

@media (hover: none) { .wpn-carousel__nav { opacity: .9; width: 32px; height: 32px; } }
@media (max-width: 640px) {
	.wpn-carousel__viewport { aspect-ratio: var(--wpn-ar-m, var(--wpn-ar, auto)); }
	.wpn-fixed-ad .wpn-carousel__viewport { height: auto; aspect-ratio: var(--wpn-ar-m, 32/10); max-height: 110px; }
	.wpn-fixed-ad .wpn-carousel__bar { position: static; width: fit-content; margin: 4px auto 0; padding: 0; background: none; }
	.wpn-carousel__nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wpn-carousel--slide .wpn-carousel__track, .wpn-carousel--fade .wpn-carousel__slide { transition: none; }
}
/* ==========================================================================
   Login – versão completa
   ========================================================================== */
.wpn-login { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.wpn-login__brand { justify-content: flex-start; gap: 26px; padding: 36px 52px 30px; min-height: 100vh; }
.wpn-login__brand::after { display: none; }
.wpn-login__orbs span { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.wpn-login__orbs span:nth-child(1) { width: 420px; height: 420px; right: -140px; top: -120px; background: radial-gradient(circle, rgba(59,130,246,.45), transparent 65%); animation: wpnFloat 12s ease-in-out infinite; }
.wpn-login__orbs span:nth-child(2) { width: 320px; height: 320px; left: -120px; bottom: 60px; background: radial-gradient(circle, rgba(141,198,63,.28), transparent 65%); animation: wpnFloat 15s ease-in-out infinite reverse; }
.wpn-login__orbs span:nth-child(3) { width: 520px; height: 520px; right: -200px; bottom: -260px; border: 70px solid rgba(255,255,255,.035); }
@keyframes wpnFloat { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-20px, 24px); } }
.wpn-login__top, .wpn-login__hero, .wpn-login__stats, .wpn-login__cols, .wpn-login__quote, .wpn-login__foot { position: relative; z-index: 1; }
.wpn-login__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.wpn-login__status { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.85); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 6px 12px; }
.wpn-login__status i, .wpn-login__live i { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 0 rgba(74,222,128,.6); animation: wpnPing 2s infinite; }
@keyframes wpnPing { 0% { box-shadow: 0 0 0 0 rgba(74,222,128,.55); } 70% { box-shadow: 0 0 0 8px rgba(74,222,128,0); } 100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); } }
.wpn-login__hero h2 { font-size: clamp(28px, 2.7vw, 40px); line-height: 1.12; font-weight: 800; letter-spacing: -.9px; margin: 14px 0 10px; max-width: 600px; }
.wpn-login__hero h2 span { background: linear-gradient(90deg, #93c5fd, #bef264); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wpn-login__hero p { margin: 0; max-width: 560px; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.6; }
.wpn-login__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.wpn-login__stats div { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 14px 16px; backdrop-filter: blur(6px); }
.wpn-login__stats strong { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.6px; }
.wpn-login__stats span { font-size: 12px; color: rgba(255,255,255,.65); }
.wpn-login__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 16px; align-items: start; }
.wpn-login__features { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wpn-login__features li { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); transition: background .2s, transform .2s; }
.wpn-login__features li:hover { background: rgba(255,255,255,.09); transform: translateX(3px); }
.wpn-login__fico { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: linear-gradient(135deg, rgba(59,130,246,.45), rgba(59,130,246,.15)); color: #dbeafe; }
.wpn-login__features strong { display: block; font-size: 14px; }
.wpn-login__features small { display: block; font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.45; margin-top: 2px; }
.wpn-login__feed { background: #fff; color: #111827; border-radius: 18px; padding: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.35); transform: rotate(-1deg); transition: transform .3s; }
.wpn-login__feed:hover { transform: rotate(0); }
.wpn-login__feed-head { display: flex; justify-content: space-between; align-items: center; margin: 2px 4px 10px; font-size: 13px; }
.wpn-login__live { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #16a34a; text-transform: uppercase; letter-spacing: .5px; }
.wpn-login__news { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; padding: 8px; border-radius: 12px; text-decoration: none; color: inherit; transition: background .15s; }
.wpn-login__news:hover { background: #f5f8ff; }
.wpn-login__news:hover b { color: var(--wpn-link); }
.wpn-login__thumb { width: 64px; height: 50px; border-radius: 10px; overflow: hidden; background: #e5e7eb; }
.wpn-login__thumb img { width: 100%; height: 100%; object-fit: cover; }
.wpn-login__news em { display: block; font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--wpn-accent-dark); }
.wpn-login__news b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; line-height: 1.35; transition: color .15s; }
.wpn-login__news small { font-size: 11px; color: #9ca3af; }
.wpn-login__quote { margin: 0; padding: 18px 20px; border-radius: 16px; background: rgba(255,255,255,.05); border-left: 3px solid #bef264; }
.wpn-login__quote blockquote { margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.85); font-style: italic; }
.wpn-login__quote figcaption { display: flex; gap: 10px; align-items: center; }
.wpn-login__quote figcaption > span { width: 34px; height: 34px; border-radius: 50%; background: #bef264; color: #1a2e05; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.wpn-login__quote b { display: block; font-size: 13px; }
.wpn-login__quote small { font-size: 11.5px; color: rgba(255,255,255,.6); }
.wpn-login__foot { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.wpn-login__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.wpn-login__badges span { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: rgba(255,255,255,.8); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: 5px 10px; }
.wpn-login__badges svg { color: #bef264; }
.wpn-login__foot p { margin: 0; font-size: 12px; color: rgba(255,255,255,.5); }

.wpn-login__panel { justify-content: flex-start; padding: 26px 32px 24px; gap: 18px; }
.wpn-login__bar { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.wpn-login__hello { font-weight: 800; color: #111827; font-size: 15px; }
.wpn-login__hello small { display: block; font-weight: 500; font-size: 12px; color: #6b7280; }
.wpn-login__back { position: static; display: inline-flex; align-items: center; gap: 6px; }
.wpn-login__card { margin: auto 0; max-width: 440px; padding: 34px 36px 26px; }
.wpn-login__lock { width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, #2563eb, #1e40af); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; box-shadow: 0 12px 26px rgba(37,99,235,.35); }
.wpn-login__input input::placeholder { color: #b6bfcc; }
.wpn-login__row--opts { margin-top: -2px; }
.wpn-login__submit.is-loading span::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 8px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: wpnSpin .7s linear infinite; vertical-align: -1px; }
@keyframes wpnSpin { to { transform: rotate(360deg); } }
.wpn-login__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wpn-login__or { display: flex; align-items: center; gap: 12px; margin: 20px 0 14px; color: #9ca3af; font-size: 12px; }
.wpn-login__or::before, .wpn-login__or::after { content: ""; flex: 1; height: 1px; background: #eceff3; }
.wpn-login__alt { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; border-radius: 12px; border: 1.5px solid #e3e7ee; background: #fff; color: #1f2937; font-weight: 700; font-size: 13.5px; text-decoration: none; transition: border-color .15s, color .15s, background .15s; }
.wpn-login__alt:hover { border-color: #c7d7fb; color: var(--wpn-link); background: #f8fbff; }
.wpn-login__help { margin-top: 18px; padding: 14px 16px; border-radius: 14px; background: #f7f9fc; border: 1px solid #eef0f4; font-size: 12.5px; color: #6b7280; }
.wpn-login__help strong { display: block; color: #111827; font-size: 13px; }
.wpn-login__help div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.wpn-login__help a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 9px; background: #fff; border: 1px solid #e5e7eb; color: #374151; font-weight: 700; font-size: 12px; text-decoration: none; transition: border-color .15s, color .15s; }
.wpn-login__help a:hover { border-color: var(--wpn-link); color: var(--wpn-link); }
.wpn-login__secure { display: none; }
.wpn-login__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-size: 12.5px; }
.wpn-login__links a, .wpn-login__links button { color: #6b7280; text-decoration: none; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.wpn-login__links a:hover, .wpn-login__links button:hover { color: var(--wpn-link); }
@media (max-width: 1200px) {
	.wpn-login__cols { grid-template-columns: 1fr; }
	.wpn-login__feed { transform: none; }
	.wpn-login__quote { display: none; }
}
@media (max-width: 900px) {
	.wpn-login { grid-template-columns: 1fr; }
	.wpn-login__brand { display: none; }
	.wpn-login__panel { padding: 18px 16px 24px; }
	.wpn-login__card { margin: 12px 0; }
}
@media (max-width: 480px) {
	.wpn-login__hello small { display: none; }
	.wpn-login__card { padding: 26px 20px 22px; }
}
/* ==========================================================================
   Seções "em destaque" – layout de revista
   ========================================================================== */
.wpn-mag { background: linear-gradient(180deg, #f4f7fb 0%, #fff 100%); border-top: 1px solid #eef1f5; padding: 40px 0 44px; margin-top: 36px; }
.wpn-mag__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.wpn-mag__kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--wpn-accent-dark); }
.wpn-mag__kicker::before { content: ""; width: 22px; height: 3px; border-radius: 3px; background: var(--wpn-accent); }
.wpn-mag__title { margin: 6px 0 0; font-size: clamp(24px, 2.6vw, 32px); font-weight: 400; letter-spacing: -.6px; color: #111827; line-height: 1.1; }
.wpn-mag__title a { color: inherit; text-decoration: none; }
.wpn-mag__title strong { font-weight: 800; }
.wpn-mag__title a:hover strong { color: var(--wpn-link); }
.wpn-mag__all { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; font-size: 13.5px; font-weight: 800; color: var(--wpn-link) !important; background: #fff; border: 1.5px solid #dbe5fb; border-radius: 999px; padding: 9px 16px; transition: background .15s, border-color .15s; }
.wpn-mag__all:hover { background: #eef3fe; border-color: #c7d7fb; }
.wpn-mag__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }

.wpn-mag__lead { min-width: 0; }
.wpn-mag__lead-link { position: relative; display: block; overflow: hidden; border-radius: 20px; background: #0b1b3f; color: #fff !important; text-decoration: none; box-shadow: 0 20px 44px rgba(15,23,42,.16); aspect-ratio: 4 / 3.4; }
.wpn-mag__lead-img { position: absolute; inset: 0; margin: 0; }
.wpn-mag__lead-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.wpn-mag__lead-link:hover .wpn-mag__lead-img img { transform: scale(1.05); }
.wpn-mag__lead-link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,7,18,0) 25%, rgba(3,7,18,.55) 55%, rgba(3,7,18,.94) 100%); }
.wpn-mag__lead-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 22px 20px 20px; }
.wpn-mag__pill { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; color: #1a2e05; background: #bef264; border-radius: 999px; padding: 4px 11px; margin-bottom: 12px; }
.wpn-mag__lead-body h3 { font-size: clamp(21px, 2.4vw, 30px); font-weight: 800; line-height: 1.2; letter-spacing: -.5px; margin: 0 0 8px; color: #fff; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s ease; }
.wpn-mag__lead-link:hover h3 { background-size: 100% 2px; }
.wpn-mag__lead-body p { display: none; margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.82); }
.wpn-mag__meta { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: rgba(255,255,255,.75); }
.wpn-mag__meta i { font-style: normal; opacity: .5; }

.wpn-mag__list { display: flex; flex-direction: column; background: #fff; border: 1px solid #edf0f5; border-radius: 20px; padding: 6px 16px; box-shadow: 0 1px 3px rgba(16,24,40,.05); min-width: 0; }
.wpn-mag__item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid #f0f2f6; }
.wpn-mag__thumb { display: block; overflow: hidden; border-radius: 12px; aspect-ratio: 4 / 3; background: #e5e7eb; }
.wpn-mag__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .5s ease; }
.wpn-mag__item:hover .wpn-mag__thumb img { transform: scale(1.07); }
.wpn-mag__item .wpn-hat { margin-bottom: 4px; font-size: 10.5px; }
.wpn-mag__item h3 { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.38; letter-spacing: -.1px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wpn-mag__item h3 a { color: #111827; text-decoration: none; transition: color .2s; }
.wpn-mag__item:hover h3 a { color: var(--wpn-link); }
.wpn-mag__date { display: block; margin-top: 5px; font-size: 12px; color: #9ca3af; }
.wpn-mag__more { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px 0 10px; font-size: 13.5px; font-weight: 800; color: var(--wpn-accent-dark) !important; text-decoration: none; }
.wpn-mag__more:hover { color: var(--wpn-link) !important; }

@media (max-width: 640px) {
	.wpn-mag { padding: 30px 0 34px; }
	.wpn-mag__head { align-items: flex-start; flex-direction: column; gap: 12px; }
	.wpn-mag__all { padding: 8px 14px; font-size: 13px; }
	.wpn-mag__item { grid-template-columns: 88px minmax(0, 1fr); }
	.wpn-mag__item h3 { font-size: 14.5px; }
}
@media (min-width: 768px) {
	.wpn-mag__lead-link { aspect-ratio: 16 / 10; }
	.wpn-mag__lead-body { padding: 30px 30px 26px; }
	.wpn-mag__lead-body p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 640px; }
}
@media (min-width: 993px) {
	.wpn-mag { padding: 56px 0 60px; }
	.wpn-mag__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 26px; align-items: stretch; }
	.wpn-mag__grid.is-single { grid-template-columns: minmax(0, 1fr); }
	.wpn-mag__lead-link { aspect-ratio: auto; height: 100%; min-height: 460px; }
	.wpn-mag__list { padding: 8px 20px; }
	.wpn-mag__item { grid-template-columns: 112px minmax(0, 1fr); }
	.wpn-mag__more { margin-top: auto; }
}
/* Logomarca enviada e cidade da previsão */
.wpn-logo img { max-height: 64px; max-width: 320px; width: auto; height: auto; object-fit: contain; }
@media (min-width: 993px) {
	/* A logo ocupa o espaço livre até a previsão do tempo; a altura vem do painel (Identidade visual). */
	.wpn-logo { flex: 0 1 auto; min-width: 0; }
	.wpn-logo img { max-height: var(--wpn-logo-h, 90px); max-width: 100%; }
	.wpn-header__in { min-height: max(104px, calc(var(--wpn-logo-h, 90px) + 28px)); }
}
.wpn-weather__city { font-size: 10.5px; font-weight: 800; color: var(--wpn-primary); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 1px; }

/* Cabeçalho do computador: logo, previsão do tempo em cartão e busca arredondada */
.wpn-header { border-bottom: 1px solid #eef0f4; font-family: var(--wpn-font-news); }
.wpn-header__in { gap: 28px; min-height: 104px; }
.wpn-weather { display: flex; align-items: center; gap: 14px; margin-left: auto; padding: 10px 16px 10px 12px; border: 1px solid #e8ecf3; border-radius: 16px; background: linear-gradient(180deg, #fbfcfe, #f4f7fb); color: #475569; font-size: 12px; line-height: 1.25; }
.wpn-weather__now { width: 48px; height: 48px; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wpn-weather__now svg { width: 32px; height: 32px; }
.wpn-weather__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wpn-weather__main .wpn-weather__city { margin: 0; font-size: 10.5px; letter-spacing: .8px; white-space: nowrap; }
.wpn-weather .wpn-weather__temps { flex-direction: row; align-items: baseline; gap: 6px; margin: 0; line-height: 1; }
.wpn-weather .wpn-weather__temps b { font-size: 24px; font-weight: 800; color: #0f172a; letter-spacing: -.6px; }
.wpn-weather .wpn-weather__temps small { font-size: 14px; font-weight: 600; color: #94a3b8; }
.wpn-weather .wpn-weather__rain { gap: 4px; font-size: 11px; color: #64748b; white-space: nowrap; }
.wpn-weather__rain .wpn-ico { color: #3b82f6; }
.wpn-weather .wpn-weather__row { gap: 2px; margin: 0; padding-left: 14px; border-left: 1px solid #e2e8f0; }
.wpn-weather .wpn-weather__part { gap: 2px; padding: 4px 6px; border-radius: 10px; font-size: 10px; color: #94a3b8; }
.wpn-weather .wpn-weather__part.is-now { background: #fff; color: var(--wpn-primary); font-weight: 700; box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.wpn-weather .wpn-weather__part svg { width: 20px; height: 20px; }
/* O card do tempo fica no meio do espaço livre entre a logo e a busca. */
.wpn-weather + .wpn-search { margin-left: auto; }
.wpn-header .wpn-search { width: 300px; border: 1px solid #e2e8f0; border-radius: 999px; background: #f6f8fb; transition: border-color .15s, box-shadow .15s, background .15s; }
.wpn-header .wpn-search:focus-within { border-color: var(--wpn-link); background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.wpn-header .wpn-search input { padding: 13px 4px 13px 20px; font-size: 14.5px; }
.wpn-header .wpn-search input::placeholder { color: #94a3b8; }
.wpn-header .wpn-search button { width: 44px; margin: 4px; padding: 0; border-radius: 999px; background: var(--wpn-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: filter .15s; }
.wpn-header .wpn-search button:hover { color: #fff; filter: brightness(1.15); }

/* Modais do painel (Publicidade → Modais) ---------------------------------- */
html.wpn-modal-lock { overflow: hidden; }
.wpn-modal { position: fixed; inset: 0; z-index: 2100; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(8, 15, 35, .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s ease; font-family: var(--wpn-font-news); }
.wpn-modal[hidden] { display: none; }
.wpn-modal.is-open { opacity: 1; }
.wpn-modal__panel { position: relative; display: flex; flex-direction: column; width: min(460px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: hidden auto; background: #fff; border-radius: 22px; box-shadow: 0 30px 80px rgba(2, 6, 23, .38), 0 0 0 1px rgba(255, 255, 255, .06); transform: translateY(18px) scale(.97); transition: transform .35s cubic-bezier(.2, .9, .25, 1.05); }
.wpn-modal.is-open .wpn-modal__panel { transform: none; }
.wpn-modal--wide .wpn-modal__panel { width: min(880px, 100%); }
.wpn-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: #0f172a; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(2, 6, 23, .2); transition: transform .2s ease, background .2s ease; }
.wpn-modal__close:hover { background: #fff; transform: rotate(90deg); }
.wpn-modal__close:focus-visible { outline: 3px solid var(--wpn-link); outline-offset: 2px; }
.wpn-modal__media { flex-shrink: 0; background: #f1f5f9; }
.wpn-modal__media img { display: block; width: 100%; height: auto; }
.wpn-modal__imglink { display: block; }
.wpn-modal--image-text .wpn-modal__media img { max-height: 46vh; object-fit: cover; }
.wpn-modal--image .wpn-modal__media { background: transparent; }
/* Só imagem: a janela abraça a imagem (sem moldura), com cantos arredondados. */
.wpn-modal--image .wpn-modal__panel { width: auto; max-width: min(460px, 100%); background: transparent; }
.wpn-modal--image.wpn-modal--wide .wpn-modal__panel { max-width: min(880px, 100%); }
.wpn-modal--image .wpn-modal__media img { width: auto; max-width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); object-fit: contain; border-radius: 22px; }
.wpn-modal__body { padding: 26px 28px 28px; color: #475569; }
.wpn-modal--text .wpn-modal__panel { border-top: 6px solid var(--wpn-link); }
.wpn-modal--text .wpn-modal__body { padding: 40px 36px 36px; text-align: center; }
.wpn-modal__kicker { display: inline-block; margin-bottom: 12px; padding: 5px 12px; border-radius: 999px; background: #eef3fe; color: var(--wpn-link); font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.wpn-modal .wpn-modal__title { margin: 0 0 12px; font-family: var(--wpn-font-news); font-size: 24px; line-height: 1.22; font-weight: 800; letter-spacing: -.5px; color: #0f172a; padding-right: 36px; }
.wpn-modal--text .wpn-modal__title { padding: 0 20px; font-size: 26px; }
.wpn-modal__text { font-size: 15.5px; line-height: 1.65; }
.wpn-modal__text p { margin: 0 0 10px; }
.wpn-modal__text p:last-child { margin-bottom: 0; }
.wpn-modal__text b, .wpn-modal__text strong { color: #0f172a; }
.wpn-modal__btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 22px; padding: 14px 20px; min-height: 50px; border-radius: 12px; background: var(--wpn-link); color: #fff !important; font-weight: 800; font-size: 15px; text-decoration: none !important; box-shadow: 0 12px 26px rgba(37, 99, 235, .3); transition: transform .15s ease, filter .15s ease; }
.wpn-modal__btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.wpn-modal__btn svg { transition: transform .2s ease; }
.wpn-modal__btn:hover svg { transform: translateX(3px); }
@media (min-width: 768px) {
	.wpn-modal--wide.wpn-modal--image-text .wpn-modal__panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); overflow: hidden; }
	.wpn-modal--wide.wpn-modal--image-text .wpn-modal__media img { height: 100%; max-height: none; min-height: 380px; object-fit: cover; }
	.wpn-modal--wide.wpn-modal--image-text .wpn-modal__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 44px 40px; overflow-y: auto; }
	.wpn-modal--wide.wpn-modal--image-text .wpn-modal__title { font-size: 28px; }
	.wpn-modal--wide.wpn-modal--text .wpn-modal__body { padding: 56px 72px 52px; }
	.wpn-modal--wide.wpn-modal--text .wpn-modal__title { font-size: 30px; }
	.wpn-modal--wide.wpn-modal--text .wpn-modal__btn { width: auto; display: inline-flex; min-width: 260px; }
}
@media (max-width: 767px) {
	.wpn-modal { padding: 16px; }
	.wpn-modal__panel { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); border-radius: 18px; }
	.wpn-modal__body { padding: 22px 20px 22px; }
	.wpn-modal--text .wpn-modal__body { padding: 32px 22px 24px; }
	.wpn-modal .wpn-modal__title, .wpn-modal--text .wpn-modal__title { font-size: 21px; }
	.wpn-modal--image-text .wpn-modal__media img { max-height: 40vh; }
	.wpn-modal--image .wpn-modal__media img { max-height: calc(100dvh - 32px); }
}
@media (prefers-reduced-motion: reduce) {
	.wpn-modal, .wpn-modal__panel, .wpn-modal__close { transition: none; }
}

/* Enquetes (Conteúdo → Enquetes): no conteúdo e como pop-up -------------------- */
.wpn-poll { font-family: var(--wpn-font-news); color: #334155; }
.wpn-poll--inline { margin: 32px 0; background: #fff; border: 1px solid #e6ebf3; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(15, 23, 42, .07); }
.wpn-modal--poll .wpn-modal__panel { width: min(500px, 100%); }
.wpn-poll .wpn-poll__img img { display: block; width: 100%; max-height: 220px; object-fit: cover; }
.wpn-poll__body { padding: 26px 26px 24px; }
.wpn-poll__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: #eef3fe; color: var(--wpn-link); font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.wpn-poll .wpn-poll__q { margin: 12px 0 6px; padding-right: 30px; font-family: var(--wpn-font-news); font-size: 22px; line-height: 1.25; font-weight: 800; letter-spacing: -.4px; color: #0f172a; }
.wpn-poll--inline .wpn-poll__q { padding-right: 0; }
.wpn-poll .wpn-poll__desc { margin: 0 0 4px; font-size: 14.5px; line-height: 1.6; color: #64748b; }
.wpn-poll .wpn-poll__hint { margin: 6px 0 0; font-size: 12.5px; font-weight: 700; color: var(--wpn-link); }
.wpn-poll .wpn-poll__form fieldset { border: 0; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.wpn-poll__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wpn-poll .wpn-poll__opt { position: relative; display: flex; align-items: center; gap: 12px; padding: 13px 16px; min-height: 52px; border: 1.5px solid #e2e8f0; border-radius: 14px; background: #fff; cursor: pointer; font-size: 15px; font-weight: 600; color: #1e293b; transition: border-color .15s, background .15s, box-shadow .15s; }
.wpn-poll .wpn-poll__opt:hover { border-color: #c7d7fb; background: #f8fbff; }
.wpn-poll .wpn-poll__opt input { position: absolute; opacity: 0; pointer-events: none; }
.wpn-poll .wpn-poll__opt.is-on { border-color: var(--wpn-link); background: #eef3fe; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.wpn-poll .wpn-poll__opt input:focus-visible ~ .wpn-poll__mark { outline: 3px solid rgba(37, 99, 235, .45); outline-offset: 2px; }
.wpn-poll__mark { width: 22px; height: 22px; flex-shrink: 0; border: 2px solid #cbd5e1; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; transition: border-color .15s, background .15s; }
.wpn-poll .wpn-poll__opt input[type=checkbox] ~ .wpn-poll__mark { border-radius: 7px; }
.wpn-poll .wpn-poll__opt.is-on .wpn-poll__mark { border-color: var(--wpn-link); background: var(--wpn-link); box-shadow: inset 0 0 0 4px #fff; }
.wpn-poll .wpn-poll__opt input[type=checkbox]:checked ~ .wpn-poll__mark { box-shadow: none; background: var(--wpn-link) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat; }
.wpn-poll .wpn-poll__err { margin: 10px 0 0; font-size: 13px; font-weight: 600; color: #b91c1c; }
.wpn-poll__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; }
.wpn-poll__vote { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 auto; min-height: 50px; padding: 13px 24px; border: 0; border-radius: 12px; background: var(--wpn-link); color: #fff; font: inherit; font-weight: 800; font-size: 15px; cursor: pointer; box-shadow: 0 12px 26px rgba(37, 99, 235, .28); transition: transform .15s, filter .15s, opacity .15s; }
.wpn-poll__vote:hover:not([disabled]) { transform: translateY(-1px); filter: brightness(1.08); }
.wpn-poll__vote[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; }
.wpn-poll__vote.is-loading { opacity: .7; cursor: progress; }
.wpn-poll__peek { border: 0; background: none; padding: 6px 2px; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--wpn-link); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.wpn-poll .wpn-poll__thanks { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: #ecfdf3; color: #166534; font-size: 14px; font-weight: 700; }
.wpn-poll .wpn-poll__thanks::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; background: #16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; }
.wpn-poll .wpn-poll__note { margin: 14px 0 0; font-size: 14px; color: #64748b; }
.wpn-poll .wpn-poll__results { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.wpn-poll .wpn-poll__results li { margin: 0; padding: 0; }
.wpn-poll .wpn-poll__results li::before { content: none; }
.wpn-poll .wpn-poll__rrow { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 14.5px; font-weight: 600; color: #1e293b; }
.wpn-poll .wpn-poll__rrow em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--wpn-link); background: #eef3fe; border-radius: 999px; padding: 2px 8px; margin-left: 4px; white-space: nowrap; }
.wpn-poll .wpn-poll__rrow b { color: #0f172a; font-weight: 800; }
.wpn-poll__bar { height: 10px; border-radius: 999px; background: #eef1f6; overflow: hidden; }
.wpn-poll__bar i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #93b4f5, var(--wpn-link)); transition: width .8s cubic-bezier(.2, .8, .2, 1); }
.wpn-poll .wpn-poll__results li.is-mine .wpn-poll__bar i { background: linear-gradient(90deg, #86efac, #16a34a); }
.wpn-poll.is-results .wpn-poll__bar i { width: var(--w); }
.wpn-poll .wpn-poll__total { margin: 14px 0 0; font-size: 12.5px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .5px; }
@media (max-width: 767px) {
	.wpn-poll__body { padding: 22px 18px 20px; }
	.wpn-poll .wpn-poll__q { font-size: 19px; }
	.wpn-poll .wpn-poll__opt { font-size: 14.5px; }
}
@media (prefers-reduced-motion: reduce) { .wpn-poll__bar i { transition: none; } }

/* Foto ampliada (lightbox) */
.wpn-hero__media img, .wpn-article__content img { cursor: zoom-in; }
.wpn-lb-open { overflow: hidden; }
.wpn-lb { position: fixed; inset: 0; z-index: 2147483000; background: rgba(5, 12, 30, .92); display: flex; align-items: center; justify-content: center; padding: 56px 16px 24px; cursor: zoom-out; animation: wpn-lb-in .18s ease-out; }
.wpn-lb__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.wpn-lb__fig img { max-width: min(1600px, 100%); max-height: calc(100vh - 110px); width: auto; height: auto; object-fit: contain; border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.6); cursor: default; }
.wpn-lb__fig figcaption { color: #cbd5e1; font-size: 13px; text-align: center; }
.wpn-lb__close { position: fixed; top: 14px; right: 16px; z-index: 1; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 30px; line-height: 44px; cursor: pointer; }
.wpn-lb__close:hover, .wpn-lb__close:focus-visible { background: rgba(255,255,255,.25); outline: none; }
@keyframes wpn-lb-in { from { opacity: 0; } to { opacity: 1; } }

/* Portal ao vivo */
.wpn-live-new { animation: wpn-live-flash 2.4s ease-out 1; border-radius: 12px; }
@keyframes wpn-live-flash { 0%, 30% { box-shadow: 0 0 0 3px rgba(37,99,235,.55); background-color: rgba(37,99,235,.06); } 100% { box-shadow: 0 0 0 0 rgba(37,99,235,0); background-color: transparent; } }
.wpn-live-toast { position: fixed; left: 50%; top: 16px; z-index: 99990; transform: translate(-50%, -140%); max-width: min(560px, calc(100vw - 32px)); display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-radius: 12px; background: #0b1a3d; color: #fff; font: 500 14px/1.35 'Plus Jakarta Sans', system-ui, sans-serif; box-shadow: 0 14px 40px rgba(0,0,0,.3); text-decoration: none; transition: transform .35s ease; }
.wpn-live-toast.is-in { transform: translate(-50%, 0); }
a.wpn-live-toast:hover { background: #12275a; color: #fff; }
.wpn-live-toast strong { font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wpn-live-toast__tag { flex: none; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; background: #dc2626; padding: 3px 8px; border-radius: 999px; }
