/*
Theme Name: Past Now Local
Theme URI: http://127.0.0.1:9400/
Author: Past Now
Description: Tema limpo, reconstruído do zero para o laboratório local da Rádio Past Now.
Version: 0.8.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: pastnow-local
*/

:root {
  --pn-night: #09030f;
  --pn-night-soft: #0a1323;
  --pn-surface: #1a0d20;
  --pn-cream: #fffafd;
  --pn-muted: #d7cbe0;
  --pn-pink: #ff4f8a;
  --pn-orange: #f7a33a;
  --pn-blue: #2bb8ff;
  --pn-violet: #7b6cff;
  --pn-green: #45e89c;
  --pn-line: rgba(255,255,255,.12);
  --pn-shadow: 0 30px 80px rgba(0,0,0,.35);
  --pn-radius: 28px;
  --pn-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pn-night);
  color: var(--pn-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  content: "";
  background:
    radial-gradient(circle at 16% 28%, rgba(255,79,138,.30) 0, rgba(255,79,138,.17) 13%, rgba(255,79,138,.05) 25%, transparent 40%),
    radial-gradient(circle at 64% 12%, rgba(43,184,255,.30) 0, rgba(43,184,255,.16) 14%, rgba(43,184,255,.05) 28%, transparent 43%),
    radial-gradient(circle at 88% 72%, rgba(123,108,255,.22) 0, rgba(123,108,255,.11) 14%, rgba(123,108,255,.04) 27%, transparent 41%),
    linear-gradient(180deg, #09030f 0%, #0a1323 52%, #05020a 100%);
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input { font: inherit; }
button { color: inherit; }

.pn-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 999px;
  background: white;
  color: #111;
  transform: translateY(-160%);
}
.pn-skip:focus { transform: translateY(0); }
.pn-shell { width: min(calc(100% - 40px), var(--pn-max)); margin-inline: auto; }
.pn-section { padding: 110px 0; }
.pn-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  color: var(--pn-orange);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pn-kicker::before { width: 30px; height: 2px; content: ""; background: currentColor; }
.pn-title {
  max-width: 800px;
  margin: 0;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.pn-copy { max-width: 690px; color: var(--pn-muted); font-size: 1.08rem; }
.pn-gradient-text {
  color: transparent;
  background: linear-gradient(105deg, var(--pn-pink) 0%, var(--pn-orange) 28%, #ff6aa6 53%, var(--pn-violet) 74%, var(--pn-blue) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

/* Header */
.pn-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid transparent;
  background: rgba(9,3,15,.76);
  backdrop-filter: blur(18px);
}
.pn-header.is-scrolled { border-bottom-color: var(--pn-line); }
.pn-header__inner { display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 26px; }
.pn-brand { width: 205px; flex: 0 0 auto; }
.pn-nav { display: flex; align-items: center; gap: 28px; }
.pn-nav a { color: #d7d6e3; font-size: .92rem; font-weight: 690; }
.pn-nav a:hover, .pn-nav a:focus-visible { color: white; }
.pn-live-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 17px;
  border: 1px solid rgba(255,79,138,.52);
  border-radius: 999px;
  background: rgba(255,79,138,.13);
}
.pn-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pn-pink); box-shadow: 0 0 0 6px rgba(255,79,138,.15), 0 0 18px rgba(255,79,138,.7); }
.pn-nav-toggle { display: none; border: 0; background: none; cursor: pointer; }

/* Hero */
.pn-hero { position: relative; overflow: hidden; padding: 105px 0 92px; }
.pn-hero::after {
  position: absolute;
  right: -180px;
  bottom: -380px;
  width: 720px;
  height: 720px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018);
}
.pn-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .75fr); gap: 72px; align-items: center; }
.pn-hero h1 { margin: 0; font-size: clamp(3.5rem, 7.3vw, 7.2rem); line-height: .87; letter-spacing: -.07em; }
.pn-hero h1 span { display: block; }
.pn-hero__lead { max-width: 670px; margin: 30px 0 0; color: #cfcedd; font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.pn-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.pn-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 23px;
  border: 1px solid var(--pn-line);
  border-radius: 999px;
  font-size: .94rem;
  font-weight: 800;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.pn-button:hover, .pn-button:focus-visible { transform: translateY(-2px); border-color: rgba(255,255,255,.35); }
.pn-button--primary { border: 0; background: linear-gradient(105deg, var(--pn-pink) 0%, #ff6aa6 36%, var(--pn-orange) 68%, var(--pn-blue) 125%); box-shadow: 0 16px 38px rgba(255,79,138,.3); }
.pn-button svg { width: 18px; height: 18px; }
.pn-hero__meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 42px; color: #8f8da5; font-size: .83rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.pn-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.pn-hero__meta i { width: 5px; height: 5px; border-radius: 50%; background: var(--pn-blue); }

/* Player */
.pn-player {
  position: relative;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 34px;
  background:
    radial-gradient(circle at 10% 10%, rgba(255,79,138,.18), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(43,184,255,.16), transparent 35%),
    linear-gradient(150deg, rgba(255,255,255,.13), rgba(255,255,255,.045));
  box-shadow: var(--pn-shadow);
  backdrop-filter: blur(20px);
}
.pn-player::before { position: absolute; inset: 0 0 auto; height: 3px; content: ""; background: linear-gradient(90deg, var(--pn-pink), var(--pn-orange), #ff6aa6, var(--pn-violet), var(--pn-blue)); }
.pn-player__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pn-onair { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pn-onair::before { width: 9px; height: 9px; border-radius: 50%; content: ""; background: #ff295f; box-shadow: 0 0 0 7px rgba(255,41,95,.12); animation: pnPulse 1.8s infinite; }
@keyframes pnPulse { 50% { box-shadow: 0 0 0 11px rgba(255,41,95,0); } }
.pn-player__freq { color: #8e8da2; font: 700 .76rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.pn-player__art { display: grid; width: min(78%, 300px); aspect-ratio: 1; place-items: center; margin: 30px auto 24px; border-radius: 50%; background: radial-gradient(circle, #2d1835 0 26%, #120817 27% 29%, #35213e 30% 31%, #160a1e 32% 46%, #2e2041 47% 48%, #100918 49%); box-shadow: 0 22px 55px rgba(0,0,0,.45), 0 0 48px rgba(255,79,138,.14); }
.pn-player__art img { width: 59%; filter: drop-shadow(0 14px 20px rgba(0,0,0,.25)); }
.pn-player.is-playing .pn-player__art { animation: pnSpin 16s linear infinite; }
@keyframes pnSpin { to { transform: rotate(360deg); } }
.pn-player__label { margin: 0; color: #838198; font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pn-player__title { margin: 3px 0 0; font-size: 1.38rem; line-height: 1.2; }
.pn-player__station { margin: 3px 0 0; color: var(--pn-muted); font-size: .9rem; }
.pn-player__station span { display: block; }
.pn-player__note { display: block; max-width: 34ch; margin-top: 6px; color: #9cb0cf; font-size: 12px; font-weight: 600; line-height: 1.3; }
.pn-player__controls { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; margin-top: 24px; }
.pn-play {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pn-pink), #ff6aa6 44%, var(--pn-orange));
  box-shadow: 0 14px 30px rgba(255,0,125,.3);
  cursor: pointer;
}
.pn-play:hover, .pn-play:focus-visible { transform: scale(1.04); }
.pn-play svg { width: 23px; height: 23px; fill: white; }
.pn-play .pn-icon-pause { display: none; }
.pn-player.is-playing .pn-icon-play { display: none; }
.pn-player.is-playing .pn-icon-pause { display: block; }
.pn-player__status { min-width: 0; }
.pn-wave { display: flex; height: 28px; align-items: center; gap: 4px; }
.pn-wave i { display: block; width: 3px; height: 8px; border-radius: 99px; background: linear-gradient(var(--pn-orange), var(--pn-pink)); }
.pn-player.is-playing .pn-wave i { animation: pnWave .7s ease-in-out infinite alternate; }
.pn-wave i:nth-child(2), .pn-wave i:nth-child(6) { height: 16px; animation-delay: -.3s; }
.pn-wave i:nth-child(3), .pn-wave i:nth-child(5) { height: 24px; animation-delay: -.55s; }
.pn-wave i:nth-child(4) { height: 12px; animation-delay: -.18s; }
@keyframes pnWave { to { height: 26px; } }
.pn-status { display: block; overflow: hidden; margin-top: 4px; color: #9694a8; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }

/* Era strip */
.pn-eras { border-block: 1px solid var(--pn-line); background: rgba(255,255,255,.025); }
.pn-eras__inner { display: grid; grid-template-columns: repeat(5, 1fr); }
.pn-era { position: relative; padding: 32px 14px; text-align: center; }
.pn-era + .pn-era { border-left: 1px solid var(--pn-line); }
.pn-era strong { display: block; font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1; letter-spacing: -.05em; }
.pn-era span { color: #838198; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

/* Editorial */
.pn-editorial__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; align-items: start; }
.pn-editorial__mark { position: sticky; top: 130px; }
.pn-editorial__icon { display: grid; width: 230px; aspect-ratio: 1; place-items: center; margin-top: 36px; border: 1px solid var(--pn-line); border-radius: 50%; background: linear-gradient(145deg, rgba(255,0,142,.11), rgba(0,183,232,.1)); }
.pn-editorial__icon img { width: 76%; }
.pn-manifesto { padding-top: 16px; }
.pn-manifesto p { margin: 0 0 27px; color: #c8c7d5; font-size: clamp(1.1rem, 2vw, 1.45rem); line-height: 1.6; }
.pn-manifesto p:first-child { color: white; font-size: clamp(1.45rem, 2.8vw, 2.2rem); line-height: 1.35; letter-spacing: -.025em; }
.pn-manifesto strong { color: white; }
.pn-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 40px; }
.pn-tags span { padding: 8px 13px; border: 1px solid var(--pn-line); border-radius: 999px; color: #a5a3b6; font-size: .78rem; font-weight: 700; }

/* Content cards */
.pn-content { border-top: 1px solid var(--pn-line); background: linear-gradient(180deg, rgba(255,79,138,.035), rgba(123,108,255,.025)); }
.pn-section-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 48px; }
.pn-section-head .pn-button { flex: 0 0 auto; }
.pn-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pn-card { position: relative; min-height: 360px; padding: 27px; overflow: hidden; border: 1px solid rgba(255,125,174,.18); border-radius: 24px; background: linear-gradient(150deg, rgba(255,125,174,.09), rgba(255,255,255,.025)); transition: transform .25s ease, border-color .25s ease; }
.pn-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.25); }
.pn-card::after { position: absolute; right: -90px; bottom: -110px; width: 220px; height: 220px; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(255,0,142,.22), transparent 68%); }
.pn-card:nth-child(2)::after { background: radial-gradient(circle, rgba(255,138,0,.2), transparent 68%); }
.pn-card:nth-child(3)::after { background: radial-gradient(circle, rgba(0,183,232,.2), transparent 68%); }
.pn-card__type { color: var(--pn-orange); font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.pn-card h3 { margin: 105px 0 15px; font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.08; letter-spacing: -.035em; }
.pn-card p { position: relative; z-index: 1; margin: 0; color: #9997aa; font-size: .92rem; }
.pn-card__arrow { position: absolute; top: 24px; right: 24px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--pn-line); border-radius: 50%; }

/* CTA and footer */
.pn-cta { padding: 40px 0 110px; }
.pn-cta__box { position: relative; padding: 70px; overflow: hidden; border-radius: 32px; background: linear-gradient(110deg, #ff2f92 0%, #ff4f8a 34%, #f7a33a 68%, #2bb8ff 135%); box-shadow: var(--pn-shadow); }
.pn-cta__box::after { position: absolute; right: -40px; bottom: -70px; width: 310px; height: 310px; border: 38px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; }
.pn-cta h2 { position: relative; z-index: 1; max-width: 760px; margin: 0; font-size: clamp(2.4rem, 5.6vw, 5.2rem); line-height: .95; letter-spacing: -.06em; }
.pn-cta p { position: relative; z-index: 1; max-width: 590px; margin: 24px 0 31px; font-size: 1.08rem; }
.pn-cta .pn-button { position: relative; z-index: 1; border-color: transparent; background: #0b0b18; }
.pn-footer { padding: 52px 0 26px; border-top: 1px solid var(--pn-line); }
.pn-footer__top { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: start; }
.pn-footer__brand img { width: 210px; }
.pn-footer__brand p { max-width: 480px; color: #8d8b9f; }
.pn-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; }
.pn-footer__links a { color: #b4b2c2; font-size: .92rem; }
.pn-footer__links a:hover { color: white; }
.pn-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--pn-line); color: #6f6d82; font-size: .78rem; }

/* Generic content */
.pn-page { width: min(calc(100% - 40px), 820px); min-height: 60vh; margin: 0 auto; padding: 90px 0; }
.pn-page h1 { font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; letter-spacing: -.05em; }

@media (max-width: 920px) {
  .pn-nav-toggle { display: grid; width: 44px; height: 44px; place-items: center; }
  .pn-nav-toggle span, .pn-nav-toggle::before, .pn-nav-toggle::after { width: 23px; height: 2px; content: ""; background: white; transition: transform .2s ease; }
  .pn-nav { position: absolute; top: 84px; right: 20px; left: 20px; display: none; padding: 22px; border: 1px solid var(--pn-line); border-radius: 20px; background: #141427; box-shadow: var(--pn-shadow); }
  .pn-nav.is-open { display: grid; }
  .pn-hero { padding-top: 70px; }
  .pn-hero__grid { grid-template-columns: 1fr; gap: 55px; }
  .pn-player { max-width: 560px; }
  .pn-editorial__grid { grid-template-columns: 1fr; gap: 48px; }
  .pn-editorial__mark { position: static; }
  .pn-editorial__icon { width: 170px; }
  .pn-cards { grid-template-columns: 1fr 1fr; }
  .pn-cards .pn-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .pn-shell { width: min(calc(100% - 28px), var(--pn-max)); }
  .pn-section { padding: 78px 0; }
  .pn-header__inner { min-height: 72px; }
  .pn-brand { width: 164px; }
  .pn-nav { top: 72px; right: 14px; left: 14px; }
  .pn-hero { padding: 58px 0 72px; }
  .pn-hero h1 { font-size: clamp(3.4rem, 19vw, 5rem); }
  .pn-hero__actions .pn-button { width: 100%; }
  .pn-player { padding: 24px; border-radius: 27px; }
  .pn-eras__inner { grid-template-columns: repeat(5, minmax(95px, 1fr)); overflow-x: auto; }
  .pn-era { padding: 25px 12px; }
  .pn-section-head { display: block; }
  .pn-section-head .pn-button { margin-top: 26px; }
  .pn-cards { grid-template-columns: 1fr; }
  .pn-cards .pn-card:last-child { grid-column: auto; }
  .pn-card { min-height: 330px; }
  .pn-cta__box { padding: 48px 25px; }
  .pn-footer__top { grid-template-columns: 1fr; gap: 35px; }
  .pn-footer__bottom { display: block; }
}

/* Seções efetivamente publicadas na página inicial ID 22. */
.pn-published-news { padding: 20px 0 24px; }
.pn-published-news__card { min-height: 214px; padding: 30px 32px 24px; border: 1px solid rgba(255,120,70,.34); border-radius: 22px; background: radial-gradient(circle at 12% 12%, rgba(43,184,255,.08), transparent 30%), linear-gradient(145deg, rgba(8,20,39,.96), rgba(8,8,22,.98)); box-shadow: 0 22px 52px rgba(0,0,0,.24); }
.pn-published-news__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pn-published-news__head strong { display: inline-flex; align-items: center; gap: 8px; color: #2bb8ff; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.pn-published-news__head strong i { width: 10px; height: 10px; border-radius: 50%; background: #57f28a; box-shadow: 0 0 14px rgba(87,242,138,.75); }
.pn-published-news__head div { display: flex; gap: 10px; }
.pn-published-news__head button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.055); color: #fff; font-size: 24px; }
.pn-published-news__stage { min-height: 48px; }
.pn-published-news__card > a { display: flex; width: fit-content; min-height: 44px; align-items: center; justify-content: center; margin: 4px auto 0; padding: 10px 20px; border-radius: 999px; background: linear-gradient(90deg, #2bb8ff, #ff4f8a 58%, #f7a33a); color: #fff; font-size: 15px; font-weight: 850; }

.pn-published-editorial { padding: 20px 0 10px; }
.pn-published-editorial > .pn-shell > h2 { margin: 0 0 18px; font-size: clamp(30px,3vw,40px); line-height: 1; letter-spacing: -.04em; }
.pn-published-editorial__card { padding: 24px; border: 1px solid rgba(255,120,70,.34); border-radius: 22px; background: radial-gradient(circle at 14% 10%, rgba(43,184,255,.1), transparent 28%), linear-gradient(145deg, rgba(10,18,34,.98), rgba(12,10,20,.98)); }
.pn-published-editorial__card h3 { margin: 0 0 20px; color: #fff; font-size: clamp(25px,3vw,36px); line-height: 1.08; text-align: center; }
.pn-published-editorial__preview { display: grid; grid-template-columns: 250px 1fr; gap: 24px; align-items: center; }
.pn-published-editorial__preview figure { display: grid; aspect-ratio: 1; place-items: center; margin: 0; border: 1px solid rgba(43,184,255,.38); border-radius: 16px; background: rgba(5,3,15,.56); }
.pn-published-editorial__preview figure img { width: 88%; }
.pn-published-editorial__preview p, .pn-published-editorial__full p { color: #f4f5fb; font-size: 17px; line-height: 1.7; }
.pn-published-editorial button { min-height: 42px; padding: 9px 20px; border: 0; border-radius: 999px; background: linear-gradient(90deg, #2bb8ff, #ff4f8a 58%, #f7a33a); color: #fff; font-size: 14px; font-weight: 850; cursor: pointer; }
.pn-published-editorial__full { padding: 12px 12px 4px; }

.pn-footer { margin-top: 52px; padding: 30px 0 10px; border-top-color: rgba(255,121,54,.28); background: radial-gradient(circle at 12% 0, rgba(255,47,146,.12), transparent 30%), radial-gradient(circle at 78% 16%, rgba(0,210,255,.12), transparent 34%), linear-gradient(180deg, rgba(9,7,18,.92), rgba(8,17,34,.96)); }
.pn-footer__title { margin: 0; color: #fff; font-size: clamp(34px,4vw,48px); font-weight: 800; line-height: .98; letter-spacing: -.03em; }
.pn-footer__brand p:not(.pn-footer__title) { color: rgba(235,243,255,.9); }
.pn-footer__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.pn-footer__cta, .pn-footer__social { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 850; }
.pn-footer__cta { background: linear-gradient(90deg, #f7a33a, #ff4f8a 58%, #2bb8ff); color: #fff; }
.pn-footer__social { border: 1px solid rgba(255,121,54,.26); background: rgba(255,255,255,.045); color: #fff; }

@media (max-width: 640px) {
  .pn-published-news__card { padding: 22px 18px; }
  .pn-published-editorial__preview { grid-template-columns: 1fr; }
  .pn-published-editorial__preview figure { max-width: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Passo de fidelidade visual: proporções e hierarquia recuperadas da referência estática segura. */
.pn-shell { width: min(calc(100% - 32px), 1220px); }
.pn-header { position: relative; border: 0; background: transparent; backdrop-filter: none; }
.pn-header__inner { min-height: 106px; align-items: flex-start; padding-top: 18px; }
.pn-brand { position: relative; width: min(42vw, 340px); height: 70px; }
.pn-brand img { position: absolute; top: -4px; left: 0; width: auto; max-width: none; height: 92px; }
.pn-nav { gap: 8px; padding-top: 10px; }
.pn-nav a { padding: 10px 16px; border-radius: 999px; color: #fff; font-size: 15px; font-weight: 750; }
.pn-nav a:hover, .pn-nav a:focus-visible { background: rgba(255,255,255,.06); }
.pn-nav a.is-active { background: linear-gradient(135deg, #00d2ff 0%, #ff2f92 58%, #ffb320 100%); box-shadow: 0 10px 24px rgba(255,47,146,.25); }
.pn-live-link { border: 0; background: transparent; }
.pn-live-link .pn-live-dot { display: none; }

.pn-hero { padding: 48px 0 32px; overflow: visible; }
.pn-hero::after { display: none; }
.pn-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 52px; min-height: 560px; align-items: center; }
.pn-hero h1 { max-width: 12ch; color: #fff; font-size: clamp(44px, 5vw, 62px); line-height: .98; letter-spacing: -.05em; }
.pn-hero__lead { max-width: 40ch; margin-top: 26px; color: rgba(235,243,255,.86); font-size: 17px; line-height: 1.65; }
.pn-hero .pn-kicker { display: none; }
.pn-signature { display: flex; width: min(100%, 390px); align-items: center; gap: 18px; margin-top: 30px; padding: 16px 18px; border: 1px solid rgba(255,47,146,.42); border-radius: 22px; background: rgba(5,3,15,.55); }
.pn-signature strong, .pn-signature small { display: block; }
.pn-signature strong { color: #fff; font-size: 13px; }
.pn-signature small { margin-top: 3px; color: #c9d4ef; font-size: 15px; }
.pn-hero__player { display: flex; flex-direction: column; gap: 26px; align-items: stretch; }

.pn-player { padding: 25px; border-color: rgba(0,210,255,.36); border-radius: 22px; background: linear-gradient(145deg, rgba(8,18,36,.96), rgba(13,25,47,.94)); box-shadow: 0 24px 58px rgba(0,0,0,.28); }
.pn-player::before { height: 1px; background: linear-gradient(90deg, transparent, #2bb8ff, #ff4f8a, #f7a33a, transparent); }
.pn-player__top { margin-bottom: 24px; }
.pn-onair { padding: 8px 13px; border: 1px solid rgba(247,163,58,.48); border-radius: 999px; font-size: 12px; letter-spacing: 0; }
.pn-onair::before { background: #57f28a; box-shadow: 0 0 0 7px rgba(87,242,138,.12); }
.pn-player__freq { color: #cbd5eb; font-family: inherit; font-size: 12px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.pn-player__box { display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: center; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: linear-gradient(100deg, rgba(43,184,255,.18), rgba(255,79,138,.18), rgba(247,163,58,.22)); }
.pn-play { width: 58px; height: 58px; }
.pn-player__title { margin: 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.1; }
.pn-player__station { margin: 5px 0 0; color: #e8c5e8; font: 500 16px ui-monospace, SFMono-Regular, Menlo, monospace; }
.pn-equalizer { display: grid; grid-template-columns: repeat(9, 1fr); gap: 4px; margin: 28px 0 20px; }
.pn-equalizer i { height: 8px; border-top: 2px solid #2bb8ff; border-bottom: 2px solid rgba(43,184,255,.42); }
.pn-player.is-playing .pn-equalizer i { animation: pnBar .7s ease-in-out infinite alternate; }
.pn-player.is-playing .pn-equalizer i:nth-child(2n) { animation-delay: -.35s; }
@keyframes pnBar { to { transform: scaleY(2.2); border-color: #ff4f8a; } }
.pn-volume { display: grid; grid-template-columns: auto 1fr auto auto; gap: 12px; align-items: center; color: #fff; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.pn-volume input { width: 100%; accent-color: #2bb8ff; }
.pn-mute { width: 38px; height: 32px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.07); cursor: pointer; }
.pn-status { display: block; margin-top: 14px; color: #aebbd3; font-size: 13px; }
.pn-big-cta { align-self: center; width: min(100%, 390px); padding: 13px 26px; border-radius: 999px; background: linear-gradient(135deg, #f7a33a 0%, #f2730a 28%, #ff4f8a 62%, #2bb8ff 100%); box-shadow: 0 16px 34px rgba(0,0,0,.24); color: #fff; font-size: clamp(17px,1.6vw,24px); font-weight: 900; line-height: 1.08; letter-spacing: -.04em; text-align: center; }

.pn-now { padding: 8px 0 18px; }
.pn-now__card { position: relative; overflow: hidden; border: 1px solid rgba(255,120,70,.34); border-radius: 22px; background: radial-gradient(circle at 14% 14%, rgba(43,184,255,.1), transparent 28%), linear-gradient(145deg, rgba(12,7,21,.98), rgba(16,27,45,.96) 54%, rgba(10,8,18,.98)); box-shadow: 0 24px 58px rgba(0,0,0,.3), 0 0 24px rgba(255,79,138,.08); }
.pn-now__card::before { position: absolute; inset: 0 0 auto; height: 1px; content: ""; background: linear-gradient(90deg, transparent, #2bb8ff, #ff4f8a, #f7a33a, transparent); }
.pn-now h2 { margin: 0; padding: 24px 24px 22px; font-size: clamp(28px,3.4vw,40px); line-height: 1; letter-spacing: .03em; }
.pn-now__body { display: grid; grid-template-columns: minmax(230px,300px) minmax(0,1fr); gap: 24px; align-items: start; padding: 0 24px 24px; }
.pn-now figure { display: grid; width: 100%; aspect-ratio: 1; place-items: center; margin: 0; overflow: hidden; border: 1px solid rgba(255,120,70,.34); border-radius: 16px; background: rgba(5,3,15,.55); }
.pn-now figure img { width: 82%; }
.pn-now h3 { margin: 0; color: #f7a33a; font-size: clamp(30px,4vw,50px); line-height: 1; }
.pn-now p { margin: 10px 0 0; color: #fff; font-size: 20px; font-weight: 800; }
.pn-now__line { width: 100%; height: 1px; margin-top: 30px; background: linear-gradient(90deg, #ff4f8a, #f7a33a, #2bb8ff, transparent); }

/* Página publicada /ouca-ao-vivo/: player isolado, sem cabeçalho ou rodapé. */
body.pn-player-page-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 18% 6%, rgba(139,18,84,.42), transparent 30%),
    radial-gradient(circle at 84% 13%, rgba(25,67,137,.38), transparent 34%),
    linear-gradient(155deg, #09020c 0%, #080817 52%, #02030a 100%);
}
.pn-player-page { display: grid; width: 100%; min-height: 100vh; place-items: start center; }
.pn-player--standalone { width: 500px; max-width: min(500px, calc(100vw - 24px)); margin: 0; padding: 24px; }
.pn-player--standalone .pn-player__top { margin-bottom: 16px; }
.pn-player--standalone .pn-player__box { grid-template-columns: 62px minmax(0,1fr); gap: 15px; padding: 14px; border-radius: 18px; }
.pn-player--standalone .pn-play { width: 62px; height: 62px; }
.pn-player--standalone .pn-player__meta { min-width: 0; }
.pn-player--standalone .pn-player__title { font-size: 21px; }
.pn-player--standalone .pn-player__station { min-height: 3.1em; color: #e7eeff; font-size: 21px; line-height: 1.06; }
.pn-player--standalone .pn-equalizer { height: 34px; margin: 10px 0; align-items: end; }
.pn-player--standalone .pn-volume { margin-top: 10px; }
.pn-player--standalone .pn-status { min-height: 20px; margin-top: 10px; font-size: 14px; }

.pn-news-page { padding: 40px 0 72px; }
.pn-news-list { display: grid; gap: 12px; padding: 34px; border: 1px solid rgba(0,207,255,.16); border-radius: 28px; background: linear-gradient(145deg, rgba(9,53,71,.94), rgba(8,34,55,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.24); }
.pn-news-list__item { display: grid; grid-template-columns: 172px minmax(0,1fr); min-height: 216px; overflow: hidden; border: 1px solid rgba(80,176,215,.32); border-radius: 20px; background: rgba(18,51,70,.78); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.pn-news-list__item:hover, .pn-news-list__item:focus-visible { border-color: rgba(255,79,138,.72); transform: translateY(-1px); }
.pn-news-list__media { position: relative; min-height: 216px; overflow: hidden; background: #0c1828; }
.pn-news-list__media img { width: 100%; height: 100%; object-fit: cover; }
.pn-news-list__media span { position: absolute; top: 14px; left: 12px; padding: 7px 12px; border-radius: 999px; background: linear-gradient(135deg, #2bb8ff, #ff4f8a); color: #07101d; font-size: 11px; font-weight: 950; letter-spacing: .03em; text-transform: uppercase; }
.pn-news-list__body { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 24px 16px; }
.pn-news-list__body time { color: #22d7ff; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.pn-news-list__body h2 { margin: 10px 0 8px; color: #fff; font-size: clamp(21px,2.2vw,29px); line-height: 1.08; letter-spacing: -.025em; }
.pn-news-list__body p { margin: 0; color: #d6dfec; font-size: 15px; line-height: 1.45; }
.pn-news-list__body strong { margin-top: 13px; color: #fff; font-size: 15px; }

.pn-article { padding: 38px 0 72px; }
.pn-article__card { padding: 46px 62px 58px; border: 1px solid rgba(255,120,70,.30); border-radius: 28px; background: rgba(7,7,21,.94); box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.pn-article__back { color: #55d9ff; font-size: 15px; font-weight: 800; text-decoration: none; }
.pn-article__header { max-width: 1050px; margin: 28px auto 32px; }
.pn-article__header h1 { margin: 0; color: #fff; font-size: clamp(38px,3.7vw,46px); line-height: 1.02; letter-spacing: -.045em; }
.pn-article__meta { display: flex; flex-wrap: wrap; gap: 18px 26px; margin-top: 28px; color: #9daac4; font-size: 15px; }
.pn-article__meta a { color: #55d9ff; text-decoration: none; }
.pn-article__hero { width: min(100%, 620px); margin: 0 auto 38px; overflow: hidden; border-radius: 3px; }
.pn-article__hero img { display: block; width: 100%; height: auto; }
.pn-article__content { max-width: 820px; margin: 0 auto; color: #f4f5fb; font-size: 20px; line-height: 1.62; }
.pn-article__content p { margin: 0 0 1.2em; }
.pn-article__content h2 { margin: 1.5em 0 .65em; color: #fff; font-size: clamp(28px,3vw,38px); line-height: 1.12; }
.pn-article__content a { color: #55d9ff; }
.pn-article__actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; max-width: 820px; margin: 42px auto 0; }
.pn-article__actions a { padding: 13px 18px; border: 1px solid rgba(43,184,255,.34); border-radius: 999px; background: rgba(43,184,255,.08); color: #fff; font-weight: 800; text-decoration: none; }
.pn-comments { max-width: 820px; margin: 54px auto 0; padding-top: 38px; border-top: 1px solid rgba(255,255,255,.12); }
.pn-comments h2 { margin: 0 0 28px; font-size: 34px; }
.pn-comments h3 { margin: 0 0 12px; font-size: 25px; }
.pn-comments p { color: #b7c1d5; font-size: 15px; }
.pn-comments form { display: grid; gap: 12px; margin-top: 24px; }
.pn-comments label { display: grid; gap: 7px; color: #e8edf7; font-size: 14px; font-weight: 700; }
.pn-comments textarea, .pn-comments input { width: 100%; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.06); color: #fff; font: inherit; }
.pn-comments textarea { min-height: 150px; padding: 14px; resize: vertical; }
.pn-comments input { min-height: 44px; padding: 9px 12px; }
.pn-comments__fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.pn-comments .pn-comments__remember { display: flex; align-items: center; gap: 9px; font-weight: 500; }
.pn-comments__remember input { width: auto; min-height: 0; }
.pn-comments button { justify-self: start; padding: 12px 18px; border: 0; border-radius: 999px; background: linear-gradient(135deg,#2bb8ff,#ff4f8a); color: #fff; font-weight: 850; opacity: .65; }

.pn-about { padding: 44px 0 72px; }
.pn-about__hero { max-width: 520px; }
.pn-about__eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #45dfff; font-size: 13px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pn-about__eyebrow i { width: 10px; height: 10px; border-radius: 50%; background: #45e89c; box-shadow: 0 0 14px rgba(69,232,156,.8); }
.pn-about__hero h1 { margin: 18px 0 24px; color: #fff; font-size: clamp(48px,5vw,66px); line-height: .88; letter-spacing: -.055em; }
.pn-about__hero > p { margin: 0; color: #d5d8e5; font-size: 20px; line-height: 1.55; }
.pn-about__grid { display: grid; grid-template-columns: 1.18fr .96fr; gap: 24px; align-items: start; margin-top: 36px; }
.pn-about__side { display: grid; gap: 24px; }
.pn-about__card { padding: 32px 30px; border: 1px solid rgba(43,184,255,.25); border-radius: 27px; background: linear-gradient(145deg,rgba(6,37,55,.93),rgba(5,9,24,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.24); }
.pn-about__card > span { color: #f7a33a; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pn-about__card h2 { margin: 26px 0 14px; color: #fff; font-size: clamp(30px,3vw,40px); line-height: 1.05; letter-spacing: -.035em; }
.pn-about__card p { margin: 0 0 18px; color: #cfd8e9; font-size: 17px; line-height: 1.62; }
.pn-about__identity blockquote { margin: 28px 0 0; padding: 20px 22px; border: 1px solid rgba(255,79,138,.24); border-radius: 18px; background: rgba(255,79,138,.08); color: #dce4f2; font-size: 16px; line-height: 1.5; }
.pn-about__identity blockquote strong { color: #fff; }
.pn-about__access > div { display: grid; gap: 10px; margin-top: 18px; }
.pn-about__access a { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.10); border-radius: 15px; background: rgba(255,255,255,.04); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.pn-about__access a:hover, .pn-about__access a:focus-visible { border-color: rgba(43,184,255,.65); transform: translateY(-1px); }
.pn-about__access strong { font-size: 17px; }
.pn-about__access small { color: #aebbd0; font-size: 14px; line-height: 1.4; }

.pn-contact { padding: 44px 0 72px; }
.pn-contact__hero { max-width: 520px; }
.pn-contact__eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #45dfff; font-size: 13px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pn-contact__eyebrow i { width: 10px; height: 10px; border-radius: 50%; background: #45e89c; box-shadow: 0 0 14px rgba(69,232,156,.8); }
.pn-contact__hero h1 { max-width: 8ch; margin: 18px 0 24px; color: #fff; font-size: clamp(48px,5vw,66px); line-height: .88; letter-spacing: -.055em; }
.pn-contact__hero > p { margin: 0; color: #d5d8e5; font-size: 20px; line-height: 1.55; }
.pn-contact__grid { display: grid; grid-template-columns: 1.2fr .96fr; gap: 24px; align-items: start; margin-top: 36px; }
.pn-contact__side { display: grid; gap: 24px; }
.pn-contact__card { padding: 32px 30px; border: 1px solid rgba(43,184,255,.25); border-radius: 27px; background: linear-gradient(145deg,rgba(6,37,55,.93),rgba(5,9,24,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.24); }
.pn-contact__card > span { color: #f7a33a; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pn-contact__card h2 { margin: 26px 0 14px; color: #fff; font-size: clamp(30px,3vw,40px); line-height: 1.05; letter-spacing: -.035em; }
.pn-contact__card p { margin: 0; color: #cfd8e9; font-size: 17px; line-height: 1.62; }
.pn-contact__links { display: grid; gap: 10px; margin-top: 22px; }
.pn-contact__links a { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.10); border-radius: 15px; background: rgba(255,255,255,.04); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.pn-contact__links a:hover, .pn-contact__links a:focus-visible { border-color: rgba(43,184,255,.65); transform: translateY(-1px); }
.pn-contact__links strong { font-size: 17px; }
.pn-contact__links small { color: #aebbd0; font-size: 14px; line-height: 1.4; }

@media (max-width: 920px) {
  .pn-header { position: sticky; }
  .pn-header__inner { min-height: 84px; padding-top: 8px; align-items: center; }
  .pn-brand { width: 210px; height: 64px; }
  .pn-brand img { height: 76px; }
  .pn-nav { padding-top: 22px; }
  .pn-nav a { padding: 8px 10px; }
  .pn-hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .pn-hero h1 { max-width: 13ch; }
  .pn-now__body { grid-template-columns: minmax(180px,240px) 1fr; }
}

@media (max-width: 640px) {
  .pn-brand { width: 175px; }
  .pn-brand img { height: 68px; }
  .pn-hero { padding-top: 38px; }
  .pn-hero h1 { font-size: 44px; }
  .pn-player { padding: 18px; }
  .pn-player__box { grid-template-columns: 54px 1fr; padding: 14px; }
  .pn-play { width: 52px; height: 52px; }
  .pn-volume { grid-template-columns: auto 1fr auto; }
  .pn-volume span { grid-column: 3; }
  .pn-mute { display: none; }
  .pn-now__body { grid-template-columns: 1fr; }
  .pn-now figure { max-width: 270px; }
  .pn-player--standalone { padding: 18px; }
  .pn-player--standalone .pn-player__top, .pn-player--standalone .pn-volume { grid-template-columns: 1fr; display: grid; justify-items: start; }
  .pn-player--standalone .pn-player__freq { text-align: left; }
  .pn-news-page { padding-top: 22px; }
  .pn-news-list { padding: 12px; border-radius: 20px; }
  .pn-news-list__item { grid-template-columns: 1fr; }
  .pn-news-list__media { min-height: 240px; }
  .pn-news-list__body { padding: 20px 18px 24px; }
  .pn-article { padding-top: 22px; }
  .pn-article__card { padding: 28px 18px 38px; border-radius: 20px; }
  .pn-article__header { margin-top: 22px; }
  .pn-article__header h1 { font-size: 38px; }
  .pn-article__content { font-size: 18px; }
  .pn-comments__fields { grid-template-columns: 1fr; }
  .pn-about { padding-top: 26px; }
  .pn-about__hero h1 { font-size: 48px; }
  .pn-about__grid { grid-template-columns: 1fr; }
  .pn-about__card { padding: 26px 20px; border-radius: 20px; }
  .pn-contact { padding-top: 26px; }
  .pn-contact__hero h1 { font-size: 48px; }
  .pn-contact__grid { grid-template-columns: 1fr; }
  .pn-contact__card { padding: 26px 20px; border-radius: 20px; }
}

@media (max-width: 520px) {
  .pn-player--standalone .pn-player__box { grid-template-columns: 1fr; gap: 12px; }
  .pn-player--standalone .pn-player__station { font-size: 18px; }
}
