.icones { position: absolute; }
/* Tira Selfie: native camera composition, coral recording state. */
.com-video .disparador { touch-action: none; }
button:focus-visible, video:focus-visible { outline: 3px solid var(--vermelho-claro); outline-offset: 4px; }
.capture-tools { position: absolute; z-index: 3; top: calc(var(--linha-topo) - 72px); left: var(--cl); right: var(--cl); text-align: center; font-size: 13px; pointer-events: none; }
.capture-tools p { display: inline-block; background: #242b2eee; border-radius: 8px; padding: 4px 10px; }
.capture-actions { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 3px; }
.capture-actions button { pointer-events: auto; min-height: 34px; border: 0; border-radius: 999px; background: #242b2eee; padding: 5px 14px; color: #fff; font-weight: 700; }
.capture-actions button:disabled { opacity: .65; }
.capture-pilot { font-size: 10px; font-weight: 800; letter-spacing: .12em; background: var(--vermelho); color: #192024; padding: 3px 6px; border-radius: 4px; margin-right: 4px; }
#capture-elapsed { background: #242b2eee; color: #fff; padding: 4px 8px; border-radius: 8px; font-weight: 800; font-variant-numeric: tabular-nums; }
[data-capture="recording"] .disparador { background: conic-gradient(var(--vermelho) var(--progresso), #fff var(--progresso)); }
[data-capture="recording"] .disparador .anel { background: var(--vermelho); border: 4px solid #242b2e; }
[data-capture="recording"] .disparador .parar { display: block; z-index: 1; }
.capture-consent { padding: 24px; }
.capture-consent p { margin: 12px 0 20px; color: var(--texto-2); }
.capture-consent .capture-eyebrow { color: var(--vermelho-claro); font-size: 11px; font-weight: 800; letter-spacing: .12em; margin: 0 0 8px; }
.capture-consent .btn { width: 100%; margin-top: 8px; }
.capture-media { margin: auto; width: min(100vw, 520px); height: min(100dvh, 900px); max-height: 100dvh; max-width: 100vw; border: 1px solid #ffffff25; border-radius: 20px; background: var(--fundo); color: var(--texto); padding: 16px; overflow: auto; }
.capture-media[open] { display: flex; flex-direction: column; gap: 12px; }
.capture-media::backdrop { background: #101416e8; }
.capture-media header { flex: none; text-align: center; }
.capture-media h2 { font-size: 22px; }
.capture-media header p { font-size: 13px; color: var(--texto-2); }
.capture-media video { flex: 1; min-height: 0; width: 100%; object-fit: contain; background: #111; border-radius: 10px; }
.capture-media-actions { flex: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.capture-media-actions .btn:first-child { grid-column: 1 / -1; }
.item-video { position: relative; aspect-ratio: 9/16; overflow: hidden; border-radius: 14px; background: #111; }
.item-video .abrir { border: 0; padding: 0; width: 100%; height: 100%; background: transparent; }
.item-video video { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.video-duracao { position: absolute; bottom: 8px; left: 8px; padding: 3px 8px; border-radius: 7px; background: #242b2ee8; color: #fff; font-size: 12px; font-weight: 800; }
@media (max-width: 540px) { .capture-media { border-radius: 0; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .com-video *, .capture-media * { animation: none !important; transition: none !important; } }

/* Mixed counts wrap inside the gallery button, leaving the shutter clear. */
.com-video .postar { max-width: 100%; padding-right: 8px; gap: 5px; }
.com-video .postar span { min-width: 0; }
.com-video .postar small { white-space: normal; }

/* Gallery selection follows the photo circle, with separate file actions. */
.item-video { border-radius: 10px; box-shadow: inset 0 0 0 1px #ffffff26; }
.item-video.marcada { box-shadow: 0 0 0 2.5px #fff; }
.item-video video { opacity: .5; }
.item-video.marcada video { opacity: 1; }
.item-video .marcar { position: absolute; top: 0; right: 0; width: 44px; height: 44px; padding: 0; border: 0; background: none; display: grid; place-items: center; }
.capture-batch-action, .capture-share-hint { grid-column: 1 / -1; }
.capture-share-hint { font-size: 12px; line-height: 1.4; color: var(--texto-3); }
.capture-batch { height: fit-content; max-height: 90dvh; width: min(calc(100vw - 24px), 520px); border-radius: 20px; padding: 20px; }
.capture-batch > p { font-size: 14px; line-height: 1.5; color: var(--texto-2); }
.capture-batch .capture-eyebrow { color: var(--vermelho-claro); font-size: 11px; font-weight: 800; letter-spacing: .12em; margin-bottom: 6px; }
.capture-batch-list { list-style: none; min-height: 0; overflow: auto; display: grid; gap: 10px; padding: 0; }
.capture-batch-list li { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #ffffff20; border-radius: 12px; }
.capture-batch-list video { width: 48px; height: 72px; flex: none; object-fit: cover; }
.capture-batch-list b, .capture-batch-list small { display: block; }
.capture-batch-list small { font-size: 11px; line-height: 1.5; color: var(--texto-3); margin-top: 4px; }
.capture-batch-list .btn { min-width: 76px; padding: 0 12px; }
@media(max-width:380px) { #galeria .cabecalho-3 h2 { font-size: 15px; } #galeria .pilula-pequena { padding: 0 10px; } }
