/* ENTOMA homepage UX polish. Load last; no shared-page or geographic changes. */
body.entoma-home {
  --ux-sapphire: #2858c7;
  --ux-sapphire-hover: #2049aa;
  --ux-navy: #17366e;
  --ux-focus: #386be0;
}
/* One stable primary geometry. Only the form completion action fills its column. */
body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: fit-content;
  max-width: 100%;
  min-height: 52px;
  height: auto;
  padding: 13px 26px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--ux-sapphire);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: 0 3px 9px rgb(28 65 139 / 16%);
  transform: translateY(0);
  transition: background-color .16s, border-color .16s, box-shadow .16s, transform .16s;
}
body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn):hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--ux-sapphire-hover);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 5px 13px rgb(28 65 139 / 23%);
  transform: translateY(-1px);
}
body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn):active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgb(28 65 139 / 17%);
}
body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn):is(:disabled,[aria-disabled="true"]) {
  background: #d9e1ef;
  border-color: #d9e1ef;
  color: #59677c;
  opacity: 1;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
body.entoma-home #top .hero-actions { display: flex; justify-content: flex-start; }
body.entoma-home #top .btn { flex: 0 1 auto; margin: 0; }
body.entoma-home #identify .identify-figure-col { align-items: flex-start; min-width: 0; }
body.entoma-home #identify .identify-figure-col .identify-open {
  position: static;
  align-self: flex-start;
  margin: 16px 0 0;
}
body.entoma-home #calc #transfer { width: 100%; padding-inline: 18px; }
body.entoma-home main .footcta .btn { width: fit-content; justify-self: start; margin-top: 0; }
/* Compact external / disclosure actions. Logos retain their approved assets. */
body.entoma-home :is(#reviews [data-reviews-open], #reviews .review-source-link, .site-footer a.avito-link) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  align-self: start;
  flex: 0 1 auto;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid #ccd8ed;
  border-radius: 11px;
  background: #fff;
  color: var(--ux-navy);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: 0 2px 6px rgb(28 65 139 / 8%);
  transform: translateY(0);
  transition: background-color .16s, border-color .16s, box-shadow .16s, transform .16s;
}
body.entoma-home :is(#reviews [data-reviews-open], #reviews .review-source-link, .site-footer a.avito-link):hover {
  background: #f6f9ff;
  color: var(--ux-navy);
  border-color: #7395d7;
  box-shadow: 0 4px 10px rgb(28 65 139 / 16%);
  text-decoration: none;
  transform: translateY(-1px);
}
body.entoma-home :is(#reviews [data-reviews-open], #reviews .review-source-link, .site-footer a.avito-link):active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgb(28 65 139 / 12%);
}
body.entoma-home #reviews .review-source-link { padding-block: 7px; }
body.entoma-home #reviews [data-reviews-open] { margin: 0; grid-column: 1 / -1; }
body.entoma-home #reviews [hidden] { display: none !important; }
body.entoma-home #reviews .reviews-inline-open { display: block; }
/* Tertiary actions remain text actions with comfortable keyboard/touch targets. */
body.entoma-home :is(#calc .parameters summary, #calc #reset, #calc [data-reset], .backtop, #backtop, .site-footer a[href="#main-content"]) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  width: fit-content;
  padding: 8px 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ux-navy);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: #afbfdb;
  text-underline-offset: 4px;
  box-shadow: none;
  cursor: pointer;
}
body.entoma-home :is(#calc .parameters summary, #calc #reset, #calc [data-reset], .backtop, #backtop, .site-footer a[href="#main-content"]):hover {
  background: transparent;
  color: var(--ux-sapphire);
  text-decoration-color: currentColor;
  box-shadow: none;
}
body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn, #reviews [data-reviews-open], #reviews .review-source-link, .site-footer a.avito-link, #calc .parameters summary, #calc #reset, #calc [data-reset], .backtop, #backtop, .site-footer a[href="#main-content"]):focus-visible {
  outline: 3px solid var(--ux-focus);
  outline-offset: 4px;
}
/* Always-visible preview: existing four photo cards, no disclosure chrome. */
body.entoma-home #services #delicate-services {
  display: block;
  margin: 32px 0 0;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid var(--line, #d9dde2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.entoma-home #delicate-services .delicate-preview-heading { display: block; padding: 0; margin: 0 0 18px; }
body.entoma-home #delicate-services .svc-delicate-label { margin: 0 0 6px; font-size: 22px; line-height: 1.3; }
body.entoma-home #delicate-services .svc-delicate-sub { font-size: 14px; max-width: 75ch; }
body.entoma-home #delicate-services :is(.svc-delicate-toggle-text, .svc-delicate-chevron) { display: none; }
body.entoma-home #delicate-services .svc-delicate-body { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding: 0; }
body.entoma-home #services #delicate-services .svc {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}
body.entoma-home #services #delicate-services .svc picture { display: block; width: 100%; }
body.entoma-home #services #delicate-services .svc img { display: block; width: 100%; height: 132px; object-fit: cover; border-radius: 8px; margin: 0 0 12px; }
body.entoma-home #services #delicate-services .svc h4 { font-size: 16px; line-height: 1.4; margin: 0 0 6px; }
body.entoma-home #services #delicate-services .svc p { font-size: 13px; line-height: 1.55; margin: 0 0 8px; }
body.entoma-home #services #delicate-services .svc .price { font-size: 13px; padding-top: 8px; margin-top: auto; }
body.entoma-home #services #delicate-services .svc:hover h4 { color: var(--ux-sapphire); text-decoration: underline; text-underline-offset: 3px; }
body.entoma-home #services #delicate-services .svc:focus-visible { outline: 3px solid var(--ux-focus); outline-offset: 5px; }
@media (max-width: 1100px) {
  body.entoma-home #delicate-services .svc-delicate-body { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
}
@media (max-width: 700px) {
  body.entoma-home #identify .identify-figure-col .identify-open { width: fit-content; margin: 16px 0 0; }
  body.entoma-home main .footcta .btn { width: fit-content; }
}
@media (max-width: 480px) {
  body.entoma-home #delicate-services .svc-delicate-body { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body.entoma-home #services #delicate-services .svc { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
  body.entoma-home #services #delicate-services .svc img { height: 112px; margin: 0; }
  body.entoma-home #services #delicate-services .svc h4 { font-size: 15px; }
  body.entoma-home #services #delicate-services .svc p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body.entoma-home :is(#top .btn, #identify .identify-open, #calc #transfer, main .footcta .btn, #reviews [data-reviews-open], #reviews .review-source-link, .site-footer a.avito-link) { transition: none; transform: none !important; }
}

/* Home-only map polish; load after the existing map styles. */
body.entoma-home .district-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
body.entoma-home .district-modes button{min-height:44px;padding:10px 16px;border:1px solid var(--line,#d9dde2);border-radius:10px;background:var(--panel,#fff);color:var(--txt,#1e2733);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
body.entoma-home .district-modes button[aria-pressed="true"]{background:var(--accent,#2b5cd6);border-color:var(--accent,#2b5cd6);color:#fff}
body.entoma-home .district-modes button:hover{border-color:var(--accent,#2b5cd6)}
body.entoma-home .district-modes button:focus-visible{outline:3px solid var(--accent,#2b5cd6);outline-offset:3px}
body.entoma-home .district-pin[hidden],body.entoma-home .district-preserved-fallback[hidden]{display:none!important}
body.entoma-home .district-pin,body.entoma-home .district-pin span{animation:none!important}
body.entoma-home .district-enhancement[data-mode="spb"] .ses-region-district{fill:var(--rm-spb,#c4d3ee)}
body.entoma-home .district-enhancement[data-mode="spb"] .ses-region-district:hover{fill:var(--rm-accent,#2b5cd6);fill-opacity:.55}
body.entoma-home .district-frame,body.entoma-home .district-canvas{width:100%;max-width:none;margin:0;border:0}
body.entoma-home .district-tooltip a{pointer-events:auto}
