/* Widget "depoimentos" (src/widgets/depoimentos.mjs). Carregado só nas páginas que usam {{widgetDepoimentos}}.
   Depende só dos tokens globais (tokens.css) e de .shell/.section-head/.kicker (styles.css). Sem JavaScript. */
.widget-voices{padding:var(--section-pad) 0}
.wv-list{margin:0;padding:4px 6% 14px;list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,86%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6%;scrollbar-width:none}
.wv-list::-webkit-scrollbar{display:none}
.wv-card{min-width:0;scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden;transition:border-color var(--motion-base) var(--ease),translate var(--motion-base) var(--ease)}
.wv-card:hover,.wv-card:focus-within{border-color:rgba(122,170,247,.55)}
.wv-card figure{height:100%;margin:0;display:flex;flex-direction:column}

/* Fala */
.wv-text figure{gap:20px;padding:22px 22px 20px}
.wv-text blockquote{margin:0;flex:1}
.wv-text blockquote p{margin:0;color:var(--text-soft);font:400 15px/1.58 var(--body);text-wrap:pretty}
.wv-text blockquote p::before{content:"“";display:block;height:24px;margin-bottom:6px;color:var(--accent-text);font:700 44px/1 var(--display)}
.wv-text figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--hairline)}
.wv-photo{width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover}

/* Pessoa (comum aos três tipos) */
.wv-person{display:grid;gap:4px;min-width:0}
.wv-person b{color:var(--text-strong);font:600 14px var(--display);letter-spacing:-.01em}
.wv-person small{color:var(--text-dim);font:400 12px/1.45 var(--body)}
.wv-city{display:block;color:var(--label);font:500 10px var(--label-font);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}

/* Vídeo: capa local + link para o YouTube */
.wv-video a{height:100%;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.wv-video a:focus-visible{outline:2px solid var(--light);outline-offset:-2px;border-radius:var(--radius-lg)}
.wv-poster{position:relative;display:block;aspect-ratio:16 / 9;background:var(--surface)}
.wv-poster img{width:100%;height:100%;object-fit:cover}
.wv-play{position:absolute;left:50%;top:50%;width:62px;aspect-ratio:1;translate:-50% -50%;border:1px solid rgba(154,193,255,.55);border-radius:50%;background:rgba(33,112,237,.72);box-shadow:0 0 44px rgba(33,112,237,.5);transition:scale var(--motion-base) var(--ease)}
.wv-play::after{content:"";position:absolute;left:54%;top:50%;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;translate:-50% -50%}
.wv-video a:hover .wv-play{scale:1.08}
.wv-duration{position:absolute;right:12px;bottom:12px;padding:3px 7px;border-radius:6px;background:rgba(2,4,9,.78);color:var(--text-soft);font:500 11px var(--label-font)}
.wv-body{display:grid;gap:14px;padding:20px 22px 22px}
.wv-title{color:var(--text-strong);font:600 17px/1.3 var(--display);letter-spacing:-.02em}

/* Vídeo em pé (reel): MP4 do próprio site, player nativo */
.wv-stage{display:grid;gap:22px;margin-bottom:20px}
.wv-feature{display:none}
.wv-reels{width:var(--shell);margin:0 auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wv-reel{min-width:0;scroll-snap-align:start}
.wv-reel figure{margin:0;display:grid;gap:10px}
.wv-reel-frame{position:relative;display:block;aspect-ratio:9 / 16;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:0 30px 70px -36px rgba(33,112,237,.7);transition:border-color var(--motion-base) var(--ease)}
.wv-reel-frame:hover,.wv-reel-frame:focus-within{border-color:var(--border-strong)}
.wv-reel video{display:block;width:100%;height:100%;object-fit:cover;background:#02050b}
.wv-reel .wv-duration{top:10px;right:10px;bottom:auto;display:inline-flex;align-items:center;gap:6px;pointer-events:none}
.wv-reel .wv-duration::before{content:"";border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent currentColor}
.wv-reel figcaption{padding:0 2px}

/* Fala em destaque, ao lado dos vídeos */
.wv-feature{position:relative;margin:0;flex-direction:column;justify-content:space-between;gap:28px;padding:30px 26px 26px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);overflow:hidden}
.wv-feature::before{content:"“";position:absolute;right:18px;top:-18px;color:rgba(83,149,255,.13);font:700 190px/1 var(--display);pointer-events:none}
.wv-feature blockquote{position:relative;margin:0}
.wv-feature p{margin:0;color:var(--text-strong);font:500 clamp(18px,1.6vw,23px)/1.5 var(--display);letter-spacing:-.015em;text-wrap:pretty}
.wv-feature figcaption{position:relative;display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--hairline)}
.wv-feature .wv-initials{width:48px;height:48px;font-size:15px}

/* Iniciais no lugar da foto */
.wv-initials{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--border);border-radius:50%;background:linear-gradient(150deg,rgba(33,112,237,.38),rgba(7,18,37,.9));color:var(--light);font:600 13px var(--display);letter-spacing:.02em}

