/* Filaro Collection - in-content CTA (map-teaser)
   SSOT: FL_Collection_Shared_Visual_SSOT_04Aug26.md - In-content CTA
   Locked 06/Aug/26 (Paul): whole line 100% white; link-word underline only;
   rest + hover end at full white; thin 1px; draw on hover.
   Spacing lock 09/Aug/26 (Paul): always generous gap after para body
   (--filaro-body-to-cta). Fail-if same as body+body. */

:root {
  --filaro-body-to-cta: 2.75rem;
}

.map-teaser {
  display: inline-flex;
  align-items: center;
  margin: var(--filaro-body-to-cta) 0 0;
  padding: 0.2rem 0;
  border: 0;
  background: none;
  color: #fff;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Para -> CTA: never inherit body+body tight stack */
.body + .map-teaser,
.story__body + .map-teaser,
.story__body + .story__cta {
  margin-top: var(--filaro-body-to-cta) !important;
}

.map-teaser__label {
  display: block;
  color: #fff; /* whole line 100% */
}

/* Underline under .map-teaser__link-word only - not the lead-in */
.map-teaser__link-word {
  position: relative;
  display: inline-block;
  color: #fff;
  padding-bottom: 0.08em;
}

.map-teaser__link-word::after {
  content: "";
  position: absolute;
  left: 0;
  /* Tracking on the button leaves a short gap after the last letter */
  width: calc(100% + 0.12em);
  bottom: 0;
  height: 1px;
  background: #fff;
  opacity: 1;
  transform: scaleX(1);
  transform-origin: left center;
}

.map-teaser:hover .map-teaser__link-word::after,
.map-teaser:focus-visible .map-teaser__link-word::after {
  animation: map-teaser-underline-draw 0.35s ease forwards;
}

@keyframes map-teaser-underline-draw {
  from { transform: scaleX(0); opacity: 1; background: #fff; }
  to { transform: scaleX(1); opacity: 1; background: #fff; }
}

.map-teaser:focus-visible {
  outline: 1px solid rgba(247, 245, 239, 0.55);
  outline-offset: 3px;
}
