/* r34.50.177 — Spot-detail CTA + Bookmark alignment.
   Scoped to public Spot detail. No header, Navigation, Discovery or global tokens touched. */
.spot-detail-shell .public-spot-detail .spot-detail-info-heading {
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; min-width:0; margin-bottom:12px;
}
.spot-detail-shell .public-spot-detail .spot-detail-info-heading > .eyebrow {
  min-width:0; margin:0; padding-top:8px; line-height:1.5;
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle {
  flex:0 0 48px; display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; min-width:48px; min-height:48px;
  padding:0; margin:0; box-sizing:border-box; border-radius:15px;
  border:1px solid #c7d7ce; background:#fffefa; color:#426553;
  box-shadow:0 4px 13px rgba(36,63,46,.10); cursor:pointer;
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle .favorite-icon {
  display:inline-block; flex:0 0 22px; width:22px; height:22px; color:inherit;
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle > span:last-child {
  display:none!important; /* Hidden visually; favorites.js keeps aria-label updated */
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle.is-favorite {
  color:#235c3e; border-color:#a8c9b4; background:#e9f4ec;
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle:hover {
  background:#edf6ef; border-color:#a7bea9;
}
.spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle:focus-visible,
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions a:focus-visible,
.spot-detail-shell .public-spot-detail .spot-detail-phone-link:focus-visible {
  outline:3px solid #285d45; outline-offset:3px;
}
.spot-detail-shell .public-spot-detail .spot-detail-action-area {
  border-top:1px solid #dddeda; margin-top:22px; padding-top:16px; min-width:0;
}
.spot-detail-shell .public-spot-detail .spot-detail-secondary-actions {
  display:flex; gap:8px; margin:0 0 12px;
}
.spot-detail-shell .public-spot-detail .spot-detail-phone-link {
  display:inline-flex; justify-content:center; align-items:center;
  min-height:44px; padding:0 15px; border:1px solid #c9d3cc;
  border-radius:12px; background:#fffefa; color:#315d4b;
  font-size:14px; font-weight:700; text-decoration:none; box-sizing:border-box;
}
.spot-detail-shell .public-spot-detail .spot-detail-phone-link:hover {
  background:#eff5f0; border-color:#9fbbab;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px;
  width:100%; min-width:0;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions > a:only-child {
  grid-column:1/-1;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-go-button {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:0; width:100%; min-height:48px; height:48px;
  box-sizing:border-box; padding:0 8px;
  border-radius:12px; font-size:15px; font-weight:750; line-height:1.2;
  letter-spacing:0; text-decoration:none; white-space:nowrap; overflow:hidden;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-google-maps,
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-google-maps:visited {
  background:#FBBC05!important; border-color:#FBBC05!important; color:#202124!important;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-official,
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-official:visited {
  background:#1A73E8!important; border-color:#1A73E8!important; color:#fff!important;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-google-maps:hover {
  background:#EBAF00!important; border-color:#EBAF00!important; color:#202124!important;
}
.spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-detail-official:hover {
  background:#155FC1!important; border-color:#155FC1!important; color:#fff!important;
}
.spot-detail-shell .public-spot-detail .spot-detail-google-short { display:none; }
@media(min-width:701px) and (max-width:959px) {
  .spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-go-button { font-size:15px; }
}
@media(max-width:700px) {
  .spot-detail-shell .public-spot-detail .spot-detail-info-heading { gap:10px; }
  .spot-detail-shell .public-spot-detail .spot-detail-bookmark.favorite-toggle {
    flex-basis:46px; width:46px; height:46px; min-width:46px; min-height:46px;
  }
  .spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-go-button {
    min-height:48px; height:48px; font-size:15px; padding:0 7px;
  }
}
@media(max-width:359px) {
  .spot-detail-shell .public-spot-detail .spot-detail-primary-actions .spot-go-button {
    font-size:14px; padding:0 5px;
  }
  .spot-detail-shell .public-spot-detail .spot-detail-google-full { display:none; }
  .spot-detail-shell .public-spot-detail .spot-detail-google-short { display:inline; }
}
