.eael-infobox .infobox-icon { height: 220px !important; overflow: hidden !important; display: block !important; }
.eael-infobox .infobox-icon img { width: 100% !important; height: 220px !important; object-fit: cover !important; object-position: center !important; display: block !important; }
.eael-infobox { text-align: left !important; }
.elementor-element-79fdf241 .elementor-background-overlay { background: rgba(10,20,50,0.72) !important; opacity: 1 !important; }
.elementor-element-675f44fa .elementor-heading-title { font-size: clamp(26px,3.2vw,44px) !important; font-weight: 800 !important; color: #fff !important; text-align: left !important; line-height: 1.15 !important; }
.elementor-element-6c7cccc0 .elementor-heading-title { font-size: 16px !important; color: rgba(255,255,255,0.9) !important; text-align: left !important; }
.elementor-button { background-color: #E85D26 !important; border-color: #E85D26 !important; color: #fff !important; font-weight: 600 !important; border-radius: 4px !important; }
.elementor-icon-list-icon i, .elementor-icon-list-icon svg { color: #E85D26 !important; fill: #E85D26 !important; }
#contact-section { scroll-margin-top: 80px; }
@media (max-width: 768px) { .eael-infobox .infobox-icon, .eael-infobox .infobox-icon img { height: 160px !important; } }

/* Fix: mobile nav menu text invisible (white text on white background) */
.elementor-2156 .elementor-element.elementor-element-8e44168 nav.hfe-dropdown .menu-item a.hfe-menu-item,
.elementor-2156 .elementor-element.elementor-element-8e44168 nav.hfe-dropdown .menu-item a.hfe-sub-menu-item,
.elementor-2156 .elementor-element.elementor-element-8e44168 nav.hfe-dropdown-expandible li a.hfe-menu-item,
.elementor-2156 .elementor-element.elementor-element-8e44168 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item {
  color: #1a3c5e !important;
}

/* =====================================================
   HOMEPAGE SPACING POLISH — July 2026
   ===================================================== */

/* --- Section breathing room --- */
/* Capabilities content block - was 0/0 padding */
.elementor-element-28d2ab15 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* Services section bottom - was 30/0 */
.elementor-element-6536ad42 {
  padding-bottom: 60px !important;
}

/* Services continuation - was 0/50 */
.elementor-element-cd8b05c {
  padding-top: 50px !important;
}

/* --- Eyebrow label (H6 like "OUR CAPABILITIES") to H2 spacing --- */
.elementor-widget-heading .elementor-heading-title[class*="elementor-size-small"] + *,
h6.elementor-heading-title {
  letter-spacing: 2px;
}

/* Widget-level vertical spacing - breathing room between stacked widgets */
.elementor-widget:not(:last-child) {
  margin-bottom: 12px;
}

/* Heading widgets get more breathing on the bottom */
.elementor-widget-heading:not(:last-child) {
  margin-bottom: 16px !important;
}

/* Text editor widgets need a little top air when following headings */
.elementor-widget-heading + .elementor-widget-text-editor,
.elementor-widget-heading + .elementor-widget-button {
  margin-top: 8px !important;
}

/* --- Eyebrow + main heading pair: space between them --- */
.elementor-widget:has(h6.elementor-heading-title) {
  margin-bottom: 8px !important;
}
.elementor-widget:has(h6.elementor-heading-title) + .elementor-widget-heading {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* --- Section headings need clear air below before body copy --- */
h2.elementor-heading-title {
  margin-bottom: 16px;
}

h3.elementor-heading-title {
  margin-bottom: 12px;
}

/* --- Icon list items spacing --- */
.elementor-icon-list-items .elementor-icon-list-item {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* --- Info boxes: more air between icon and title --- */
.eael-infobox .eael-infobox-title {
  margin-top: 16px !important;
  margin-bottom: 8px !important;
}
.eael-infobox .eael-infobox-text {
  margin-top: 8px !important;
}

/* --- Footer section breathing --- */
.elementor-element-0408230 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

/* --- Divider / separator widgets --- */
.elementor-widget-divider {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

/* --- Button margin from text above --- */
.elementor-widget-button {
  margin-top: 12px !important;
}

/* About Roeck: reduce desktop space above the title and page content. */
@media screen and (min-width: 1020px) {
  body.page-id-93 article#post-93.hentry {
    padding-top: 60px;
  }
}


/* About Roeck: reuse the existing navy behind the page content only. */
body.page-id-93 #primary {
  background-color: #001f3f;
}


/* Contact Roeck: strengthen the existing photo tint for readable white text. */
body.page-id-72 article#post-72.hentry::before {
  background-color: rgba(0, 31, 63, 0.72);
}
/* Contact Roeck: halve the desktop gap above the title. */
@media screen and (min-width: 1020px) {
  body.page-id-72 article#post-72.hentry {
    padding-top: 60px;
  }
}


/* Request a Quote: readable white text while preserving the hardware photo. */
body.page-id-194 article#post-194.hentry::before {
  background-color: rgba(0, 31, 63, 0.72);
}
/* Request a Quote: halve the desktop gap above the title. */
@media screen and (min-width: 1020px) {
  body.page-id-194 article#post-194.hentry {
    padding-top: 60px;
  }
}


/* News and Updates: navy page background; preserve the shared header blue. */
body.blog #page {
  background-color: #001f3f;
}
body.blog #page > header {
  background-color: #588db4;
}
/* Give the blog a balanced, centered column without an unused sidebar lane. */
body.blog .site-content-wrapper {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
body.blog #primary {
  width: 100%;
  padding-right: 0;
}
body.blog #main > article .hentry-wrapper {
  margin-left: auto;
  margin-right: auto;
}
/* Halve the combined desktop space before the first post (30 + 90 to 30 + 30). */
@media screen and (min-width: 1020px) {
  body.blog #main > article:first-of-type {
    padding-top: 30px;
  }
}

