/* WordPress / Elementor wrappers — do not change index.html layout. */

.elementor-widget-iseg-header,
.elementor-widget-iseg-hero,
.elementor-widget-iseg-about,
.elementor-widget-iseg-quote,
.elementor-widget-iseg-services,
.elementor-widget-iseg-sectors,
.elementor-widget-iseg-projects,
.elementor-widget-iseg-team,
.elementor-widget-iseg-principles,
.elementor-widget-iseg-footer,
.elementor-widget-iseg-header > .elementor-widget-container,
.elementor-widget-iseg-hero > .elementor-widget-container,
.elementor-widget-iseg-about > .elementor-widget-container,
.elementor-widget-iseg-quote > .elementor-widget-container,
.elementor-widget-iseg-services > .elementor-widget-container,
.elementor-widget-iseg-sectors > .elementor-widget-container,
.elementor-widget-iseg-projects > .elementor-widget-container,
.elementor-widget-iseg-team > .elementor-widget-container,
.elementor-widget-iseg-principles > .elementor-widget-container,
.elementor-widget-iseg-footer > .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
  overflow: visible;
}

.elementor-widget-iseg-header,
.elementor-widget-iseg-header > .elementor-widget-container {
  position: static !important;
}

/* Hero photo: Elementor/Hello img { max-width:100%; height:auto } leaves a black gap. */
.elementor-widget-iseg-hero,
.e-con:has(> .elementor-widget-iseg-hero),
.e-con:has(> .e-con-inner > .elementor-widget-iseg-hero) {
  width: 100% !important;
  max-width: none !important;
  overflow: hidden;
}

.hero,
.elementor-widget-iseg-hero .hero {
  overflow: hidden;
  width: 100%;
  background: #0e0e0e;
}

.hero-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}

.hero .hero-media,
.elementor-widget-iseg-hero .hero-media {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 40% !important;
}

.quote-portrait-wrap .quote-portrait,
.elementor-widget-iseg-quote .quote-portrait {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

.logo:not(:has(img)) {
  font-weight: 600;
  letter-spacing: 0.12em;
  font-size: 1.05rem;
  color: inherit;
}

/* Elementor/Hello set img { height:auto; width:100% } which ignores logo height. */
.header .logo img,
.elementor-widget-iseg-header .logo img,
.elementor-location-header .logo img {
  height: var(--iseg-logo-h, 28px) !important;
  max-height: var(--iseg-logo-h, 28px) !important;
  width: auto !important;
  max-width: var(--iseg-logo-max-w, none);
  object-fit: contain;
}

.header.scrolled .logo img,
.elementor-widget-iseg-header .header.scrolled .logo img,
.elementor-location-header .header.scrolled .logo img {
  height: var(--iseg-logo-h-scrolled, 32px) !important;
  max-height: var(--iseg-logo-h-scrolled, 32px) !important;
}

/* Headings live inside .reveal wrappers. Hide them only after JS arms
   the animation — otherwise opacity:0 stays forever if IO never fires. */
body.elementor-page .reveal {
  opacity: 1 !important;
  transform: none !important;
}

html.iseg-reveal-armed body.elementor-page .reveal:not(.is-visible) {
  opacity: 0 !important;
  transform: translate3d(0, 10px, 0) !important;
}

html.iseg-reveal-armed body.elementor-page .reveal.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.elementor-editor-active .reveal,
.elementor-editor-preview .reveal,
.elementor-editor-active html.iseg-reveal-armed .reveal,
.elementor-editor-preview html.iseg-reveal-armed .reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Elementor Kit / Hello theme set h1–h3 globally and win over inheritance.
   Force the same colours as index.html. */
body.elementor-page .hero h1,
body .hero h1 {
  color: #f2efe8 !important;
}

body.elementor-page .infographic-section h2,
body.elementor-page .infographic-section h3,
body.elementor-page .about-intro h2,
body.elementor-page .about-pillar-title,
body.elementor-page .services-section h2,
body.elementor-page .services-section h3,
body.elementor-page .services-header h2,
body.elementor-page .service-row h3,
body.elementor-page .sectors-section h2,
body.elementor-page .sectors-section h3,
body.elementor-page .sector-title,
body.elementor-page .portfolio-section h2,
body.elementor-page .portfolio-section h3,
body.elementor-page .portfolio-header h2,
body.elementor-page .case-study h3 {
  color: #161616 !important;
}

body.elementor-page .quote-section,
body.elementor-page .quote-section h2,
body.elementor-page .quote-section h3,
body.elementor-page .quote-text,
body.elementor-page .quote-eyebrow,
body.elementor-page .quote-attr,
body.elementor-page .quote-attr strong,
body.elementor-page .section-dark,
body.elementor-page .section-dark h2,
body.elementor-page .section-dark h3,
body.elementor-page #komanda h2,
body.elementor-page #komanda .about-pillar-title,
body.elementor-page .section-surface,
body.elementor-page .section-surface h2,
body.elementor-page .section-surface h3,
body.elementor-page #atsakinga-veikla h2,
body.elementor-page #atsakinga-veikla .about-pillar-title,
body.elementor-page .site-footer,
body.elementor-page .site-footer h3,
body.elementor-page .header,
body.elementor-page .header h1,
body.elementor-page .header h2 {
  color: #f2efe8 !important;
}

body.elementor-page .hero-sub {
  color: rgba(242, 239, 232, 0.92) !important;
}

body.elementor-page .about-eyebrow {
  color: #9a9690 !important;
}

body.elementor-page .about-copy > p:not(.about-eyebrow),
body.elementor-page .service-row p:not(.service-num),
body.elementor-page .sector-card p,
body.elementor-page .case-body p:not(.case-areas-label) {
  color: #4f4c48;
}

body.elementor-page .services-section .about-copy > p:not(.about-eyebrow),
body.elementor-page .infographic-section .about-copy > p:not(.about-eyebrow),
body.elementor-page .portfolio-section .about-copy > p:not(.about-eyebrow) {
  color: #4f4c48 !important;
}

body.elementor-page #komanda .about-copy > p {
  color: #c5c1b8 !important;
}

