/* Vitrine MissionAL 1.0.0 — nova arquitetura independente do tema e do Destaques clássico. */
.omv, .omv * { box-sizing: border-box; }
.omv {
  width:100vw; max-width:100vw; margin:0 calc(50% - 50vw); background:#071b31; color:#fff;
  isolation:isolate; position:relative; font-family:inherit; line-height:normal;
}
.omv .omv-viewport {
  position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden;
  background:#071b31; isolation:isolate;
}
.omv .omv-slide {
  position:absolute; inset:0; margin:0; padding:0; width:100%; height:100%;
  overflow:hidden; color:#fff; border:0; box-shadow:none;
}
.omv .omv-slide[hidden] { display:none !important; }
.omv .omv-picture, .omv .omv-shade {position:absolute; inset:0; width:100%; height:100%;}
.omv .omv-picture {z-index:0;}
.omv .omv-image {
  display:block !important; position:absolute !important; inset:0 !important;
  width:100% !important; max-width:none !important; height:100% !important;
  object-fit:cover !important; object-position:center center !important;
  margin:0 !important; border-radius:0 !important; box-shadow:none !important;
}
.omv .omv-shade { z-index:1; pointer-events:none; }
.omv .omv-overlay-light .omv-shade {
  background:linear-gradient(90deg,rgba(3,17,34,.72) 0%,rgba(3,17,34,.45) 45%,rgba(3,17,34,.04) 100%);
}
.omv .omv-overlay-medium .omv-shade {
  background:linear-gradient(90deg,rgba(3,17,34,.88) 0%,rgba(3,17,34,.63) 48%,rgba(3,17,34,.13) 100%);
}
.omv .omv-overlay-strong .omv-shade {
  background:linear-gradient(90deg,rgba(3,17,34,.94) 0%,rgba(3,17,34,.78) 53%,rgba(3,17,34,.30) 100%);
}
.omv .omv-copy-frame {
  position:absolute; z-index:2; inset:0; padding:clamp(20px,5.5vw,84px);
  display:flex; align-items:center; justify-content:flex-start;
  pointer-events:none;
}
.omv .omv-copy { width:min(65%, 770px); max-width:100%; min-width:0; color:#fff; pointer-events:auto; --omv-scale:1; }
.omv .omv-position-center .omv-copy-frame { justify-content:center; text-align:center; }
.omv .omv-position-center .omv-copy { margin-inline:auto; }
.omv .omv-eyebrow {
  color:#f4dca8 !important; font-size:clamp(11px, 1.3vw, 19px) !important;
  font-weight:750 !important; letter-spacing:.11em !important;
  line-height:1.3 !important; margin:0 0 clamp(6px,1.2vw,16px) !important;
  text-transform:uppercase; white-space:normal !important;
}
.omv h2.omv-title {
  color:#fff !important; font-size:clamp(26px,4.3vw,64px) !important;
  line-height:1.13 !important; letter-spacing:-.026em !important;
  margin:0 0 clamp(10px,1.45vw,21px) !important; padding:0 !important;
  text-transform:none !important; font-weight:750 !important;
  text-align:inherit !important; white-space:normal !important; overflow-wrap:break-word !important;
  word-break:normal !important; max-width:100%; text-wrap:balance;
}
.omv p.omv-description {
  color:rgba(255,255,255,.96) !important;
  font-size:clamp(14px,1.65vw,23px) !important;
  line-height:1.42 !important; font-weight:400 !important;
  margin:0 0 clamp(12px,2vw,27px) !important; max-width:45ch;
  white-space:normal !important; overflow-wrap:break-word !important;
}
.omv .omv-position-center .omv-description {margin-left:auto !important; margin-right:auto !important;}
.omv a.omv-link, .omv a.omv-link:link, .omv a.omv-link:visited {
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  color:#fff !important; background:#951b30 !important; border-radius:999px !important;
  padding:clamp(10px,1.3vw,17px) clamp(18px,2vw,29px) !important;
  font-size:clamp(13px,1.15vw,17px) !important; line-height:1.2 !important;
  font-weight:750 !important; text-align:center !important;
  text-decoration:none !important; box-shadow:0 4px 18px rgba(0,0,0,.13);
  border:0 !important; max-width:100%; white-space:normal !important;
}
.omv a.omv-link:hover {background:#7d1326 !important; color:#fff !important;}
.omv a.omv-link:focus-visible, .omv .omv-controls button:focus-visible {
  outline:3px solid #ffda83 !important; outline-offset:3px !important;
}
.omv .omv-controls {
  display:flex; justify-content:center; align-items:center; gap:10px;
  min-height:54px; padding:8px 12px; background:#071b31; color:#fff;
}
.omv .omv-controls button {
  appearance:none; cursor:pointer; border:1px solid rgba(255,255,255,.35) !important;
  border-radius:99px !important; color:#fff !important; background:transparent !important;
  box-shadow:none !important; font-family:inherit !important; margin:0 !important;
}
.omv .omv-controls .omv-arrow {width:36px; height:36px; font-size:25px; line-height:1; padding:0 !important;}
.omv .omv-controls .omv-pause {min-height:36px; padding:6px 12px !important; font-size:12px; font-weight:700;}
.omv .omv-controls button:hover {background:rgba(255,255,255,.13) !important;}
.omv .omv-count {font-size:12px; font-weight:600; min-width:45px; text-align:center; color:#fff;}
.omv .omv-dots {display:flex; align-items:center; gap:7px;}
.omv .omv-dots button {
  width:10px; height:10px; min-width:10px; min-height:10px;
  border:0 !important; padding:0 !important; background:rgba(255,255,255,.38) !important;
}
.omv .omv-dots button[aria-current="true"] {width:23px; background:#f5d39a !important;}
.omv .omv-slide[data-active="true"] {animation:omv-fade .42s ease-in both;}
@keyframes omv-fade { from {opacity:.6;} to {opacity:1;} }

/* O celular usa a MESMA imagem 16:9 e TODOS os elementos permanecem dentro dela. */
@media (max-width:782px) {
  .omv .omv-copy-frame {padding:8px 12px !important; align-items:center !important;}
  .omv .omv-copy {width:84%; max-width:84%; --omv-scale:1;}
  .omv .omv-overlay-light .omv-shade {background:linear-gradient(90deg,rgba(3,17,34,.78),rgba(3,17,34,.30) 88%);}
  .omv .omv-overlay-medium .omv-shade {background:linear-gradient(90deg,rgba(3,17,34,.88),rgba(3,17,34,.42) 86%);}
  .omv .omv-overlay-strong .omv-shade {background:linear-gradient(90deg,rgba(3,17,34,.95),rgba(3,17,34,.58) 92%);}
  .omv .omv-eyebrow {
    font-size:calc(clamp(9px,2.45vw,12px) * var(--omv-scale)) !important;
    line-height:1.25 !important; margin-bottom:calc(3px * var(--omv-scale)) !important;
    letter-spacing:.055em !important;
  }
  .omv h2.omv-title {
    font-size:calc(clamp(16px,4.65vw,24px) * var(--omv-scale)) !important;
    line-height:1.19 !important; letter-spacing:-.018em !important;
    margin-bottom:calc(5px * var(--omv-scale)) !important; text-wrap:balance;
    white-space:normal !important; overflow-wrap:break-word !important;
  }
  .omv p.omv-description {
    font-size:calc(clamp(10px,2.8vw,14px) * var(--omv-scale)) !important;
    line-height:1.29 !important; margin-bottom:calc(7px * var(--omv-scale)) !important;
    max-width:100%;
  }
  .omv a.omv-link, .omv a.omv-link:link, .omv a.omv-link:visited {
    padding:calc(6px * var(--omv-scale)) calc(12px * var(--omv-scale)) !important;
    font-size:calc(clamp(10px,2.65vw,13px) * var(--omv-scale)) !important;
    min-height:0; line-height:1.25 !important;
  }
  .omv .omv-controls {min-height:49px; gap:7px; padding:7px 9px;}
  .omv .omv-controls .omv-arrow {width:34px; height:34px;}
  .omv .omv-controls .omv-pause {min-height:34px; padding:4px 9px !important;}
}
@media (max-width:359px) {
  .omv .omv-copy-frame {padding:4px 8px !important;}
  .omv .omv-dots {gap:5px;}
  .omv .omv-controls {gap:5px;}
}
@media (prefers-reduced-motion:reduce) {
  .omv .omv-slide[data-active="true"] {animation:none !important;}
}

/* v1.1.0: vídeo como mídia de fundo silenciosa. A imagem permanece sob o vídeo
   para servir de capa e fallback caso a reprodução não seja permitida. */
.omv .omv-video {
  position:absolute !important; inset:0 !important;
  display:block; width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center !important;
  border:0 !important; margin:0 !important; pointer-events:none !important;
  opacity:0; transition:opacity .28s ease;
}
.omv .omv-video.omv-video--playing {opacity:1;}
@media (prefers-reduced-motion:reduce) {
  .omv .omv-video { display:none !important; }
}

/* v1.2.0 — aviso antecipado, contagem regressiva e incorporação aprovada do YouTube. */
.omv.omv-empty {display:none!important;}
.omv .omv-live-status {display:inline-flex;align-items:center;background:#971b32;color:#fff;
  font-size:clamp(10px,1.05vw,14px)!important;font-weight:800!important;letter-spacing:.04em;
  border-radius:999px;padding:5px 11px;margin:0 0 9px!important;line-height:1.2!important;}
.omv .omv-countdown {color:#ffe0a5!important;font-weight:800!important;
  font-size:clamp(12px,1.65vw,23px)!important;line-height:1.3!important;
  margin:0 0 9px!important;}
.omv .omv-youtube-layer {position:absolute;inset:0;z-index:2;pointer-events:none;}
.omv .omv-youtube-play {position:absolute;right:3%;bottom:9%;z-index:2;
  background:#951b30;color:white;border:2px solid white;border-radius:999px;
  padding:10px 15px;font-size:clamp(11px,1.3vw,16px);font-weight:750;cursor:pointer;
  pointer-events:auto;box-shadow:0 3px 14px rgba(0,0,0,.32);}
.omv .omv-youtube-open {background:#071b31;}
.omv .omv-youtube-open iframe {position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:auto;}
.omv .omv-youtube-open .omv-youtube-play {display:none;}
.omv .omv-youtube-close {position:absolute;right:10px;top:8px;z-index:10;
  padding:6px 12px;pointer-events:auto;color:#fff;background:#951b30;
  border:1px solid white;border-radius:999px;font-weight:700;cursor:pointer;}
.omv .omv-youtube-close[hidden]{display:none!important;}
.omv .omv-youtube-open ~ .omv-shade, .omv .omv-youtube-open ~ .omv-copy-frame {pointer-events:none;}
.omv .omv-slide:has(.omv-youtube-open) .omv-copy-frame,
.omv .omv-slide:has(.omv-youtube-open) .omv-shade {visibility:hidden;}
@media(max-width:782px){
  .omv .omv-live-status {font-size:calc(9px * var(--omv-scale,1))!important;
    padding:3px 7px;margin:0 0 4px!important;}
  .omv .omv-countdown {font-size:calc(11px * var(--omv-scale,1))!important;
    margin:0 0 5px!important;line-height:1.15!important;}
  .omv .omv-youtube-play{right:7px;bottom:6px;padding:5px 8px;font-size:10px;}
}

/* v1.2.2: sem faixa de navegação no modo editorial minimalista.
   O comando acessível de pausa não reserva altura sob a imagem e só aparece
   quando recebe foco ou quando o visitante pausou tocando a área livre. */
.omv .omv-controls.omv-controls--minimal {
  position:absolute !important; z-index:20; top:8px; right:8px;
  bottom:auto; left:auto; display:block !important; width:auto !important;
  height:0 !important; min-height:0 !important; padding:0 !important;
  margin:0 !important; border:0 !important; background:transparent !important;
  box-shadow:none !important; overflow:visible !important;
}
.omv .omv-controls--minimal .omv-pause {
  position:absolute !important; top:0; right:0; width:1px !important;
  height:1px !important; min-height:0 !important; padding:0 !important;
  opacity:0; overflow:hidden; clip-path:inset(50%); pointer-events:none;
}
.omv .omv-controls--minimal .omv-pause:focus-visible,
.omv.omv-user-paused .omv-controls--minimal .omv-pause {
  position:relative !important; width:auto !important; height:auto !important;
  min-height:32px !important; padding:5px 12px !important;
  opacity:1 !important; overflow:visible; clip-path:none;
  pointer-events:auto; background:rgba(3,17,34,.90) !important;
  border-color:rgba(255,255,255,.75) !important;
}
