/**
 * elementor.css — Elementor-specific overrides
 *
 * Loaded LAST (after all design-system partials) so specificity wins.
 * Goal: keep Elementor's spacing/typography consistent with our dark luxury theme.
 * Only override what Elementor forces differently — keep changes minimal.
 */

/* ─── RESET ELEMENTOR DEFAULT MARGINS ────────────────────────── */
/* Elementor wraps every section/column — neutralise its default margins */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1160px;
}
.elementor-section-full_width > .elementor-container {
  max-width: none;
}

/* ─── BODY BG — make sure Elementor canvas matches our --bg ───── */
.elementor-page { background: var(--bg); }

/* ─── TYPOGRAPHY RESET IN ELEMENTOR WIDGETS ──────────────────── */
/* Elementor heading widget */
.elementor-heading-title {
  line-height: 1.2;
}
/* Elementor text editor widget */
.elementor-widget-text-editor p { color: var(--text-sub); }
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4 { color: var(--text); }

/* ─── COLUMNS GUTTER ──────────────────────────────────────────── */
/* Elementor v3 default column gap is 20px — keep it consistent */
.elementor-column-gap-default > .elementor-row { gap: 0; } /* managed per-section */

/* ─── NAV OFFSET FOR ELEMENTOR SECTIONS ──────────────────────── */
/* Sections that start at the top of the page need nav-height offset */
.elementor-section:first-of-type {
  scroll-margin-top: var(--nav-h);
}

/* ─── IMAGES ──────────────────────────────────────────────────── */
/* Elementor image widget — remove default WP blue outline */
.elementor-widget-image a:focus img,
.elementor-widget-image img { outline: none; border: none; }

/* ─── BUTTONS ─────────────────────────────────────────────────── */
/* Elementor button widget — style as .btn--gold when class applied */
.elementor-widget-button .elementor-button.elementor-button-custom {
  font-family: 'DM Sans', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ─── FORMS ───────────────────────────────────────────────────── */
/* Elementor form widget inputs */
.elementor-form .elementor-field-group > input,
.elementor-form .elementor-field-group > textarea,
.elementor-form .elementor-field-group > select {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--text) !important;
  font-family: 'DM Sans', sans-serif !important;
  border-radius: 0 !important;
}
.elementor-form .elementor-field-group > input:focus,
.elementor-form .elementor-field-group > textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}
.elementor-form .elementor-field-label {
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--text-sub) !important;
  font-weight: 600 !important;
}
.elementor-form .elementor-button {
  background: var(--gold) !important;
  color: var(--bg) !important;
  border: none !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
}
.elementor-form .elementor-button:hover {
  background: var(--gold-lt) !important;
  transform: translateY(-2px) !important;
}

/* ─── ICON BOX ────────────────────────────────────────────────── */
.elementor-icon-box-icon { color: var(--gold) !important; }

/* ─── DIVIDER WIDGET ──────────────────────────────────────────── */
.elementor-divider__element { border-color: var(--border) !important; }

/* ─── POPUP / OVERLAY ─────────────────────────────────────────── */
/* Elementor popup — inherit our bg */
.elementor-popup-modal .dialog-widget-content {
  background: var(--bg2);
  border: 1px solid var(--border);
}

/* ─── SCROLLBAR (webkit) ──────────────────────────────────────── */
::-webkit-scrollbar       { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg2); }
::-webkit-scrollbar-thumb { background: var(--bg4); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-dk); }
