/* =========================================================================
   KAMIT layouts in Elementor.
   Sizes, colours, spacing, borders and backgrounds are ordinary Elementor settings on each container and
   widget, so they are edited in Elementor. This file only adds the design details Elementor has no control
   for, through the helper classes the KAMIT layouts carry (Advanced → CSS Classes). Remove a class to drop
   its detail.
   ========================================================================= */

/* Text Editor widgets: paragraph spacing as in the design. */
.ke-text p { margin: 0 0 1em; }
.ke-text p:last-child { margin-bottom: 0; }
.ke-text mark { padding: 0; }

/* Accent line in a heading: wrap words in <em> to put them on their own line in orange (hero headline). */
.ke-em-accent .elementor-heading-title em { font-style: normal; color: var(--orange); display: block; }

/* Engineering-grid backdrop (hero and page headers). A background image set in Elementor replaces it. */
.ke-grid-bg {
	background-image: linear-gradient(to right, rgba(60, 83, 48, .5) 1px, transparent 1px), linear-gradient(to bottom, rgba(60, 83, 48, .5) 1px, transparent 1px);
	background-size: 62px 62px;
}

/* Hero: corner mark, and the orange dot before the small label. */
.ke-hero { position: relative; overflow: hidden; isolation: isolate; }
.ke-hero::after { content: ""; position: absolute; top: 28px; left: 32px; width: 34px; height: 34px; border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); pointer-events: none; }
@media (max-width: 767px) { .ke-hero::after { left: 20px; top: 20px; } }
.ke-hero-tag p { display: flex; align-items: center; gap: 10px; }
.ke-hero-tag p::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); flex-shrink: 0; }

/* Buttons stay on one line, as in the design. */
.ke-button .elementor-button { white-space: nowrap; }

/* Client name tiles. */
.ke-client-logo { display: flex; align-items: center; justify-content: center; aspect-ratio: 2.6 / 1; }
.ke-client-logo > .elementor-widget-container { width: 100%; }

/* ISO badges keep a minimum width. */
.ke-minw-140 { min-width: 140px; }

/* Dark sections: icons and links in the lighter orange, as in the design. */
.ke-dark .kamit-icon { color: var(--orange); }
.ke-dark .ke-text a { color: var(--orange-bright); }

/* A section whose live content is empty (News or CSR before the first entry) hides itself on the site. */
.ke-section:has(.kamit-empty-marker) { display: none; }
.elementor-editor-active .ke-section:has(.kamit-empty-marker) { display: flex; }

/* KAMIT live widgets fill their container. */
.elementor-widget[class*="elementor-widget-kamit-"] { width: 100%; }
.elementor-widget-kamit-icon { width: auto; }

/* Dark sections: light text by default for anything added inside (headings in live KAMIT widgets inherit it). */
.ke-dark { color: var(--white); }
