/* Local, tour-only polish. Existing pages, images and native film remain intact. */
.sf-active .site-header{position:sticky;top:0;z-index:80}
.sf-active body{padding-bottom:var(--sf-space,88px)}
.sf-focus-frame{scroll-margin-top:var(--sf-top,116px);scroll-margin-bottom:var(--sf-space,88px)}
.service-grid article.sf-focus-frame{min-height:var(--sf-topic-height,auto)}
.sf-player.sf-dock{bottom:0;left:0;transform:none;width:100%;padding:0;border:0;border-top:1px solid #b6985b;border-radius:0;max-height:none;overflow:visible;background:#102335;box-shadow:0 -8px 25px #07152225;padding-bottom:env(safe-area-inset-bottom,0px)}
.sf-player .sf-progress{display:block;position:absolute;top:0;left:0;width:100%;height:3px;margin:0;border:0;appearance:none;background:#354552;accent-color:#d6b16d}
.sf-progress::-webkit-progress-bar{background:#354552}.sf-progress::-webkit-progress-value{background:#d6b16d}
.sf-player .sf-bar{height:72px;max-width:1600px;margin:auto;display:flex;align-items:center;gap:8px;padding:9px 24px}
.sf-player .sf-info{flex:1;min-width:0;padding:0 10px}
.sf-player .sf-info h2{margin:0;font-size:16px;line-height:1.4;font-weight:500;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-count{color:#d6b16d;font-size:12px;margin-right:9px;font-variant-numeric:tabular-nums}
.sf-player .sf-status{font-size:11px;margin:1px 0 0;min-height:15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bfcbd4}
.sf-player .sf-bar button{padding:0;width:40px;height:44px;min-height:44px;flex-shrink:0;border-color:transparent;font-size:24px;line-height:1;display:grid;place-items:center;border-radius:4px}
.sf-player .sf-bar button.sf-play{width:46px;background:#d6b16d;color:#102335;border-color:#d6b16d;font-size:20px}
.sf-player .sf-bar button.sf-mute{font-size:17px;letter-spacing:-3px}
.sf-player .sf-volume{width:90px;min-width:60px;min-height:44px;height:44px;padding:0;border:0;background:transparent;accent-color:#d6b16d}
.sf-player .sf-details{padding:20px 24px 14px;max-height:38svh;overflow:auto;max-width:1200px;margin:auto;border-bottom:1px solid #ffffff25}
.sf-player .sf-caption{font-size:14px;line-height:1.6;max-height:none;max-width:100ch;overflow:visible;margin:0 0 10px}
.sf-details-status{font-size:12px;color:#d6b16d;margin:0 0 12px}
.sf-player .sf-controls{display:flex;flex-wrap:wrap;gap:8px}
.sf-mobile-volume{display:none}.sf-player .sf-controls button{min-height:44px;font-size:12px}
.sf-player.sf-minimized .sf-bar{height:52px}.sf-minimized .sf-info .sf-status{display:none}
.sf-player button:focus-visible,.sf-player input:focus-visible{outline:2px solid #f2d497;outline-offset:2px}
@media(max-width:760px){
 .sf-player .sf-bar{height:80px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:20px 44px;gap:0 4px;padding:7px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left))}
 .sf-player .sf-info{grid-column:1/-1;grid-row:1;padding:0 3px;overflow:hidden}
 .sf-player .sf-info h2{font-size:12px;line-height:18px}.sf-count{font-size:11px;margin-right:8px}
 .sf-player .sf-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .sf-player .sf-bar button,.sf-player .sf-bar button.sf-play{grid-row:2;width:100%;height:44px;min-width:0;min-height:44px;font-size:23px}
 .sf-player .sf-bar button.sf-play{font-size:19px}.sf-player .sf-bar button.sf-mute{font-size:16px}
 .sf-player .sf-volume{display:none}.sf-player .sf-details{padding:16px 18px;max-height:32svh}
 .sf-player .sf-caption{font-size:12px;line-height:1.5}.sf-mobile-volume{display:flex;gap:15px;align-items:center;font-size:12px;margin-bottom:10px}
 .sf-mobile-volume input{min-height:44px;background:transparent;padding:0;accent-color:#d6b16d}
 .sf-player.sf-minimized .sf-bar{display:flex;height:52px;gap:6px}.sf-minimized .sf-info{flex:1}.sf-player.sf-minimized .sf-bar button{width:42px;flex-shrink:0}
 .sf-player .sf-controls button{flex:1;font-size:11px;padding:10px;min-width:90px}
}
@media(prefers-reduced-motion:reduce){.sf-active{scroll-behavior:auto}}

/* Mobile voice-state feedback remains visible without expanding the player. */
@media(max-width:760px){.sf-player.sf-notice .sf-info h2{display:none}.sf-player.sf-notice .sf-status{position:static;clip:auto;width:auto;height:auto;margin:0;min-height:0;font-size:11px;line-height:18px;color:#f2d497}}