/* Keep long post links inside the centered column on small screens. */
body.blog #main > article .hentry-wrapper {
  overflow-wrap: anywhere;
}


/* News listing: make chronology and post boundaries clear. */
body.blog #main::before {
  content: "Latest news first — scroll down for older posts ↓";
  display: block;
  max-width: 900px;
  margin: 0 auto 24px;
  color: #dceaf5;
  font-size: 16px;
  line-height: 1.5;
}
body.blog #main > article.hentry {
  padding: 0;
  margin: 0 0 40px;
  border-bottom: 0;
}
body.blog #main > article .hentry-wrapper {
  display: flex;
  flex-direction: column;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  background-color: rgba(255,255,255,0.025);
}
body.blog #main > article .entry-header { order: 0; }
body.blog #main > article .entry-content { order: 1; }
body.blog #main > article .entry-footer { display: contents; }
body.blog #main > article .entry-footer > span {
  order: 2;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 8px;
}
body.blog #main > article .entry-footer > .posted-on {
  order: -1;
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 600;
  color: #dceaf5;
}
body.blog #main > article .entry-footer::before,
body.blog #main > article .entry-footer::after,
body.blog #main > article .entry-footer > span::before { content: none; }

body.blog #main > article .entry-footer > span::after { content: none; }

/* Match the cue to the cards and keep mobile headlines comfortable. */
body.blog #main > article .entry-title { font-size: clamp(28px, 4vw, 48px); }
@media screen and (max-width: 1019px) {
  body.blog #main::before { width: calc(100% - 96px); margin-top: 24px; }
}
@media screen and (max-width: 599px) {
  body.blog #main::before { width: calc(100% - 48px); }
}


/* Manufacturing Services: continuous, centered layout on navy. */
body.page-id-2359 #page { background-color: #001f3f; }
body.page-id-2359 #page > header { background-color: #588db4; }
body.page-id-2359 .site-content-wrapper {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
body.page-id-2359 #primary { width: 100%; padding-right: 0; }
body.page-id-2359 #post-2359 .hentry-wrapper {
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 1020px) {
  body.page-id-2359 article#post-2359.hentry { padding-top: 60px; }
}

@media screen and (max-width: 599px) {
  body.page-id-2359 #post-2359 .entry-title { font-size: clamp(26px, 7vw, 32px); }
}


/* Engineering and Design Services: centered continuous layout on navy. */
body.page-id-2358 #page { background-color: #001f3f; }
body.page-id-2358 #page > header { background-color: #588db4; }
body.page-id-2358 .site-content-wrapper {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
body.page-id-2358 #primary { width: 100%; padding-right: 0; }
body.page-id-2358 #post-2358 .hentry-wrapper {
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 1020px) {
  body.page-id-2358 article#post-2358.hentry { padding-top: 60px; }
}
@media screen and (max-width: 599px) {
  body.page-id-2358 #post-2358 .entry-title { font-size: clamp(26px, 7vw, 32px); }
}

/* Supply Chain and Sourcing: centered continuous layout on navy. */
body.page-id-2360 #page { background-color: #001f3f; }
body.page-id-2360 #page > header { background-color: #588db4; }
body.page-id-2360 .site-content-wrapper { max-width: 1100px; margin-left: auto; margin-right: auto; }
body.page-id-2360 #primary { width: 100%; padding-right: 0; }
body.page-id-2360 #post-2360 .hentry-wrapper { margin-left: auto; margin-right: auto; overflow-wrap: anywhere; }
@media screen and (min-width: 1020px) { body.page-id-2360 article#post-2360.hentry { padding-top: 60px; } }
@media screen and (max-width: 599px) { body.page-id-2360 #post-2360 .entry-title { font-size: clamp(26px, 7vw, 32px); } }

/* Industries We Serve: centered continuous layout on navy. */
body.page-id-2361 #page { background-color: #001f3f; }
body.page-id-2361 #page > header { background-color: #588db4; }
body.page-id-2361 .site-content-wrapper { max-width: 1100px; margin-left: auto; margin-right: auto; }
body.page-id-2361 #primary { width: 100%; padding-right: 0; }
body.page-id-2361 #post-2361 .hentry-wrapper { margin-left: auto; margin-right: auto; overflow-wrap: anywhere; }
@media screen and (min-width: 1020px) { body.page-id-2361 article#post-2361.hentry { padding-top: 60px; } }
@media screen and (max-width: 599px) { body.page-id-2361 #post-2361 .entry-title { font-size: clamp(26px, 7vw, 32px); } }

/* Privacy Policy: centered continuous layout on navy. */
body.page-id-1928 #page { background-color: #001f3f; }
body.page-id-1928 #page > header { background-color: #588db4; }
body.page-id-1928 .site-content-wrapper { max-width: 1100px; margin-left: auto; margin-right: auto; }
body.page-id-1928 #primary { width: 100%; padding-right: 0; }
body.page-id-1928 #post-1928 .hentry-wrapper { margin-left: auto; margin-right: auto; overflow-wrap: anywhere; }
@media screen and (min-width: 1020px) { body.page-id-1928 article#post-1928.hentry { padding-top: 60px; } }
@media screen and (max-width: 599px) { body.page-id-1928 #post-1928 .entry-title { font-size: clamp(26px, 7vw, 32px); } }