/* Tesles Golf. Sivuston vakiokehys, pelin oma pienoismaailma. */
body[data-golf] main > :not(#golf) { display: none !important; }
body:not([data-golf]) #golf { display: none; }
.golf { padding: clamp(14px, 1.8vw, 22px) 0 clamp(48px, 6vw, 84px); }
.golf[hidden], .golf [hidden] { display: none !important; }
.golf-wrap { --g-mint: #b9e8c8; --g-cream: #f1e9d3; --g-muted: #94a9a7; --g-border: #ffffff12; --g-font: var(--f-display, Archivo, sans-serif); }
.golf-hero { margin-bottom: clamp(20px, 3vw, 28px); }
.golf-hero > .p-hero__ic svg { width: 28px; height: 28px; }
.golf-hero .h1 { margin: 0; }
.golf-hero .p-hero__aside { flex: 1; }
.golf-hero .p-hero__aside .lead { max-width: 35ch; }
.golf-eyebrow { display: block; margin: 0 0 8px; font: 750 10px/1.5 var(--g-font); letter-spacing: .14em; color: var(--g-muted); text-transform: uppercase; }
.golf-hero .golf-eyebrow { color: var(--text-2); margin-bottom: 3px; font-size: 9px; }
.golf-back { gap: 8px; white-space: nowrap; }
.golf-back svg { width: 16px; height: 16px; }
.plt-kortti--golf .plt-kortti__svg svg { width: 100%; height: 100%; margin: 0; filter: none; }
.plt-kortti--golf:hover .plt-kortti__svg svg { transform: scale(1.04); }
.golf-cabinet { overflow: hidden; border: 1px solid #617b792e; border-radius: 22px; background: #0b1519; box-shadow: 0 26px 80px -45px #000, inset 0 1px #ffffff08; color: var(--g-cream); }
.golf-topbar { min-height: 61px; display: flex; align-items: center; gap: 22px; padding: 10px 21px; border-bottom: 1px solid var(--g-border); background: #101a1e; }
.golf-wordmark { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; }
.golf-wordmark > svg { width: 22px; height: 22px; color: #d5e3c1; }
.golf-wordmark b { font-family: var(--g-font); font-size: 16px; font-weight: 850; letter-spacing: -.06em; }
.golf-wordmark b span { color: #9aaf9f; font-weight: 450; letter-spacing: -.04em; margin-left: 3px; }
.golf-live-dot { width: 5px; height: 5px; background: #b9e8c8; border-radius: 50%; margin-left: 6px; }
.golf-mode-label { font-size: 11px; color: #9dada8; flex: 1; }
.golf-tools { margin-left: auto; display: flex; gap: 5px; }
.golf-icon { width: 34px; height: 34px; display: grid; place-items: center; color: #c5d5cb; border-radius: 9px; border: 1px solid transparent; background: transparent; cursor: pointer; transition: background .15s; }
.golf-icon svg { width: 18px; height: 18px; }
.golf-icon:hover { background: #ffffff09; border-color: #ffffff0d; }
.golf-icon:disabled { opacity: .25; cursor: default; }
.golf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; }
.golf-scene { position: relative; min-width: 0; min-height: 440px; isolation: isolate; background: #0b1b22; aspect-ratio: 1.32; overflow: hidden; }
.golf-scene:has(.golf-challenge) { min-height: 520px; }
.golf-layout:has(.golf-cover--finish:not([hidden])) .golf-scene { min-height: 560px; }
.golf-canvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; cursor: grab; outline-offset: -5px; }
.golf-canvas:active { cursor: grabbing; }
.golf-scene-top, .golf-scene-bottom { position: absolute; left: 24px; right: 24px; display: flex; justify-content: space-between; align-items: center; gap: 10px; pointer-events: none; z-index: 1; }
.golf-scene-top { top: 21px; color: #b6cbb4a6; font: 650 9px/1.4 var(--g-font); letter-spacing: .15em; }
.golf-scene-par { border: 1px solid #c0d6b92a; border-radius: 5px; padding: 5px 7px; white-space: nowrap; }
.golf-scene-bottom { bottom: 19px; font-size: 11px; color: #bbcec2c4; min-height: 26px; }
.golf-power { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #ffffff14; padding: 5px 9px; border-radius: 6px; background: #07161fdd; }
.golf-power i { width: 60px; height: 4px; position: relative; overflow: hidden; background: #ffffff15; border-radius: 5px; }
.golf-power i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--power, 0%); border-radius: inherit; background: linear-gradient(90deg, #afe4bf, #f0d195, #ef8880); }
.golf-power b { font-size: 10px; min-width: 32px; }
.golf-sidebar { padding: 25px 21px; background: linear-gradient(155deg, #122024, #0c151b); border-left: 1px solid var(--g-border); min-width: 0; }
.golf-menu-heading { margin-bottom: 22px; }
.golf-menu-heading h3 { margin: 0; font: 750 24px/1.1 var(--g-font); letter-spacing: -.055em; color: var(--g-cream); }
.golf-mode-card { display: flex; align-items: center; width: 100%; gap: 11px; padding: 16px 0; border: 0; border-top: 1px solid var(--g-border); color: var(--g-cream); text-align: left; background: transparent; cursor: pointer; font-family: inherit; }
.golf-mode-card > span:nth-child(2) { flex: 1; min-width: 0; }
.golf-mode-card > svg { width: 14px; height: 14px; color: #c6d7bd70; transition: transform .2s; }
.golf-mode-card:hover > svg { transform: translateX(3px); color: #c6d7bd; }
.golf-mode-icon { width: 34px; height: 34px; display: grid; place-items: center; color: #b5d8b7; border: 1px solid #c7e8c71c; border-radius: 10px; background: #c7e8c708; flex-shrink: 0; }
.golf-mode-icon svg { width: 17px; height: 17px; }
.golf-mode-card b { display: block; font: 700 13px/1.4 var(--g-font); }
.golf-mode-card small { display: block; color: #91a5a4; font-size: 10px; line-height: 1.6; margin-top: 2px; }
.golf-mode-card em { display: block; color: #cbddb4; font-size: 10px; font-style: normal; margin-top: 4px; }
.golf-practice { border-top: 1px solid var(--g-border); margin-top: 3px; padding-top: 15px; }
.golf-practice summary, .golf-access-controls summary { color: #a9bab1; font-size: 11px; cursor: pointer; line-height: 1.5; }
.golf-practice > div { margin-top: 10px; display: grid; gap: 2px; }
.golf-practice button { display: flex; align-items: center; gap: 8px; font: 500 11px/1.4 var(--g-font); background: #ffffff04; border: 0; color: #d1dbc9; width: 100%; padding: 10px 7px; border-radius: 5px; cursor: pointer; text-align: left; }
.golf-practice button:hover { background: #ffffff0b; }
.golf-practice button span { font-size: 9px; color: #88a49d; }
.golf-practice button small { margin-left: auto; color: #a7b8ac; font-size: 9px; }
.golf-local-note { margin: 22px 0 0; color: #7d9795; font-size: 10px; line-height: 1.7; }
.golf-cover { position: absolute; inset: 0; z-index: 3; display: flex; padding: clamp(22px, 3.6vw, 44px); }
.golf-cover--menu { align-items: safe center; overflow-y: auto; background: linear-gradient(90deg, #08151bf5 0%, #08151bea 26%, #08151ba3 53%, #08151b15 100%); }
.golf-intro { width: min(100%, 370px); }
.golf-edition { display: inline-flex; align-items: center; gap: 8px; color: #b3d0b2; font-size: 9px; letter-spacing: .16em; font-weight: 650; }
.golf-edition::before { content: ""; width: 18px; height: 1px; background: #b3d0b2; }
.golf-intro h2 { margin: 21px 0 18px; color: #f6efd9; font-family: var(--g-font); font-size: clamp(38px, 4.5vw, 64px); font-weight: 780; letter-spacing: -.065em; line-height: 1.02; }
.golf-intro h2 em { color: #bddbb2; font-family: "Source Serif 4", Georgia, serif; font-weight: 600; letter-spacing: -.07em; }
.golf-intro > p { margin: 0 0 17px; max-width: 29ch; color: #afc0b8; font-size: 13px; line-height: 1.75; }
.golf-intro-meta { display: flex; align-items: center; gap: 7px; color: #a0b5ab; font-size: 10px; margin-bottom: 24px; }
.golf-intro-meta svg { width: 15px; height: 15px; flex-shrink: 0; }
.golf-primary, .golf-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 10px; min-height: 45px; padding: 11px 19px; font: 750 12px/1.4 var(--g-font); cursor: pointer; transition: background .18s, transform .18s; text-decoration: none; }
.golf-primary { background: linear-gradient(160deg, #ff4d43, #dd302a); border: 1px solid #ff887466; box-shadow: inset 0 1px #ffd4b42b, 0 8px 30px -14px #f2453880; color: #fff8e9; }
.golf-primary:hover { background: linear-gradient(160deg, #ff6755, #f03b2e); transform: translateY(-1px); }
.golf-primary svg, .golf-secondary svg { width: 16px; height: 16px; flex-shrink: 0; }
.golf-secondary { background: #cadbc709; border: 1px solid #d4e4cc29; color: #dfe8d3; }
.golf-secondary:hover { background: #cadbc714; }
.golf-secondary:disabled { opacity: .35; cursor: default; }
.golf-intro > .golf-primary { min-width: 182px; justify-content: space-between; }
.golf-no-login { display: block; margin-top: 13px; color: #839b91; font-size: 9px; letter-spacing: .01em; }
.golf-resume, .golf-text-button { display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; padding: 10px 0; background: transparent; color: #cadfc2; font: 600 11px/1.5 var(--g-font); cursor: pointer; }
.golf-resume { margin-top: 6px; }
.golf-resume svg, .golf-text-button svg { width: 14px; height: 14px; }
.golf-challenge { display: grid; gap: 5px; margin-bottom: 19px; padding: 12px 14px; border: 1px solid #bedfc52b; border-radius: 8px; background: #bedfc508; }
.golf-challenge b { color: #e4ebd4; font-size: 13px; }
.golf-challenge span { color: #bed8b4; font-size: 12px; }
.golf-challenge small { font-size: 9px; color: #97b2a7; }
.golf-hole-heading h2 { margin: 0 0 5px; color: var(--g-cream); font: 750 25px/1.1 var(--g-font); letter-spacing: -.045em; }
.golf-hole-heading > p { margin: 0; color: #9eb3a7; font-size: 11px; }
.golf-shot-counter { display: flex; align-items: center; justify-content: space-between; padding: 20px 0 17px; border-bottom: 1px solid var(--g-border); margin-bottom: 18px; }
.golf-shot-counter > div { display: flex; align-items: baseline; gap: 9px; }
.golf-shot-counter b { font: 700 52px/1 var(--g-font); letter-spacing: -.08em; color: var(--g-cream); font-variant-numeric: tabular-nums; }
.golf-shot-counter > div > span { font-size: 8px; letter-spacing: .14em; color: #8da49a; }
.golf-shot-counter > span { font-size: 10px; letter-spacing: .08em; color: #8da49a; border: 1px solid #d0d9be1e; padding: 6px; border-radius: 5px; }
.golf-shot-counter strong { color: #d1dcc3; font-weight: 650; }
.golf-score-heading { display: flex; justify-content: space-between; align-items: center; gap: 7px; margin: 0 0 8px; }
.golf-score-heading span { color: #829b91; font-size: 8px; letter-spacing: .13em; }
.golf-score-heading b { color: #cbdcbe; font-size: 10px; font-weight: 600; }
.golf-scorecard { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.golf-scorecard li { display: flex; align-items: center; gap: 8px; min-height: 31px; padding: 5px 7px; border-radius: 5px; }
.golf-scorecard li.is-current { background: #cae6c00a; }
.golf-scorecard li > span { font-size: 8px; color: #718d85; }
.golf-scorecard li > b { font: 550 10px/1.4 var(--g-font); flex: 1; color: #adbdaf; }
.golf-scorecard li.is-current > b { color: #ecedd8; }
.golf-scorecard li > small { font-size: 9px; color: #66887b; margin-right: 4px; }
.golf-scorecard li > strong { font-size: 11px; color: #d4e4c8; width: 14px; text-align: center; }
.golf-caddie { padding: 15px 0 0; margin-top: 17px; border-top: 1px solid var(--g-border); }
.golf-caddie > span { display: flex; align-items: center; gap: 6px; font-size: 8px; letter-spacing: .13em; color: #b3cba8; }
.golf-caddie svg { width: 12px; height: 12px; }
.golf-caddie p { margin: 8px 0 0; color: #8ea89b; font-size: 11px; line-height: 1.7; }
.golf-player-turn { display: flex; align-items: center; gap: 8px; margin: -5px 0 17px; padding: 8px; border-radius: 5px; background: #ffffff04; font-size: 11px; color: #c9dfc1; overflow-wrap: anywhere; }
.golf-player-turn i, .golf-final-players i { width: 7px; height: 7px; background: var(--player); border-radius: 50%; flex-shrink: 0; }
.golf-access-controls { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--g-border); }
.golf-access-controls label { display: block; color: #a7beaf; font-size: 11px; margin-top: 14px; }
.golf-access-controls output { float: right; color: #e0e7ce; }
.golf-access-controls input[type=range] { display: block; width: 100%; margin: 10px 0 0; accent-color: #bddbb2; }
.golf-access-controls .golf-secondary { width: 100%; margin-top: 15px; min-height: 36px; padding: 8px; }
.golf-target { margin-top: 16px; color: #b7c9af; font-size: 11px; }
.golf-target small { display: block; color: #749387; font-size: 9px; margin-top: 4px; }
.golf-cover--between { align-items: flex-end; justify-content: center; background: linear-gradient(0deg, #07151deb 0%, #07151d3b 50%, transparent 100%); }
.golf-hole-result { text-align: center; width: 100%; padding-bottom: 4px; animation: golf-appear .3s ease-out both; }
.golf-result-emblem { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid #e4d19b40; background: #ddc68712; border-radius: 50%; color: #f3db9c; margin-bottom: 11px; }
.golf-result-emblem svg { width: 19px; height: 19px; }
.golf-hole-result h2 { margin: 0 0 8px; color: #f7efd7; font: 700 clamp(25px, 3vw, 40px)/1.1 var(--g-font); letter-spacing: -.05em; }
.golf-hole-result p { color: #cad8bc; font-size: 13px; margin: 0 0 20px; }
.golf-hole-result p strong { font-size: 22px; font-weight: 600; }
.golf-hole-result p span { color: #9eafa1; }
.golf-hole-result small { display: block; margin: -9px 0 14px; color: #a4b8a7; font-size: 10px; }
.golf-cover--finish, .golf-cover--pause { align-items: safe center; justify-content: center; overflow-y: auto; background: #07131ceb; backdrop-filter: blur(5px); }
.golf-final, .golf-pause-panel { text-align: center; max-width: 460px; width: 100%; animation: golf-appear .35s ease-out both; }
.golf-medal { display: inline-grid; place-items: center; width: 65px; height: 65px; border-radius: 50%; color: #e9ce91; border: 1px solid #d6c18a55; box-shadow: 0 0 50px -20px #f1cf78; background: radial-gradient(circle at 35% 25%, #e4c37c27, #e4c37c03); margin: 0 auto 18px; outline: 1px solid #d6c18a14; outline-offset: 6px; }
.golf-medal svg { width: 31px; height: 31px; }
.golf-medal--silver { color: #d8e6e8; border-color: #d8e6e855; background: #d8e6e80b; box-shadow: 0 0 50px -20px #d8e6e8; }
.golf-medal--bronze { color: #dfac87; border-color: #dfac8755; }
.golf-medal--finish { color: #bad9b3; border-color: #bad9b355; box-shadow: none; }
.golf-final h2, .golf-pause-panel h2 { margin: 0 0 12px; font: 700 clamp(26px, 3.4vw, 43px)/1.1 var(--g-font); letter-spacing: -.055em; color: #f0ecd8; overflow-wrap: anywhere; }
.golf-final-score { display: flex; justify-content: center; align-items: center; gap: 13px; margin: 14px 0 7px; }
.golf-final-score > b { color: #e2e5c4; font: 650 76px/.95 var(--g-font); letter-spacing: -.08em; }
.golf-final-score > span { color: #c2d1b7; font-size: 14px; text-align: left; }
.golf-final-score small { display: block; margin-top: 5px; font-size: 9px; color: #849e90; letter-spacing: .12em; }
.golf-best-line { color: #bbd9ae; font-size: 12px; margin: 14px 0 23px; }
.golf-final-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.golf-final .golf-text-button { margin: 11px auto 4px; }
.golf-result-note { display: block; color: #839b90; font-size: 9px; margin-top: 12px; }
.golf-final-players { margin: 14px auto; max-width: 290px; padding: 0; list-style: none; }
.golf-final-players li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #ffffff0b; padding: 7px 0; font-size: 12px; color: #c9d8bc; }
.golf-final-players span { display: flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.golf-pause-panel > p { font-size: 12px; line-height: 1.7; color: #9eb2a7; margin: 0 0 22px; }
.golf-pause-panel > button { display: flex; width: min(100%, 230px); margin: 9px auto; }
.golf-bottom { display: flex; align-items: center; gap: 18px; padding: 13px 20px; border-top: 1px solid var(--g-border); color: #78958a; }
.golf-bottom > span:first-child { display: inline-flex; align-items: center; gap: 7px; font-size: 8px; letter-spacing: .12em; white-space: nowrap; }
.golf-bottom > span:first-child svg { width: 13px; height: 13px; }
.golf-bottom > p { margin: 0; flex: 1; font-size: 9px; line-height: 1.6; }
.golf-bottom > span:last-child { font-size: 9px; white-space: nowrap; }
.golf-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.golf button:focus-visible, .golf summary:focus-visible, .golf input:focus-visible, .golf select:focus-visible, .golf a:focus-visible, .golf canvas:focus-visible { outline: 2px solid #d8e9b9; outline-offset: 3px; }
.golf canvas:focus-visible { outline-offset: -5px; }
.golf-dialog { color-scheme: dark; color: #e6e7d5; width: min(440px, calc(100vw - 32px)); border: 1px solid #c6dac32e; border-radius: 18px; padding: 27px; background: #111f23; box-shadow: 0 25px 100px #000a; }
.golf-dialog::backdrop { background: #02070cbf; backdrop-filter: blur(5px); }
.golf-dialog h2 { font: 750 29px/1.1 var(--g-font); letter-spacing: -.04em; color: #f0ecd8; margin: 0 0 12px; }
.golf-dialog p { color: #9db3a6; font-size: 12px; line-height: 1.7; }
.golf-dialog label { display: block; color: #bcd0ba; font-size: 11px; margin-top: 15px; }
.golf-dialog input, .golf-dialog select { display: block; width: 100%; min-height: 42px; margin-top: 7px; padding: 9px 11px; background: #071318; color: #e2e9d3; border: 1px solid #c1d5bd26; border-radius: 7px; font: 500 13px/1.4 var(--g-font); }
.golf-player-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.golf-dialog small { display: block; color: #869d90; font-size: 10px; line-height: 1.6; margin-top: 12px; }
.golf-dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 23px; }
.golf:fullscreen { background: #080d13; overflow-y: auto; padding: 20px 0; }
.golf:fullscreen .golf-wrap { width: min(1400px, 96vw); }
.golf:fullscreen .golf-hero { display: none; }
.golf:fullscreen .golf-scene { max-height: calc(100dvh - 140px); }
@keyframes golf-appear { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1550px) { .golf-scene { aspect-ratio: 1.42; } }
@media (max-width: 1100px) {
  .golf-layout { grid-template-columns: minmax(0, 1fr) 225px; }
  .golf-sidebar { padding: 22px 16px; }
  .golf-scene { aspect-ratio: 1.1; }
  .golf-intro h2 { font-size: 48px; }
  .golf-bottom > span:last-child { display: none; }
}
@media (max-width: 760px) {
  .golf-hero .p-hero__aside { display: none; }
  .golf-hero { gap: 12px; }
  .golf-back { margin-left: auto; min-height: 36px; padding: 8px 11px; font-size: 11px; }
  .golf-layout { grid-template-columns: minmax(0, 1fr); }
  .golf-scene { aspect-ratio: .83; max-height: 640px; }
  .golf-sidebar { border-left: 0; border-top: 1px solid var(--g-border); padding: 23px; }
  .golf-menu-heading { margin-bottom: 12px; }
  .golf-mode-card { padding: 15px 0; }
  .golf-mode-card b { font-size: 14px; }
  .golf-mode-card small { font-size: 11px; }
  .golf-local-note { max-width: 50ch; }
  .golf-cover--menu { background: linear-gradient(90deg, #07151cee, #07151ccb 47%, #07151c45); }
  .golf-intro { max-width: 340px; }
  .golf-intro h2 { font-size: clamp(46px, 10vw, 67px); }
  .golf-scene-top, .golf-scene-bottom { left: 18px; right: 18px; }
  .golf-cabinet { border-radius: 16px; }
  .golf-topbar { gap: 12px; padding: 9px 13px; }
  .golf-mode-label { font-size: 10px; }
  .golf-icon { width: 32px; height: 34px; }
  .golf-tools { gap: 1px; }
  .golf-wordmark b { font-size: 14px; }
  .golf-wordmark > svg { width: 18px; }
  .golf-live-dot { display: none; }
  .golf-bottom { align-items: flex-start; padding: 13px 17px; }
  .golf-bottom > span:first-child { display: none; }
  .golf-hole-heading { padding-right: 80px; }
  .is-playing .golf-sidebar { position: relative; }
  .golf-shot-counter { position: absolute; right: 23px; top: 23px; padding: 0; margin: 0; border: 0; gap: 13px; }
  .golf-shot-counter b { font-size: 38px; }
  .golf-shot-counter > div { flex-direction: column; gap: 3px; align-items: center; }
  .golf-shot-counter > div > span { font-size: 7px; }
  .golf-shot-counter > span { display: none; }
  .golf-score-heading { margin-top: 20px; }
  .golf-scorecard { grid-template-columns: 1fr 1fr; gap: 3px 10px; }
  .golf-scorecard--final { grid-template-columns: 1fr; }
  .golf-scorecard li { padding: 7px 4px; }
  .golf-scorecard li > b { font-size: 11px; }
  .golf-caddie p { font-size: 12px; }
  .golf-player-turn { margin-top: 14px; max-width: calc(100% - 70px); }
  .golf-cover--between { padding-bottom: 35px; }
  .golf-final-actions { flex-direction: column; align-items: stretch; width: min(100%, 260px); margin-left: auto; margin-right: auto; }
  .golf-final-score > b { font-size: 69px; }
  .golf-medal { width: 56px; height: 56px; margin-bottom: 18px; }
  .golf-final h2 { font-size: 31px; }
  .golf-result-note { max-width: 30ch; margin-left: auto; margin-right: auto; }
}
@media (max-width: 390px) {
  .golf-mode-label { display: none; }
  .golf-cover { padding: 22px; }
  .golf-intro h2 { font-size: 44px; }
  .golf-intro > p { font-size: 12px; }
  .golf-intro-meta { max-width: 25ch; line-height: 1.6; }
  .golf-hero .golf-eyebrow { font-size: 7px; }
  .golf-hero .h1 { font-size: 26px; }
  .golf-back { font-size: 10px; gap: 4px; }
  .golf-back svg { width: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .golf *, .golf *::before, .golf *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Pinewood Links: 3D-maailma saa tilan, tuloskortti avataan tarvittaessa. */
.golf.is-3d .golf-layout { grid-template-columns: minmax(0, 1fr); }
.golf.is-3d .golf-sidebar { display: none; }
.golf.is-3d .golf-scene { aspect-ratio: 16 / 9; min-height: 540px; background: #b9d3d4; }
.golf.is-3d.is-menu .golf-layout { grid-template-columns: minmax(0, 1fr) 280px; }
.golf.is-3d.is-menu .golf-sidebar { display: block; }
.golf.is-3d.is-menu .golf-scene { aspect-ratio: 1.4; min-height: 590px; }
.golf.is-3d.is-score-open:not(.is-menu) .golf-layout { grid-template-columns: minmax(0, 1fr) 260px; }
.golf.is-3d.is-score-open:not(.is-menu) .golf-sidebar { display: block; }
.golf.is-3d .golf-scene-top { align-items: flex-start; color: #283c31; font-size: 10px; }
.golf.is-3d [data-golf-hole-tag] { padding: 10px 14px; border: 1px solid #fff9; border-radius: 9px; background: #fcf8e8e8; box-shadow: 0 4px 18px #20342114; letter-spacing: .08em; }
.golf.is-3d .golf-scene-par { background: #fcf8e8e8; border-color: #fff9; padding: 10px; color: #344739; box-shadow: 0 4px 18px #20342114; }
.golf-live-score { position: absolute; z-index: 2; top: 75px; left: 24px; display: flex; flex-direction: column; align-items: center; padding: 10px 16px; border-radius: 10px; border: 1px solid #fff8; background: #fcf8e8e8; box-shadow: 0 5px 20px #20342112; pointer-events: none; color: #293d2f; }
.golf-live-score b { font: 750 39px/1 var(--g-font); letter-spacing: -.07em; }
.golf-live-score span { font-size: 8px; letter-spacing: .1em; margin-top: 5px; color: #6b7d63; }
.golf.is-menu .golf-live-score { display: none; }
.golf.is-3d .golf-scene-bottom > span:first-child { padding: 9px 13px; border-radius: 8px; color: #f8f5e8; background: #203d35d9; box-shadow: 0 5px 20px #1830201f; max-width: calc(100% - 110px); line-height: 1.55; }
.golf.is-3d .golf-scene-bottom .golf-power { background: #f8f4e4ed; border-color: #fff9; color: #304b3a; }
.golf.is-3d .golf-power i { background: #294c3426; }
.golf.is-3d .golf-cover--menu { background: linear-gradient(90deg, #0b262bf5, #0b262bd9 25%, #0b262b80 65%, #0b262b15); }
.golf.is-3d .golf-cover--between { background: linear-gradient(0deg, #112c31ed, #112c3180 36%, #112c3100 80%); }
.golf.is-3d .golf-cover--finish, .golf.is-3d .golf-cover--pause { background: #0b232be3; }
.golf.is-3d .golf-icon[aria-pressed="true"][data-golf-action="camera"] { color: #e1d9a6; background: #d8e3b81c; border-color: #d8e3b833; }
.golf.is-camera-mode .golf-canvas { cursor: all-scroll; }
@media (max-width: 760px) {
  .golf.is-3d.is-menu .golf-layout, .golf.is-3d.is-score-open:not(.is-menu) .golf-layout { grid-template-columns: minmax(0, 1fr); }
  .golf.is-3d .golf-scene, .golf.is-3d.is-menu .golf-scene { aspect-ratio: .8; min-height: 500px; max-height: 720px; }
  .golf.is-3d .golf-mode-label { display: none; }
  .golf.is-3d .golf-wordmark > svg, .golf.is-3d .golf-wordmark b span { display: none; }
  .golf.is-3d .golf-tools { gap: 1px; }
  .golf.is-3d .golf-cover--menu { background: linear-gradient(90deg, #0b262bef, #0b262b88); }
  .golf.is-3d .golf-scene-top { font-size: 8px; gap: 6px; }
  .golf.is-3d [data-golf-hole-tag] { padding: 9px; max-width: calc(100% - 55px); line-height: 1.5; }
  .golf-live-score { left: 18px; top: 70px; padding: 8px 12px; }
  .golf-live-score b { font-size: 30px; }
  .golf.is-3d .golf-scene-bottom > span:first-child { font-size: 10px; }
  .golf.is-3d .golf-sidebar { border-top: 1px solid var(--g-border); }
}
