/* HappyHappyGolf V3.14 consolidated experience polish */
:root{--hh-green:#075b35;--hh-ink:#123e2d;--hh-cream:#fbfaf6;--hh-line:#dce4db}

/* Readability */
.answer-card p,.structured-intro,.tip-box p,.course-result-copy p,.availability-main p,
.player-profile-copy p,.course-profile-copy p,.education-concepts article p{font-size:17.5px;line-height:1.62}

/* V3.15: a more compact player introduction keeps the story above the fold. */
@media (min-width:761px){
  .player-profile-hero{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);min-height:270px}
  .player-profile-copy{padding:30px 40px}
  .player-profile-copy h2{margin:9px 0 12px;font-size:clamp(48px,4.7vw,66px);line-height:.94}
  .player-profile-copy p{font-size:17px;line-height:1.52}
  .player-portrait{min-height:270px;max-height:300px}
}
.answer-card .meta,.availability-main small,.course-result-copy span{font-size:14px}
.playday-section-heading h2,.gear37-head h2,.travel-section-heading h2,.watch-v32-section-head h2{letter-spacing:-.025em}

/* Loading state follows the same readable column as finished adaptive answers. */
.answer-body[data-loading-mode] .results-wrap{max-width:1180px;margin-inline:auto}
.answer-body[data-loading-mode] .answer-grid{display:block;max-width:980px;margin-inline:auto}
.answer-body[data-loading-mode] .answer-card{width:100%;margin-bottom:14px;min-height:145px}

/* Even structured callouts: an unavoidable odd final item spans the row intentionally. */
.answer-item-grid>.answer-item:last-child:nth-child(odd){grid-column:1/-1;min-height:auto}

/* Play */
.playday-hero-copy h1{max-width:none!important;white-space:nowrap;font-style:normal!important;font-size:clamp(48px,5vw,74px)!important;line-height:.98!important}
.playday-hero-copy h1 em{font-style:normal!important}
.playday-improve .playday-section-heading h2{font-size:clamp(44px,4.4vw,64px)}

