/* Base wrapper */
.cg-cta { position: relative; overflow: hidden; }

/* Background layer: wrapper uses background-image (if set) */
.cg-cta__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.cg-cta__video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.cg-cta__overlay {
  position: absolute; inset: 0;
  background: #000; opacity: var(--cg-cta-overlay, 0);
  mix-blend-mode: normal;
}

/* Layout grid */
.cg-cta__inner {
  position: relative; z-index: 1;
  display: grid; gap: 1.25rem; align-items: center;
  padding: var(--wp--style--root--padding, 0);
}

/* Split: two columns with adjustable ratio */
.cg-cta.layout-split .cg-cta__inner {
  grid-template-columns: var(--cg-cta-content, 50%) var(--cg-cta-media, 50%);
}
.cg-cta.layout-split.has-image-left .cg-cta__inner {
  grid-template-columns: var(--cg-cta-media, 50%) var(--cg-cta-content, 50%);
}

/* Stacked: single column, media can be top or bottom */
.cg-cta.layout-stacked .cg-cta__inner { grid-template-columns: 1fr; }

/* Overlay: content over background */
.cg-cta.layout-overlay .cg-cta__inner {
  grid-template-columns: 1fr;
  min-height: 320px;
}

/* Responsive collapse */
@media (max-width: 782px) {
  .cg-cta.layout-split .cg-cta__inner { grid-template-columns: 1fr; }
}

/* Vertical alignment */
.cg-cta.v-start .cg-cta__inner { align-items: start; }
.cg-cta.v-center .cg-cta__inner { align-items: center; }
.cg-cta.v-end .cg-cta__inner { align-items: end; }

/* Content + image */
.cg-cta__image { display: block; width: 100%; height: auto; border: 0; }
.cg-cta__content--full { grid-column: 1 / -1; }
.cg-cta__content--overlay {
  display: flex; align-items: center; justify-content: center; text-align: left;
  min-height: 40vh;
}
.cg-cta__content .cg-cta__content-inner { max-width: var(--cg-cta-content-max, 720px); display: grid; gap: .75rem; }

/* Color schemes for text (override as desired) */
.cg-cta.is-light { color: #fff; }
.cg-cta.is-dark { color: #111; }

/* Buttons variants */
.cg-cta .wp-block-buttons { margin-top: .5rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.cg-cta .wp-block-button__link { text-decoration: none; }

/*
.cg-cta.buttons-primary .wp-block-button__link {
  background: currentColor; color: #fff;
}
.cg-cta.buttons-secondary .wp-block-button__link {
  background: rgba(255,255,255,.15); color: currentColor; border: 1px solid currentColor;
}
.cg-cta.buttons-outline .wp-block-button__link {
  background: transparent; color: currentColor; border: 2px solid currentColor;
}
.cg-cta.buttons-text .wp-block-button__link {
  background: transparent; color: currentColor; border: 0; padding-left: 0; padding-right: 0;
}

/* Optional editor outline 
.cg-cta--editor .cg-cta { border: 1px dashed rgba(125,125,125,.35); border-radius: 6px; }*/
