/* Loaded last: one hover treatment for text links across all routes. */

/* Off-white paper surfaces use the approved dark-olive hover color. */
body a:not(.button):hover {
  color: var(--sage-dark);
  text-decoration: none;
  text-decoration-line: none;
  border-bottom-color: transparent;
  box-shadow: none;
}

/* Text links are text-only actions, not underlined controls. */
body a.text-link,
body .band a.text-link,
body .closing a.text-link,
body .analysis-page a.text-link,
body .analysis-legacy-link,
body[data-route="/platform"] .platform-image-open a {
  border-bottom: 0;
  box-shadow: none;
  text-decoration: none;
  text-decoration-line: none;
  background-image: none;
}

body a.text-link::before,
body a.text-link::after,
body .analysis-legacy-link::before,
body .analysis-legacy-link::after,
body[data-route="/platform"] .platform-image-open a::before,
body[data-route="/platform"] .platform-image-open a::after {
  content: none;
}

/* Existing active-navigation indicators remain; hover never adds another underline. */
body .site-nav > a:not(.button):hover,
body .footer-links a:hover,
body .footer-bottom a:hover,
body .consent a:hover,
body .breadcrumbs a:hover,
body .analysis-legacy-link:hover,
body[data-route="/platform"] .platform-image-open a:hover {
  text-decoration: none;
  text-decoration-line: none;
  border-bottom-color: transparent;
  box-shadow: none;
}

/* Darkolive and black surfaces use light sage on hover. */
body :is(.band-sage, .band-dark, .closing) a:not(.button):hover {
  background-color: var(--light-sage);
  color: var(--ink);
}

/* Black footer links retain a high-contrast light-sage text hover. */
body .site-footer a:not(.button):hover {
  background-color: transparent;
  color: var(--light-sage);
}

/* Light cards and panels retain black hover text even inside a dark band. */
body :is(.stone-section, .platform-matter-section, .hero-door, .card, .panel, .form-panel, .analysis-fact, .analysis-deliverable, .analysis-value-tile, .resident-logo, .lifestyle-scene, .browser-moment) a:not(.button):hover,
body :is(.band-sage, .band-dark) :is(.card, .panel, .form-panel, .analysis-fact, .analysis-deliverable, .analysis-value-tile) a:not(.button):hover,
body[data-route="/platform"] .platform-image-open a:hover {
  background-color: var(--light-sage);
  color: var(--ink);
}

/* Pale/light-sage cards use off-white for a distinct hover cue. */
body .hero-door a:not(.button):hover,
body .card a:not(.button):hover {
  background-color: var(--paper);
  color: var(--ink);
}
body a.hero-door:hover { color: var(--ink); }

/* Buttons keep their separate black-to-dark-olive, white-text hover behavior. */
body .button:hover,
body a.button:hover {
  background: var(--sage-dark);
  border-color: var(--sage-dark);
  color: var(--white);
  text-decoration: none;
}
