/* Puressência · camada de tecnologia e motion de 05/11/2026 (player da rádio, TV, transições e leitura) */

/* Transição entre páginas (View Transitions entre documentos). Navegadores sem suporte ignoram. */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:pz-sai .32s cubic-bezier(.4,0,.2,1) both}
  ::view-transition-new(root){animation:pz-entra .42s cubic-bezier(.2,.7,.2,1) both}
  @keyframes pz-sai{to{opacity:0;transform:translateY(-14px)}}
  @keyframes pz-entra{from{opacity:0;transform:translateY(18px)}}
}
nav.top,.top{view-transition-name:pz-topo}

/* Vinil do topo: gira e responde ao programa enquanto a rádio toca */
.vinyl{transition:filter .25s ease, opacity .6s ease}
html.pz-on .vinyl{opacity:.75;filter:brightness(calc(1 + var(--pz-level,0) * .9)) saturate(calc(1 + var(--pz-level,0) * .6))}
@media (prefers-reduced-motion:no-preference){
  html.pz-on .vinyl::after{animation:pz-gira 1.8s linear infinite}
  @keyframes pz-gira{to{transform:rotate(360deg)}}
}

/* Player da rádio */
.pz{--pz-on:#C9A85A;--pz-off:rgba(243,235,221,.26);margin-top:6px}
.paper .pz{--pz-off:rgba(8,11,9,.22)}
.pz-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.pz-play{width:58px;height:58px;border-radius:50%;border:1px solid var(--ouro,#C9A85A);background:var(--ouro,#C9A85A);color:#080B09;display:grid;place-items:center;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease}
.pz-play:hover{transform:scale(1.05)}
.pz.is-on .pz-play{box-shadow:0 0 0 calc(4px + var(--pz-level,0) * 14px) rgba(201,168,90,.18)}
.pz-play:focus-visible,.pz-wave:focus-visible,.pz-track:focus-visible,.pz-resume:focus-visible{outline:2px solid var(--ouro,#C9A85A);outline-offset:3px}
.pz-wave{position:relative;height:64px;cursor:pointer;touch-action:none}
.pz-wave canvas{position:absolute;inset:0;width:100%;height:100%}
.pz-time{font-size:.72rem;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--dmute,rgba(243,235,221,.62));white-space:nowrap}
.paper .pz-time{color:var(--mute,rgba(8,11,9,.58))}
.pz-now{min-height:1.4em;margin:10px 0 0 !important;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:1.05rem;color:var(--areia,#D4C0A3)}
.paper .pz-now{color:var(--ink,#080B09)}
.pz-resume{margin-top:8px;background:none;border:1px solid var(--dline,rgba(243,235,221,.14));color:inherit;border-radius:40px;padding:8px 16px;font:inherit;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.pz-tracks{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--dline,rgba(243,235,221,.14))}
.paper .pz-tracks,.paper .pz-tracks li{border-color:var(--line,rgba(8,11,9,.14))}
.pz-tracks li{border-bottom:1px solid var(--dline,rgba(243,235,221,.14))}
.pz-track{all:unset;box-sizing:border-box;display:grid;grid-template-columns:2.4em 1fr auto;gap:12px;width:100%;padding:10px 4px;cursor:pointer;font-size:.92rem}
.pz-track:hover .pz-tt,.pz-track[aria-current] .pz-tt{color:var(--ouro,#C9A85A)}
.pz-tn,.pz-ts{font-size:.68rem;letter-spacing:.16em;color:var(--dmute,rgba(243,235,221,.62));padding-top:3px;font-variant-numeric:tabular-nums}
.paper .pz-tn,.paper .pz-ts{color:var(--mute,rgba(8,11,9,.58))}
.pz-track[aria-current] .pz-tn:before{content:"▶ ";color:var(--ouro,#C9A85A)}
@media (max-width:560px){.pz-row{grid-template-columns:auto 1fr}.pz-time{grid-column:1/-1}.pz-wave{height:56px}.pz-play{width:52px;height:52px}}

/* Grade de programação */
.pz-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1px;background:var(--dline,rgba(243,235,221,.14));border:1px solid var(--dline,rgba(243,235,221,.14));margin-top:10px}
.paper .pz-grade{background:var(--line,rgba(8,11,9,.14));border-color:var(--line,rgba(8,11,9,.14))}
.pz-slot{background:var(--ink,#080B09);padding:26px 24px 28px;display:flex;flex-direction:column;gap:8px}
.paper .pz-slot{background:var(--paper,#F3EBDD)}
.pz-slot .pz-quando{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro,#C9A85A);font-weight:500}
.pz-slot h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:2px 0}
.pz-slot p{font-size:.9rem;color:var(--dmute,rgba(243,235,221,.62));margin:0}
.paper .pz-slot p{color:var(--mute,rgba(8,11,9,.58))}
.pz-slot .pz-estado{margin-top:auto;padding-top:10px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase}
.pz-estado.no-ar{color:var(--ouro,#C9A85A)}.pz-estado.no-ar:before{content:"● "}
.pz-estado.prep{color:var(--dmute,rgba(243,235,221,.62))}
.paper .pz-estado.prep{color:var(--mute,rgba(8,11,9,.58))}
.pz-slot a{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start;margin-top:6px}

/* Puressência TV */
.pz-screen{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid var(--dline,rgba(243,235,221,.14));box-shadow:0 40px 90px rgba(0,0,0,.55)}
.pz-screen-bg{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(30px) brightness(.4);transform:scale(1.1)}
.pz-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;border:0}
.pz-nowbox{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:baseline;margin-top:18px}
.pz-nowbox .n{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro,#C9A85A)}
.pz-nowbox h3{font-size:clamp(1.7rem,3.2vw,2.6rem);margin:0}
.pz-nowbox p{grid-column:2;margin:0;color:var(--dmute,rgba(243,235,221,.62));font-size:.92rem}
.pz-nowbox p.r{color:var(--ouro,#C9A85A);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.pz-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:52px 0 18px;padding-top:16px;border-top:1px solid var(--dline,rgba(243,235,221,.14))}
.pz-cap h3{font-size:1.7rem;margin:0}.pz-cap p{margin:0;color:var(--dmute,rgba(243,235,221,.62));font-size:.9rem;max-width:70ch}
.pz-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:24px 18px}
.pz-card{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer}
.pz-card:focus-visible{outline:2px solid var(--ouro,#C9A85A);outline-offset:6px}
.pz-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#000;border:1px solid var(--dline,rgba(243,235,221,.14))}
.pz-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s}
.pz-card:hover .pz-thumb img{transform:scale(1.05);filter:brightness(1.12)}
.pz-num{position:absolute;left:12px;top:4px;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:3.4rem;line-height:1;color:var(--ouro,#C9A85A);text-shadow:0 4px 18px rgba(0,0,0,.8)}
.pz-tag{position:absolute;right:10px;top:10px;background:rgba(8,11,9,.82);color:var(--paper,#F3EBDD);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 8px}
.pz-card[aria-current] .pz-thumb{outline:2px solid var(--ouro,#C9A85A);outline-offset:3px}
.pz-card .k{display:block;margin-top:12px}
.pz-card h4{font-family:var(--serif,Georgia,serif);font-weight:500;font-size:1.45rem;line-height:1.1;margin:4px 0 2px}
.pz-card .pz-cm{display:block;font-size:.84rem;color:var(--dmute,rgba(243,235,221,.62))}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
  .pz-card,.pz-slot{animation:pz-sobe linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  @keyframes pz-sobe{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
}}

/* Barra de leitura nas matérias da revista */
.pz-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:#C9A85A;transform-origin:0 50%;transform:scaleX(0);z-index:10000;pointer-events:none}
@supports (animation-timeline:scroll()){
  .pz-progress{animation:pz-le linear both;animation-timeline:scroll(root block)}
  @keyframes pz-le{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* Rádio da casa dentro da revista (tema claro e escuro: as cores vêm do texto da revista) */
.pz-revista .pz{--pz-off:auto}
.pz-revista .pz-time,.pz-revista .pz-tn,.pz-revista .pz-ts{color:inherit;opacity:.65}
.pz-revista .pz-now{color:inherit}
.pz-revista .pz-tracks,.pz-revista .pz-tracks li,.pz-revista .pz-resume{border-color:color-mix(in srgb,currentColor 18%,transparent)}
.pz-rv-progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;margin-top:22px}
.pz-rv-prog h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:1.9rem;line-height:1.05;margin:0 0 4px}
.pz-rv-prog .pz-rv-meta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin:0 0 6px}