/* Print de conversa */
.wv-print img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:top;background:var(--surface)}
.wv-print figcaption{padding:18px 22px 20px}

/* Espaços da vitrine (sem depoimento ainda) */
.wv-slot{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;border-style:dashed;background:linear-gradient(160deg,rgba(15,37,72,.5),rgba(5,12,24,.56))}
.wv-slot .wv-poster{background:linear-gradient(160deg,rgba(20,52,104,.6),rgba(5,12,24,.4))}
.wv-slot .wv-body{gap:6px}
.wv-soon{color:#7d93b5;font:500 10px var(--label-font);letter-spacing:.1em;text-transform:uppercase}
.wv-lines,.wv-chat{display:grid;gap:10px;padding:30px 24px 0}
.wv-lines i{height:10px;border-radius:5px;background:rgba(154,193,255,.14)}
.wv-lines i:nth-child(2){width:86%}
.wv-lines i:nth-child(3){width:58%}
.wv-chat i{height:16px;width:70%;border-radius:9px 9px 9px 3px;background:rgba(154,193,255,.14)}
.wv-chat i:nth-child(2){width:62%;justify-self:end;border-radius:9px 9px 3px 9px;background:rgba(33,112,237,.34)}
.wv-chat i:nth-child(3){width:48%}

@media (min-width:621px){
  .wv-stage{width:var(--shell);margin-inline:auto;gap:18px;margin-bottom:18px}
  .wv-reels{padding:0;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:18px}
  .wv-feature{display:flex}
  .wv-feature-copy{display:none}
  .wv-reels{width:auto;grid-template-columns:repeat(2,minmax(0,250px));justify-content:center}
  .wv-rest > .wv-card:last-child:nth-child(even){grid-column:1 / -1}
  .wv-list{width:var(--shell);margin-inline:auto;padding:0;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:16px}
}
@media (min-width:981px){
  .wv-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .wv-video{grid-column:span 2}
  .wv-video a,.wv-video.wv-slot{flex-direction:row}
  .wv-video .wv-poster{flex:1.5;aspect-ratio:auto;min-height:100%}
  .wv-video .wv-body{flex:1;align-content:end}
  .wv-single{grid-template-columns:minmax(0,760px);justify-content:center}
  /* Vídeos em pé + fala em destaque na mesma linha; demais falas em três colunas embaixo. */
  .wv-stage{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch}
  .wv-reels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wv-stage-solo{grid-template-columns:minmax(0,600px);justify-content:center}
  .wv-feature{padding:40px 38px 32px}
  .wv-rest{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wv-rest > .wv-card:last-child:nth-child(even){grid-column:auto}
  /* Quatro depoimentos de texto: duas colunas, sem um card sozinho na última linha. */
  .wv-list:not(.wv-rest):has(> .wv-text:nth-child(4):last-child):not(:has(.wv-video)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .wv-single .wv-video{grid-column:auto}
  .wv-print img{aspect-ratio:5 / 4}
  .wv-card:hover{translate:0 -3px}
}
@media (prefers-reduced-motion:reduce){
  .wv-card,.wv-play,.wv-reel-frame{transition:none}
  .wv-card:hover{translate:none}
}
