.venue-picker{margin:16px 0 26px}.venue-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.venue-picker-heading h2{font-size:26px;margin:0}.venue-picker-heading>span{font-size:17px;color:#526478}.venue-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.venue-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:5px;overflow:hidden;border:2px solid #cdd9d4;border-radius:16px;background:white;color:#24384b;text-align:left;padding:0 0 14px;min-width:0}.venue-tile .venue-scenery{display:block;width:100%;height:78px;object-fit:cover;margin-bottom:5px}.venue-tile>small,.venue-tile>b,.venue-tile>span:not(.venue-check){padding:0 12px;line-height:1.5;overflow-wrap:anywhere}.venue-tile>small{font-size:15px;color:#536578}.venue-tile>b{font-size:18px}.venue-tile>span:not(.venue-check){font-size:15px}.venue-tile.is-selected{border:3px solid #223955;background:#f0f4f7;box-shadow:0 0 0 2px #ffdd75}.venue-check{position:absolute;top:8px;right:8px;width:27px;height:27px;border-radius:50%;background:white;border:1px solid #8b9ba9;display:grid;place-items:center;font-size:19px;font-weight:900}.is-selected>.venue-check{background:#ffdc71;color:#223955;border-color:#223955}.venue-mobile-picker{display:none}.venue-overview{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.4fr);align-items:center;gap:24px;background:var(--venue-light);border:1px solid #d0ddd6;border-radius:22px;overflow:hidden;margin:0 0 24px}.venue-overview>.venue-scenery{width:100%;height:auto;align-self:stretch;min-height:200px}.venue-overview>div{padding:22px 24px 22px 0;min-width:0}.venue-region{font-size:17px;color:var(--venue-color);font-weight:700}.venue-overview h2{font-size:30px;margin:8px 0 10px;color:#23384b}.venue-overview p{font-size:18px;line-height:1.7;margin:8px 0}.venue-traits{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:12px 0}.venue-traits li{background:#ffffffc9;color:#314c42;border-radius:8px;padding:5px 9px;font-size:16px}.venue-counts{display:flex;flex-wrap:wrap;gap:8px 18px;color:#263e50}.venue-counts span{font-size:17px}.venue-courses-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 18px}.venue-courses-heading h2{font-size:25px;margin:0}.venue-courses-heading p{font-size:18px;line-height:1.6;margin:8px 0 0}.course-difficulty{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:#36546d;margin:6px 0 12px}.course-difficulty .difficulty{display:flex;flex-shrink:0}.card-venue-label{font-size:16px;color:#4c6270;margin:0 0 5px;line-height:1.5}.course-unlock-guide details{margin:10px 0;padding:12px;border:1px solid #cdd9d4;border-radius:12px}.course-unlock-guide summary{font-size:18px;font-weight:700;cursor:pointer;line-height:1.6}.course-unlock-guide li small{display:block;font-size:15px;font-weight:400;color:#526478}.round-route small.round-venue-name{font-size:16px;font-weight:700;line-height:1.5}.venue-overview h2:focus-visible{outline:3px solid #253b5a;outline-offset:3px}
@media(max-width:1100px) and (min-width:701px){.venue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.venue-overview{gap:16px}.venue-overview h2{font-size:27px}}
@media(max-width:700px){.venue-grid{display:none}.venue-mobile-picker{display:flex;flex-direction:column;font-size:18px;margin:0;gap:8px}.venue-mobile-picker select{width:100%;min-width:0;min-height:54px;font-size:17px;border:2px solid #233b5b;border-radius:12px;background:white;color:#233b5b;padding:10px 32px 10px 12px}.venue-picker-heading{align-items:flex-start}.venue-picker-heading h2{font-size:23px}.venue-picker-heading>span{font-size:15px}.venue-overview{grid-template-columns:1fr;gap:0;border-radius:16px}.venue-overview>.venue-scenery{height:115px;min-height:0;width:100%;object-fit:cover}.venue-overview>div{padding:14px 16px 18px}.venue-overview h2{font-size:26px}.venue-overview p{font-size:18px}.venue-traits li{font-size:15px}.venue-courses-heading{display:block}.venue-courses-heading h2{font-size:23px}.venue-courses-heading .selected-count{display:inline-block;margin-top:12px}.card-title h3{font-size:24px}.course-difficulty{font-size:17px}.venue-counts{gap:4px 12px}.round-route small.round-venue-name{font-size:15px}.venue-picker{margin-bottom:18px}}

.volcanic-rocks .course-rock>circle{fill:#4c5957;stroke:#283b39}.volcanic-rocks .course-rock>path:first-of-type{fill:#88918a}.volcanic-rocks .course-rock>path:nth-of-type(2){stroke:#4c625b}

/* Keep course-preview navigation in reach while browsing the map. */
.modal.hole-preview-modal{padding:0;display:flex;flex-direction:column;overflow:hidden;background:#fffefa}
.hole-preview-header{flex-shrink:0;padding:22px 58px 14px 20px}
.hole-preview-modal .hole-preview-header .eyebrow{margin:0 0 8px;font-size:15px;letter-spacing:0;line-height:1.5}
.hole-preview-modal .hole-preview-header h2{margin:0;padding:0;font-size:28px;line-height:1.25}
.hole-preview-header h2 small{display:block;font-size:18px;margin-top:6px;line-height:1.4}
.hole-preview-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 18px 14px}
.hole-preview-body .preview-map{height:clamp(220px,calc(var(--viewport-height) - 300px),350px)}
.hole-preview-actions{flex-shrink:0;border-top:1px solid #dfe7db;padding:12px 18px 10px;background:#fffefa}
.hole-preview-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.hole-preview-navigation button{min-width:0;min-height:54px;padding:12px 8px;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
.hole-preview-navigation button:disabled{opacity:1;color:#7c858a;background:#edf0ec;border:1px solid #dfe3dc;box-shadow:none}
.hole-preview-position{font-size:17px;color:#506574;white-space:nowrap;font-variant-numeric:tabular-nums}
.hole-preview-position b{font-size:24px;color:#243d50}
.hole-preview-actions .text-button{margin-top:6px;min-height:44px;font-size:17px;color:#405e50}
@media(max-width:360px){.hole-preview-actions{padding-inline:12px}.hole-preview-navigation{gap:7px}.hole-preview-position{font-size:15px}.hole-preview-navigation button{gap:2px}}
@media(min-width:600px) and (max-height:500px){.modal.hole-preview-modal{width:min(100%,760px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);grid-template-rows:auto 1fr}.hole-preview-header{grid-column:2;grid-row:1;padding-top:18px}.hole-preview-body{grid-column:1;grid-row:1/3;padding:12px;height:100%}.hole-preview-body .preview-map{height:100%;min-height:220px}.hole-preview-actions{grid-column:2;grid-row:2;align-self:end}}

/* A selected round can start without scrolling past every course card. */
.quick-round-start{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:min(440px,calc(100vw - 40px));display:flex;align-items:center;gap:14px;padding:12px 14px;border:2px solid #203958;border-radius:16px;background:#fff9e5;box-shadow:0 10px 30px #1b304344}
.quick-round-summary{display:grid;gap:3px;min-width:0;flex:1;color:#243b52;font-size:15px;line-height:1.35}
.quick-round-summary b{font-size:17px}
.quick-round-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-round-start .primary{flex-shrink:0;min-height:54px;padding:12px 15px;background:#203958;font-size:18px;font-weight:800}
.quick-round-start .primary:hover{background:#102945}
.app-shell:has(.quick-round-start) #main{padding-bottom:115px}
@media(max-width:760px){.quick-round-start{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));width:auto;gap:10px;padding:10px}.quick-round-summary{font-size:14px}.quick-round-summary b{font-size:16px}.quick-round-start .primary{min-height:54px;font-size:17px}.app-shell:has(.quick-round-start) #main{padding-bottom:195px}}
@media(max-width:360px){.quick-round-summary span{font-size:13px}.quick-round-start .primary{font-size:16px;padding:10px}}
