/* Pergunte ao Preguiça — página pública.
   Tudo fica dentro de .pap para não interferir no tema. As cores e fontes
   vêm dos tokens do tema NewsGoal (--pfc-*), com os mesmos valores como reserva. */

.pap {
	--pap-ground: var(--pfc-ground, #fff);
	--pap-surface: var(--pfc-surface, #f4f6f2);
	--pap-band: var(--pfc-band, #101410);
	--pap-band-ink: var(--pfc-band-ink, #e8ece5);
	--pap-ink: var(--pfc-ink, #101410);
	--pap-ink-2: var(--pfc-ink-2, #525b50);
	--pap-ink-3: var(--pfc-ink-3, #7d867b);
	--pap-line: var(--pfc-line, #dde3d9);
	--pap-line-strong: var(--pfc-line-strong, #c3ccbd);
	--pap-brand: var(--pfc-brand, #3a6a1e);
	--pap-brand-bright: var(--pfc-brand-bright, #629e27);
	--pap-head: var(--headFont, "Archivo", "Helvetica Neue", Arial, sans-serif);
	--pap-body: var(--bodyFont, "Newsreader", Georgia, "Times New Roman", serif);
	--pap-ui: var(--uiFont, "Archivo", "Helvetica Neue", Arial, sans-serif);

	container-type: inline-size;
	container-name: pap;
	color: var(--pap-ink);
	font-family: var(--pap-ui);
	line-height: 1.5;
	text-align: left;
}
.pap *, .pap *::before, .pap *::after { box-sizing: border-box; }
.pap button { box-shadow: none; text-shadow: none; }

/* ---------- grade: coluna principal + lateral ---------- */
.pap .pap-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
.pap .pap-main { min-width: 0; padding-right: 28px; border-right: 1px solid var(--pap-line); container-type: inline-size; container-name: papmain; }
.pap .pap-rail { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
@container pap (max-width: 900px) {
	.pap .pap-grid { grid-template-columns: minmax(0, 1fr); }
	.pap .pap-main { padding-right: 0; border-right: 0; }
}

/* ---------- títulos ---------- */
.pap .pap-eyebrow { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 9px; font-family: var(--pap-ui); font-size: 10.5px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--pap-brand); }
.pap .pap-eyebrow::before { content: ""; width: 16px; height: 2px; background: currentColor; flex: none; }
.pap .pap-title { font-family: var(--pap-head); font-size: clamp(28px, 4vw, 46px); font-weight: 800; line-height: 1.06; letter-spacing: -.021em; margin: 0; color: var(--pap-ink); text-wrap: balance; }
.pap .pap-dek { font-family: var(--pap-body); font-size: 17px; line-height: 1.5; color: var(--pap-ink-2); margin: 13px 0 0; max-width: 62ch; }
.pap .pap-meta { font-size: 11.5px; font-weight: 500; color: var(--pap-ink-3); font-variant-numeric: tabular-nums; }

/* ---------- palco ---------- */
.pap .pap-stage { position: relative; margin-top: 24px; border-radius: 3px; overflow: hidden; background: var(--pap-band); aspect-ratio: 3 / 2; }
.pap .pap-cam-wrap { position: absolute; inset: 0; overflow: hidden; }
.pap .pap-cam { position: absolute; inset: 0; transform-origin: 24% 40%; transition: transform 1.4s cubic-bezier(.3, .7, .2, 1); animation: pap-drift 14s ease-in-out infinite alternate; }
@keyframes pap-drift { from { transform: scale(1); } to { transform: scale(1.018); } }
.pap .pap-scene { display: block; width: 100%; height: 100%; }

.pap .pap-head { transform-box: view-box; transform-origin: 385px 545px; animation: pap-head-idle 5.5s ease-in-out infinite; }
.pap .pap-arm { transform-box: view-box; transform-origin: 600px 470px; animation: pap-arm-idle 6s ease-in-out infinite; }
.pap .pap-lid { transform-box: fill-box; transform-origin: 50% 0; transform: scaleY(0); transition: transform 90ms ease-in; }
.pap .pap-scene.pap-blink .pap-lid { transform: scaleY(1); }
@keyframes pap-head-idle { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-.8deg) translateY(2px); } }
@keyframes pap-arm-idle { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-.6deg) translate(0, -2px); } }

.pap .pap-tvlight { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; background: radial-gradient(ellipse 22% 45% at 97% 33%, rgba(120, 170, 255, .3), transparent 70%); animation: pap-tv 3.2s steps(1) infinite; }
@keyframes pap-tv { 0% { opacity: .55; } 13% { opacity: .85; } 21% { opacity: .6; } 48% { opacity: .95; } 55% { opacity: .7; } 83% { opacity: .5; } }

/* pensando */
.pap .pap-stage.is-thinking .pap-cam { transform: scale(1.1); animation: none; }
.pap .pap-stage.is-thinking .pap-head { animation: pap-head-think 2.6s ease-in-out infinite; }
.pap .pap-stage.is-thinking .pap-arm { animation: pap-arm-idle 3s ease-in-out infinite; }
@keyframes pap-head-think { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(-2.6deg) translateY(-2px); } }

/* falando */
.pap .pap-stage.is-talking .pap-cam { transform: scale(1.06); animation: none; }
.pap .pap-stage.is-talking .pap-head { animation: pap-head-talk .9s ease-in-out infinite; }
.pap .pap-stage.is-talking .pap-arm { animation: pap-arm-point .8s ease-in-out infinite; }
@keyframes pap-head-talk { 0%, 100% { transform: rotate(-1deg); } 50% { transform: rotate(1.1deg) translateY(3px); } }
@keyframes pap-arm-point { 0%, 100% { transform: rotate(0) translate(0, 0); } 45% { transform: rotate(-1.4deg) translate(9px, -3px); } }

/* dormindo: olhos fechados, cabeça respirando devagar, "Zzz" subindo */
.pap .pap-zzz { display: none; font-family: var(--pap-head); font-weight: 900; fill: #f0e9da; }
.pap .pap-zzz text { font-size: 64px; opacity: 0; animation: pap-zzz 3.6s ease-in infinite; }
.pap .pap-zzz text:nth-child(2) { font-size: 80px; animation-delay: 1.2s; }
.pap .pap-zzz text:nth-child(3) { font-size: 96px; animation-delay: 2.4s; }
@keyframes pap-zzz { 0% { opacity: 0; transform: translate(0, 0); } 20% { opacity: .95; } 100% { opacity: 0; transform: translate(70px, -150px); } }
.pap .pap-stage.is-sleeping .pap-zzz { display: inline; }
.pap .pap-stage.is-sleeping .pap-lid { transform: scaleY(1); transition-duration: .6s; }
.pap .pap-stage.is-sleeping .pap-head { animation: pap-head-sleep 4.5s ease-in-out infinite; }
.pap .pap-stage.is-sleeping .pap-arm { animation: none; }
.pap .pap-stage.is-sleeping .pap-cam { animation: none; transform: scale(1.04); }
@keyframes pap-head-sleep { 0%, 100% { transform: rotate(-.5deg); } 50% { transform: rotate(-2deg) translateY(3px); } }

/* ---------- balão ---------- */
.pap .pap-bubble { position: absolute; left: 61%; right: 3%; top: 12%; background: var(--pap-ground); color: var(--pap-ink); border-radius: 8px; padding: 18px 20px 20px; box-shadow: 0 14px 34px rgba(16, 20, 16, .35); }
.pap .pap-pointer { position: absolute; z-index: 1; left: calc(61% - 13px); top: calc(33.5% - 11px); width: 0; height: 0; border-style: solid; border-width: 11px 14px 11px 0; border-color: transparent var(--pap-ground) transparent transparent; }
.pap .pap-bubble .pap-eyebrow { margin-bottom: 8px; }
.pap .pap-bubble__q { display: none; font-family: var(--pap-ui); font-size: 12.5px; font-weight: 600; color: var(--pap-ink-3); margin: 0 0 8px; overflow-wrap: anywhere; }
.pap .pap-bubble.has-q .pap-bubble__q { display: block; }
.pap .pap-bubble__a { font-family: var(--pap-body); font-size: 18px; line-height: 1.45; margin: 0; min-height: 3em; overflow-wrap: anywhere; }
.pap .pap-bubble__fontes { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--pap-line); font-family: var(--pap-ui); font-size: 11.5px; font-weight: 600; color: var(--pap-ink-3); }
.pap .pap-bubble__fontes[hidden] { display: none; }
.pap .pap-bubble__fontes a { color: var(--pap-brand); text-decoration: none; }
.pap .pap-bubble__fontes a:hover { text-decoration: underline; }
.pap .pap-bubble__google { margin-top: 8px; }
.pap .pap-bubble__google[hidden] { display: none; }
.pap .pap-bubble__google iframe { display: block; width: 100%; height: 64px; border: 0; }
.pap .pap-caret { display: inline-block; width: 2px; height: 1em; background: var(--pap-brand); vertical-align: -2px; margin-left: 2px; animation: pap-caret 1s steps(1) infinite; }
@keyframes pap-caret { 50% { opacity: 0; } }
.pap .pap-dots { display: inline-flex; gap: 6px; padding: 8px 0; }
.pap .pap-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--pap-brand); animation: pap-dot 1.2s ease-in-out infinite; }
.pap .pap-dots i:nth-child(2) { animation-delay: .2s; }
.pap .pap-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes pap-dot { 0%, 80%, 100% { transform: translateY(0); opacity: .35; } 40% { transform: translateY(-5px); opacity: 1; } }

/* coluna estreita: balão sai de cima da cena e vai para baixo dela */
@container papmain (max-width: 640px) {
	.pap .pap-stage { overflow: visible; aspect-ratio: auto; background: none; }
	.pap .pap-cam-wrap { position: relative; inset: auto; aspect-ratio: 3 / 2; border-radius: 3px; background: var(--pap-band); }
	.pap .pap-pointer { display: none; }
	.pap .pap-bubble { position: relative; left: auto; right: auto; top: auto; margin-top: 16px; box-shadow: none; border: 1px solid var(--pap-line); }
	.pap .pap-bubble::before { content: ""; position: absolute; left: 56%; top: -13px; border-style: solid; border-width: 0 11px 13px 11px; border-color: transparent transparent var(--pap-line) transparent; }
	.pap .pap-bubble::after { content: ""; position: absolute; left: calc(56% + 1px); top: -11px; border-style: solid; border-width: 0 10px 12px 10px; border-color: transparent transparent var(--pap-ground) transparent; }
	.pap .pap-bubble__a { font-size: 17px; }
}

/* ---------- formulário ---------- */
.pap .pap-form { margin: 26px 0 0; padding-top: 24px; border-top: 1px solid var(--pap-line); }
.pap .pap-form > label { display: block; font-family: var(--pap-head); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 10px; color: var(--pap-ink); }
.pap .pap-form textarea { display: block; width: 100%; min-height: 96px; resize: vertical; margin: 0; padding: 12px 14px; border: 1px solid var(--pap-line-strong); border-radius: 3px; background: var(--pap-ground); color: var(--pap-ink); font-family: var(--pap-ui); font-size: 15.5px; line-height: 1.45; box-shadow: none; }
.pap .pap-form textarea::placeholder { color: var(--pap-ink-3); }
.pap .pap-form textarea:focus { outline: 0; border-color: var(--pap-brand); box-shadow: 0 0 0 3px rgba(58, 106, 30, .14); }
.pap .pap-form textarea:disabled { background: var(--pap-surface); cursor: not-allowed; }
.pap .pap-isca-wrap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pap .pap-row { display: flex; align-items: center; gap: 14px; margin-top: 12px; flex-wrap: wrap; }
.pap .pap-btn { margin-left: auto; height: 44px; padding: 0 22px; border: 0; border-radius: 3px; background: var(--pap-brand); color: #fff; font-family: var(--pap-ui); font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; line-height: 1; cursor: pointer; transition: background .15s ease; }
.pap .pap-btn:hover { background: var(--pap-brand-bright); }
.pap .pap-btn:disabled { background: var(--pap-line-strong); cursor: not-allowed; }
.pap .pap-btn:focus:not(:focus-visible) { outline: none; }
.pap .pap-btn:focus-visible { outline: 2px solid var(--pap-brand-bright); outline-offset: 2px; }
.pap .pap-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; }
.pap .pap-tags__label { font-size: 10.5px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--pap-ink-3); margin-right: 4px; }
.pap .pap-tags button { font-family: var(--pap-ui); font-size: 12.5px; font-weight: 600; line-height: 1.4; color: var(--pap-ink-2); background: var(--pap-surface); border: 1px solid var(--pap-line); border-radius: 3px; padding: 5px 11px; cursor: pointer; }
.pap .pap-tags button:hover { color: var(--pap-brand); border-color: var(--pap-brand); }
.pap .pap-tags button:disabled { opacity: .5; cursor: not-allowed; }
@container papmain (max-width: 520px) {
	.pap .pap-btn { width: 100%; margin-left: 0; }
}

/* ---------- lateral ---------- */
.pap .pap-rail__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 9px; border-bottom: 2px solid var(--pap-ink); }
.pap .pap-rail__head b { font-family: var(--pap-head); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--pap-ink); }
.pap .pap-restantes { margin-top: 10px; font-size: 12.5px; font-weight: 600; color: var(--pap-ink-2); }
.pap .pap-restantes.is-zero { color: var(--pap-brand); }
.pap .pap-minhas { list-style: none; margin: 0; padding: 0; }
.pap .pap-minhas li { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--pap-line); list-style: none; }
.pap .pap-minhas li:last-child { border-bottom: 0; }
.pap .pap-minhas .q { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.pap .pap-minhas .a { display: block; margin-top: 6px; font-family: var(--pap-body); font-size: 14px; line-height: 1.4; color: var(--pap-ink-2); overflow-wrap: anywhere; }
.pap .pap-minhas-vazio { padding: 12px 0 0; font-size: 13.5px; color: var(--pap-ink-3); }
.pap .pap-how { list-style: none; margin: 0; padding: 0; counter-reset: pap-how; }
.pap .pap-how li { counter-increment: pap-how; display: flex; gap: 12px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--pap-line); font-size: 14px; line-height: 1.35; color: var(--pap-ink-2); list-style: none; }
.pap .pap-how li:last-child { border-bottom: 0; }
.pap .pap-how li::before { content: counter(pap-how); flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--pap-band); color: var(--pap-band-ink); font-size: 11.5px; font-weight: 800; display: grid; place-items: center; }
.pap .pap-how b { color: var(--pap-ink); }

@media (prefers-reduced-motion: reduce) {
	.pap *, .pap *::before, .pap *::after { animation: none !important; transition: none !important; }
}
