/* ==========================================================================
   Elementor compatibility layer.
   Our stylesheet was written for hand-built markup; Elementor wraps content
   in its own containers. These rules make the two agree.
   ========================================================================== */

/* Content width to match the static build's .wrap (1120px) */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px}

/* Sections: let OUR .section/.hero classes control vertical rhythm; kill
   default widget bottom margins that double our spacing. */
.elementor-widget:not(:last-child){margin-bottom:0}
.elementor-section.section{padding:4.2rem 0}
.elementor-section.hero{padding:4rem 0 3.4rem}
.elementor-widget-text-editor p:first-child{margin-top:0}

/* Restore breathing room between stacked widgets that used to be siblings */
.elementor-widget-heading + .elementor-widget-text-editor{margin-top:.7rem}
.elementor-widget-text-editor + .elementor-widget-text-editor{margin-top:1rem}
.elementor-widget-text-editor + .elementor-section,
.elementor-section.sopra-grid-row + .elementor-widget-text-editor{margin-top:1.6rem}

/* Grid rows converted to Elementor columns: card fills its column */
.sopra-grid-row .card{height:100%}
.sopra-grid-row > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:0 .625rem}
.sopra-grid-row{margin-bottom:1.25rem}

/* Essay pages: reproduce .article's measured column */
.elementor-section.sopra-article > .elementor-container{max-width:44em}
.sopra-article h1{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.sopra-article h2{font-size:1.45rem;margin:2.2rem 0 .8rem}
.sopra-article .elementor-widget-text-editor p{color:var(--ink-soft)}

/* Elementor heading widgets: inherit our display typography */
.elementor-widget-heading .elementor-heading-title{
  font-family:var(--font-display);font-weight:600;line-height:1.18;
  color:var(--ink);letter-spacing:-.01em;
}
.section.deep .elementor-widget-heading .elementor-heading-title{color:#fff}
.cta-band .elementor-heading-title{color:#fff}

/* Native Image widgets carrying the .photo class: match the figure styling */
.elementor-widget-image.photo{margin-top:1.8rem}
.elementor-widget-image.photo img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}
.elementor-widget-image.photo.tight{margin-top:1.2rem}

/* Uploaded logo (Customizer/Elementor Site Identity): sized to the header */
.brand-logo{display:block;height:auto;width:auto;max-height:44px;max-width:240px}
@media (max-width:640px){.brand-logo{max-height:36px;max-width:180px}}

/* WP Menus in the chrome: strip list chrome so anchors flow as before */
.main-nav ul{display:contents;list-style:none;margin:0;padding:0}
.main-nav li{display:contents;list-style:none}
.main-nav li a[aria-current="page"], .main-nav li.current-menu-item > a{color:var(--blue-deep);border-bottom-color:var(--blue)}
.site-footer nav ul{list-style:none;margin:0;padding:0}
