/* HappyHappyGolf V3.25.4 — Majors spacing and course imagery. */

/* Keep the logo inside the column reserved for it. The V3.23.3 mobile rule
   enlarged the mark to 76px while the card grid still reserved only 64px. */
.watch-v32-major-card {
  grid-template-columns:64px minmax(0,1fr) 22px!important;
  column-gap:16px!important;
}
.watch-v32-major-mark.has-logo {
  box-sizing:border-box!important;
  width:64px!important;
  height:64px!important;
}
.watch-v32-major-copy {
  min-width:0;
  padding-left:0;
}
.watch-v32-major-copy strong {
  line-height:1.08!important;
}

/* Course-specific photography supports the title without dominating the card. */
.major-history-top {
  min-height:160px;
  padding:20px 22px;
}
.major-history-venue {
  display:block;
  margin:0 0 5px;
  color:rgba(255,255,255,.88);
  font:700 10px/1.2 "DM Sans",sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.major-history-top h3 {
  font-size:34px;
}

@media(max-width:760px) {
  .watch-v32-major-card {
    grid-template-columns:60px minmax(0,1fr) 18px!important;
    column-gap:14px!important;
  }
  .watch-v32-major-mark.has-logo {
    width:60px!important;
    height:60px!important;
  }
  .watch-v32-major-copy strong {
    font-size:22px!important;
  }
  .major-history-top {
    min-height:138px!important;
    padding:18px 20px;
  }
  .major-history-top h3 {
    font-size:32px;
  }
  .major-history-body {
    padding:20px;
  }
}

/* Lead each Watch people section with its useful category/count heading. */
.golfers-watch-heading small,
.athletes-heading small {
  margin:0 0 8px!important;
  color:#07562f!important;
  font:400 clamp(36px,4vw,50px)/1.02 "Libre Caslon Display",Georgia,serif!important;
  letter-spacing:0!important;
  text-transform:none;
  white-space:nowrap;
}
.golfers-watch-heading h2,
.athletes-heading h2 {
  margin:0!important;
  color:#4f6056!important;
  font:600 17px/1.45 "DM Sans",sans-serif!important;
}

/* The primary action for a featured Gear card is its existing Ask HH query. */
.gear37-product.hh-gear-card-clickable {
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.gear37-product.hh-gear-card-clickable:hover,
.gear37-product.hh-gear-card-clickable:focus-visible {
  border-color:rgba(7,86,47,.34);
  box-shadow:0 12px 30px rgba(7,60,35,.09);
  outline:none;
  transform:translateY(-2px);
}

@media(max-width:760px) {
  .golfers-watch-heading small,
  .athletes-heading small {
    font-size:clamp(27px,7.5vw,32px)!important;
  }
  .golfers-watch-heading h2,
  .athletes-heading h2 {
    font-size:16px!important;
  }
}

/* Professional-player cards use the same component footprint as athlete cards. */
.golfer-pro-rail {
  grid-auto-columns:minmax(250px,285px)!important;
}
.golfer-pro-rail .golfer-watch-card {
  display:flex!important;
  min-height:222px!important;
  padding:22px!important;
  border-radius:22px!important;
}

@media(max-width:760px) {
  .golfer-pro-rail {
    grid-auto-columns:min(78vw,300px)!important;
  }
  .golfer-pro-rail .golfer-watch-card {
    display:flex!important;
    min-height:226px!important;
    padding:22px!important;
  }

  /* All Watch people sections start on the same mobile content line. */
  .watch-v32-main > .watch-people-section {
    box-sizing:border-box!important;
    width:100%!important;
    margin:42px 0 0!important;
    padding-top:38px!important;
  }
  .watch-people-section .athlete-golf-card {
    height:305px!important;
    min-height:305px!important;
  }
}

@media(prefers-reduced-motion:reduce) {
  .gear37-product.hh-gear-card-clickable {transition:none}
}

/* Give each professional tour a distinct, people-led visual. */
.watch-tour-player-collage {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3px;
  overflow:hidden;
  background:#e8eee8;
}
.watch-tour-player-collage span {
  display:block;
  min-width:0;
  height:100%;
  overflow:hidden;
}
.watch-tour-player-collage img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  transition:transform .25s ease;
}
.watch-v32-upcoming-card:hover .watch-tour-player-collage img {
  transform:scale(1.035);
}

/* The V3.25 portrait was 64px; 96px is exactly 50% larger. */
.athlete-golf-card {
  padding-right:126px;
}
.watch-person-photo {
  width:96px;
  height:96px;
  border-radius:22px;
}

/* Long query text should orient the user without dominating desktop answers. */
@media(min-width:761px) {
  .answer-body #question,
  .answer-body[data-loading-mode] #question,
  .answer-body[data-answer-mode] #question {
    max-width:1050px;
    font-size:clamp(34px,3.25vw,48px)!important;
    line-height:1.04!important;
  }
  .answer-body #question.question--long {
    font-size:clamp(31px,2.9vw,43px)!important;
  }
  .answer-body #question.question--very-long {
    font-size:clamp(28px,2.55vw,38px)!important;
  }
}

