/* Elementor overrides — match ClickApp design system */

.elementor-section-boxed > .elementor-container {
  max-width: var(--container-2xl);
}

/* Default headings inside Elementor widgets */
.elementor-heading-title {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
}

/* Tighten default Elementor buttons to match .ca-btn */
.elementor-button {
  border-radius: var(--radius-full) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  min-height: 48px;
  transition: all var(--transition-fast) !important;
}

.elementor-button-primary {
  background: var(--gradient-blue) !important;
  color: var(--color-white) !important;
  border: none !important;
}
.elementor-button-primary:hover {
  box-shadow: var(--shadow-glow) !important;
  transform: translateY(-2px);
}

/* Swiper bullets color */
.swiper-pagination-bullet-active {
  background: var(--color-secondary) !important;
}

/* Elementor Posts horizontal scroll helper */
.clickapp-scroll-x .elementor-posts-container {
  display: flex !important;
  gap: var(--space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--space-md);
}
.clickapp-scroll-x .elementor-post {
  flex: 0 0 min(90%, 420px);
  scroll-snap-align: start;
}

/* CF7 submit styled */
.wpcf7-submit.wpcf7-submit {
  background: var(--gradient-blue) !important;
  color: var(--color-white) !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: var(--radius-full) !important;
  font-weight: 600 !important;
  min-height: 48px;
  cursor: pointer;
  transition: all var(--transition-fast);
}
.wpcf7-submit:hover { box-shadow: var(--shadow-glow); transform: translateY(-2px); }

/* CF7 response messages */
.wpcf7-response-output {
  border-radius: var(--radius-sm) !important;
  border: none !important;
  padding: var(--space-sm) var(--space-md) !important;
}

/* Astra mobile menu fix for a11y touch target */
.ast-builder-menu-mobile .menu-item a { min-height: 44px; display: flex; align-items: center; }

/* Polylang language switcher styling */
.menu-item .pll-lang-switcher { display: inline-flex; gap: 6px; }
.pll-lang-switcher a { padding: 4px 10px; border-radius: var(--radius-sm); font-size: var(--fs-xs); }
.pll-lang-switcher a:hover { background: var(--color-light); }
