/*
 * Home Portal (rascunho) — carregado apenas em páginas com template-portal.php,
 * depois de style.css. Prefixo .p- para não interferir no tema aprovado.
 */

/* ---------- Imagens (destacada ou cartão gráfico) ---------- */
.p-media { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius); background: var(--green-dark); container-type: inline-size; }
.p-media > img, .p-media > .reg-ph, .p-lead__media > img, .p-lead__media > .reg-ph {
	position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block;
}
.reg-ph { display: block; overflow: hidden; }
.reg-ph svg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; display: block; }
.reg-ph__cat {
	position: absolute; top: 7%; left: 6%; font-size: clamp(10px, 3.6cqi, 13px); font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: rgba(255, 255, 255, .88); line-height: 1;
}
.reg-ph__cat::before { content: ""; display: inline-block; width: 1.6em; height: 1.5px; margin-right: .6em; vertical-align: middle; background: currentColor; opacity: .7; }
.reg-ph__mark {
	position: absolute; right: 6%; bottom: 8%; font-size: clamp(11px, 4.6cqi, 18px); font-weight: 700; letter-spacing: -.035em;
	color: #fff; line-height: 1; display: inline-flex; align-items: baseline;
}
.reg-ph__mark::after { content: ""; width: .24em; height: .24em; margin-left: .07em; background: var(--mint); }
.p-media img, .p-media .reg-ph svg { transition: transform .4s ease; }
.p-card:hover .p-media img, .p-card:hover .p-media .reg-ph svg, .p-row:hover .p-media .reg-ph svg, .p-row:hover .p-media img { transform: scale(1.035); }

/* ---------- Rótulo em aba ---------- */
.p-tab { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; border-bottom: 2px solid var(--green); }
.p-tab__label {
	display: inline-block; margin: 0; background: var(--green); color: var(--white); padding: 7px 14px 6px;
	font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; line-height: 1.3; border-radius: 4px 4px 0 0;
}
.p-tab__more { font-size: 14px; font-weight: 600; color: var(--green); text-decoration: none; padding-bottom: 6px; }
.p-tab__more:hover { color: var(--green-dark); text-decoration: underline; }

.p-kicker { font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--green); text-decoration: none; }
a.p-kicker:hover { color: var(--green-dark); }
.p-date { font-size: 13px; color: var(--muted); }

/* ---------- Destaques ---------- */
.p-top { background: var(--white); padding: 40px 0 48px; }
.p-top > .wrap { display: flex; flex-direction: column; gap: 28px; }
.p-top__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }

.p-lead { min-width: 0; }
.p-lead { display: flex; }
.p-lead__link { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; text-decoration: none; color: var(--white); background: var(--green-dark); }
.p-lead__media { position: absolute; inset: 0; display: block; }
.p-lead__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 22, 18, 0) 25%, rgba(6, 22, 18, .55) 58%, rgba(6, 22, 18, .92) 100%); }
.p-lead__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 36px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.p-pill { display: inline-block; background: var(--mint); color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 5px 10px; border-radius: 3px; line-height: 1.3; }
.p-lead__title { font-family: var(--serif); font-weight: 500; font-size: 42px; line-height: 1.08; letter-spacing: -.015em; color: var(--white); max-width: 22ch; text-wrap: balance; }
.p-lead__dek { font-size: 17px; line-height: 1.5; color: #d6e3de; max-width: 60ch; }
.p-lead__meta { font-size: 13px; color: #b7cbc3; }
.p-lead__link:hover .p-lead__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.p-lead__link:hover { color: var(--white); }
.p-lead__link img, .p-lead__link .reg-ph svg { transition: transform .5s ease; }
.p-lead__link:hover img, .p-lead__link:hover .reg-ph svg { transform: scale(1.025); }

.p-latest { min-width: 0; display: flex; flex-direction: column; }
.p-latest .p-tab { margin-bottom: 4px; }
.p-row { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.p-row:last-child { border-bottom: 0; padding-bottom: 0; }
.p-media--thumb { aspect-ratio: 4 / 3; }
.p-row__body { display: flex; flex-direction: column; gap: 6px; }
.p-row__title { font-family: var(--serif); font-weight: 500; font-size: 20px; line-height: 1.22; letter-spacing: -.005em; }
.p-row__title a, .p-card__title a, .p-expert__title a, .p-desk__list a { color: var(--ink); text-decoration: none; }
.p-row__title a:hover, .p-card__title a:hover, .p-expert__title a:hover, .p-desk__list a:hover { color: var(--green); }

/* Radar compacto (faixa horizontal) */
.p-radar {
	display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, 1.1fr); gap: 36px; align-items: center;
	background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 10px; padding: 24px 28px;
}
.p-radar__count { display: flex; flex-direction: column; gap: 14px; }
.p-radar__head { display: flex; align-items: baseline; gap: 12px; justify-content: space-between; }
.p-radar__head h2 { font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }
.p-radar .radar__count { border-bottom: 0; padding-bottom: 0; }
.p-radar .radar__num { font-size: 60px; }
.p-radar__line { display: flex; flex-direction: column; gap: 10px; }
.p-radar .timeline__mark { border-color: var(--surface); }
.p-radar__list { border-top: 0; }
.p-radar__list li { padding: 8px 0; font-size: 14px; }
.p-radar__list li:last-child { border-bottom: 0; }

.p-disclaimer { background: var(--white); }

/* ---------- CTA ---------- */
.p-cta-wrap { padding: 56px 0; background: var(--white); }
.p-top + .p-cta-wrap { padding-top: 0; }
.p-cta {
	position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px 48px;
	background: var(--green-dark); color: #cbddd6; border-radius: 12px; padding: 40px 48px;
	background-image:
		radial-gradient(circle at 100% 0, rgba(61, 220, 151, .16) 0, rgba(61, 220, 151, 0) 42%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 14px);
}
.p-cta__txt { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 10px; position: relative; }
.p-cta__txt h2 { color: var(--white); font-size: 32px; line-height: 1.12; letter-spacing: -.02em; font-weight: 700; text-wrap: balance; }
.p-cta__txt p { font-size: 17px; max-width: 62ch; }
.p-cta__actions { display: flex; align-items: center; gap: 14px 24px; flex-wrap: wrap; position: relative; }
.p-cta__link { color: var(--white); font-weight: 600; font-size: 15px; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); padding-bottom: 2px; }
.p-cta__link:hover { color: var(--mint); border-color: var(--mint); }

/* ---------- Seções ---------- */
.p-section { padding: 64px 0; }
.p-stack { display: flex; flex-direction: column; gap: 28px; }

/* Grade de notícias */
.p-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.p-card { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.p-card__body { display: flex; flex-direction: column; gap: 8px; }
.p-card__title { font-family: var(--serif); font-weight: 500; font-size: 21px; line-height: 1.22; letter-spacing: -.005em; }
.bg-cream .p-card { background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 10px 10px 18px; }
.bg-cream .p-card .p-card__body { padding: 0 8px; }

/* Blocos por editoria */
.p-desks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; align-items: start; }
.p-desk { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.p-card--desk .p-card__title { font-size: 22px; }
.p-desk__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.p-desk__list li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.p-desk__list a { font-family: var(--serif); font-size: 18px; line-height: 1.3; font-weight: 500; }

/* Especialistas */
.p-experts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.p-expert { min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.p-expert__avatar {
	width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--green); color: var(--white); font-weight: 700; font-size: 22px; letter-spacing: -.01em;
	box-shadow: 0 0 0 4px var(--green-tint);
}
.p-expert__who { display: flex; flex-direction: column; gap: 2px; }
.p-expert__who strong { color: var(--ink); font-size: 16px; }
.p-expert__who span { font-size: 13px; color: var(--muted); }
.p-expert__title { font-family: var(--serif); font-weight: 500; font-size: 19px; line-height: 1.28; border-top: 1px solid var(--line); padding-top: 14px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
	.p-radar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.p-radar__list { grid-column: 1 / -1; }
	.p-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.p-experts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.p-top__grid { grid-template-columns: 1fr; }
	.p-lead__title { font-size: 36px; }
	.p-desks { grid-template-columns: 1fr; }
	.p-desk .p-card--desk { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
}
@media (max-width: 720px) {
	.p-top { padding: 20px 0 36px; }
	.p-top > .wrap { gap: 24px; }
	.p-lead__link { aspect-ratio: 4 / 3; border-radius: 8px; }
	.p-lead__body { padding: 20px; gap: 10px; }
	.p-lead__title { font-size: 25px; line-height: 1.12; }
	.p-lead__dek { display: none; }
	.p-row { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
	.p-row__title { font-size: 18px; }
	.p-radar { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
	.p-radar .radar__num { font-size: 52px; }
	.p-cta-wrap { padding: 40px 0; }
	.p-cta { padding: 28px 22px; border-radius: 10px; }
	.p-cta__txt { flex-basis: 100%; }
	.p-cta__txt h2 { font-size: 25px; }
	.p-cta__txt p { font-size: 16px; }
	.p-section { padding: 48px 0; }
	.p-grid { gap: 20px 14px; }
	.p-card__title { font-size: 18px; }
	.p-desk .p-card--desk { display: flex; align-items: stretch; }
	.p-experts { gap: 14px; }
	.p-expert { padding: 18px; gap: 12px; }
	.p-expert__avatar { width: 52px; height: 52px; font-size: 18px; }
	.p-expert__title { font-size: 17px; }
}
@media (max-width: 520px) {
	.p-grid { grid-template-columns: 1fr; gap: 16px; }
	.p-grid .p-card { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: start; }
	.p-grid .p-media { aspect-ratio: 4 / 3; }
	.p-grid .reg-ph__cat, .p-grid .reg-ph__mark { display: none; }
	.bg-cream .p-grid .p-card { padding: 10px; }
	.bg-cream .p-grid .p-card .p-card__body { padding: 2px 0 0; }
	.p-grid .p-date { display: none; }
	.p-experts { grid-template-columns: 1fr; }
	.p-expert { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; row-gap: 10px; align-items: center; }
	.p-expert__title { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
	.p-media img, .p-media .reg-ph svg, .p-lead__link img, .p-lead__link .reg-ph svg { transform: none !important; }
}
