/* Neutralise Elementor's default spacing so the design's own styles decide the layout.
   Kept at low specificity: anything changed in the Elementor Style tab still wins. */

.f5r {
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  --kit-widget-spacing: 0px;
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
}
.f5r, .f5r *, .f5r *::before, .f5r *::after { box-sizing: revert; }

.f5r .e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --padding-block-start: 0px; --padding-block-end: 0px; --padding-inline-start: 0px; --padding-inline-end: 0px;
  --margin-top: 0px; --margin-right: 0px; --margin-bottom: 0px; --margin-left: 0px;
  --margin-block-start: 0px; --margin-block-end: 0px; --margin-inline-start: 0px; --margin-inline-end: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --width: auto; --min-height: 0; --flex-wrap: nowrap;
  --flex-grow: 0; --flex-shrink: 1; --flex-basis: auto;
  padding: 0; margin: 0; gap: 0; min-height: 0; max-width: none; width: auto;
  position: static; flex: 0 1 auto; border-radius: 0;
}
.f5r.e-con { position: static; padding: 0; margin: 0; gap: 0; min-height: 0; max-width: none; }

.f5r .elementor-widget {
  margin: 0; position: static; width: auto; max-width: none; flex: 0 1 auto;
  color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; font-style: inherit;
  line-height: inherit; letter-spacing: inherit; text-transform: inherit; text-align: inherit;
}
.f5r .elementor-widget > .elementor-widget-container { margin: 0; padding: 0; }

/* Elementor 4 sets widget max-width: 100% and margin-block-end: 0 with strong selectors.
   Each design rule also stores its values in --f5-mw / --f5-mb, read back here. */
@property --f5-mb { syntax: '*'; inherits: false; }
@property --f5-mw { syntax: '*'; inherits: false; }
.elementor .f5r .elementor-widget.elementor-widget,
.elementor .f5r.e-con > .elementor-widget.elementor-widget {
  margin-block-end: var(--f5-mb, 0px);
  max-width: var(--f5-mw, none);
}

.f5r .elementor-heading-title {
  margin: revert; padding: 0; line-height: normal; color: inherit; font-family: inherit;
  font-size: revert; font-weight: revert; letter-spacing: inherit; text-transform: inherit;
}

.f5r .elementor-widget-text-editor,
.f5r .elementor-widget-html,
.f5r .elementor-widget-shortcode { text-align: inherit; }

.f5r .elementor-widget-image { text-align: inherit; line-height: 0; }
.f5r .elementor-widget-image img { border-radius: 0; box-shadow: none; }

.f5r .elementor-button-wrapper { display: block; }
.f5r .elementor-button {
  display: inline-flex; align-items: center; background: none; border: 0; border-radius: 0; padding: 0;
  color: inherit; fill: currentColor; font: inherit; line-height: inherit; letter-spacing: inherit;
  text-transform: inherit; box-shadow: none; transition: opacity .2s; text-align: inherit;
}
.f5r .elementor-button:hover, .f5r .elementor-button:focus, .f5r .elementor-button:visited { color: inherit; }
.f5r .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
.f5r .elementor-button-icon { display: inline-flex; font-size: 18px; }
.f5r .elementor-button-icon svg { width: 18px; height: 18px; fill: none !important; }
.f5r .elementor-button-text { flex-grow: 0; }

/* Elements that sit on top of a section, like glows and photos */
.f5r .elementor-widget-html[style*="absolute"] { pointer-events: none; }

/* Editor: make empty shapes selectable */
.elementor-editor-active .f5r .f5-html:empty { min-height: 8px; }
