/* Elevated by Butler v67 — shared final visual/performance polish */

:root {
  --v67-ink: #171714;
  --v67-body: #59534b;
  --v67-muted: #655e55;
  --v67-soft: #786f64;
  --v67-gold: #6d5128;
  --v67-gold-light: #d8ba7e;
  --v67-dark-copy: #c3bbb0;
  --v67-dark-muted: #aaa297;
  --v67-focus: #d8ba7e;
}

/* Keep the v66 accessibility/mobile fixes centralized instead of duplicated inline. */
button.v66-modal-button:not(.local-button):not(.community-back):not(.candelas-back) {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

html {
  text-rendering: optimizeLegibility;
}

body {
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
.editorial-visual-copy strong,
.community-image-copy strong,
.candelas-image-copy strong {
  text-wrap: balance;
}

main p,
main li {
  text-wrap: pretty;
}

/* Light-section readability */
.local-split .local-prose p,
.local-new-construction .local-prose p,
.community-section.paper .community-copy p,
.community-section.paper-light .community-copy p,
.community-section.paper .community-copy li,
.community-section.paper-light .community-copy li,
.candelas-section.paper .candelas-copy p,
.candelas-section.paper-light .candelas-copy p,
.candelas-section.paper .candelas-copy li,
.candelas-section.paper-light .candelas-copy li {
  color: var(--v67-body);
}

.local-intro .local-prose,
.local-split .local-prose,
.local-new-construction .local-prose,
.community-copy,
.candelas-copy {
  max-width: 760px;
}

/* Dark editorial intro sections */
.local-intro .local-prose p {
  color: var(--v67-dark-copy);
}

/* Secondary callout copy on light panels */
.local-agent-ribbon-copy p {
  color: #554f47 !important;
}

.community-custom-card p {
  color: #302c27 !important;
}

/* Small factual labels remain decorative but readable. */
.community-stat span,
.candelas-stat span {
  color: var(--v67-gold) !important;
}

.community-glance-item span,
.candelas-glance-item span {
  color: var(--v67-gold-light) !important;
}

.section-kicker span {
  color: #5b5348 !important;
}

.section-kicker.light span {
  color: #bbb2a5 !important;
}

.local-footer a {
  color: #b8b0a5 !important;
}

.local-footer a:hover,
.local-footer a:focus-visible {
  color: #fff !important;
}

/* Source and verification text should be quiet, not faint. */
.community-source-note,
.candelas-source-note {
  color: #5c564e !important;
  font-size: 12.5px !important;
  line-height: 1.72 !important;
}

.community-source-note a,
.candelas-source-note a,
.community-parent-link,
.candelas-parent-link,
.community-official-source {
  color: var(--v67-gold) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.community-source-note a:hover,
.candelas-source-note a:hover,
.community-parent-link:hover,
.candelas-parent-link:hover,
.community-official-source:hover {
  color: #4f3a1c !important;
}

.community-verification-note {
  color: #bdb5aa !important;
  font-size: 12.5px !important;
  line-height: 1.72 !important;
}

.community-verification-note a {
  color: var(--v67-gold-light) !important;
}

.local-lifestyle .community-verification-note {
  color: #5c564e !important;
}

.local-lifestyle .community-verification-note a {
  color: var(--v67-gold) !important;
}

/* Dark IDX / utility sections */
.local-idx p,
.community-idx p,
.candelas-idx p {
  color: var(--v67-dark-copy) !important;
}

.local-idx .local-eyebrow,
.community-idx .local-eyebrow,
.candelas-idx .local-eyebrow {
  color: var(--v67-gold-light) !important;
}

/* Footer: retain hierarchy while meeting comfortable reading contrast. */
.local-footer p,
.local-footer-col a,
.local-footer-bottom {
  color: #b8b0a5 !important;
}

.local-footer-col a:hover,
.local-footer-col a:focus-visible {
  color: #fff !important;
}

/* Repeated action language should feel intentional and tactile. */
.local-button,
.local-book-link,
button.v66-modal-button,
.community-back,
.candelas-back,
.community-modal-close,
.candelas-modal-close {
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    opacity 180ms ease;
}

.local-button:hover,
.local-book-link:hover,
button.v66-modal-button:hover {
  transform: translateY(-1px);
}

.local-button:active,
.local-book-link:active,
button.v66-modal-button:active {
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--v67-focus) !important;
  outline-offset: 3px !important;
}

/* Cards: consistent vertical rhythm and alignment. */
.community-village-card,
.community-related-card,
.community-feature-card,
.community-custom-card,
.westminster-guide-card,
.thornton-guide-card,
.broomfield-guide-card,
.golden-guide-card,
.arvada-guide-card {
  height: 100%;
}

.community-village-card,
.community-related-card {
  display: flex;
  flex-direction: column;
}

.community-village-card > :last-child,
.community-related-card > :last-child {
  margin-top: auto;
}

.community-grid,
.community-related-grid,
.westminster-guide-grid,
.thornton-guide-grid,
.broomfield-guide-grid,
.golden-guide-grid,
.arvada-guide-grid {
  align-items: stretch;
}

/* Editorial imagery: consistent crop behavior without pretending to be documentary imagery. */
.community-image-card img,
.candelas-image-card img,
.editorial-visual-card img,
.intro-editorial-image img,
.lifestyle-image-band img {
  object-fit: cover;
  object-position: center center;
}

.community-image-card,
.candelas-image-card,
.editorial-visual-card {
  overflow: hidden;
}

/* Small decorative section numerals can remain secondary but should not disappear. */
.local-split-grid > div > span:first-child,
.local-new-grid > div > span:first-child {
  color: #61594f;
}

/* More deliberate FAQ/source separation. */
.community-source-note,
.candelas-source-note {
  margin-top: 34px !important;
  padding-top: 20px;
  border-top: 1px solid rgba(23, 23, 20, 0.12);
}

/* Final CTA / agent ribbon alignment */
.local-agent-ribbon-copy p,
.community-final p,
.candelas-final p {
  max-width: 680px;
}

@media (max-width: 980px) {
  .local-intro-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .local-intro-grid > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .local-book-link {
    min-height: 44px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .local-button,
  .community-back,
  .candelas-back,
  .community-option,
  .candelas-option,
  .community-modal-close,
  .candelas-modal-close,
  button.v66-modal-button {
    min-height: 44px;
  }

  .community-modal-close,
  .candelas-modal-close {
    min-width: 44px;
  }

  main p,
  main li {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .local-hero p,
  .community-hero p,
  .candelas-hero p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .local-footer p,
  .local-footer-col a,
  .local-footer-bottom {
    font-size: 11.5px !important;
    line-height: 1.6 !important;
  }

  .community-source-note,
  .candelas-source-note,
  .community-verification-note {
    font-size: 12px !important;
  }

  .community-image-card,
  .candelas-image-card,
  .editorial-visual-card {
    min-height: 420px;
  }
}

@media (max-width: 390px) {
  .community-image-card,
  .candelas-image-card,
  .editorial-visual-card {
    min-height: 390px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .local-button,
  .local-book-link,
  button.v66-modal-button,
  .community-back,
  .candelas-back,
  .community-modal-close,
  .candelas-modal-close {
    transition: none !important;
  }

  .local-button:hover,
  .local-book-link:hover,
  button.v66-modal-button:hover {
    transform: none !important;
  }
}
