/* HappyHappyGolf V3.23.3 — tightly scoped stability and layout refinements. */

/* The Watch player carousel is a full-width sibling of the opening grid. */
.watch-v32-main > .golfers-watch-section,
.watch-v312-opening + .golfers-watch-section{
  box-sizing:border-box!important;
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
}
.golfers-watch-section .golfers-watch-heading,
.golfers-watch-section .golfers-watch-rail{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
}
.golfers-watch-section .golfers-watch-rail{
  overflow-x:auto!important;
  overflow-y:hidden!important;
}

/* Make all four official Major marks legible without changing their art. */
.watch-v32-major-mark.has-logo{
  display:grid!important;
  place-items:center!important;
  width:72px!important;
  height:72px!important;
  padding:5px!important;
  overflow:hidden!important;
}
.watch-v32-major-mark.has-logo img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
}
.watch-v32-major-mark.major-logo-masters img{transform:scale(1.22)}
.watch-v32-major-mark.major-logo-us-open{padding:2px!important}
.watch-v32-major-mark.major-logo-us-open img{transform:scale(1.13)}
.watch-v32-major-mark.major-logo-open{
  background:#07562f!important;
  padding:8px!important;
}
.watch-v32-major-mark.major-logo-open img{filter:none!important;transform:scale(1.05)}

/* Compact deterministic Nearby progress. This also neutralizes old loader
   markup if a cached HTML shell survives a deploy. */
.playday-location-card.hh-nearby-loading-shell{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.hh-nearby-status{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  min-height:98px!important;
  padding:20px 23px!important;
  text-align:left!important;
}
.hh-nearby-spinner{
  display:block!important;
  width:30px!important;
  height:30px!important;
  border:3px solid rgba(7,86,47,.14)!important;
  border-top-color:#07562f!important;
  border-radius:50%!important;
  animation:hh3233spin .8s linear infinite!important;
}
.hh-nearby-status-copy{
  display:block!important;
  min-width:0!important;
  width:auto!important;
}
.hh-nearby-status-copy strong,
.hh-nearby-status-copy small{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.hh-nearby-status-copy strong{
  color:#07562f!important;
  font:400 27px/1.08 "Libre Caslon Display",serif!important;
}
.hh-nearby-status-copy small{
  margin-top:6px!important;
  color:#4f6056!important;
  font:500 14px/1.45 "DM Sans",sans-serif!important;
}
@keyframes hh3233spin{to{transform:rotate(360deg)}}

/* Travel destination cards use ordinary document flow on phones. This rule
   intentionally overrides every earlier asymmetric mosaic declaration. */
@media(max-width:760px){
  .travel-destination-grid{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    gap:14px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .travel-destination-card,
  .travel-destination-card:nth-child(n),
  .travel-destination-card.wide,
  .travel-destination-card:first-child{
    position:relative!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:230px!important;
    max-height:none!important;
    margin:0!important;
    transform:none!important;
  }
  .travel-destination-card.wide,
  .travel-destination-card:first-child{min-height:260px!important}
  .travel-destination-card.mobile-extra{display:none!important}
  .travel-destination-grid.mobile-expanded .travel-destination-card.mobile-extra{display:block!important}
  .travel-destination-more{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    clear:both!important;
    margin:18px auto calc(126px + env(safe-area-inset-bottom))!important;
  }
  .watch-v32-major-mark.has-logo{width:76px!important;height:76px!important}
  .golfers-watch-section{width:100%!important;min-width:0!important;overflow:hidden!important}
  .golfers-watch-section .golfers-watch-heading{display:block!important}
  .hh-nearby-status{grid-template-columns:34px minmax(0,1fr)!important;min-height:92px!important;padding:18px!important;gap:12px!important}
  .hh-nearby-spinner{width:27px!important;height:27px!important}
  .hh-nearby-status-copy strong{font-size:24px!important}
}

@media(prefers-reduced-motion:reduce){
  .hh-nearby-spinner{animation:none!important}
}
