/* ════════════════════════════════════════════════
   SIM Programa – [sim_programa]
   Banner Conheça o Programa + Player de Vídeo
   ════════════════════════════════════════════════ */

:root {
  --sp-teal:   #39a3a6;
  --sp-navy:   #22587a;
  --sp-white:  #ffffff;
  --sp-radius: 20px;
  --sp-trans:  .3s ease;
  --sp-shadow: 0 8px 40px rgba(34,88,122,.18);
}

/* ── Wrapper grid ────────────────────────────── */
.sim-programa {
  display: grid;
  grid-template-columns: var(--sp-grid, 1fr 1fr);
  gap: 20px;
  width: 100%;
  align-items: stretch;
  font-family: inherit;
}

/* ════════════════════════════════════════════════
   BANNER
   ════════════════════════════════════════════════ */
.sim-prog-banner {
  position: relative;
  border-radius: var(--sp-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 320px;
}

/* Fundo */
.sim-prog-ban-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.sim-prog-ban-overlay,
.sim-prog-ban-solid {
  position: absolute;
  inset: 0;
}

/* Decoração */
.sim-prog-deco {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255,255,255,.07);
}
.sim-prog-deco-1 { width:340px; height:340px; top:-100px; right:-60px; }
.sim-prog-deco-2 { width:180px; height:180px; bottom:-60px; right:160px; background:rgba(255,255,255,.05); }
.sim-prog-deco-3 { width:100px; height:100px; top:40px; right:220px; }

/* Corpo do banner */
.sim-prog-ban-body {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 48px;
  gap: 14px;
}

/* Ícone */
.sim-prog-ban-icon {
  width: 56px;
  height: 56px;
  color: rgba(255,255,255,.8);
  margin-bottom: 4px;
}
.sim-prog-ban-icon svg { width: 100%; height: 100%; }

/* Título */
.sim-prog-ban-titulo {
  font-size: 1.65rem;
  font-weight: 800;
  color: var(--sp-white);
  line-height: 1.2;
  letter-spacing: -.02em;
  margin: 0;
}

/* Subtítulo */
.sim-prog-ban-sub {
  font-size: 1rem;
  color: rgba(255,255,255,.8);
  margin: 0;
  font-weight: 400;
}

/* Texto */
.sim-prog-ban-texto {
  font-size: .9rem;
  color: rgba(255,255,255,.72);
  margin: 0;
  line-height: 1.65;
}

/* Botão */
.sim-prog-ban-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--sp-white);
  color: var(--sp-navy);
  font-size: .88rem;
  font-weight: 700;
  padding: 12px 26px;
  border-radius: 50px;
  text-decoration: none;
  width: fit-content;
  margin-top: 6px;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  transition: transform .2s, box-shadow .2s;
}
.sim-prog-ban-btn svg { width:15px; height:15px; transition:transform .2s; }
.sim-prog-ban-btn:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.22); }
.sim-prog-ban-btn:hover svg { transform:translateX(4px); }

/* ════════════════════════════════════════════════
   VÍDEO
   ════════════════════════════════════════════════ */
.sim-prog-video {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Cabeçalho do vídeo */
.sim-prog-vid-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sim-prog-vid-play-icon { width: 32px; height: 32px; flex-shrink: 0; }
.sim-prog-vid-play-icon svg { width: 100%; height: 100%; }

.sim-prog-vid-titulo {
  font-size: .95rem;
  font-weight: 700;
  color: var(--sp-navy);
  line-height: 1.3;
}

/* Wrapper ratio */
.sim-prog-vid-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.sim-prog-vid-ratio {
  position: relative;
  width: 100%;
  height: 0;
  border-radius: var(--sp-radius);
  overflow: hidden;
  box-shadow: var(--sp-shadow);
  flex: 1;
}

/* iframe / video nativos */
.sim-prog-vid-iframe,
.sim-prog-vid-ratio iframe,
.sim-prog-vid-ratio video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: var(--sp-radius);
  display: block;
}

/* Embed raw wrap */
.sim-prog-vid-embed-wrap {
  position: absolute;
  inset: 0;
}
.sim-prog-vid-embed-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* ── Lite player (click-to-load) ─────────────── */
.sim-prog-lite-player {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  background-color: #1a2f3d;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}

.sim-prog-lite-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.28);
  transition: background var(--sp-trans);
}
.sim-prog-lite-player:hover .sim-prog-lite-overlay {
  background: rgba(0,0,0,.15);
}

/* Botão play */
.sim-prog-play-btn {
  position: relative;
  z-index: 2;
  background: none;
  border: none;
  cursor: pointer;
  width: 80px;
  height: 80px;
  transition: transform .25s;
  padding: 0;
}
.sim-prog-play-btn svg { width: 100%; height: 100%; }
.sim-prog-lite-player:hover .sim-prog-play-btn { transform: scale(1.1); }

/* Label "Assistir" */
.sim-prog-play-label {
  position: relative;
  z-index: 2;
  color: var(--sp-white);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

/* ── Responsivo ──────────────────────────────── */
@media (max-width: 900px) {
  .sim-programa {
    grid-template-columns: 1fr !important;
  }
  .sim-prog-ban-body {
    padding: 36px 32px;
    gap: 12px;
  }
  .sim-prog-banner { min-height: 260px; }
  .sim-prog-ban-titulo { font-size: 1.35rem; }
}

@media (max-width: 500px) {
  .sim-prog-ban-body { padding: 28px 24px; }
  .sim-prog-ban-titulo { font-size: 1.15rem; }
}
