/**
 * Overrides Elementor / Astra leftovers so the redesign is visible
 * even on Canvas and Full Width templates.
 */
:root {
  --e-global-color-primary: #0D9488 !important;
  --e-global-color-secondary: #0F766E !important;
  --e-global-color-text: #475569 !important;
  --e-global-color-accent: #14B8A6 !important;
  --ast-global-color-0: #0D9488 !important;
  --ast-global-color-1: #0F172A !important;
  --ast-global-color-2: #475569 !important;
}

html,
body,
body.elementor-page,
body.page {
  background: #F8FAFC !important;
  color: #0F172A !important;
  font-family: Inter, system-ui, sans-serif !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(ellipse 80% 50% at 12% -8%, rgba(13, 148, 136, 0.1), transparent 50%),
    radial-gradient(ellipse 60% 40% at 92% 8%, rgba(20, 184, 166, 0.07), transparent 46%);
}

h1, h2, h3, h4, h5,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: "Plus Jakarta Sans", Inter, sans-serif !important;
  color: #0F172A !important;
  letter-spacing: -0.02em;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-icon-list-text {
  color: #475569 !important;
  font-family: Inter, system-ui, sans-serif !important;
}

/* Hide leftover Astra / Newspaperex chrome if a plugin still prints it */
.ast-primary-header-bar,
.main-header-bar,
.mg-headwidget,
.mg-footer,
.newspaperex-footer,
.site-below-footer-wrap {
  display: none !important;
}

/* Elementor containers → glass cards */
.e-con.e-parent > .e-con-inner,
.elementor-widget-n-carousel,
.elementor-element.e-con.e-flex {
  border-radius: 16px;
}

.elementor-widget-icon-box,
.elementor-icon-box-wrapper,
.elementor-widget-icon-list,
.elementor-widget-image-box {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
  padding: 1rem !important;
}

.elementor-button,
.elementor-button-link {
  background: #0D9488 !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 600 !important;
  transition: transform 0.2s ease, background 0.2s ease;
}
.elementor-button:hover {
  background: #0F766E !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Gallery (Pro + Basic) */
.elementor-gallery__container,
.elementor-image-gallery .gallery,
.gallery {
  gap: 10px !important;
}
.elementor-gallery-item,
.gallery-item img,
.elementor-image-gallery img {
  border-radius: 12px !important;
  overflow: hidden;
}

/* Contact icon list */
.elementor-icon-list-icon i,
.elementor-icon-list-icon svg {
  color: #0D9488 !important;
}

.elementor-social-icon {
  background: #d7f3ee !important;
  color: #0D9488 !important;
  border-radius: 999px !important;
}

iframe[src*="google.com/maps"],
.elementor-widget-google_maps iframe,
.elementor-custom-embed iframe {
  border-radius: 16px !important;
  overflow: hidden;
}

/* Force our header above Elementor canvas content */
.site-header {
  position: sticky !important;
  top: 0;
  z-index: 10000 !important;
}

@media (max-width: 767px) {
  .elementor-widget-icon-box,
  .e-con.e-grid {
    width: 100% !important;
  }
}