@media(max-width:760px) {
  .athlete-golf-card {padding-right:122px}
  .watch-person-photo {
    width:93px;
    height:93px;
    border-radius:20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .watch-tour-player-collage img {transition:none}
}

/* PLAY: compact private-club cards and a scannable distance-first range list. */
#nearby-private-grid .private-club-card {
  min-height:190px!important;
  padding:16px!important;
}
#nearby-private-grid .private-club-card>span {width:34px;height:34px}
#nearby-private-grid .private-club-card small {margin-top:12px}
#nearby-private-grid .private-club-card strong {margin-top:5px;font-size:21px}
#nearby-private-grid .private-club-card p {
  display:-webkit-box;
  margin-top:7px;
  font-size:12px;
  line-height:1.4;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

#nearby-practice-grid.playday-practice-grid {
  display:flex!important;
  flex-direction:column;
  gap:0;
  overflow:visible;
  padding:0;
  border-top:1px solid #dce4da;
}
.practice-list-item {
  width:100%;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 24px;
  gap:18px;
  align-items:center;
  min-height:94px;
  padding:16px 8px;
  border:0;
  border-bottom:1px solid #dce4da;
  border-radius:0;
  background:transparent;
  color:#07562f;
  text-align:left;
  cursor:pointer;
}
.practice-list-distance {display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-left:4px}
.practice-list-distance b {font:600 17px/1.1 "DM Sans",sans-serif}
.practice-list-distance small,
.practice-list-copy>small {color:#6f8077;font:700 9px/1.2 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.practice-list-copy {display:flex;min-width:0;flex-direction:column}
.practice-list-copy strong {margin:5px 0 3px;font:400 23px/1.08 "Libre Caslon Display",Georgia,serif}
.practice-list-copy em {color:#718078;font:400 13px/1.35 "DM Sans",sans-serif}
.practice-list-item>i {font-style:normal;font-size:20px}
.practice-list-item:hover {background:rgba(237,243,233,.55)}
.practice-list-item:focus-visible {outline:3px solid rgba(7,86,47,.22);outline-offset:2px}

@media(max-width:760px) {
  #nearby-private-grid {grid-auto-columns:minmax(245px,74%)!important}
  #nearby-private-grid .private-club-card {min-height:184px!important}
  .practice-list-item {grid-template-columns:68px minmax(0,1fr) 20px;gap:12px;min-height:88px;padding:14px 4px}
  .practice-list-distance b {font-size:15px}
  .practice-list-copy strong {font-size:21px}
}

/* V3.25.9 — clearer Pro Tours hierarchy and one compact people-card system. */
#watch-upcoming .watch-v32-section-head {
  display:block;
  margin-bottom:16px;
}
#watch-upcoming .watch-v32-section-head h2 {
  font-size:clamp(36px,4vw,50px);
  line-height:1.02;
}
#watch-upcoming .watch-v32-section-head > span {
  display:block;
  margin-top:7px;
  font-size:17px!important;
  line-height:1.4;
}

.watch-people-section .athlete-golf-card {
  --watch-person-size:96px;
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--watch-person-size);
  grid-template-rows:auto auto auto minmax(0,1fr);
  column-gap:14px;
  width:100%;
  height:222px!important;
  min-height:222px!important;
  padding:18px!important;
}
.watch-people-section .athlete-rank {
  grid-column:1;
  grid-row:1;
  margin:0 0 13px;
}
.watch-people-section .watch-person-photo {
  position:static!important;
  grid-column:2;
  grid-row:1/3;
  width:var(--watch-person-size);
  height:var(--watch-person-size);
}
.watch-people-section .athlete-card-copy {
  min-width:0;
  grid-column:1;
  grid-row:2;
}
.watch-people-section .watch-person-note {
  display:block;
  min-width:0;
  grid-column:1/-1;
  grid-row:3;
  margin-top:10px;
  overflow:hidden;
  color:#4f6056;
  font-size:14px;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.watch-people-section .athlete-golf-card > i {
  position:static!important;
  grid-column:2;
  grid-row:4;
  align-self:end;
  justify-self:end;
}
.watch-people-section .athlete-golf-card.media-missing {
  grid-template-columns:1fr;
  padding:18px!important;
}
.watch-people-section .athlete-golf-card.media-missing .athlete-card-copy,
.watch-people-section .athlete-golf-card.media-missing .watch-person-note {
  grid-column:1;
}

@media(max-width:760px) {
  #watch-upcoming .watch-v32-section-head h2 {
    font-size:clamp(27px,7.5vw,32px);
  }
  #watch-upcoming .watch-v32-section-head > span {
    margin-top:6px;
    font-size:16px!important;
  }
  #watch-upcoming .watch-v32-upcoming-card {
    grid-template-columns:165px minmax(0,1fr);
  }
  .watch-people-section .athlete-golf-card {
    --watch-person-size:93px;
    height:226px!important;
    min-height:226px!important;
  }
}
