/* ===== Sección 3: Video con márgenes laterales y CTA ===== */
.section-video{
  position: relative;
  background: inherit;
  padding-top: 3%;
  padding-bottom: 5%;
  overflow: hidden;
}

.section-video .video-bleed{
  max-width: 1160px;
  margin: 0 auto;
  padding-inline: clamp(14px, 4vw, 24px);
}

/* contenedor general para posicionar el botón */
.video-frame-wrap{
  position: relative;      /* referencia para .video-cta */
}

/* SOLO este recorta el iframe y mantiene el borde redondeado */
.section-video .video-frame{
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 44px;     /* tu radio */
  overflow: hidden;        /* recorta SOLO el video */
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.12);
  /* Añadimos un fondo oscuro por si el video tarda en cargar */
  background-color: #000;
}

/* MODIFICACIÓN: 
  Cambiamos 'iframe' por 'video' para que se ajuste igual.
*/
.section-video .video-frame video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
  object-fit: cover; /* Esto hace que el video llene el contenedor */
}

/* Botón */
:root{ --video-cta-h: 56px; }

.video-cta{
  position: absolute;
  left: 50%; bottom: 0;
  transform: translate(-50%, 50%);
  z-index: 2;

  display: inline-grid; place-items: center;
  height: var(--video-cta-h);
  width: max-content;
  padding: 0 26px;
  border-radius: 999px;
  /* SIN border / border-image */
  border: none;
  background: linear-gradient(103.53deg,
              rgba(27,148,214,.2) 1.86%,
              rgba(88,73,144,.2) 50%,
              rgba(206,97,116,.2) 98.14%);
  backdrop-filter: blur(6px) saturate(1.05);

  color:#fff; font-weight:800; letter-spacing:.4px; text-transform:uppercase;
  box-shadow: 0 10px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.22);
  transition: transform .2s ease, box-shadow .2s ease;
  position: absolute;
  text-decoration: none;
}

/* Degradado del borde con pseudo-elemento (respeta el radio) */
.video-cta::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  padding: 2px;                          /* grosor del “borde” */
  background: linear-gradient(180deg,#CE6174 0%,#584990 50%,#1B94D6 100%);
  /* crea un borde hueco usando máscara */
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

.video-cta:hover{
  transform: translate(-50%, 50%) scale(1.02);
  box-shadow: 0 16px 42px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.28);
}

@media (min-width: 651px) and (max-width:1200px){
  .section-video .video-bleed {
    max-width: 1160px;
    margin: 0 auto;
    padding-inline: clamp(70px, 5vw, 49px);
    padding-top: 20px;
    padding-bottom: 40px;
  }
}

@media (max-width:650px){
  .section-video {
    position: relative;
    background: inherit;
    padding-top: 12%;
    padding-bottom: 15%;
  }
  .section-video .video-bleed{ padding: 0 16px; }
  :root{ --video-cta-h: 52px; }
}