/* Gear decision center */
.gear-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;margin:22px 0 58px}
.gear-decision-grid>.gear37-section,.gear-decision-grid>.gear-value-section{margin:0!important;min-width:0;padding:0!important}
.gear-decision-grid .gear37-fit-inner{height:100%;min-height:460px}
.gear-decision-grid .gear37-compare-panel{display:flex;flex-direction:column;justify-content:space-between}
.gear-decision-grid .gear-build-bag{height:100%;min-height:460px;grid-template-columns:1fr;align-content:center;padding:42px}
.gear-decision-grid .gear-build-bag h3{font-size:48px}
.gear-decision-grid .gear-build-bag button{justify-self:start}
.gear37-compare{margin-top:30px!important}
.gear37-compare .gear37-compare-panel{min-height:0}
.gear-value-section{padding:54px 0;border-top:1px solid var(--hh-line)}
.gear-value-heading{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:end;margin-bottom:22px}
.gear-value-heading small{font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.2em;color:var(--hh-green)}
.gear-value-heading h2{margin:10px 0 0;font:400 clamp(38px,4vw,56px)/1.02 "Libre Caslon Display",serif;color:var(--hh-green)}
.gear-value-heading p{font:400 17px/1.55 "DM Sans",sans-serif;color:#596b62}
.gear-guide-grid,.gear-problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gear-guide-grid button,.gear-problem-grid button{appearance:none;text-align:left;border:1px solid var(--hh-line);border-radius:20px;background:#fff;padding:22px;min-height:172px;color:var(--hh-ink);cursor:pointer}
.gear-guide-grid small,.gear-problem-grid small{display:block;font:600 11px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;color:#508064}
.gear-guide-grid strong,.gear-problem-grid strong{display:block;margin-top:14px;font:400 25px/1.08 "Libre Caslon Display",serif;color:var(--hh-green)}
.gear-guide-grid span,.gear-problem-grid span{display:block;margin-top:10px;font:400 15px/1.45 "DM Sans",sans-serif;color:#64736b}
.gear-build-bag{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:center;padding:34px;border-radius:25px;background:#eaf2e8}
.gear-build-bag h3{margin:0 0 10px;font:400 42px/1 "Libre Caslon Display",serif;color:var(--hh-green)}
.gear-build-bag p{font:400 17px/1.55 "DM Sans",sans-serif;color:#52675b}
.gear-build-bag button{border:0;border-radius:999px;background:var(--hh-green);color:#fff;padding:15px 22px;font:600 15px "DM Sans",sans-serif;cursor:pointer}

/* Watch never presents an empty shell. */
.watch-v312-opening{grid-template-columns:1fr 1fr!important;gap:24px!important;align-items:start}
.watch-v312-opening>.watch-v32-section{min-width:0}
.watch-v312-opening .watch-v32-feature-card{min-height:0}
.watch-v32-empty{min-height:230px;display:grid;place-content:center;text-align:center}
.watch-live-status.error b{color:#8b6333}

/* Travel answer treatment */
.adaptive-travel{max-width:1180px;margin:0 auto}
.travel-answer-hero{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--hh-line);border-radius:28px;overflow:hidden;background:#fff;margin-bottom:24px}
.travel-answer-hero-copy{padding:42px}
.travel-answer-hero-copy small{font:600 12px "DM Sans",sans-serif;letter-spacing:.18em;color:#4a7d60}
.travel-answer-hero-copy h2{font:400 clamp(44px,5vw,70px)/.98 "Libre Caslon Display",serif;color:var(--hh-green);margin:13px 0 18px}
.travel-answer-hero-copy p{font:400 18px/1.6 "DM Sans",sans-serif;color:#52675b}
.travel-answer-photo{min-height:340px;background:#e8efe7 center/cover no-repeat;position:relative}
.travel-answer-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.travel-answer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}
.travel-answer-grid .answer-card{min-height:0;padding:27px}
.travel-answer-grid .answer-card:nth-child(3n+1){grid-column:1/-1}
.answer-card .eyebrow,.gear-rich-kicker,.adaptive-section-head>span,.education-opening small,.education-concepts article>small,.player-witb-rail>article>small{font-size:12px;line-height:1.25;font-weight:800;letter-spacing:.14em}
.play-kicker,.play-section-kicker,.gear37-kicker,.travel-kicker,.travel-section-kicker,.travel-step-kicker,.travel-season-label,.watch-v32-label,.answer-kicker,.legal-kicker{font-size:12px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.14em!important}
.eyebrow-row.itinerary-day-label{align-items:center;gap:10px;margin-bottom:14px}
.eyebrow-row.itinerary-day-label .result-icon{width:34px;height:34px}
.eyebrow-row.itinerary-day-label .eyebrow{display:inline-flex;align-items:center;min-height:34px;padding:6px 14px;border-radius:999px;background:#e8f1e7;color:var(--hh-green);font-size:17px;letter-spacing:.08em}
@media(min-width:761px){
  .travel-answer-hero{grid-template-columns:1.35fr .65fr;min-height:220px;margin-bottom:18px}
  .travel-answer-hero-copy{padding:27px 32px}
  .travel-answer-hero-copy h2{font-size:clamp(39px,3.7vw,54px);margin:8px 0 12px}
  .travel-answer-hero-copy p{font-size:16.5px;line-height:1.48;margin:0}
  .travel-answer-photo{min-height:220px;max-height:250px}
}
.travel-practical-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--hh-line);border-radius:20px;overflow:hidden;background:var(--hh-line);margin:20px 0}
.travel-practical-strip div{background:#fff;padding:19px}
.travel-practical-strip small{display:block;font:600 10px "DM Sans",sans-serif;letter-spacing:.15em;color:#5a8069}
.travel-practical-strip strong{display:block;margin-top:7px;font:500 16px "DM Sans",sans-serif;color:var(--hh-ink)}

/* Legal documents */
.legal-main{max-width:900px}
.legal-section p{font-size:16.5px;line-height:1.72}
.legal-review-note{margin:38px 0;padding:24px;border:1px solid #d5dfd4;border-radius:18px;background:#f1f6ef;color:#355747;font:400 15px/1.6 "DM Sans",sans-serif}
.legal-review-note strong{display:block;margin-bottom:5px;color:var(--hh-green)}

.tee-location-field{position:relative}
.tee-location-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;background:#fff;border:1px solid var(--hh-line);border-radius:16px;box-shadow:0 18px 45px rgba(18,62,45,.14);overflow:hidden}
.tee-location-suggestions button{width:100%;display:block;border:0;border-bottom:1px solid #edf1ec;background:#fff;padding:13px 15px;text-align:left;color:var(--hh-ink);font:500 15px/1.35 "DM Sans",sans-serif;cursor:pointer}
.tee-location-suggestions button:last-child{border-bottom:0}
.tee-location-suggestions button:hover,.tee-location-suggestions button:focus{background:#f0f6ef}

@media(max-width:760px){
  .playday-hero-copy h1{font-size:clamp(33px,9vw,44px)!important;letter-spacing:-.045em!important}
  .gear-decision-grid,.travel-answer-hero,.travel-answer-grid,.gear-value-heading,.gear-build-bag{grid-template-columns:1fr}
  .gear-decision-grid .gear37-fit-inner,.gear-decision-grid .gear37-compare-panel{min-height:0}
  .gear-guide-grid,.gear-problem-grid{grid-template-columns:1fr 1fr}
  .gear-guide-grid button,.gear-problem-grid button{min-height:150px;padding:18px}
  .gear-guide-grid strong,.gear-problem-grid strong{font-size:22px}
  .travel-answer-hero-copy{padding:23px}
  .travel-answer-hero-copy h2{font-size:40px}
  .travel-answer-hero-copy p{font-size:16.5px;line-height:1.5}
  .travel-answer-photo{min-height:165px;max-height:190px;order:-1}
  .travel-practical-strip{grid-template-columns:1fr 1fr}
  .travel-answer-grid .answer-card:nth-child(n){grid-column:auto}
  .watch-v312-opening{display:block!important}
}
