/* =========================================================
   Elementor ↔ original design glue.
   site.css is the untouched original stylesheet; these rules only undo
   Elementor's defaults where they would change how a section looks.
   ========================================================= */

/* Section containers sit edge to edge, like the original <section>s.
   Padding/gap set on a container in Elementor still take precedence. */
.e-con.gbl-section {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --widgets-spacing: 0px 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  --min-height: 0px;
}
.elementor-widget[class*="elementor-widget-gbl-"] {
  width: 100%;
  max-width: 100%;
}

/* Elementor's generic `.elementor img` reset (height:auto, no radius)
   would squash the hero photo and square off the QR codes. */
.elementor .hero-video-el {
  height: 100%;
  max-width: none;
}
.elementor .qr-img-wrap img {
  height: 100%;
  border-radius: var(--radius-sm);
}

/* Header/footer links never pick up core's default underline. */
.topbar a,
.main-header a,
.footer a,
a.mobile-call {
  text-decoration: none;
}

/* Keep everything visible while editing (no scroll-reveal in the editor). */
.elementor-editor-active .reveal {
  opacity: 1;
  transform: none;
}

/* =========================================================
   Pages and posts written in the normal WordPress editor.
   ========================================================= */
.gbl-content { padding: 80px 0; }
.gbl-content .gbl-entry { max-width: 820px; color: var(--ink-soft); font-size: 16.5px; line-height: 1.7; }
.gbl-content .gbl-entry > * + * { margin-top: 1.1em; }
.gbl-content .gbl-entry h2,
.gbl-content .gbl-entry h3,
.gbl-content .gbl-entry h4 { margin-top: 1.6em; }
.gbl-content .gbl-entry ul,
.gbl-content .gbl-entry ol { padding-left: 1.3em; }
.gbl-content .gbl-entry img { height: auto; border-radius: var(--radius); }
.gbl-content .gbl-entry a { text-decoration: underline; }
.gbl-post-list { display: grid; gap: 28px; }
.gbl-post-card h2 { font-size: 24px; margin-bottom: 8px; }
.gbl-post-card h2 a { color: var(--ink); }
.gbl-post-card h2 a:hover { color: var(--green); }
