/* =====================================================================
   Template "Estúdio" — estúdio de podcast: faixas escuras esverdeadas +
   seções claras, títulos condensados e destaque na cor da paleta
   (--secondary-color; fica como a referência com a paleta "Laranja").
   Carregado DEPOIS do CSS do Pulso (pai): remapeia os tokens --pl-* para
   as páginas internas e corrige os textos que o Pulso fixa claros.
   ===================================================================== */

:root {
    --es-dark: color-mix(in srgb, #0f3135 88%, var(--primary-color));
    --es-dark-2: color-mix(in srgb, #15454a 88%, var(--primary-color));
    --es-accent: var(--secondary-color);
    --es-accent-soft: color-mix(in srgb, var(--secondary-color) 14%, transparent);
    --es-bg: #ffffff;
    --es-bg-2: #f3f6f6;
    --es-surface: #ffffff;
    --es-line: #e3e9ea;
    --es-line-2: #d2dbdc;
    --es-text: #13292c;
    --es-text-2: #364b4e;
    --es-muted: #607275;
    --es-dim: #8c9a9c;
    --es-shadow: 0 2px 4px rgba(15, 49, 53, 0.04), 0 18px 34px -24px rgba(15, 49, 53, 0.35);
    --es-radius: 14px;
    --es-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    --es-font: 'Inter', 'Segoe UI', system-ui, sans-serif;
    --es-container: 1160px;

    --pl-bg: var(--es-bg);
    --pl-bg-2: var(--es-bg-2);
    --pl-surface: var(--es-surface);
    --pl-surface-2: var(--es-surface);
    --pl-surface-3: var(--es-line);
    --pl-line: var(--es-line);
    --pl-line-2: var(--es-line-2);
    --pl-text: var(--es-text);
    --pl-muted: var(--es-muted);
    --pl-dim: var(--es-dim);
    --pl-accent-soft: var(--es-accent-soft);
    --pl-font-display: var(--es-display);
    --pl-font-body: var(--es-font);
    --pl-radius: var(--es-radius);
    --pl-container: var(--es-container);
    --pl-header-h: 80px;
    --pl-shadow: var(--es-shadow);
    --player-height: 78px;
}

body.theme-dark {
    --es-bg: #0b1b1e;
    --es-bg-2: #0f2427;
    --es-surface: #12292d;
    --es-line: #1f3d42;
    --es-line-2: #2a4f55;
    --es-text: #eaf3f4;
    --es-text-2: #c8d8da;
    --es-muted: #93aaad;
    --es-dim: #6c8588;
    --es-accent-soft: color-mix(in srgb, var(--secondary-color) 22%, transparent);
    --es-shadow: 0 18px 34px -24px rgba(0, 0, 0, 0.8);
    color-scheme: dark;
}

body.tpl-estudio { background: var(--es-bg); color: var(--es-text); font-family: var(--es-font); overflow-x: clip; }
.tpl-estudio h1, .tpl-estudio h2, .tpl-estudio h3, .tpl-estudio h4 { font-family: var(--es-display); letter-spacing: 0; color: var(--es-text); }

/* Correções sobre o CSS do Pulso */
.tpl-estudio .pl-prose, .tpl-estudio .pl-comment p, .tpl-estudio .pl-cta p { color: var(--es-text-2); }
.tpl-estudio .pl-article-lead { color: var(--es-muted); }
.tpl-estudio .pl-form input, .tpl-estudio .pl-form textarea { background: var(--es-bg-2); border-color: var(--es-line-2); }
.tpl-estudio .poll-option { background: var(--es-bg-2); border-color: var(--es-line); }
.tpl-estudio .poll-result-bar { background: var(--es-line); }
.tpl-estudio .pl-card, .tpl-estudio .pl-btn, .tpl-estudio .pl-icon-btn, .tpl-estudio .pl-share-btn { background: var(--es-surface); }
.tpl-estudio .pl-btn-primary { background: var(--es-accent); color: #fff; }
.tpl-estudio .pl-partner-cta, .tpl-estudio .pl-chip.active, .tpl-estudio .pl-pagination a.active { color: #fff; }
.tpl-estudio .pl-onair-card { background: linear-gradient(160deg, var(--es-dark), var(--es-dark-2)); border-color: transparent; }
.tpl-estudio .pl-onair-card, .tpl-estudio .pl-onair-card .pl-onair-program { color: #fff; }
.tpl-estudio .pl-onair-card .pl-onair-host { color: rgba(255, 255, 255, 0.7); }
.tpl-estudio .pl-partner { background: radial-gradient(ellipse 70% 90% at 100% 0%, var(--es-accent-soft), transparent 70%), var(--es-surface); }
.tpl-estudio .pl-promo, .tpl-estudio .pl-ep, .tpl-estudio .pl-news-card, .tpl-estudio .pl-event { box-shadow: var(--es-shadow); }
.tpl-estudio .pl-title-icon, .tpl-estudio .pl-tag { background: var(--es-accent-soft); color: var(--es-accent); }
.tpl-estudio .pl-eyebrow, .tpl-estudio .pl-promo-deadline { color: var(--es-accent); }
.tpl-estudio .pl-weather-temp { color: var(--es-text); }
.tpl-estudio .pl-donate { background: radial-gradient(ellipse 55% 140% at 100% 50%, var(--es-accent-soft), transparent 70%), var(--es-surface); border-color: var(--es-line); }
.tpl-estudio .pl-app { background: var(--es-surface); }
.tpl-estudio .pl-page-title, .tpl-estudio .pl-article-title { font-weight: 700; letter-spacing: 0; }

.es-container { width: min(var(--es-container), 100% - 40px); margin-inline: auto; }
.es-main { display: block; min-height: 40vh; transition: opacity .2s; }
.es-main.is-loading { opacity: .5; pointer-events: none; }

/* ---------- Átomos ---------- */
.es-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--es-accent); font: 600 14px/1.2 var(--es-font); }
.es-eyebrow.is-big { font: 700 22px/1.1 var(--es-display); text-transform: uppercase; letter-spacing: .02em; }
.es-title { font: 700 clamp(28px, 3.4vw, 40px)/1.08 var(--es-display); margin-top: 6px; }
.es-title.is-small { font-size: clamp(24px, 2.6vw, 30px); }
.es-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border: 0; border-radius: 999px; cursor: pointer;
    background: var(--es-dark); color: #fff; font: 700 12px/1 var(--es-font); letter-spacing: .08em; text-transform: uppercase; transition: background .2s, transform .15s;
}
.es-btn:hover { background: var(--es-accent); transform: translateY(-1px); }
.es-btn.is-small { padding: 10px 16px; }
.es-btn.is-light { background: #fff; color: var(--es-dark); pointer-events: none; }
.es-btn.is-outline { background: transparent; border: 1.5px solid var(--es-line-2); color: var(--es-text); }
.es-btn.is-outline:hover { border-color: var(--es-accent); color: #fff; background: var(--es-accent); }
.es-btn-block { width: 100%; }
.es-mini-btn { display: inline-flex; padding: 7px 14px; border-radius: 999px; background: #fff; color: var(--es-dark); font: 700 10.5px/1 var(--es-font); font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.es-mini-btn.is-dark { background: var(--es-dark); color: #fff; }
.es-tag { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: var(--es-dark-2); color: #fff; font: 600 10.5px/1.2 var(--es-font); }
.es-link-more { color: var(--es-muted); font: 600 13px/1 var(--es-font); white-space: nowrap; }
.es-link-more::after { content: ' →'; }
.es-link-more:hover { color: var(--es-accent); }
.es-card { background: var(--es-surface); border: 1px solid var(--es-line); border-radius: var(--es-radius); padding: 26px; box-shadow: var(--es-shadow); }
.es-center { display: flex; justify-content: center; margin-top: 26px; }
.es-icon-btn { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: var(--es-muted); cursor: pointer; }
.es-icon-btn:hover { color: var(--es-text); background: var(--es-bg-2); }

/* ---------- Topo: barra de info, cabeçalho em card, sub-barra ---------- */
/* Cabeçalho SEMPRE sobreposto: toda página começa com uma faixa escura (topo da Home ou .es-page-band). */
.es-top { position: absolute; z-index: 50; left: 0; right: 0; top: 0; padding-top: 14px; }
body.player-top .es-top { top: var(--player-height); }
.es-infobar { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 7px 16px; border-radius: 10px 10px 0 0; background: var(--es-accent); color: #fff; font: 500 12px/1.2 var(--es-font); }
.es-infobar a { color: #fff; }
.es-infobar .pl-dot { background: #fff; }
.es-header {
    display: flex; align-items: center; gap: 20px; height: 70px; padding: 0 18px 0 22px; background: #fff; color: #13292c;
    border-radius: 0 12px 12px 12px; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, 0.5); transition: box-shadow .2s;
}
.es-header.is-stuck { position: fixed; z-index: 900; top: 0; left: 50%; transform: translateX(-50%); width: min(var(--es-container), 100% - 20px); border-radius: 0 0 12px 12px; animation: es-drop .25s ease; }
body.player-top .es-header.is-stuck { top: var(--player-height); }
@keyframes es-drop { from { transform: translate(-50%, -100%); } }
.es-logo { display: inline-flex; align-items: center; gap: 10px; flex: none; color: #13292c; }
.es-logo img { height: 44px; width: auto; max-width: 160px; object-fit: contain; }
.es-logo-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--es-accent); color: #fff; font-size: 17px; }
.es-logo-text { font: 700 24px/1 var(--es-display); }
.es-logo.is-light, .es-logo.is-light .es-logo-text { color: #fff; }
.es-nav { flex: 1; min-width: 0; display: flex; justify-content: center; }
.es-nav > ul { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.es-nav a, .es-more-btn { display: inline-flex; align-items: center; gap: 5px; padding: 8px 11px; border: 0; background: none; color: #13292c; font: 600 12px/1 var(--es-font); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; cursor: pointer; border-radius: 8px; }
.es-nav a:hover, .es-more-btn:hover, .es-nav a.active, .es-more-btn.active { color: var(--es-accent); }
.es-more { position: relative; }
.es-more-btn i { font-size: 9px; transition: transform .2s; }
.es-more.is-open .es-more-btn i { transform: rotate(180deg); }
.es-dropdown { position: absolute; left: 0; top: calc(100% + 14px); min-width: 210px; list-style: none; margin: 0; padding: 8px; border-radius: 10px; background: #fff; box-shadow: 0 24px 44px -20px rgba(0, 0, 0, 0.45); border-top: 3px solid var(--es-accent); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all .18s; }
.es-more.is-open .es-dropdown { opacity: 1; visibility: visible; transform: none; }
.es-dropdown a { display: flex; width: 100%; padding: 10px 12px; }
.es-cta { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 11px 18px; border: 0; border-radius: 999px; background: var(--es-dark); color: #fff; font: 700 11.5px/1 var(--es-font); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.es-cta:hover { background: var(--es-accent); }
.es-burger { display: none; width: 42px; height: 42px; border: 1px solid #d2dbdc; border-radius: 10px; background: #fff; color: #13292c; }
.es-subbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: fit-content; margin: 0 0 0 auto; padding: 8px 18px; border-radius: 0 0 10px 10px; background: var(--es-dark-2); color: rgba(255, 255, 255, 0.85); font: 500 12px/1 var(--es-font); }
.es-subbar nav { display: flex; gap: 0; }
.es-subbar nav a { padding: 0 12px; border-right: 1px solid rgba(255, 255, 255, 0.25); color: inherit; }
.es-subbar nav a:last-child { border-right: 0; }
.es-subbar a:hover { color: #fff; }
.es-subbar-social { display: inline-flex; gap: 12px; padding-left: 10px; }
.es-subbar-social a { color: #fff; }
.es-page-band { padding: 196px 0 34px; background: radial-gradient(ellipse 50% 120% at 100% 0%, var(--es-dark-2), transparent 70%), var(--es-dark); }

/* ---------- Hero ---------- */
.es-hero { position: relative; overflow: hidden; padding: 210px 0 0; background: var(--es-dark); color: #fff; }
body.player-top .es-hero { padding-top: calc(210px + var(--player-height)); }
.es-hero.is-inline, body.player-top .es-hero.is-inline { padding-top: 80px; }
.es-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(.4); opacity: .22; }
.es-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--es-dark) 25%, color-mix(in srgb, var(--es-dark) 55%, transparent)); pointer-events: none; }
.es-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 40px; align-items: center; padding-bottom: 70px; }
.es-hero-grid.no-image { grid-template-columns: minmax(0, 1fr); }
.es-hero-text { display: grid; gap: 14px; justify-items: start; }
.es-hero-title { color: #fff !important; font: 600 clamp(46px, 6.2vw, 84px)/0.98 var(--es-display); text-wrap: balance; max-width: 14ch; }
.es-hero-sub { color: rgba(255, 255, 255, 0.8); font-size: 15px; }
.es-hero-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.es-pill { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border: 0; border-radius: 999px; background: var(--es-dark-2); color: #fff; font: 700 11px/1 var(--es-font); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.es-pill:hover, .es-pill.is-solid { background: var(--es-accent); }
.es-hero-photo { position: relative; justify-self: center; width: min(100%, 360px); aspect-ratio: 1; margin: 0; transform: rotate(4deg); }
.es-hero-photo::before { content: ''; position: absolute; inset: -14px -14px 14px 14px; background: var(--es-accent); z-index: -1; transform: rotate(-2deg); }
.es-hero-photo img { width: 100%; height: 100%; object-fit: cover; border: 8px solid #fff; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6); }
.es-nowbar {
    position: relative; z-index: 2; display: flex; align-items: center; gap: 16px; margin-bottom: -38px; padding: 12px 22px 12px 12px;
    border-radius: 999px; background: #fff; color: #13292c; box-shadow: 0 22px 40px -22px rgba(0, 0, 0, 0.5);
}
.es-hero { overflow: visible; }
.es-nowbar-art { display: grid; place-items: center; width: 46px; height: 46px; flex: none; overflow: hidden; border-radius: 50%; background: #f3f6f6; color: var(--es-accent); }
.es-nowbar-art img { width: 100%; height: 100%; object-fit: cover; }
.es-nowbar-text { display: grid; min-width: 0; flex: 0 1 260px; }
.es-nowbar-text small { color: #8c9a9c; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.es-nowbar-text strong { font: 700 15px/1.2 var(--es-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-diamond { position: relative; display: grid; place-items: center; width: 50px; height: 50px; flex: none; border: 0; background: none; color: #fff; cursor: pointer; }
.es-diamond::before { content: ''; position: absolute; inset: 4px; background: var(--es-accent); transform: rotate(45deg); border-radius: 8px; box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--es-accent) 80%, transparent); }
.es-diamond i { position: relative; margin-left: 2px; }
.es-nowbar-wave { flex: 1; display: flex; align-items: center; gap: 3px; height: 30px; min-width: 0; overflow: hidden; }
.es-nowbar-wave i { flex: 1; min-width: 2px; height: var(--h); border-radius: 2px; background: color-mix(in srgb, var(--es-accent) 55%, #fff); animation: es-wave 1s ease-in-out infinite alternate paused; animation-delay: calc(var(--i) * -55ms); }
body.is-radio-playing .es-nowbar-wave i, body.is-radio-playing .es-player-wave span { animation-play-state: running; background: var(--es-accent); }
@keyframes es-wave { from { transform: scaleY(.35); } to { transform: scaleY(1.1); } }
.es-nowbar-live { flex: none; display: inline-flex; align-items: center; gap: 6px; color: #8c9a9c; font: 700 11px/1 var(--es-font); letter-spacing: .08em; }
.es-main > .es-hero + * { padding-top: 90px; }

/* ---------- Seções ---------- */
.es-section { padding: 80px 0; background: var(--es-bg); }
.es-section.is-tight { padding: 44px 0; }
.es-section.is-dark { background: radial-gradient(ellipse 60% 80% at 90% 10%, var(--es-dark-2), transparent 70%), var(--es-dark); color: #fff; }
.es-section.is-dark .es-title, .es-section.is-dark h3 { color: #fff; }
.es-section.is-dark .es-link-more { color: rgba(255, 255, 255, 0.75); }
.es-section.is-dark p { color: rgba(255, 255, 255, 0.75); }
.es-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 30px; }
.es-head.is-center { justify-content: center; text-align: center; }
.es-head.is-center .es-eyebrow { justify-content: center; }

/* Banner sozinho */
.es-banner { position: relative; aspect-ratio: 1160 / 380; overflow: hidden; border-radius: var(--es-radius); background: var(--es-bg-2); }
.es-banner-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s, visibility .7s; }
.es-banner-slide.active { opacity: 1; visibility: visible; }
.es-banner-slide img { width: 100%; height: 100%; object-fit: cover; }
.es-banner-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; }

/* Sobre: moldura de microfone */
.es-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.es-mic { position: relative; justify-self: center; width: min(100%, 380px); aspect-ratio: 0.82; }
.es-mic-head { position: absolute; left: 22%; top: 0; width: 56%; height: 70%; overflow: hidden; display: grid; place-items: center; border-radius: 999px 999px 120px 120px; border: 10px solid var(--es-dark); background: linear-gradient(160deg, var(--es-accent), var(--es-dark-2)); color: #fff; font-size: 70px;
    box-shadow: inset 0 0 0 6px color-mix(in srgb, var(--es-dark) 30%, transparent); }
.es-mic-head img { width: 100%; height: 100%; object-fit: cover; }
.es-mic-yoke { position: absolute; left: 12%; top: 34%; width: 76%; height: 44%; border: 9px solid var(--es-dark); border-top: 0; border-radius: 0 0 999px 999px; }
.es-mic-stand { position: absolute; left: calc(50% - 5px); top: 78%; width: 10px; height: 14%; background: var(--es-dark); }
.es-mic-base { position: absolute; left: 26%; bottom: 0; width: 48%; height: 10px; border-radius: 999px; background: var(--es-dark); }
.es-note { position: absolute; color: var(--es-dark); font-size: 40px; }
.es-note.n1 { left: -4%; top: 22%; transform: rotate(-12deg); }
.es-note.n2 { right: -2%; top: 36%; font-size: 28px; color: var(--es-accent); }
.es-note.n3 { left: 2%; bottom: 8%; font-size: 34px; color: var(--es-dark-2); }
.es-about-text { display: grid; gap: 14px; justify-items: start; }
.es-about-text p { color: var(--es-muted); font-size: 14.5px; line-height: 1.7; }
.es-checklist { list-style: none; margin: 4px 0 8px; padding: 0; display: grid; gap: 10px; }
.es-checklist a { display: flex; align-items: center; gap: 10px; color: var(--es-text); font: 600 14px/1.3 var(--es-font); }
.es-checklist i { color: var(--es-accent); }
.es-checklist a:hover { color: var(--es-accent); }
.es-today { margin-top: 70px; }
.es-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 230px); gap: 14px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.es-slot { position: relative; display: grid; gap: 4px; padding: 18px; border-radius: var(--es-radius); background: var(--es-bg-2); border: 1px solid var(--es-line); scroll-snap-align: start; }
.es-slot.is-now { background: var(--es-dark); border-color: var(--es-dark); }
.es-slot.is-now strong, .es-slot.is-now small { color: #fff; }
.es-slot-time { color: var(--es-accent); font: 700 20px/1 var(--es-display); }
.es-slot strong { font: 700 18px/1.15 var(--es-display); color: var(--es-text); }
.es-slot small { color: var(--es-muted); font-size: 12.5px; }
.es-slot em { position: absolute; top: 14px; right: 14px; padding: 3px 8px; border-radius: 999px; background: var(--es-accent); color: #fff; font: 700 10px/1.2 var(--es-font); font-style: normal; text-transform: uppercase; }

/* Episódios (fundo escuro) */
.es-episodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.es-episode { display: grid; gap: 10px; justify-items: center; padding: 14px 14px 22px; text-align: center; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.02); color: #fff; transition: border-color .2s, transform .2s; }
.es-episode:hover { border-color: var(--es-accent); transform: translateY(-3px); }
.es-episode-img { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 18px; }
.es-episode-img img { width: 100%; height: 100%; object-fit: cover; }
.es-episode-play { position: absolute; left: 50%; bottom: -20px; transform: translateX(-50%); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--es-accent); color: #fff; padding-left: 3px; box-shadow: 0 0 0 6px var(--es-dark); }
.es-episode small { color: var(--es-accent); font: 600 12px/1.2 var(--es-font); }
.es-episode strong { font: 700 21px/1.15 var(--es-display); }

/* Vídeos */
.es-videos { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 22px; align-items: stretch; }
.es-videos.is-single { grid-template-columns: minmax(0, 760px); justify-content: center; }
.es-video-list { display: grid; gap: 22px; }
.es-video-card { display: grid; gap: 10px; align-content: start; justify-items: start; padding: 22px; border-radius: var(--es-radius); border: 1px solid var(--es-line); background: var(--es-surface); box-shadow: var(--es-shadow); }
.es-video-card h3 { font-size: 22px; font-weight: 700; line-height: 1.15; }
.es-video-card p { color: var(--es-muted); font-size: 13.5px; }
.es-video-card-foot { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.es-round-play { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border: 0; border-radius: 50%; background: var(--es-accent); color: #fff; padding-left: 2px; cursor: pointer; }
.es-wave-deco { flex: 1; display: flex; align-items: center; gap: 3px; height: 26px; opacity: .35; }
.es-wave-deco i { flex: 1; height: var(--h); background: var(--es-dim); border-radius: 2px; }
.es-video-feature { position: relative; display: flex; align-items: flex-end; min-height: 380px; overflow: hidden; border-radius: var(--es-radius); background: var(--es-dark); color: #fff; }
.es-video-feature-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.es-video-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, var(--es-dark) 8%, transparent 70%); }
.es-video-feature-body { position: relative; z-index: 1; display: grid; gap: 10px; justify-items: start; padding: 28px; }
.es-video-feature-body h3 { color: #fff; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; line-height: 1.1; }
.es-video-meta { color: rgba(255, 255, 255, 0.7); font-size: 12.5px; }
.es-video-feature.is-playing { display: block; aspect-ratio: 16 / 9; min-height: 0; }
.es-video-feature.is-playing::after { display: none; }
.es-video-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Faixa diagonal */
.es-band { position: relative; z-index: 2; margin: 10px 0 30px; padding: 18px 0; background: var(--es-dark-2); transform: rotate(-2deg); overflow: hidden; box-shadow: 0 -24px 0 var(--es-dark) inset; }
.es-band-track { overflow: hidden; }
.es-band-run { display: inline-flex; align-items: center; gap: 22px; white-space: nowrap; animation: es-marquee 40s linear infinite; }
.es-band-run span { color: rgba(255, 255, 255, 0.82); font: 600 28px/1 var(--es-display); text-transform: uppercase; }
.es-band-run span.is-strong { color: #fff; font-weight: 700; }
.es-band-run i { color: var(--es-accent); font-size: 18px; }
@keyframes es-marquee { to { transform: translateX(-50%); } }

/* Pedido + mural */
.es-reviews { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 22px; align-items: stretch; }
.es-reviews-left { display: grid; gap: 12px; align-content: start; }
.es-form { display: grid; gap: 8px; margin-top: 6px; }
.es-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.es-form input, .es-form textarea, .es-mural-form input {
    width: 100%; min-width: 0; padding: 11px 14px; border-radius: 10px; border: 1px solid var(--es-line-2); background: var(--es-bg-2); color: var(--es-text);
    font: 500 13.5px/1.3 var(--es-font); transition: border-color .2s;
}
.es-form textarea { min-height: 84px; resize: vertical; }
.es-form input:focus, .es-form textarea:focus, .es-mural-form input:focus { outline: none; border-color: var(--es-accent); }
.es-form ::placeholder, .es-mural-form ::placeholder { color: var(--es-dim); }
.es-request-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.es-request-head h3 { font-size: 22px; }
.es-request-head p { color: var(--es-muted); font-size: 12.5px; }
.es-request-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--es-accent); color: #fff; }
.es-listeners { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.es-avatars { display: inline-flex; }
.es-avatars i { display: grid; place-items: center; width: 34px; height: 34px; margin-left: -8px; border-radius: 50%; border: 2px solid var(--es-surface); background: var(--es-dark-2); color: #fff; font-size: 13px; }
.es-avatars i:first-child { margin-left: 0; background: var(--es-accent); }
.es-listeners strong { display: block; font: 700 24px/1 var(--es-display); color: var(--es-text); }
.es-listeners small { color: var(--es-dim); font-size: 12px; }
.es-mural { position: relative; display: flex; flex-direction: column; background: var(--es-bg-2); }
.es-quote { color: var(--es-accent); font-size: 40px; line-height: 1; margin-bottom: 6px; }
.es-mural-list { display: grid; gap: 14px; align-content: start; flex: 1; max-height: 330px; min-height: 180px; overflow-y: auto; margin-top: 14px; padding-right: 6px; }
.es-mural-list .message { padding-bottom: 14px; border-bottom: 1px solid var(--es-line); }
.es-mural-list .message-text { color: var(--es-text-2); font-size: 16px; line-height: 1.6; }
.es-mural-list .message-author { order: 2; margin-top: 6px; color: var(--es-accent); font: 600 12.5px/1.3 var(--es-font); }
.es-mural-list .message { display: flex; flex-direction: column; }
.es-mural-list .message-text { order: 1; }
.es-mural-form { display: grid; grid-template-columns: 1fr 1.6fr auto; gap: 8px; margin-top: 14px; }
.es-mural-form .es-btn { width: 44px; padding: 0; }

/* Faixas de chamada: app e doações */
.es-cta-band { position: relative; overflow: hidden; padding: 80px 0; background: var(--es-dark); color: #fff; }
.es-cta-band::before { content: ''; position: absolute; right: -6%; bottom: -30%; width: 46%; height: 140%; border: 2px solid rgba(255, 255, 255, 0.1); border-radius: 50%; }
.es-cta-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 40px; align-items: center; }
.es-brand-line { display: inline-flex; align-items: center; gap: 8px; color: var(--es-accent); font: 700 22px/1 var(--es-display); }
.es-cta-title { color: #fff !important; font: 700 clamp(34px, 4.4vw, 54px)/1.02 var(--es-display); margin: 12px 0; }
.es-cta-band p { color: rgba(255, 255, 255, 0.75); margin-bottom: 18px; }
.es-cta-img { justify-self: center; max-height: 300px; width: auto; }
.es-cta-art { position: relative; justify-self: center; display: grid; place-items: center; width: 220px; height: 220px; border-radius: 50%; border: 6px solid color-mix(in srgb, var(--es-accent) 60%, #fff); background: radial-gradient(circle, color-mix(in srgb, var(--es-accent) 35%, transparent), transparent 70%); color: #cfe9ee; font-size: 96px; }
.es-cta-art .fa-headphones-simple { position: absolute; right: 6px; bottom: 16px; padding: 14px; border-radius: 50%; background: var(--es-accent); color: #fff; font-size: 24px; }
.es-donate { display: flex; align-items: center; gap: 20px; width: 100%; padding: 26px 30px; border: 0; border-radius: var(--es-radius); cursor: pointer; text-align: left; font: inherit; color: #fff; background: linear-gradient(110deg, var(--es-accent), color-mix(in srgb, var(--es-accent) 70%, var(--es-dark))); box-shadow: var(--es-shadow); transition: transform .2s; }
.es-donate:hover { transform: translateY(-2px); }
.es-donate.has-image { padding: 0; background: none; overflow: hidden; }
.es-donate.has-image img { display: block; width: 100%; }
.es-donate-icon { display: grid; place-items: center; width: 60px; height: 60px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, 0.2); font-size: 26px; }
.es-donate-text { flex: 1; display: grid; gap: 4px; }
.es-donate-text strong { font: 700 clamp(24px, 2.6vw, 32px)/1.05 var(--es-display); }
.es-donate-text small { opacity: .9; font-size: 14px; }

/* Notícias */
.es-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.es-post { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--es-radius); border: 1px solid var(--es-line); background: var(--es-surface); box-shadow: var(--es-shadow); transition: transform .2s; }
.es-post:hover { transform: translateY(-4px); }
.es-post-img { position: relative; display: block; aspect-ratio: 16 / 12; overflow: hidden; }
.es-post-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.es-post:hover .es-post-img img { transform: scale(1.05); }
.es-post-date { position: absolute; right: 14px; bottom: 14px; display: grid; justify-items: center; padding: 8px 10px; border-radius: 10px 10px 10px 0; background: var(--es-accent); color: #fff; }
.es-post-date small { font: 600 11px/1 var(--es-font); text-transform: uppercase; }
.es-post-date strong { font: 700 22px/1 var(--es-display); }
.es-post-meta { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px 18px 0; color: var(--es-dim); font-size: 12px; }
.es-post-meta i { color: var(--es-accent); margin-right: 3px; }
.es-post > strong { padding: 8px 18px 20px; font: 700 21px/1.15 var(--es-display); color: var(--es-text); }

/* Parceiros, promoções, enquete, câmera, histórico, galeria, tempo */
.es-partners { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.es-partner { display: grid; place-items: center; height: 96px; padding: 14px; border-radius: 12px; border: 1px solid var(--es-line); background: var(--es-surface); text-align: center; transition: border-color .2s; }
a.es-partner:hover { border-color: var(--es-accent); }
.es-partner img { max-height: 64px; max-width: 100%; object-fit: contain; }
.es-partner strong { font: 700 17px/1.1 var(--es-display); color: var(--es-text); }
.es-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.es-poll { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 30px; align-items: start; }
.es-poll .poll-question { font: 700 22px/1.2 var(--es-display); color: var(--es-text); margin-bottom: 12px; }
.es-poll .poll-option { padding: 11px 14px; border-radius: 10px; }
.es-poll .poll-option:has(input:checked) { border-color: var(--es-accent); background: var(--es-accent-soft); }
.es-poll .poll-result-fill { background: var(--es-accent); }
.es-poll .poll-submit { margin-top: 6px; }
.es-camera { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.es-camera > div:last-child { display: grid; gap: 12px; justify-items: start; }
.es-camera-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--es-radius); background: #000; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.8); }
.es-camera-frame .studio-camera-media { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.es-tracks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; }
.es-tracks li { display: flex; gap: 14px; align-items: center; padding: 12px 14px; border-radius: 10px; background: var(--es-bg-2); }
.es-tracks time { color: var(--es-accent); font: 700 18px/1 var(--es-display); }
.es-tracks span { display: grid; min-width: 0; }
.es-tracks strong { color: var(--es-text); font: 600 14px/1.3 var(--es-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-tracks small { color: var(--es-dim); font-size: 12px; }
.es-gallery { display: grid; grid-template-columns: 1.6fr 1fr 1fr; grid-auto-rows: 170px; gap: 12px; }
.es-gallery-item { display: block; overflow: hidden; border-radius: 10px; }
.es-gallery-item:first-child { grid-row: span 2; }
.es-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.es-gallery-item:hover img { transform: scale(1.05); }
.es-weather { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.6fr); gap: 24px; align-items: center; }
.es-weather-now { display: flex; align-items: center; gap: 14px; }
.es-weather-now > span { font-size: 52px; line-height: 1; }
.es-weather-now strong { display: block; font: 700 46px/1 var(--es-display); color: var(--es-text); }
.es-weather-now small { color: var(--es-muted); }
.es-forecast { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.es-forecast > div { display: grid; justify-items: center; gap: 2px; padding: 10px 4px; border-radius: 10px; background: var(--es-bg-2); text-align: center; }
.es-forecast > div.is-today { background: var(--es-dark); color: #fff; }
.es-forecast span { color: var(--es-muted); font: 600 11px/1.2 var(--es-font); text-transform: uppercase; }
.es-forecast .is-today span, .es-forecast .is-today strong, .es-forecast .is-today small { color: #fff; }
.es-forecast i { font-size: 22px; font-style: normal; }
.es-forecast strong { font: 700 18px/1 var(--es-display); color: var(--es-text); }
.es-forecast small { color: var(--es-dim); }

/* Zonas de publicidade */
.tpl-estudio .ad-zone { margin: 30px 0; }
.tpl-estudio .ad-banner-image { width: 100%; border-radius: var(--es-radius); }

/* ---------- Plataformas + rodapé ---------- */
.es-platforms { background: var(--es-accent); color: #fff; }
.es-platforms-inner { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 20px 30px; padding: 30px 0; }
.es-platforms a { display: inline-flex; align-items: center; gap: 10px; color: #fff; transition: opacity .2s; }
.es-platforms a:hover { opacity: .8; }
.es-platforms i { font-size: 26px; }
.es-platforms span { display: grid; line-height: 1.1; }
.es-platforms small { font-size: 10.5px; opacity: .85; }
.es-platforms strong { font: 600 16px/1.1 var(--es-font); }
.es-footer { position: relative; overflow: hidden; padding: 64px 0 24px; background: var(--es-dark); color: rgba(255, 255, 255, 0.75); }
.es-footer-mic { position: absolute; left: -40px; top: 40px; color: rgba(255, 255, 255, 0.04); font-size: 300px; pointer-events: none; }
.es-footer-grid { position: relative; display: grid; grid-template-columns: 1.3fr 0.8fr 1.2fr 1.1fr; gap: 34px; }
.es-footer h3 { color: #fff !important; font-size: 18px; text-transform: uppercase; margin-bottom: 14px; }
.es-footer-brand p { margin-top: 14px; font-size: 13.5px; line-height: 1.7; }
.es-social { display: flex; gap: 8px; margin-top: 16px; }
.es-social a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--es-accent); color: #fff; font-size: 13px; transition: transform .2s; }
.es-social a:hover { transform: translateY(-2px); }
.es-footer-col { display: grid; gap: 9px; align-content: start; font-size: 13.5px; }
.es-footer-col a { color: rgba(255, 255, 255, 0.75); }
.es-footer-col a:hover { color: #fff; }
.es-footer-col i { color: var(--es-accent); margin-right: 6px; font-size: 12px; }
.es-footer-post { display: grid !important; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; }
.es-footer-post img { width: 64px; height: 56px; object-fit: cover; border-radius: 8px; }
.es-footer-post strong { display: block; color: #fff; font-weight: 600; font-size: 13px; line-height: 1.35; }
.es-footer-post small { color: rgba(255, 255, 255, 0.6); font-size: 11.5px; }
.es-footer-bottom { position: relative; display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 44px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 12.5px; }
.es-footer-bottom nav { display: flex; gap: 14px; }
.es-totop { position: fixed; z-index: 980; right: 18px; bottom: calc(var(--player-height) + 26px); display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--es-accent); color: #fff; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .25s; box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.5); }
body.is-scrolled .es-totop { opacity: 1; visibility: visible; transform: none; }
body.player-top .es-totop { bottom: 22px; }

/* ---------- Player: pílula branca flutuante ---------- */
body.tpl-estudio.player-bottom .es-footer { padding-bottom: calc(var(--player-height) + 34px); }

.es-player { position: fixed; z-index: 1000; left: 50%; bottom: 14px; transform: translateX(-50%); width: min(920px, 100% - 24px); }
.es-player.is-top { top: 0; bottom: auto; width: 100%; }
.es-player.is-custom { background: #fff; border-radius: var(--es-radius); overflow: hidden; }
.es-player-inner { position: relative; display: flex; align-items: center; gap: 14px; padding: 9px 14px 9px 10px; border-radius: 999px; background: #fff; color: #13292c; box-shadow: 0 20px 44px -18px rgba(15, 49, 53, 0.6), 0 0 0 1px rgba(15, 49, 53, 0.06); }
.es-player.is-top .es-player-inner { border-radius: 0; padding-inline: max(14px, calc((100% - var(--es-container)) / 2)); }
.es-player-progress { position: absolute; left: 60px; right: 60px; bottom: 0; height: 2px; overflow: hidden; }
.es-player-progress span { display: block; height: 100%; width: 0; background: var(--es-accent); }
.es-player-progress.is-loading span { width: 30%; animation: pl-loading 1.1s ease-in-out infinite; }
.es-player-progress.is-live span { width: 100%; background: linear-gradient(90deg, transparent, var(--es-accent), transparent); background-size: 40% 100%; background-repeat: no-repeat; animation: pl-sweep 3s linear infinite; }
.es-player-art { display: grid; place-items: center; width: 44px; height: 44px; flex: none; overflow: hidden; border-radius: 50%; background: #f3f6f6; color: var(--es-accent); }
.es-player-art img { width: 100%; height: 100%; object-fit: cover; }
.es-player-info { display: grid; min-width: 0; flex: 0 1 230px; }
.es-player-tag { display: flex; align-items: center; gap: 6px; color: var(--es-accent); font: 700 9.5px/1.3 var(--es-font); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; overflow: hidden; }
#songProgram:not(:empty)::before { content: '·'; margin-right: 6px; color: #8c9a9c; }
#songProgram { color: #607275; }
.es-player-title { font: 700 14px/1.3 var(--es-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-player-artist { color: #8c9a9c; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-play { position: relative; display: grid; place-items: center; width: 52px; height: 52px; flex: none; border: 0; background: none; color: #fff; cursor: pointer; font-size: 16px; }
.es-play::before { content: ''; position: absolute; inset: 5px; background: var(--es-accent); transform: rotate(45deg); border-radius: 9px; box-shadow: 0 10px 20px -8px color-mix(in srgb, var(--es-accent) 80%, transparent); transition: transform .2s; }
.es-play:hover::before { transform: rotate(45deg) scale(1.06); }
.es-play i { position: relative; }
.es-play .fa-play { margin-left: 3px; }
.es-player-wave { flex: 1; display: flex; align-items: center; gap: 3px; height: 28px; min-width: 0; }
.es-player-wave span { flex: 1; min-width: 2px; height: var(--h); border-radius: 2px; background: color-mix(in srgb, var(--es-accent) 40%, #fff); animation: es-wave 1s ease-in-out infinite alternate paused; animation-delay: calc(var(--i) * -61ms); }
.es-player-tools { display: flex; align-items: center; gap: 4px; flex: none; }
.es-player .es-icon-btn { color: #607275; }
.es-player .es-icon-btn:hover { background: #f3f6f6; color: #13292c; }
.es-range { -webkit-appearance: none; appearance: none; width: 90px; height: 4px; border-radius: 4px; cursor: pointer; background: linear-gradient(90deg, var(--es-accent) var(--fill, 80%), #dfe6e7 var(--fill, 80%)); }
.es-range::-webkit-slider-thumb { -webkit-appearance: none; width: 13px; height: 13px; border-radius: 50%; background: var(--es-accent); }
.es-range::-moz-range-thumb { width: 13px; height: 13px; border: 0; border-radius: 50%; background: var(--es-accent); }
.es-player.is-collapsed { left: auto; right: 14px; transform: none; width: auto; }
.es-player.is-collapsed .es-player-info, .es-player.is-collapsed .es-player-wave, .es-player.is-collapsed .es-range, .es-player.is-collapsed [data-volume-mute] { display: none; }
.es-player.is-top.is-collapsed { top: 8px; }
.es-player.is-top.is-collapsed .es-player-inner { border-radius: 999px; padding-inline: 10px 14px; }

/* ---------- Páginas internas ---------- */
.tpl-estudio .pl-page-grid { padding-top: 40px; }
.tpl-estudio .pl-sidebar { top: 100px; }
.tpl-estudio .es-page-band .es-eyebrow { color: rgba(255, 255, 255, 0.7); }

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
    .es-nav a, .es-more-btn { padding: 8px 8px; letter-spacing: .03em; }
    .es-partners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .es-burger { display: inline-grid; place-items: center; }
    .es-cta { margin-left: auto; }
    .es-nav { position: absolute; left: 0; right: 0; top: 100%; z-index: 899; max-height: calc(100vh - 120px); overflow-y: auto; background: #fff; border-radius: 0 0 12px 12px; box-shadow: 0 24px 40px -20px rgba(0, 0, 0, 0.4); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all .2s; }
    .es-header { position: relative; }
    body.es-nav-open .es-nav { opacity: 1; visibility: visible; transform: none; }
    .es-nav > ul { flex-direction: column; align-items: stretch; width: 100%; padding: 10px 16px 16px; }
    .es-nav a { padding: 12px 10px; font-size: 13px; }
    .es-more-btn { display: none; }
    .es-dropdown { position: static; opacity: 1; visibility: visible; transform: none; min-width: 0; padding: 0; border: 0; box-shadow: none; }
    .es-subbar { display: none; }
    .es-hero { padding-top: 170px; }
    .es-hero-grid, .es-about, .es-videos, .es-reviews, .es-cta-grid, .es-camera, .es-poll, .es-weather { grid-template-columns: minmax(0, 1fr); }
    .es-hero-photo { width: min(70%, 300px); }
    .es-episodes, .es-posts, .es-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .es-footer-grid { grid-template-columns: 1fr 1fr; }
    .es-player-wave { display: none; }
    .es-cta-art { width: 170px; height: 170px; font-size: 72px; }
}
@media (max-width: 640px) {
    .es-container { width: calc(100% - 28px); }
    .es-infobar a { display: none; }
    .es-header { gap: 10px; padding: 0 12px; height: 62px; }
    .es-logo img { height: 36px; }
    .es-logo-text { font-size: 20px; }
    .es-cta { padding: 10px 12px; font-size: 10.5px; }
    .es-section { padding: 56px 0; }
    .es-hero-title { font-size: clamp(40px, 12vw, 56px); }
    .es-nowbar { gap: 10px; padding-right: 14px; }
    .es-nowbar-wave, .es-nowbar-live { display: none; }
    .es-nowbar-text { flex: 1; }
    .es-episodes, .es-posts, .es-grid-3, .es-tracks { grid-template-columns: minmax(0, 1fr); }
    .es-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .es-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 120px; }
    .es-gallery-item:first-child { grid-column: span 2; }
    .es-form-row, .es-mural-form { grid-template-columns: minmax(0, 1fr); }
    .es-mural-form .es-btn { width: 100%; }
    .es-donate { flex-direction: column; align-items: flex-start; }
    .es-forecast { gap: 4px; }
    .es-footer-grid { grid-template-columns: minmax(0, 1fr); }
    .es-band-run span { font-size: 22px; }
    .es-player { width: calc(100% - 16px); bottom: 8px; }
    .es-range, [data-volume-mute] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .es-band-run { animation: none; }
}
