/* File: custom-elements/cgm-intro/cgm-intro.css */

/* --- Variables --- */
:root {
  --cgm-text-main: #333;
  --cgm-text-light: #666;
}

.cgm-intro-wrapper {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 120px 20px;
  background: transparent;
  z-index: 1;
}

/* --- THE AMBIENT BLOBS --- */
.cgm-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.8;
  z-index: -1;
  pointer-events: none;
}

.cgm-blob-1 {
  width: 600px;
  height: 600px;
  top: -200px;
  left: -100px;
}

.cgm-blob-2 {
  width: 700px;
  height: 700px;
  bottom: -250px;
  right: -100px;
}

/* --- CONTENT CONTAINER --- */
.cgm-intro-container {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

/* --- NEW: Image Positioning Logic --- */
.cgm-intro-layout.cgm-img-left .cgm-intro-image {
  order: -1;
}

/* --- TYPOGRAPHY --- */
.cgm-intro-eyebrow {
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 20px;
  display: inline-block;
}

.cgm-intro-headline {
  margin: 0 0 30px 0;
  line-height: 1.2;
  font-weight: 500;
}

.cgm-intro-body {
  /* Values are now handled by PHP inline styles */
}

.cgm-intro-body p {
  /* margin-bottom: 25px; */
}

.cgm-intro-body strong {
  color: var(--cgm-text-main);
  font-weight: 600;
}

/* --- DIVIDER --- */
.cgm-intro-divider {
  width: 250px;
  height: 3px;
  background-color: #6271a3;
  margin: 40px auto 10px auto;
}
.cgm-intro-wrapper[style*="text-align: left"] .cgm-intro-divider {
  margin-left: 0;
}

/* --- BUTTON STYLES --- */
.cgm-intro-btn {
  display: inline-block;
  margin-top: 35px;
  padding: 16px 40px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  line-height: 1;
}

.cgm-intro-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* Responsive */
@media (max-width: 768px) {
  .cgm-intro-wrapper {
    padding: 80px 20px;
  }
  .cgm-intro-headline {
    font-size: 2.2rem !important;
  }
  .cgm-blob {
    opacity: 0.6;
  }
  .cgm-intro-btn {
    width: 100%;
    text-align: center;
    padding: 18px 20px;
  }
}
