/* ═══════════════════════════════════════════
   DIGIMAGINE — ELEMENTOR COMPATIBILITY CSS
   Loaded only when Elementor is active
   ═══════════════════════════════════════════ */

/* Fix Elementor sections to match dark theme */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1280px;
}

/* Ensure Elementor widgets inherit theme fonts on dark bg */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Syne', sans-serif;
}

.elementor-widget-text-editor {
  font-family: 'DM Sans', sans-serif;
  color: rgba(255,255,255,0.65);
}

/* Dark background for Elementor sections */
body .elementor-section {
  background-color: #080818;
}

/* Button styles */
.elementor-button {
  font-family: 'DM Sans', sans-serif;
  border-radius: 100px !important;
  font-weight: 600;
  letter-spacing: .04em;
}

/* Fix Elementor image widget */
.elementor-widget-image img {
  border-radius: 12px;
}

/* Fix icon box dark theme */
.elementor-widget-icon-box .elementor-icon-box-title {
  color: #ffffff;
}

.elementor-widget-icon-box .elementor-icon-box-description {
  color: rgba(255,255,255,0.5);
}

/* Counter widget */
.elementor-counter .elementor-counter-number-wrapper {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
}

/* Divider */
.elementor-divider {
  border-color: rgba(255,255,255,0.12);
}

/* Portfolio shortcode inside Elementor */
.portfolio-shortcode .grid {
  padding: 0;
}

/* Contact form inside Elementor */
.digi-contact-wrap {
  padding: 0 20px;
}

/* Fix Elementor canvas template */
body.elementor-page .elementor-section.elementor-section-full_width {
  padding-left: 0;
  padding-right: 0;
}

/* Fix container width for full-width pages */
.elementor-page .site-main {
  max-width: 100%;
  padding: 0;
}

/* Ensure smooth scroll still works with Elementor */
html.elementor-html {
  scroll-behavior: smooth;
}

/* ═══ SHIMMER ANIMATION FOR ELEMENTOR HEADINGS ═══ */
/* Apply to heading widgets that have class "shimmer-text" */
/* In Elementor: Advanced tab → CSS Classes → add "shimmer-text" */
.elementor-widget-heading.shimmer-text .elementor-heading-title {
  background: linear-gradient(
    90deg,
    #4a50ff 0%,
    #d400ff 20%,
    #9b1ff5 40%,
    #1a1fe8 60%,
    #d400ff 80%,
    #4a50ff 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 300%;
  animation: elementor-shimmer 6s linear infinite;
}

@keyframes elementor-shimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Hero section class for Elementor */
.elementor-element.hero-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* Hero badge styling */
.elementor-element.hero-badge-text .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 100px;
  padding: 8px 20px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  width: auto;
}

/* Fix Elementor mobile responsive */
@media (max-width: 767px) {
  .elementor-section.elementor-section-height-min-height {
    min-height: auto !important;
    padding: 60px 16px !important;
  }

  .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.3rem, 6vw, 2rem) !important;
    line-height: 1.2 !important;
  }

  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    font-size: .9rem !important;
    line-height: 1.6 !important;
  }

  .elementor-button {
    padding: 12px 24px !important;
    font-size: .85rem !important;
    width: 100%;
    text-align: center;
  }

  .elementor-column {
    margin-bottom: 20px;
  }
}

@media (max-width: 400px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.1rem, 7vw, 1.8rem) !important;
  }

  .elementor-section {
    padding: 40px 12px !important;
  }
}
