/**
 * Medicare of Georgia — Elementor Overrides
 * Extra specificity rules to ensure brand consistency inside Elementor widgets
 */

/* ── Global Elementor typography ─────────────────── */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Merriweather', Georgia, serif !important;
  color: #0B3D6B;
}

.elementor-section.mog-hero .elementor-heading-title,
.elementor-column.mog-hero .elementor-heading-title {
  color: #FFFFFF !important;
}

.elementor-widget-text-editor {
  font-family: 'DM Sans', sans-serif;
}

/* ── Elementor buttons use brand styles ────────────── */
.elementor-button-wrapper .elementor-button {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  transition: transform 0.15s ease, box-shadow 0.2s ease !important;
}
.elementor-button-wrapper .elementor-button:hover {
  transform: translateY(-2px) !important;
}

/* Elementor button skins → brand colors */
.elementor-button.elementor-size-md { padding: 14px 28px !important; font-size: 15px !important; }
.elementor-button.elementor-size-lg { padding: 18px 36px !important; font-size: 16px !important; }
.elementor-button.elementor-size-xl { padding: 20px 44px !important; font-size: 18px !important; }

/* ── Elementor Form widget ────────────────────────── */
.elementor-form .elementor-field-group { margin-bottom: 16px; }
.elementor-form .elementor-field-label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: #475569 !important;
  margin-bottom: 6px !important;
}
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="tel"],
.elementor-form input[type="number"],
.elementor-form select,
.elementor-form textarea {
  font-family: 'DM Sans', sans-serif !important;
  border: 2px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  color: #0F1E30 !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.elementor-form input:focus,
.elementor-form select:focus,
.elementor-form textarea:focus {
  border-color: #1A5C9A !important;
  box-shadow: 0 0 0 3px rgba(26,92,154,0.12) !important;
  outline: none !important;
}
.elementor-form .elementor-button {
  background: linear-gradient(135deg, #2A8C5C, #1D6642) !important;
  color: #FFFFFF !important;
  border: none !important;
  width: 100% !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(42,140,92,0.30) !important;
}
.elementor-form .elementor-button:hover {
  box-shadow: 0 8px 24px rgba(42,140,92,0.42) !important;
}

/* ── Elementor Accordion widget → brand styles ──────── */
.elementor-accordion .elementor-tab-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0B3D6B !important;
  padding: 20px 24px !important;
  border: 2px solid #E2E8F0 !important;
  border-radius: 10px !important;
  margin-bottom: 8px !important;
  transition: border-color 0.2s !important;
}
.elementor-accordion .elementor-tab-title:hover {
  border-color: #1A5C9A !important;
}
.elementor-accordion .elementor-tab-title.elementor-active {
  background: #E6F1FB !important;
  border-color: #0B3D6B !important;
  color: #0B3D6B !important;
}
.elementor-accordion .elementor-tab-content {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.75 !important;
  padding: 16px 24px 20px !important;
  border: 2px solid #E2E8F0 !important;
  border-top: none !important;
  border-radius: 0 0 10px 10px !important;
  background: #FFFFFF !important;
  margin-top: -10px !important;
  margin-bottom: 8px !important;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  color: #1A5C9A !important;
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
  color: #0B3D6B !important;
}

/* ── Elementor Icon Box widget ───────────────────────── */
.elementor-icon-box-title {
  font-family: 'Merriweather', Georgia, serif !important;
  color: #0B3D6B !important;
}
.elementor-icon-box-description {
  font-family: 'DM Sans', sans-serif !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* ── Elementor Number Counter ────────────────────────── */
.elementor-counter-number-wrapper {
  font-family: 'Merriweather', Georgia, serif !important;
  color: #0B3D6B !important;
  font-weight: 900 !important;
}
.elementor-counter-title {
  font-family: 'DM Sans', sans-serif !important;
  color: #475569 !important;
}

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

/* ── Elementor Divider ───────────────────────────────── */
.elementor-divider-separator {
  border-color: #E2E8F0 !important;
}

/* ── Inside .mog-hero section — white text ───────────── */
.mog-hero .elementor-widget-heading .elementor-heading-title {
  color: #FFFFFF !important;
}
.mog-hero .elementor-widget-text-editor p {
  color: rgba(255,255,255,0.82) !important;
}
.mog-hero .elementor-divider-separator {
  border-color: rgba(255,255,255,0.20) !important;
}

/* ── Inside .mog-bg-navy / .mog-bg-dark ─────────────── */
.mog-bg-navy .elementor-widget-heading .elementor-heading-title,
.mog-bg-dark .elementor-widget-heading .elementor-heading-title {
  color: #FFFFFF !important;
}
.mog-bg-navy .elementor-widget-text-editor p,
.mog-bg-dark .elementor-widget-text-editor p {
  color: rgba(255,255,255,0.70) !important;
}

/* ── Elementor Columns inside plan card containers ───── */
.mog-plan-card .elementor-widget-container { height: 100%; }

/* ── Card hover effect for Elementor columns ─────────── */
.elementor-column.mog-plan-card {
  background: #FFFFFF;
  border-radius: 16px;
  border: 2px solid #E2E8F0;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
  overflow: hidden;
}
.elementor-column.mog-plan-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(11,61,107,0.16);
  border-color: #1A5C9A;
}

/* ── Responsive Elementor fixes ──────────────────────── */
@media (max-width: 767px) {
  .elementor-section.mog-hero {
    padding: 60px 20px 80px !important;
  }
  .elementor-section.mog-section-xl {
    padding: 64px 20px !important;
  }
  .mog-search-card {
    padding: 24px 20px !important;
  }
}
