/* Preserve typography rhythm while Elementor owns each editable element. */
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor .elementor-widget-heading .elementor-heading-title { line-height: inherit; }
.elementor .elementor-widget-image { min-width: 0; }
.elementor .elementor-widget-image img { vertical-align: middle; }
.elementor .e-con { min-width: 0; }
.elementor .ah-button-wrap { background: transparent; padding: 0; border: 0; }
.elementor-element.e-con.container { --margin-left: auto; --margin-right: auto; }
.elementor-widget-ah-control > button { padding:0; border:0; background:transparent; color:inherit; width:100%; height:100%; }
.elementor .elementor-widget-button { align-self:flex-start; } .elementor .elementor-widget-button.elementor-align-center { align-self:center; }
/* Synced homepage slides use native Elementor containers and widgets. */
.allied-home .hero-synced .ms-slide { display: grid !important; }
.allied-home .hero-synced .ms-slide-bgcont { aspect-ratio: auto; align-self: stretch; }
.allied-home .hero-synced .ms-slide-bgcont .elementor-widget-image { height: 100%; }
.allied-home .hero-synced .ms-slide-bgcont img { height: 100%; width: 100%; }
.allied-home .hero-synced .ms-info { width: 100%; }
.allied-home .hero-synced .hero-layout { min-height: 0; }
.allied-home .hero-synced .text_block { max-width: 620px; }
/* Wrappers must not change the intrinsic size of navigation and footer links. */
.elementor .footer_fixed_buttons > .elementor-widget-button { flex:1; width:33.333%; align-self:stretch; }
.elementor .footer_fixed_buttons .elementor-button { width:100%; }
@media(max-width:1024px) {
 .allied-home .hero-synced .ms-slide-bgcont { aspect-ratio: 3/2; }
 .allied-home .hero-synced .ms-slide-bgcont .elementor-widget-image { position:absolute; inset:0; }
 .allied-site .primary-hero-picture img,.allied-about .about-hero-picture img { aspect-ratio: 3/2; }
 .allied-site .brand-picture,.allied-site .primary-services .brand-picture { position:relative; top:auto; }
}
@media(max-width:767px) {
 .allied-home .hero-synced .hero-controls { gap:4px; padding:10px 12px; }
 .allied-home .hero-synced .hero-dots button { min-width:32px; width:32px; }
}
/* All slides remain accessible in the editor's structure tree and canvas. */
.elementor-editor-active .hero-synced .ms-slide { visibility:visible; opacity:1; pointer-events:auto; grid-area:auto; }
/* Legacy anchor positioning must not offset Elementor's button wrappers. */
.elementor .footer_fixed_buttons > .elementor-widget-button { position:relative; inset:auto; transform:none; margin:0; padding:0; }
.elementor .footer_fixed_buttons > .footer_btn1 .elementor-button { background:var(--brand-primary); }
.elementor .footer_fixed_buttons > .footer_btn2 .elementor-button { background:#614073; }
.elementor .footer_fixed_buttons > .footer_btn3 .elementor-button { background:var(--brand-purple); }
.elementor .footer_fixed_buttons > .elementor-widget-button { height:auto; float:none; border-radius:0; }
.allied-home .hero-synced .ms-slide:not(.is-active) { display:none !important; }
.elementor-editor-active.allied-home .hero-synced .ms-slide:not(.is-active) { display:grid !important; }
/* Keep the shared contact-strip bevel outside Elementor's overlay pseudo-element. */
.elementor .header .top-bar::before {
 content:"";
 position:absolute;
 inset:0 auto auto -35px;
 width:35px;
 height:100%;
 background:inherit;
 clip-path:polygon(100% 0,0 0,100% 100%);
 opacity:1;
 pointer-events:none;
}
@media(max-width:767px) {
 .allied-home .hero-synced .hero-controls { padding-inline:8px; }
}
/* Navigation inherits its editable Elementor typography; keep existing line boxes. */
.elementor .header .menu #primary-menu > li,
.elementor .header .menu #primary-menu > li > a { font-size:inherit; }
/* Contact links must not inherit the legacy 12px size on nested spans. */
.elementor .header .top-bar .elementor-button span { font-size:inherit; line-height:inherit; }
