/* =====================================================================
   Template "Palco" — filho do Estúdio. Carregado DEPOIS do CSS do Pulso e
   do Estúdio; o <body> tem tpl-estudio + tpl-palco, então tokens (--es-*),
   componentes es-* e correções das páginas internas vêm do Estúdio.
   Aqui ficam só o cabeçalho, o topo centralizado e as seções próprias.
   ===================================================================== */

.pc-wide { width: min(1320px, 100% - 40px); margin-inline: auto; }

/* ---------- Topo: faixa fina + cabeçalho transparente sobre a área escura ---------- */
.pc-top { position: absolute; z-index: 50; left: 0; right: 0; top: 0; }
body.player-top .pc-top { top: var(--player-height); }
.pc-strip { background: color-mix(in srgb, var(--es-dark-2) 80%, transparent); color: rgba(255, 255, 255, 0.85); font: 500 12px/1 var(--es-font); }
.pc-strip .pc-wide { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 36px; }
.pc-strip nav a { padding: 0 12px; border-right: 1px solid rgba(255, 255, 255, 0.25); color: inherit; }
.pc-strip nav a:first-child { padding-left: 0; }
.pc-strip nav a:last-child { border-right: 0; }
.pc-strip a:hover { color: #fff; }
.pc-strip-right { display: inline-flex; align-items: center; gap: 8px; }
.pc-onair { display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; }
.pc-round { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, 0.95); color: var(--es-dark) !important; font-size: 11px; }
.pc-header.es-header { height: auto; padding: 0; border-radius: 0; background: transparent; box-shadow: none; color: #fff; }
.pc-header-inner { display: flex; align-items: center; gap: 20px; min-height: 76px; }
.pc-header .es-nav a, .pc-header .es-more-btn { color: #fff; }
.pc-header .es-nav a:hover, .pc-header .es-nav a.active, .pc-header .es-more-btn.active { color: var(--es-accent); }
.pc-header .es-dropdown a { color: #13292c; }
.pc-header.es-header.is-stuck { position: fixed; z-index: 900; left: 0; right: 0; top: 0; width: 100%; transform: none; border-radius: 0; background: color-mix(in srgb, var(--es-dark) 96%, transparent); backdrop-filter: blur(10px); box-shadow: 0 14px 30px -20px rgba(0, 0, 0, 0.7); animation: pc-drop .25s ease; }
@keyframes pc-drop { from { transform: translateY(-100%); } }
body.player-top .pc-header.es-header.is-stuck { top: var(--player-height); }
.pc-cta { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 11px 20px; border: 0; border-radius: 999px; background: #fff; color: var(--es-dark); font: 700 11.5px/1 var(--es-font); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.pc-cta:hover { background: var(--es-accent); color: #fff; }
.pc-burger.es-burger { background: transparent; border-color: rgba(255, 255, 255, 0.4); color: #fff; }
.pc-page-band.es-page-band { padding-top: 150px; }
body.player-top .pc-page-band.es-page-band { padding-top: calc(150px + var(--player-height)); }

/* ---------- Topo centralizado ---------- */
.pc-hero { position: relative; padding: 170px 0 190px; background: var(--es-dark); color: #fff; text-align: center; overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 78%, 82% 100%, 18% 100%, 0 78%); }
body.player-top .pc-hero { padding-top: calc(170px + var(--player-height)); }
.pc-hero.is-inline, body.player-top .pc-hero.is-inline { padding-top: 80px; }
.pc-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .2; filter: grayscale(.3); }
.pc-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 50% 40%, transparent, var(--es-dark) 85%); pointer-events: none; }
.pc-hero-inner { position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px; }
.pc-hero-kicker { max-width: 560px; color: rgba(255, 255, 255, 0.85); font-size: 14px; line-height: 1.6; margin-bottom: 8px; }
.pc-hero-title { color: var(--es-accent) !important; font: 700 clamp(44px, 6.4vw, 86px)/0.95 var(--es-display); text-transform: uppercase; letter-spacing: .01em; text-wrap: balance; }
.pc-hero-line2 { color: #fff; font: 600 clamp(28px, 3.6vw, 48px)/1.05 var(--es-display); }
.pc-hero-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px; width: min(100%, 900px); margin-top: 26px; }
.pc-video-pill { position: relative; display: grid; place-items: center; width: 170px; height: 64px; overflow: hidden; border-radius: 999px; border: 4px solid #fff; background: var(--es-dark-2); color: #fff; }
.pc-video-pill img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.pc-video-pill i { position: relative; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--es-accent); padding-left: 2px; font-size: 11px; }
.pc-doodle { width: 74px; color: var(--es-accent); margin-right: auto; }

/* Card flutuante do último episódio */
.pc-feature-wrap { position: relative; z-index: 3; margin-top: -150px; }
.pc-feature-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; border-radius: 6px; background: var(--es-surface); box-shadow: 0 30px 60px -30px rgba(15, 49, 53, 0.55); }
.pc-feature-text { position: relative; display: grid; gap: 10px; justify-items: start; padding: 10px 0 34px 14px; }
.pc-feature-stats { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--es-dim); font-size: 12px; }
.pc-feature-stats i { color: var(--es-accent); margin-right: 3px; }
.pc-play-line { display: inline-flex; align-items: center; gap: 10px; border: 0; background: none; padding: 0; color: var(--es-accent); font: 700 11px/1 var(--es-font); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.es-round-play.is-dark { background: var(--es-dark-2); }
.pc-feature-wave { position: absolute; left: 14px; right: -40%; bottom: 0; display: flex; align-items: flex-end; gap: 2px; height: 30px; z-index: 2; }
.pc-feature-wave i { flex: 1; height: var(--h); background: var(--es-dark-2); opacity: .55; animation: es-wave 1s ease-in-out infinite alternate paused; animation-delay: calc(var(--i) * -37ms); }
body.is-radio-playing .pc-feature-wave i { animation-play-state: running; background: var(--es-accent); opacity: .9; }
.pc-feature-img { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px; }
.pc-feature-img img { width: 100%; height: 100%; object-fit: cover; }
.pc-feature-wrap + * { padding-top: 70px; }

/* Séries */
.pc-series { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pc-serie { display: grid; gap: 12px; color: var(--es-text); }
.pc-serie-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; }
.pc-serie-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pc-serie:hover .pc-serie-img img { transform: scale(1.05); }
.pc-serie strong { font: 600 21px/1.15 var(--es-display); }
.pc-serie-foot { display: flex; align-items: center; gap: 10px; padding-right: 14px; border-radius: 999px; background: var(--es-bg-2); }
.pc-serie-foot small { margin-left: auto; color: var(--es-dim); font-size: 12px; }

/* Faixa de chamada */
.pc-cta-band { position: relative; overflow: hidden; padding: 64px 0; background: radial-gradient(ellipse 50% 120% at 85% 50%, var(--es-dark-2), transparent 70%), var(--es-dark); color: #fff; }
.pc-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.pc-cta-band p { color: rgba(255, 255, 255, 0.75); }

/* O melhor lugar para ouvir */
.pc-listen { background: radial-gradient(circle at 80% 30%, var(--es-bg-2) 0 30%, transparent 31%), var(--es-bg); }
.pc-listen-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 60px; align-items: center; }
.pc-arch { position: relative; justify-self: center; width: min(100%, 380px); aspect-ratio: 0.85; }
.pc-arch::before { content: ''; position: absolute; inset: -14px -14px -14px 14px; border: 1px solid var(--es-line-2); border-radius: 0 999px 999px 0; }
.pc-arch-img { position: absolute; inset: 0 12% 0 0; overflow: hidden; display: grid; place-items: center; border-radius: 0 999px 999px 0; background: var(--es-dark-2); color: #fff; font-size: 80px; }
.pc-arch-img img { width: 100%; height: 100%; object-fit: cover; }
.pc-arch-wave { position: absolute; z-index: 2; left: -22%; top: 8%; display: flex; align-items: center; gap: 3px; width: 58%; height: 50px; }
.pc-arch-wave i { flex: 1; height: var(--h); background: var(--es-accent); border-radius: 2px; }
.pc-mini-player { position: absolute; z-index: 2; right: -8%; bottom: 6%; display: grid; gap: 8px; width: 62%; padding: 14px 16px; background: var(--es-dark); color: #fff; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.7); }
.pc-mini-title { font: 600 12.5px/1.3 var(--es-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-mini-bar { position: relative; height: 3px; background: rgba(255, 255, 255, 0.25); }
.pc-mini-bar span { position: absolute; left: 0; top: 0; bottom: 0; width: 30%; background: var(--es-accent); }
body.is-radio-playing .pc-mini-bar span { animation: pc-progress 6s linear infinite; }
@keyframes pc-progress { from { width: 0; } to { width: 100%; } }
.pc-mini-controls { display: flex; justify-content: center; align-items: center; gap: 22px; }
.pc-mini-controls button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #fff; color: var(--es-dark); cursor: pointer; padding-left: 2px; }
.pc-listen-text { display: grid; gap: 14px; justify-items: start; }
.pc-listen-text p { color: var(--es-muted); font-size: 14.5px; line-height: 1.7; }
.pc-listen-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.pc-howto { display: inline-flex; align-items: center; gap: 8px; color: var(--es-text); font: 600 13px/1 var(--es-font); }

/* Vídeos: foto inclinada + lista */
.pc-explore { padding: 80px 0; background: linear-gradient(90deg, var(--es-bg-2) 68%, var(--es-bg) 68%); }
.pc-explore-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 50px; align-items: center; }
.pc-explore-left { display: grid; gap: 14px; justify-items: start; }
.pc-explore-left > p { color: var(--es-muted); font-size: 14px; line-height: 1.7; }
.pc-tilted.es-video-feature { width: min(100%, 420px); min-height: 0; aspect-ratio: 16 / 10; margin: 18px 0 10px 18px; transform: rotate(-4deg); border-radius: 6px; box-shadow: -18px 0 0 var(--es-accent), 0 30px 50px -30px rgba(0, 0, 0, 0.6); }
.pc-tilted .es-video-feature-body { padding: 18px; }
.pc-tilted .es-video-feature-body h3 { font-size: 20px; }
.pc-tilted.is-playing { transform: none; box-shadow: 0 30px 50px -30px rgba(0, 0, 0, 0.6); width: 100%; }
.pc-episode-list { display: grid; padding: 10px 24px; border-radius: 6px; background: var(--es-surface); box-shadow: 0 30px 60px -30px rgba(15, 49, 53, 0.45); }
.pc-ep-row { display: flex; align-items: center; gap: 16px; width: 100%; padding: 20px 0; border: 0; border-bottom: 1px solid var(--es-line); background: none; color: var(--es-text); text-align: left; cursor: pointer; }
.pc-ep-row:last-child { border-bottom: 0; }
.pc-ep-play { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; border: 2px solid var(--es-accent); color: var(--es-accent); padding-left: 2px; box-shadow: 0 10px 20px -10px color-mix(in srgb, var(--es-accent) 80%, transparent); transition: background .2s, color .2s; }
.pc-ep-row:hover .pc-ep-play { background: var(--es-accent); color: #fff; }
.pc-ep-row span:last-child { display: grid; gap: 3px; }
.pc-ep-row small { color: var(--es-dim); font-size: 11.5px; }
.pc-ep-row strong { font: 600 19px/1.15 var(--es-display); }

/* Notícias com texto sobre a imagem */
.pc-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pc-post { position: relative; display: flex; align-items: flex-end; min-height: 360px; overflow: hidden; border-radius: 6px; background: var(--es-dark); color: #fff; }
.pc-post img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pc-post:hover img { transform: scale(1.05); }
.pc-post::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, color-mix(in srgb, var(--es-dark) 96%, transparent) 12%, transparent 65%); }
.pc-post-date { position: absolute; z-index: 1; top: 14px; right: 14px; display: grid; justify-items: center; padding: 8px 10px; border-radius: 10px 10px 10px 0; background: var(--es-accent); }
.pc-post-date small { font: 600 11px/1 var(--es-font); text-transform: uppercase; }
.pc-post-date strong { font: 700 22px/1 var(--es-display); }
.pc-post-body { position: relative; z-index: 1; display: grid; gap: 8px; padding: 22px; }
.pc-post-body strong { font: 600 22px/1.15 var(--es-display); }
.pc-post-body small { color: rgba(255, 255, 255, 0.75); font-size: 12px; }

/* Parceiros: título + grade */
.pc-partners { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.pc-partners > div:first-child { display: grid; gap: 10px; justify-items: start; }
.pc-partner-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

/* Plataformas (seção clara) e faixa de contato */
.pc-platforms { padding: 60px 0; background: var(--es-bg); border-top: 1px solid var(--es-line); }
.pc-platforms-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.pc-platform-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 24px; }
.pc-platform-list a { display: inline-flex; align-items: center; gap: 10px; color: var(--es-text); transition: color .2s; }
.pc-platform-list a:hover { color: var(--es-accent); }
.pc-platform-list i { font-size: 28px; color: var(--es-muted); }
.pc-platform-list span { display: grid; line-height: 1.1; }
.pc-platform-list small { color: var(--es-dim); font-size: 10.5px; }
.pc-platform-list strong { font: 600 16px/1.15 var(--es-font); }
.pc-contact-band { padding: 46px 0; background: radial-gradient(ellipse 40% 120% at 90% 50%, var(--es-dark-2), transparent 70%), var(--es-dark); color: #fff; }
.pc-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.pc-contact-inner h2 { color: #fff !important; font: 700 clamp(26px, 3vw, 34px)/1.1 var(--es-display); margin-top: 4px; }
.pc-contact-box { display: flex; align-items: center; gap: 16px; padding: 8px 8px 8px 22px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.8); font-size: 13px; }
.pc-contact-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; background: #fff; color: var(--es-dark); font: 700 11.5px/1 var(--es-font); letter-spacing: .06em; text-transform: uppercase; }
.pc-contact-btn:hover { background: var(--es-accent); color: #fff; }

/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
    .pc-strip nav { display: none; }
    .pc-header .es-nav { background: var(--es-dark); }
    .pc-header .es-nav a { color: #fff; }
    .pc-cta { margin-left: auto; }
    .pc-hero { padding-bottom: 170px; clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%); }
    .pc-feature-card, .pc-listen-grid, .pc-explore-grid, .pc-partners, .pc-platforms-grid { grid-template-columns: minmax(0, 1fr); }
    .pc-feature-wave { right: 0; }
    .pc-series, .pc-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-explore { background: var(--es-bg-2); }
    .pc-hero-row { justify-content: center; }
    .pc-doodle { display: none; }
}
@media (max-width: 640px) {
    .pc-wide { width: calc(100% - 28px); }
    .pc-onair { display: none; }
    .pc-cta { padding: 10px 12px; font-size: 10.5px; }
    .pc-hero { padding-top: 150px; }
    .pc-series, .pc-posts, .pc-platform-list { grid-template-columns: minmax(0, 1fr); }
    .pc-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-feature-card { padding: 18px; }
    .pc-arch { width: 86%; }
    .pc-mini-player { right: -4%; width: 70%; }
    .pc-contact-box { flex-direction: column; align-items: stretch; border-radius: 16px; padding: 14px; }
}
