/* ASPIR - Elementor compatibility layer (v1.0.5)
   Neutralises Elementor's default container/widget spacing and typography
   so the original design renders unchanged, while every element stays editable. */

/* ---- Containers ---- */
.e-con.aspir-c{
  --width:auto;
  --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;
  --container-default-padding-top:0px;--container-default-padding-right:0px;
  --container-default-padding-bottom:0px;--container-default-padding-left:0px;
  --gap:0px;--row-gap:0px;--column-gap:0px;
  --widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;
  --kit-widget-spacing:0px;
  --container-widget-width:auto;--container-widget-flex-grow:0;--container-widget-align-self:auto;
  --align-items:normal;--justify-content:normal;--flex-wrap:nowrap;
  min-width:0;
}
.e-con.aspir-c.flex,.e-con.aspir-c.inline-flex{--flex-direction:row}
/* Elementor writes --display:flex on every container with a (0,3,0) selector, so ours must be stronger.
   Containers are plain block boxes unless the original markup used flex/grid utilities (see aspir-elementor-map.css). */
.elementor .elementor-element.e-con.aspir-c{--display:block}

/* Original site rule: h1-h4 use the display font (kept on the wrapper so utility classes like font-sans can still override) */
.e-con.aspir-c>.aspir-w.aspir-hd{font-family:var(--font-display)}

/* ---- Widgets inside ASPIR containers ---- */
.e-con.aspir-c>.elementor-widget{margin:0;width:auto;max-width:100%;flex-grow:0;align-self:auto;min-width:0}
.e-con.aspir-c>.elementor-widget:not(:last-child){margin-block-end:0}
.aspir-w>.elementor-widget-container{margin:0;padding:0}

body .aspir-w.elementor-widget-text-editor,
body .aspir-w.elementor-widget-heading,
body .aspir-w.elementor-widget-html,
body .aspir-w.elementor-widget-image{
  color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-transform:inherit;text-align:inherit;
}
body .aspir-w .elementor-heading-title{
  color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;margin:0;padding:0;text-wrap:inherit;
}
.aspir-w.elementor-widget-text-editor p{margin:0}
.aspir-w.elementor-widget-text-editor>.elementor-widget-container{color:inherit;font:inherit}

/* Images fill the box defined by the original utility classes */
.aspir-w.elementor-widget-image>.elementor-widget-container{height:100%;width:100%;border-radius:inherit;overflow:inherit;object-fit:inherit;object-position:inherit}
.aspir-w.elementor-widget-image img{
  display:block;width:100%;height:100%;max-width:100%;object-fit:inherit;object-position:inherit;
  border-radius:inherit;border:0;box-shadow:none;vertical-align:middle;
}
.aspir-w.elementor-widget-html>.elementor-widget-container{display:contents}
/* inline SVG icons behave like direct children of their row, as in the original markup */
.e-con.aspir-c>.aspir-w.aspir-svg{display:contents}
.aspir-w.elementor-widget-html iframe{display:block}

/* ---- Default WordPress header (intentionally minimal - not a custom design) ---- */
.aspir-default-header{border-bottom:1px solid rgba(0,0,0,.08);background:#fff}
.aspir-default-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;max-width:72rem;margin:0 auto;padding:14px 24px}
.aspir-default-header .site-title{font-size:1.25rem;font-weight:700;text-decoration:none;color:inherit}
.aspir-default-header .site-description{margin:0;font-size:.8rem;opacity:.7}
.aspir-default-header ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.aspir-default-header a{text-decoration:none}
.aspir-default-header .menu a:hover{text-decoration:underline}
.aspir-default-header .custom-logo{height:44px;width:auto}

/* Non-Elementor content (e.g. new block-editor pages/posts) */
.aspir-entry{max-width:72rem;margin:0 auto;padding:4rem 1.5rem}
.aspir-entry h1.entry-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem}
.aspir-entry .entry-content>*+*{margin-top:1rem}
.aspir-entry .entry-content a{text-decoration:underline}
.aspir-entry .entry-content ul{list-style:disc;padding-left:1.5rem}
.aspir-entry .entry-content ol{list-style:decimal;padding-left:1.5rem}
.aspir-entry .entry-content h2,.aspir-entry .entry-content h3{font-weight:700;font-size:1.4rem;margin-top:1.5rem}
.aspir-entry .entry-content img{max-width:100%;height:auto}
