/* ENTOMA production polish — load after theme/Elementor styles in wp_head.
 * Requires body.entoma-production. No asset, scene, SVG/path, offset,
 * transform or emergency CTA changes. Shared shell + homepage IDs only.
 */

/* Beat Hello Elementor's .site-header:not(.dynamic-header) constraints. */
body.entoma-production header.site-header,
body.entoma-production footer.site-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
body.entoma-production header.site-header > .nav,
body.entoma-production footer.site-footer > .wrap {
  width: 100%;
  max-width: var(--maxw, 1320px);
  margin-inline: auto;
  box-sizing: border-box;
}
body.entoma-production header.site-header > .nav {
  padding-top: 10px;
}
body.entoma-production header.site-header .menu {
  margin-top: 2px;
}
/* Width, not cropped height: retain the entire approved logo canvas. */
body.entoma-production header.site-header .brand-logo {
  display: block;
  width: 450px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
body.entoma-production footer.site-footer .footer-brand-logo {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Configurator: align label start; keep the authorial scene untouched. */
body.entoma-production.entoma-home #calc .concept-config {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 34px;
}
body.entoma-production.entoma-home #calc .parameters {
  padding-top: 0;
  min-width: 0;
}
body.entoma-production.entoma-home #calc .parameters label {
  margin-bottom: 10px;
  font-size: 13px;
}
body.entoma-production.entoma-home #calc .parameters :is(input, select) {
  border-radius: 8px;
  min-width: 0;
}
body.entoma-production.entoma-home #calc .parameters details {
  padding-top: 8px;
}
body.entoma-production.entoma-home #calc .problem {
  min-width: 0;
  white-space: normal;
}
body.entoma-production.entoma-home #calc .problem > span {
  min-width: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: normal;
  line-height: 1.35;
}

/* Full-width map within its column; no geographic canvas modifications. */
body.entoma-production footer.site-footer .footer-intro {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 44px;
}
body.entoma-production footer.site-footer .footer-map .district-frame {
  width: 100%;
  max-width: 100%;
  margin: 0;
}
body.entoma-production footer.site-footer .geo .ses-region-attribution {
  font-size: 11px;
  line-height: 1.4;
  margin-top: 6px;
  color: var(--muted);
}

/* Approved editorial polish; existing image/icon sizes stay unchanged. */
body.entoma-production.entoma-home #trust h2 { margin-bottom: 32px; }
body.entoma-production.entoma-home #how .sc-safety-step > span { font-size: 14px; }
body.entoma-production.entoma-home #how .sc-safety-step h3 { margin-top: 8px; }
body.entoma-production.entoma-home #how .sc-safety-step p { max-width: 38ch; }
body.entoma-production.entoma-home #faq > h2 { margin-bottom: 26px; }
body.entoma-production.entoma-home #faq .faq-item {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  margin-bottom: 0;
  background: transparent;
}
body.entoma-production.entoma-home #faq .faq-item.open { background: #eef3fd; }
body.entoma-production.entoma-home #seo > h2 { font-size: 26px; }
body.entoma-production.entoma-home #seo .seo { max-width: 80ch; line-height: 1.75; }
body.entoma-production.entoma-home #seo .seo h3 { font-size: 19px; }
body.entoma-production.entoma-home main .footcta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 32px;
  row-gap: 6px;
  align-items: center;
  padding: 32px;
}
body.entoma-production.entoma-home main .footcta > :is(h2, p) { grid-column: 1; }
body.entoma-production.entoma-home main .footcta > a.btn {
  grid-column: 2;
  grid-row: 1 / 3;
  margin-top: 0;
}
/* Override theme link hover underline only for actual cards/actions. */
body.entoma-production.entoma-home #services a.svc:is(:hover, :focus-visible),
body.entoma-production.entoma-home #reviews a.review-source-link:is(:hover, :focus-visible),
body.entoma-production footer.site-footer a.footer-contact-pill:is(:hover, :focus-visible) {
  text-decoration: none;
}

@media (max-width: 1100px) {
  body.entoma-production.entoma-home #calc .concept-config {
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 24px;
  }
  body.entoma-production.entoma-home #calc .problem {
    flex-direction: column;
    font-size: 13px;
    gap: 6px;
  }
}
@media (max-width: 900px) {
  body.entoma-production header.site-header .brand-logo { width: 300px; }
  body.entoma-production.entoma-home #calc .concept-config {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  body.entoma-production.entoma-home #calc .problem-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.entoma-production.entoma-home #calc .parameters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 16px;
  }
  body.entoma-production.entoma-home #calc .parameters label:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  body.entoma-production.entoma-home #calc .parameters label:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }
  body.entoma-production.entoma-home #calc .parameters > :is(div, p, button, details) {
    grid-column: 1 / -1;
  }
  body.entoma-production footer.site-footer .footer-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  body.entoma-production footer.site-footer .footer-contact {
    align-items: flex-start;
    text-align: left;
  }
  body.entoma-production footer.site-footer .footer-contact-secondary {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (max-width: 700px) {
  body.entoma-production header.site-header .brand-logo { width: 240px; }
  body.entoma-production footer.site-footer .footer-brand-logo { width: 260px; }
  body.entoma-production.entoma-home #calc .problem-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.entoma-production.entoma-home #calc .concept-config { gap: 16px; }
  body.entoma-production.entoma-home #calc .parameters { column-gap: 12px; }
  body.entoma-production.entoma-home #trust h2 { margin-bottom: 28px; }
  body.entoma-production.entoma-home #seo > h2 { font-size: 24px; }
  body.entoma-production.entoma-home main .footcta {
    grid-template-columns: minmax(0, 1fr);
    padding: 24px 20px;
    row-gap: 12px;
  }
  body.entoma-production.entoma-home main .footcta > a.btn {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
}

@media(max-width:700px){
 body.entoma-production.entoma-home #calc .scene-label{font-size:9px;max-width:45%;line-height:1.3}
 body.entoma-production.entoma-home #calc .scene-label .pin{width:32px;height:32px}
}
