/* Primitive -> semantic -> component tokens. Extends the existing NG scale. */
/* Long contact addresses must not widen the footer at enlarged text sizes. */
.footer-top > * { min-width: 0; overflow-wrap: anywhere; }
.footer-subform input { min-width: 0; width: 100%; }
.footer-tags > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
:root {
  --ng-green-800: #176b38;
  --ng-green-900: #10532a;
  --ng-white: #fff;
  --ng-motion-fast: 0.16s;
  --ng-motion-enter: 0.24s;
  --ng-color-action: var(--ng-green-800);
  --ng-color-action-hover: var(--ng-green-900);
  --ng-color-on-action: var(--ng-white);
  --ng-color-focus: var(--ng-blue, #1b5ba8);
  --ng-button-bg: var(--ng-color-action);
  --ng-button-fg: var(--ng-color-on-action);
  --ng-button-hover-bg: var(--ng-color-action-hover);
}
html body .btn-signup,
html body .au-btn,
html body .pc-wa {
  background: var(--ng-button-bg);
  color: var(--ng-button-fg);
}
html body .btn-signup:hover,
html body .au-btn:hover,
html body .pc-wa:hover { background: var(--ng-button-hover-bg); }
html body .pc-status-rent { background: var(--ng-accent-tx); color: var(--ng-white); }
html body .pc-trust,
html body .ec-person-b > span:not(.ec-verified):not(.ec-reach) { color: var(--ng-soft); }
html body .stats-inner .stat strong small,
html body .au-link { color: var(--ng-accent-tx); }
html body .section-sub .mr { color: var(--ng-accent-tx); }
html body .hw-mr { color: var(--ng-accent-tx); }
html body .hw-num { color: var(--ng-soft); }
html body p a[href^="https://wa.me/"] { text-decoration: underline; text-underline-offset: .18em; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--ng-color-focus);
  outline-offset: 3px;
}
.hd2-map-trigger {
  display: flex;
  flex: 1;
  align-items: center;
  gap: var(--ng-2);
  min-width: 0;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
html body .hd2-view { min-height: 44px; color: var(--ng-accent-tx); }
html body .hd2-row:hover .hd2-view,
html body .hd2-row.active .hd2-view { background: var(--ng-accent-tx); color: var(--ng-white); }
/* An off-screen closed drawer must not remain in the keyboard tab order. */
html body .mobile-menu[aria-hidden="true"] { visibility: hidden; }
html body .mobile-menu[aria-hidden="false"] { visibility: visible; }
.pdp-head > *, .pdp-side, .pdp-main { min-width: 0; overflow-wrap: anywhere; }
html body .ec-types label { position: relative; min-width: 0; }
html body .ec-types input[type="radio"] {
  width: 1px; height: 1px; padding: 0; margin: 0; border: 0;
  inset: 0 auto auto 0; clip-path: inset(50%); overflow: hidden;
}
html body .ec-types input:focus-visible + span {
  outline: 3px solid var(--ng-color-focus); outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  :root { --ng-motion-fast: 0s; --ng-motion-enter: 0s; }
  /* A nonzero universal duration also transitions inherited visibility,
     briefly leaving drawer children hidden when focus is moved. */
  *, *::before, *::after { transition-duration: 0s !important; }
  html { scroll-behavior: auto; }
}
