/* video button heart beat */
.ct-pulse {
  border-radius: 50%;
  -webkit-animation: pulse 2s ease-out infinite;
  animation: pulse 2s ease-out infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .8); }
  80% { box-shadow: 0 0 0 30px rgba(255, 255, 255, 0); }
}

/* Stack list items vertically on mobile */
@media (max-width: 767px) {
  .wp-block-columns .wp-block-column ul,
  .metrics-list {
    display: block !important;
    column-count: 1 !important;
  }

  .wp-block-columns .wp-block-column ul li,
  .metrics-list li {
    display: block !important;
    width: 100% !important;
    margin-bottom: 1em;
  }
}

/* Square video wrapper (single source of truth) */
.ref-square-video {
  width: 100%;
  max-width: 520px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background: #000;
}

/* Vimeo iframe fills wrapper */
.ref-square-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Make sure it fills the column height beside text */
@media (min-width: 768px) {
  .wp-block-columns .ref-square-video {
    height: 100%;
  }
}

/* Container + figure must never exceed column */
.ref-gif,
.ref-gif figure,
.ref-gif .wp-block-image,
.ref-gif .stk-block-image {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* Nuke any inline widths coming from editor/plugins */
.ref-gif [style*="width"],
.ref-gif [style*="max-width"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Actual image element */
.ref-gif img,
.ref-gif .stk-img,
.ref-gif .stk-block-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 20px;
}

/* Columns: prevent side bleed and force full width on mobile */
@media (max-width: 782px) {
  .wp-block-columns .wp-block-column { flex-basis: 100% !important; }
  .ref-gif, .ref-gif figure, .ref-gif img { width: 100% !important; max-width: 100% !important; }
}

/* Safety: stop horizontal scroll sitewide */
html, body { overflow-x: hidden; }
