.gff-member-community-tabs{display:flex;gap:10px;margin:18px 0}.gff-member-community-tabs a{display:inline-flex;align-items:center;gap:7px;border:1px solid #cbd8d1;border-radius:999px;background:#fff;color:#075b3d;padding:8px 14px;font-size:11px;font-weight:800}.gff-member-community-tabs a:hover{border-color:#075b3d;background:#edf5f0}.gff-member-community-tabs b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:50%;background:#075b3d;color:#fff;font-size:8px}.gff-member-community-activity{scroll-margin-top:20px;padding:0}.gff-member-community-activity>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8e5;padding:19px 24px}.gff-member-community-activity>header p{margin:0;color:#16865d;font-size:8px;font-weight:800;letter-spacing:.08em}.gff-member-community-activity>header h2{margin:2px 0 0}.gff-member-community-activity>header>span{color:#78847e;font-size:10px}.gff-member-community-activity>div>article{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;border-bottom:1px solid #e7ebe8;padding:15px 24px}.gff-member-community-activity>div>article:last-child{border-bottom:0}.gff-member-community-image,.gff-member-community-image img,.gff-member-community-image>span{display:grid;width:112px;height:76px;place-items:center;border-radius:6px;background:#eaf1ed;color:#739184;object-fit:cover}.gff-member-community-activity article p{margin:0;color:#7c8781;font-size:9px}.gff-member-community-activity article p b{color:#16865d}.gff-member-community-activity article h3{margin:4px 0;font-size:15px}.gff-member-community-activity article small{color:#75817b;font-size:10px}

/* Profile v3 — data-focused layout based on the supplied member design. */
.gff-member-profile-v3 {
	--profile-green: #075b3d;
	--profile-bright: #138454;
	--profile-ink: #17392b;
	--profile-muted: #748078;
	--profile-line: #d9e1dc;
	--profile-soft: #edf4f0;
	padding: 0 0 64px;
	background: #fff;
	color: var(--profile-ink);
}

.gff-v3-hero {
	position: relative;
	min-height: 250px;
	background-image: linear-gradient(90deg,rgba(3,54,32,.72),rgba(3,54,32,.2) 58%,rgba(3,54,32,.28)),var(--gff-profile-cover,url('../images/home/hero-sunrise.jpg'));
	background-position: center;
	background-size: cover;
	color: #fff;
}

.gff-v3-hero-inner { position: relative; display: flex; align-items: flex-end; min-height: 250px; gap: 22px; padding-bottom: 23px; }
.gff-v3-avatar { flex: 0 0 auto; padding: 5px; border-radius: 50%; background: #fff; box-shadow: 0 5px 22px rgba(0,0,0,.2); }
.gff-v3-avatar img { display: block; width: 144px; height: 144px; border-radius: 50%; object-fit: cover; }
.gff-v3-intro { min-width: 0; padding-bottom: 2px; text-shadow: 0 1px 4px rgba(0,0,0,.35); }
.gff-v3-intro h1 { display: flex; align-items: center; gap: 8px; margin: 0; color: #fff; font-size: 28px; line-height: 1.2; }
.gff-v3-intro h1 i { color: #37d18b; font-size: 15px; }
.gff-v3-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 7px; font-size: 12px; }
.gff-v3-meta span { display: inline-flex; align-items: center; gap: 6px; }
.gff-v3-intro>p { margin: 7px 0 10px; font-size: 13px; }
.gff-v3-intro nav { display: flex; gap: 10px; text-shadow: none; }
.gff-v3-intro nav>a,.gff-v3-intro nav>.golf-follow-profile { display: inline-flex; min-width: 112px; min-height: 34px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: rgba(4,61,39,.18); color: #fff; padding: 6px 17px; font-size: 12px; font-weight: 700; }
.gff-v3-intro nav .is-primary,.gff-v3-intro nav>.golf-follow-profile { border-color: var(--profile-bright); background: var(--profile-bright); }
.gff-v3-edit-cover { position: absolute; right: 0; bottom: 22px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.85); border-radius: 6px; background: rgba(3,45,29,.38); color: #fff; padding: 7px 13px; font-size: 11px; }

.gff-v3-shell { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: 20px; padding-top: 18px; }
.gff-v3-content,.gff-v3-sidebar { min-width: 0; }
.gff-v3-panel { overflow: hidden; border: 1px solid var(--profile-line); border-radius: 8px; background: #fff; box-shadow: 0 2px 9px rgba(7,66,43,.03); }
.gff-v3-panel>header { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid #e7efeb; padding: 10px 16px; }
.gff-v3-panel>header h2,.gff-v3-about>h2,.gff-v3-quick>h2 { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--profile-ink); font-size: 15px; }
.gff-v3-panel>header h2 i,.gff-v3-about>h2 i,.gff-v3-quick>h2 i { color: var(--profile-green); }
.gff-v3-panel>header>a,.gff-v3-panel>header>span { color: var(--profile-muted); font-size: 10px; }
.gff-v3-empty { color: var(--profile-muted); font-size: 12px; }

.gff-v3-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; margin-bottom: 12px; }
.gff-v3-stats article { display: flex; align-items: center; gap: 13px; min-height: 62px; border: 1px solid var(--profile-line); border-radius: 7px; background: #fff; padding: 10px 15px; }
.gff-v3-stats article>i { width: 25px; color: var(--profile-green); font-size: 24px; text-align: center; }
.gff-v3-stats span { color: var(--profile-muted); font-size: 10px; line-height: 1.15; }
.gff-v3-stats b { display: block; margin-top: 2px; color: var(--profile-ink); font-size: 21px; line-height: 1.05; }

.gff-v3-performance { margin-bottom: 12px; }
.gff-v3-performance>header>span { border: 1px solid var(--profile-line); border-radius: 14px; padding: 4px 10px; }
.gff-v3-charts { display: grid; grid-template-columns: 1fr 1fr; }
.gff-v3-charts figure { position:relative; min-width: 0; margin: 0; padding: 15px 16px 9px; }
.gff-v3-charts figure+figure { border-left: 1px solid #e7efeb; }
.gff-v3-charts figcaption,.gff-v3-performance-lower h3 { margin: 0 0 6px; font-size: 12px; font-weight: 700; }
.gff-v3-charts svg { display: block; width: 100%; height: 112px; overflow: visible; }
.gff-v3-charts .grid { fill: none; stroke: #e6eeea; stroke-width: .8; }
.gff-v3-charts .grid text { fill:var(--profile-muted); stroke:none; font-size:6px; text-anchor:end; }
.gff-v3-charts polyline { fill: none; stroke: var(--profile-bright); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gff-v3-charts .points { fill: var(--profile-green); stroke: #fff; stroke-width: 1; }
.gff-v3-charts .points circle { cursor:pointer; outline:none; paint-order:stroke fill; }
.gff-v3-charts .points circle:hover,.gff-v3-charts .points circle:focus { fill:var(--profile-bright); stroke:rgba(19,132,84,.22); stroke-width:8; }
.gff-v3-charts .points text { fill:var(--profile-green); stroke:none; font-size:6px; font-weight:800; text-anchor:middle; }
.gff-v3-chart-tooltip { position:absolute; z-index:5; display:block; max-width:150px; border-radius:5px; background:#17392b; color:#fff; padding:5px 8px; font-size:10px; font-weight:700; line-height:1.25; opacity:0; pointer-events:none; transform:translate(-50%,-100%); transition:opacity .14s ease; white-space:nowrap; }
.gff-v3-chart-tooltip.is-visible { opacity:1; }
.gff-v3-charts .area { fill: url(#gff-trend-fill); }
.gff-v3-charts figure>small { display: flex; justify-content: space-between; color: var(--profile-muted); font-size: 8px; }
.gff-v3-performance-lower { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #e7efeb; }
.gff-v3-performance-lower>section { min-width: 0; padding: 14px 16px; }
.gff-v3-performance-lower>section+section { border-left: 1px solid #e7efeb; }
.gff-v3-round-stats { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 17px; }
.gff-v3-donut { display: grid; width: 112px; height: 112px; place-items: center; border-radius: 50%; background: var(--gff-donut,#dfe9e3); }
.gff-v3-donut>span { display: flex; width: 68px; height: 68px; align-items: center; justify-content: center; flex-direction: column; border-radius: 50%; background: #fff; color: var(--profile-muted); font-size: 9px; }
.gff-v3-donut b { color: var(--profile-ink); font-size: 19px; line-height: 1.1; }
.gff-v3-round-stats ul { margin: 0; padding: 0; list-style: none; }
.gff-v3-round-stats li { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; margin: 8px 0; color: var(--profile-muted); font-size: 9px; }
.gff-v3-round-stats li>i { width: 9px; height: 9px; border-radius: 50%; background: #08754c; }
.gff-v3-round-stats li:nth-child(2)>i { background: #3e9e78; }.gff-v3-round-stats li:nth-child(3)>i { background: #8bc79e; }.gff-v3-round-stats li:nth-child(4)>i { background: #dbe9e0; }
.gff-v3-round-stats li>b { color: var(--profile-ink); }
.gff-v3-performance-lower dl { overflow: hidden; margin: 0; border: 1px solid var(--profile-line); border-radius: 7px; }
.gff-v3-performance-lower dl div { display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #e7efeb; padding: 9px 12px; }
.gff-v3-performance-lower dl div:last-child { border-bottom: 0; }
.gff-v3-performance-lower dt { color: var(--profile-muted); font-size: 10px; }.gff-v3-performance-lower dt i { width: 19px; color: var(--profile-green); text-align: center; }.gff-v3-performance-lower dd { margin: 0; font-size: 12px; font-weight: 800; }

.gff-v3-recent-rounds { margin-bottom: 12px; }
.gff-v3-recent-rounds>div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; padding: 11px; }
.gff-v3-recent-rounds article { overflow: hidden; border: 1px solid var(--profile-line); border-radius: 6px; background:#fff; box-shadow:inset 0 -3px 0 #dbe9e0; }
.gff-v3-recent-rounds article.is-even { box-shadow:inset 0 -3px 0 #3e9e78; }
.gff-v3-recent-rounds article.is-under { box-shadow:inset 0 -3px 0 #08754c; }
.gff-v3-recent-rounds article.is-over { box-shadow:inset 0 -3px 0 #8bc79e; }
.gff-v3-round-link { display:block; height:100%; color:inherit; text-decoration:none; }
.gff-v3-recent-rounds article>img,.gff-v3-round-link>img { display: block; width: 100%; aspect-ratio: 2/1; object-fit: cover; transition:transform .2s ease; }
.gff-v3-recent-rounds article>div,.gff-v3-round-link>div { padding: 8px 9px; }
.gff-v3-round-link:hover>img,.gff-v3-round-link:focus-visible>img { transform:scale(1.025); }
.gff-v3-round-link:focus-visible { outline:2px solid var(--profile-bright); outline-offset:-2px; }
.gff-v3-recent-rounds h3 { overflow: hidden; margin: 0; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.gff-v3-recent-rounds time { display: block; margin-top: 3px; color: var(--profile-muted); font-size: 8px; }
.gff-v3-recent-rounds strong { display: block; margin: 3px 0 5px; color:#075b3d; font-size: 18px; }.gff-v3-recent-rounds strong small { margin-left: 8px; color: var(--profile-muted); font-size: 8px; }
.gff-v3-recent-rounds article p { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; color: var(--profile-muted); font-size: 7px; }.gff-v3-recent-rounds article p b { display: block; color: var(--profile-ink); font-size: 10px; }

.gff-v3-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.gff-v3-courses { display:block; }
.gff-v3-courses>header .gff-v3-course-count { display:flex; align-items:center; gap:8px; color:var(--profile-ink); }
.gff-v3-course-count small { color:var(--profile-muted); font-size:9px; font-weight:600; }
.gff-v3-course-count strong { color:var(--profile-green); font-size:20px; line-height:1; }
.gff-v3-course-map { position: relative; display:block; min-height:230px; overflow:hidden; margin:11px; border-radius:7px; background:#e7f0eb; color:#75ae91; }
.gff-v3-course-map.maplibregl-map { font-family:inherit; }
.gff-v3-course-map .maplibregl-canvas { outline:0; }
.gff-v3-course-map .maplibregl-ctrl-group { overflow:hidden; border-radius:50%; box-shadow:0 1px 7px rgba(8,56,39,.18); }
.gff-v3-course-map .maplibregl-ctrl-group button { width:30px; height:30px; }
.gff-v3-course-map .maplibregl-ctrl-attrib { color:#53665d; font-size:9px; }
.gff-v3-course-map .maplibregl-popup-content { border-radius:7px; box-shadow:0 5px 20px rgba(8,56,39,.2); padding:14px; }
.gff-v3-course-map .maplibregl-popup-close-button { width:28px; height:28px; color:#315a48; font-size:20px; }
.gff-v3-map-dot { width:10px; height:10px; box-sizing:border-box; border:1px solid #fff; border-radius:50%; background:var(--profile-green); box-shadow:0 1px 4px rgba(0,0,0,.24); cursor:pointer; }
.gff-v3-map-dot:hover,.gff-v3-map-dot:focus-visible { background:var(--profile-bright); outline:7px solid rgba(19,132,84,.22); }
.gff-v3-course-map>i { font-size: 92px; opacity: .38; }.gff-v3-course-map>b { position: absolute; left: var(--x); top: var(--y); width: 11px; height: 11px; border: 3px solid #fff; border-radius: 50%; background: var(--profile-bright); box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.gff-v3-map-setup { display:flex; min-height:230px; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:var(--profile-muted); text-align:center; }
.gff-v3-map-setup>i { color:var(--profile-green); font-size:42px; opacity:.65; }
.gff-v3-map-setup p { margin:0; font-size:11px; }
.gff-v3-map-setup a { border:1px solid var(--profile-green); border-radius:4px; color:var(--profile-green); padding:6px 10px; font-size:10px; font-weight:700; }
.gff-v3-map-empty { display:grid; min-height:230px; margin:0; place-items:center; color:var(--profile-muted); }
.gff-v3-course-map.is-static-fallback { display:grid; min-height:230px; place-items:center; background:#edf7fb; }
.gff-v3-course-map.is-static-fallback>img { display:block; width:100%; height:100%; min-height:230px; object-fit:contain; }
.gff-v3-course-map.is-static-fallback>p { position:absolute; right:9px; bottom:8px; left:9px; margin:0; border-radius:4px; background:rgba(255,255,255,.9); color:var(--profile-muted); padding:5px 7px; font-size:9px; text-align:center; }
.gff-v3-map-popup { max-width:260px; color:#17392b; font-family:inherit; }
.gff-v3-map-popup h3 { margin:0 20px 7px 0; font-size:14px; line-height:1.35; }
.gff-v3-map-popup p { margin:0 0 8px; color:#66736c; font-size:11px; line-height:1.5; }
.gff-v3-map-popup .gff-v3-map-popup-name { color:var(--profile-green); font-weight:800; text-decoration:none; }
.gff-v3-map-popup .gff-v3-map-popup-name:hover,.gff-v3-map-popup .gff-v3-map-popup-name:focus-visible { text-decoration:underline; }
.gff-v3-map-popup .gff-v3-map-popup-url { display:block; overflow:hidden; color:var(--profile-green); font-size:10px; font-weight:600; line-height:1.4; text-decoration:underline; text-overflow:ellipsis; white-space:nowrap; }
.gff-v3-gallery>div { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; padding: 11px; }.gff-v3-gallery img { display: block; width: 100%; aspect-ratio: 1.6; border-radius: 4px; object-fit: cover; }
.gff-v3-achievements>div { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; padding: 18px 12px; }.gff-v3-achievements article { text-align: center; opacity: .35; }.gff-v3-achievements article.is-earned { opacity: 1; }.gff-v3-achievements article>i,.gff-v3-achievements article>img { display: grid; width: 53px; height: 53px; place-items: center; margin: 0 auto 7px; border: 4px double #e8b941; border-radius: 50%; background: var(--profile-green); object-fit:cover; }.gff-v3-achievements article>i { color: #f4d05c; font-size: 20px; }.gff-v3-achievements article>span { display: block; font-size: 8px; }
.gff-v3-latest ul { margin: 0; padding: 13px 16px; list-style: none; }.gff-v3-latest li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; margin-bottom: 10px; color: var(--profile-green); font-size: 10px; }.gff-v3-latest li>span { display: flex; flex-direction: column; color: var(--profile-ink); }.gff-v3-latest small { color: var(--profile-muted); font-size: 8px; }
.gff-v3-articles { margin-bottom: 18px; }.gff-v3-articles>div { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; padding: 12px; }.gff-v3-articles article img { display: block; width: 100%; aspect-ratio: 2.6/1; border-radius: 5px; object-fit: cover; }.gff-v3-articles h3 { overflow: hidden; margin: 6px 0 3px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.gff-v3-articles p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--profile-muted); font-size: 8px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.gff-v3-sidebar { position: sticky; top: 18px; display: grid; gap: 12px; }
.gff-v3-sidebar .gff-v3-panel { padding: 17px; }
.gff-v3-about dl { margin: 14px 0; }.gff-v3-about dl div { margin-bottom: 12px; }.gff-v3-about dt { display: flex; align-items: center; gap: 8px; color: var(--profile-muted); font-size: 9px; }.gff-v3-about dt i { width: 16px; color: var(--profile-green); text-align: center; }.gff-v3-about dd { margin: 2px 0 0 24px; font-size: 11px; }
.gff-v3-about h3 { margin: 17px 0 8px; font-size: 11px; }.gff-v3-about ul { margin: 0; padding: 0; list-style: none; }.gff-v3-about li { position: relative; margin: 8px 0; padding-left: 24px; font-size: 10px; }.gff-v3-about li:before { content: ''; position: absolute; left: 0; top: 1px; width: 14px; height: 14px; border: 1px solid #aac4b8; border-radius: 2px; }.gff-v3-about li.is-complete:before { content: '\2713'; display: grid; place-items: center; border-color: var(--profile-bright); background: var(--profile-bright); color: #fff; font-size: 9px; }
.gff-v3-quote { position: relative; overflow: hidden; min-height: 180px; margin: 0; border-radius: 8px; color: #fff; }.gff-v3-quote:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,56,34,.9),rgba(0,56,34,.05)); }.gff-v3-quote img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.gff-v3-quote blockquote,.gff-v3-quote figcaption { position: absolute; z-index: 1; left: 22px; right: 22px; }.gff-v3-quote blockquote { bottom: 37px; margin: 0; font: italic 14px/1.45 Georgia,serif; }.gff-v3-quote figcaption { bottom: 18px; font-size: 9px; }
.gff-v3-quick nav { display: grid; gap: 5px; margin-top: 12px; }.gff-v3-quick nav a { display: flex; align-items: center; gap: 10px; border-radius: 4px; padding: 8px; font-size: 10px; }.gff-v3-quick nav a:hover { background: var(--profile-soft); }.gff-v3-quick nav i { width: 17px; color: var(--profile-green); text-align: center; }
.gff-v3-community-pair .gff-member-panel { margin-top: 0; }

@media(max-width:1000px){
	.gff-v3-shell{grid-template-columns:minmax(0,1fr) 240px}.gff-v3-stats{grid-template-columns:repeat(2,1fr)}.gff-v3-recent-rounds>div{grid-template-columns:1fr 1fr}.gff-v3-pair{grid-template-columns:1fr}.gff-v3-sidebar{position:static}.gff-v3-gallery>div{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:760px){
	.gff-member-profile-v3{font-size:16px}.gff-v3-hero{min-height:330px}.gff-v3-hero-inner{min-height:330px;align-items:flex-start;flex-direction:column;justify-content:flex-end;gap:10px;padding-bottom:18px}.gff-v3-avatar img{width:104px;height:104px}.gff-v3-intro h1{font-size:25px}.gff-v3-edit-cover{right:14px;bottom:18px}.gff-v3-shell{grid-template-columns:1fr;width:100%;padding:12px 8px 0}.gff-v3-sidebar{grid-row:2}.gff-v3-stats{gap:8px}.gff-v3-stats article{min-height:66px;padding:10px}.gff-v3-stats b{font-size:19px}.gff-v3-charts,.gff-v3-performance-lower{grid-template-columns:1fr}.gff-v3-charts figure+figure,.gff-v3-performance-lower>section+section{border-left:0;border-top:1px solid #e7efeb}.gff-v3-recent-rounds>div{grid-template-columns:1fr 1fr}.gff-v3-pair{gap:10px}.gff-v3-sidebar{grid-template-columns:1fr 1fr}.gff-v3-sidebar .gff-v3-about{grid-row:span 2}.gff-v3-quote{min-height:200px}.gff-v3-community-pair{display:grid}.gff-member-community-tabs{overflow-x:auto}
}

@media(max-width:520px){
	.gff-v3-hero{min-height:350px}.gff-v3-hero-inner{min-height:350px}.gff-v3-intro>p{max-width:90%;font-size:12px}.gff-v3-meta{font-size:11px}.gff-v3-intro nav>a,.gff-v3-intro nav>.golf-follow-profile{min-width:96px}.gff-v3-edit-cover{top:15px;right:14px;bottom:auto}.gff-v3-shell{padding-right:0;padding-left:0}.gff-v3-panel,.gff-v3-stats article,.gff-member-panel{border-radius:0}.gff-v3-stats{padding:0 8px}.gff-v3-stats article{border-radius:6px}.gff-v3-recent-rounds>div{grid-template-columns:1fr 1fr;padding:8px}.gff-v3-recent-rounds h3{font-size:11px}.gff-v3-gallery>div{grid-template-columns:repeat(2,1fr)}.gff-v3-achievements>div{grid-template-columns:repeat(3,1fr)}.gff-v3-articles>div{grid-template-columns:1fr}.gff-v3-articles article img{aspect-ratio:2/1}.gff-v3-sidebar{grid-template-columns:1fr}.gff-v3-sidebar .gff-v3-about{grid-row:auto}.gff-v3-course-map{min-height:160px}.gff-v3-round-stats{grid-template-columns:105px 1fr}.gff-v3-donut{width:100px;height:100px}.gff-member-community-activity>header{align-items:flex-start;flex-direction:column;gap:4px}.gff-member-community-activity>div>article{grid-template-columns:86px minmax(0,1fr);gap:12px;padding:13px 16px}.gff-member-community-image,.gff-member-community-image img,.gff-member-community-image>span{width:86px;height:68px}
}

@media(max-width:520px){.gff-v3-course-map,.gff-v3-map-setup,.gff-v3-map-empty{min-height:240px}}
