
:root{--background:#fffaf8;--foreground:#2a1214;--card:#fff;--card-foreground:#2a1214;--popover:#fff;--popover-foreground:#2a1214;--primary:#c8102e;--primary-foreground:#fff;--secondary:#fbeceb;--secondary-foreground:#3a0a0c;--muted:#fbeceb;--muted-foreground:#6b4e4c;--accent:#fde8d6;--accent-foreground:#7a2a10;--border:#f0d9d5;--input:#f0d9d5;--ring:#c8102e;--forest:#4a0a10;--forest-foreground:#fff5f2;--leaf:#fdf0ec;--gold:#ffcc29;--gold-foreground:#3a0a0c}
html{scroll-behavior:smooth}section{scroll-margin-top:20px}.bg-forest{background-image:radial-gradient(ellipse at 15% 10%,#c8102e33,transparent 60%),radial-gradient(ellipse at 90% 80%,#ff8a3d26,transparent 55%)}.hero-politica{max-height:600px;aspect-ratio:3/2;border-radius:24px;filter:drop-shadow(0 22px 40px #0005)}.pm-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;padding:12px 8px 20px}.pm-carousel::-webkit-scrollbar{display:none}.pm-slide{flex:0 0 calc(33.333% - 11px);min-width:0;scroll-snap-align:start}.pm-map-button{display:block;width:100%;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #4a0a1015;border:1px solid #f0d9d5;cursor:zoom-in}.pm-map-image{display:block;width:100%;aspect-ratio:210/297;object-fit:contain}.pm-category-image{width:100%;height:230px;object-fit:contain;background:linear-gradient(135deg,#fde5e1,#fff1d6);padding:18px}.pm-bonus-icon{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:linear-gradient(135deg,#e0f5f3,#e9e3f7);border-radius:12px;font:900 44px Archivo,Arial;color:#15233c}.pm-dialog{border:0;border-radius:20px;padding:18px;background:#fff;max-width:min(94vw,840px);max-height:94vh;color:#15233c;box-shadow:0 30px 80px #0005}.pm-dialog::backdrop{background:#1f0507d9}.pm-dialog img{max-width:100%;max-height:80vh;object-fit:contain;display:block}.pm-dialog button{padding:10px 18px;background:#4a0a10;color:white;border-radius:9px;cursor:pointer;margin-bottom:10px}.pm-checkout-dialog{max-width:460px;padding:28px}.pm-checkout-dialog p{margin:14px 0;line-height:1.6}.pm-map-button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ffcc29;outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}@media(max-width:767px){.pm-slide{flex-basis:70%}.hero-politica{border-radius:14px}.pm-category-image{height:210px}}@media(min-width:768px) and (max-width:1023px){.pm-slide{flex-basis:calc(50% - 8px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pm-bonus-mockup{width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 12px;filter:drop-shadow(0 10px 14px #14274920)}

/* Fundo responsivo com bandeiras; composição própria para telas estreitas. */
.pm-hero-flags{background-color:#2a0609;background-image:linear-gradient(180deg,rgba(40,6,9,.35),rgba(40,6,9,.62)),url('fundo-progressista-desktop.webp');background-size:100% 100%,cover;background-position:center,center bottom;background-repeat:no-repeat}
@media(max-width:767px){.pm-hero-flags{background-image:linear-gradient(180deg,rgba(40,6,9,.3),rgba(40,6,9,.6)),url('fundo-progressista-mobile.webp');background-size:100% 100%,100% auto;background-position:center,bottom center}.pm-hero-flags .hero-politica{max-width:86%;margin-inline:auto}}

/* ===== Edição PT — detalhes em vermelho ===== */
.pm-topbar{background:#c8102e;color:#fff;padding:.55rem 1rem;text-align:center;font:800 .7rem/1.3 Figtree,Arial;letter-spacing:.15em;text-transform:uppercase}
@media(min-width:640px){.pm-topbar{font-size:.75rem}}
.pm-pill-red{display:inline-flex;white-space:nowrap;align-items:center;gap:.5rem;border-radius:999px;background:#c8102e;color:#fff;padding:.4rem 1rem;font:800 .7rem/1 Figtree,Arial;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 6px 18px #c8102e66}
.pm-red{color:#c8102e}
.pm-h2::after{content:"";display:block;width:64px;height:5px;border-radius:99px;background:#c8102e;margin:16px auto 0}
.pm-card-red{border-top:5px solid #c8102e!important}
.pm-ribbon{background:#c8102e;color:#fff;overflow:hidden;white-space:nowrap;padding:14px 0;border-top:3px solid #ffcc29;border-bottom:3px solid #8f0a1f}
.pm-ribbon-track{display:inline-flex;gap:28px;animation:pm-marquee 32s linear infinite;font:900 .95rem/1 Archivo,Arial;text-transform:uppercase;letter-spacing:.06em}
.pm-ribbon-track span::after{content:"•";margin-left:28px;color:#ffcc29}
@keyframes pm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.pm-ribbon-track{animation:none}}
.pm-manifesto{background:linear-gradient(135deg,#c8102e 0%,#8f0a1f 100%);color:#fff;text-align:center;padding:64px 20px;position:relative;overflow:hidden}
.pm-manifesto::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,#ffffff22,transparent 45%),radial-gradient(circle at 10% 90%,#00000033,transparent 50%)}
.pm-manifesto>div{position:relative;max-width:820px;margin:0 auto}
.pm-manifesto .lines p{font:900 clamp(1.5rem,4.6vw,2.6rem)/1.15 Archivo,Arial;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 .35em}
.pm-manifesto .lines em{font-style:normal;color:#ffcc29}
.pm-manifesto .sub{margin-top:1.4rem;font:600 1.05rem/1.5 Figtree,Arial;opacity:.92}
.pm-cta-red{display:flex;width:100%;align-items:center;justify-content:center;border-radius:.75rem;background:#c8102e;color:#fff;padding:1.25rem 1.5rem;text-align:center;font:800 1rem/1.2 Archivo,Arial;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 12px 28px #c8102e55;transition:transform .2s,filter .2s}
.pm-cta-red:hover{transform:translateY(-2px);filter:brightness(1.08)}
@media(min-width:640px){.pm-cta-red{font-size:1.125rem}}
.pm-badge-red{display:inline-block;margin:.5rem auto 0;width:fit-content;border-radius:999px;background:#c8102e;color:#fff;padding:.15rem .65rem;font:800 .55rem/1.6 Figtree,Arial;letter-spacing:.14em;text-transform:uppercase}
.pm-footer-red{background:linear-gradient(180deg,#c8102e,#8f0a1f)!important}
.pm-num{background:#c8102e!important;color:#fff!important}