body.elementor-page .team-member .role,
body.elementor-page .team-member .bio {
  color: #c5c1b8 !important;
}

body.elementor-page #atsakinga-veikla .about-pillar p {
  color: #c5c1b8 !important;
}

/* Carousel arrows: theme/Elementor button CSS makes them white-on-white */
body.elementor-page .case-slider-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(22, 22, 22, 0.16) !important;
  background: #ffffff !important;
  color: #161616 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
}

body.elementor-page .case-slider-btn:hover {
  border-color: #8884ff !important;
  color: #8884ff !important;
  background: #fcfcfb !important;
}

body.elementor-page .case-slider-btn svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  color: inherit !important;
}

/* ── Theme Builder header / footer ──
   Location wrappers clip position:fixed, pad containers, and box the
   footer. Neutralize that so ISEG chrome matches index.html. */

.elementor-location-header,
.elementor-location-footer,
[data-elementor-type="header"],
[data-elementor-type="footer"] {
  width: 100%;
  max-width: none;
  background: transparent;
}

.elementor-location-header,
.elementor-location-header .elementor,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-element,
.elementor-location-header .elementor-widget,
.elementor-location-header .elementor-widget-container,
[data-elementor-type="header"],
[data-elementor-type="header"] .e-con,
[data-elementor-type="header"] .e-con-inner,
[data-elementor-type="header"] .elementor-element {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  contain: none !important;
  perspective: none !important;
  will-change: auto !important;
}

.elementor-location-header,
.elementor-location-header > .elementor,
.elementor-location-footer,
.elementor-location-footer > .elementor,
[data-elementor-type="header"] > .e-con,
[data-elementor-type="footer"] > .e-con,
.elementor-location-header > .elementor > .e-con,
.elementor-location-footer > .elementor > .e-con,
.elementor-location-header .elementor-top-section,
.elementor-location-footer .elementor-top-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --gap: 0px;
  --container-max-width: 100%;
  padding: 0 !important;
}

/* Overlay the bar; do not leave a blank header-shaped gap above the hero. */
.elementor-location-header {
  position: relative;
  z-index: 10000;
  height: 0;
  min-height: 0;
}

.elementor-location-header .header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10000;
}

.admin-bar .elementor-location-header .header,
.admin-bar .header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .elementor-location-header .header,
  .admin-bar .header {
    top: 46px;
  }
}

body:has(.elementor-location-header .header):not(:has(#hero)) {
  padding-top: 84px;
}

.elementor-editor-active [data-elementor-type="header"] .header,
.elementor-editor-preview [data-elementor-type="header"] .header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

.elementor-location-footer,
[data-elementor-type="footer"],
.elementor-widget-iseg-footer,
.e-con:has(> .elementor-widget-iseg-footer),
.e-con:has(> .e-con-inner > .elementor-widget-iseg-footer) {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.elementor-location-footer,
[data-elementor-type="footer"] {
  background: #0e0e0e;
  color: #f2efe8;
}

.elementor-location-footer .site-footer,
[data-elementor-type="footer"] .site-footer,
.elementor-widget-iseg-footer .site-footer,
.site-footer {
  position: relative;
  width: 100%;
  max-width: none;
  background: #0e0e0e;
  padding: clamp(64px, 8vw, 88px) 0 36px !important;
  border-top: none !important;
}

.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  height: 1px;
  background: #2a2a2a;
  pointer-events: none;
}

.header,
.header a,
.header .nav a,
.site-footer,
.site-footer h3,
.site-footer a,
.elementor-location-header .header,
.elementor-location-footer .site-footer {
  color: #f2efe8 !important;
}

.header .nav a:hover,
.header .nav a:focus-visible,
.header .nav-cta:hover,
.header .nav-cta:focus-visible,
.site-footer a:hover,
.site-footer a:focus-visible {
  color: #8884ff !important;
}

.site-footer .footer-credit {
  color: #9a958c !important;
}

.site-footer .footer-credit a {
  color: #b5b0a6 !important;
}

.site-footer .footer-credit a:hover,
.site-footer .footer-credit a:focus-visible {
  color: #8884ff !important;
}

.header .logo::before,
.header .logo::after {
  content: none !important;
  display: none !important;
}

.header .nav-toggle {
  display: none !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f2efe8 !important;
}

@media (max-width: 768px) {
  .header .nav-toggle {
    display: flex !important;
  }
}

.header .nav-toggle span {
  background: #f2efe8 !important;
}

