.sv-event-hero dl.sv-event-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;margin:0}
.sv-event-fact{padding:26px;border:1px solid #334560;border-radius:20px;background:linear-gradient(135deg,#172b46,#101720);min-width:0}
.sv-event-fact dt{color:#8ac6ff;font-weight:500;font-size:16px;margin-bottom:12px}
.sv-event-fact dd{color:#fff;font-size:clamp(20px,2vw,28px);line-height:1.25;margin:0;overflow-wrap:anywhere}
.sv-event-hero .bde-shortcode,.sv-event-hero .sv-event-hero dl.sv-event-facts{width:100%}
.single-sv_event .sv-actions,.single-sv_competition .sv-actions{gap:16px;width:100%}
.single-sv_event .sv-actions>.sv-button,.single-sv_competition .sv-actions>.sv-button{min-height:64px;min-width:min(280px,100%);justify-content:center;font-size:19px;padding:20px 30px}
.sv-ads{width:100%;min-width:0;margin:24px 0}
.sv-ad-label{color:#acbdcc;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.sv-ad-slides{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.sv-ad-slide{aspect-ratio:4/1;overflow:hidden;background:#101a29;border:1px solid #334560;border-radius:18px;min-width:0}
.sv-ad-slide[hidden],.sv-ad-controls[hidden]{display:none}
.sv-ads--content{max-width:960px}.sv-ads--content .sv-ad-slide{aspect-ratio:16/9}
.sv-ads--square{max-width:600px}.sv-ads--square .sv-ad-slide{aspect-ratio:1}
.sv-ad-link{display:block;width:100%;height:100%}
.sv-ad-image{display:block;width:100%;height:100%;object-fit:contain}
.sv-ad-logo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.sv-ad-logo .sv-partner-logo{width:min(70%,360px);height:100%;max-height:160px}
.sv-ad-logo .sv-partner-logo-image{max-height:100%;width:100%;object-fit:contain}
.sv-ad-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:12px;color:#acbdcc;font-size:14px}
.sv-ad-controls button{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid #536981;border-radius:24px;background:#142033;color:#fff;cursor:pointer}
.sv-ad-controls button:hover{background:#234063;color:#fff}
.sv-ads a:focus-visible,.sv-ad-controls button:focus-visible,.sv-leaflet-map:focus-visible{outline:3px solid #8ac6ff;outline-offset:3px}
.sv-disciplines{display:grid;gap:24px;margin-top:24px}
.sv-discipline{border:1px solid #334560;border-radius:20px;padding:24px;min-width:0}
.sv-discipline>p{margin:16px 0}
.sv-leaflet-map{height:480px;width:100%;border-radius:16px;z-index:0;color:#fff;background:#101a29}
.sv-map .sv-leaflet-map .leaflet-control-attribution{font:12px/1.4 Arial,sans-serif;background:#101a29;color:#cbd8e5}
.sv-map .sv-leaflet-map .leaflet-control-attribution a{color:#8ac6ff}
.sv-leaflet-map .leaflet-popup-content{color:#fff;font:16px/1.5 Arial,sans-serif}
@media(max-width:767px){.sv-event-hero dl.sv-event-facts{grid-template-columns:1fr;gap:12px}.sv-event-fact{padding:20px}.sv-event-fact dt{margin-bottom:6px}.single-sv_event .sv-actions>.sv-button,.single-sv_competition .sv-actions>.sv-button{width:100%;min-width:0;font-size:18px}.sv-ads--wide .sv-ad-slide{min-height:130px}.sv-ad-logo{padding:16px}.sv-leaflet-map{height:400px}}

.sv-actions>.sv-action-status{order:2;width:100%;font-size:15px}.sv-actions>.sv-button-unavailable{opacity:.65;cursor:not-allowed}.sv-map [hidden]{display:none}

/* Give the venue map the space; keep the frame minimal. */
.sv-content-section .sv-venue{grid-template-columns:minmax(0,1fr);gap:24px}
.sv-venue .sv-map[data-sv-leaflet]{padding:0;min-width:0;justify-content:flex-start;border-radius:16px;border-color:#334560}
.sv-map [data-map-status]:empty{display:none}
@media(max-width:767px){
 .sv-content-section .sv-venue{grid-template-columns:minmax(0,1fr);gap:20px}
 .sv-venue .sv-map[data-sv-leaflet]{padding:0;border-radius:16px}
}

/* Theme the raster basemap only; attribution, controls and marker stay crisp. */
.sv-leaflet-map .leaflet-tile-pane{filter:grayscale(1) invert(1) sepia(.25) hue-rotate(165deg) saturate(1.3) brightness(1.75) contrast(.9)}
.sv-leaflet-map .leaflet-popup-content-wrapper,.sv-leaflet-map .leaflet-popup-tip{background:#142033;color:#fff;box-shadow:0 4px 18px #0006}
.sv-leaflet-map .leaflet-popup-content-wrapper{border:1px solid #536981;border-radius:14px}
.sv-map .sv-leaflet-map a.leaflet-popup-close-button{color:#cbd8e5}
.sv-map .sv-leaflet-map a.leaflet-popup-close-button:hover{color:#fff}
.sv-leaflet-map .leaflet-bar{border:1px solid #536981;box-shadow:0 3px 12px #0005}
.sv-leaflet-map .leaflet-bar a{background:#142033;color:#fff;border-bottom-color:#536981;width:40px;height:40px;line-height:40px}
.sv-leaflet-map .leaflet-bar a:hover,.sv-leaflet-map .leaflet-bar a:focus{background:#0b4991;color:#fff}
.sv-leaflet-map .leaflet-bar a.leaflet-disabled{background:#142033;color:#8799aa}
.sv-leaflet-map a:focus-visible{outline:3px solid #8ac6ff;outline-offset:2px}
.sv-map .sv-leaflet-map .leaflet-control-attribution a:hover{color:#fff}

/* Event essentials: four native anchor cards, shared by both detail templates. */
body.breakdance .sv-event-hero>:is(.sv-eyebrow,.sv-lead):empty {display:none}
body.breakdance .sv-event-hero nav.sv-event-facts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;max-width:none;margin:6px 0 0;}
body.breakdance .sv-event-facts .sv-fact-card {--sv-fact-accent:#9ed6ff;--sv-fact-glow:#187ec44d;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:19px;min-width:0;min-height:236px;padding:24px;border:1px solid #5386ac73;border-radius:18px;background:radial-gradient(ellipse at 100% 0,var(--sv-fact-glow),transparent 75%),linear-gradient(135deg,#152a3ff5,#101c2bf5);color:#fff;text-decoration:none;box-shadow:0 14px 30px #0003,inset 0 1px #d8eeff12;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;}
body.breakdance .sv-event-facts .sv-fact-card::before {content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--sv-fact-accent);opacity:.8;}
body.breakdance .sv-event-facts .sv-fact-card--paikka {--sv-fact-accent:#8ee4e1;--sv-fact-glow:#168e8b42;}
body.breakdance .sv-event-facts .sv-fact-card--liput {--sv-fact-accent:#f2d49b;--sv-fact-glow:#9a72223d;}
body.breakdance .sv-event-facts .sv-fact-card--live {--sv-fact-accent:#c5b5ff;--sv-fact-glow:#7253bc4d;}
body.breakdance .sv-fact-top {display:flex;align-items:center;gap:12px;width:100%;color:var(--sv-fact-accent);}
body.breakdance .sv-fact-icon {display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:13px;background:#ffffff08;}
body.breakdance .sv-fact-icon>.sv-icon {width:25px;height:25px;}
body.breakdance .sv-fact-label {font-size:15px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
body.breakdance .sv-fact-value {font-size:clamp(20px,1.8vw,25px);line-height:1.25;font-weight:500;overflow-wrap:anywhere;text-wrap:balance;color:#fff;}
body.breakdance .sv-fact-card--aika .sv-fact-value {font-size:clamp(25px,2.5vw,36px);letter-spacing:-.03em;}
body.breakdance .sv-fact-cta {display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:auto;padding-top:16px;border-top:1px solid #cde7ff24;font-size:13px;line-height:1.3;color:var(--sv-fact-accent);}
body.breakdance .sv-fact-cta>.sv-icon {width:20px;height:20px;transition:transform .2s;}
body.breakdance .sv-event-facts .sv-fact-card:is(:hover,:focus-visible) {color:#fff;border-color:var(--sv-fact-accent);box-shadow:0 16px 36px #0005,0 0 22px var(--sv-fact-glow);transform:translateY(-4px);text-decoration:none;}
body.breakdance .sv-fact-card:hover .sv-fact-cta>.sv-icon {transform:translateX(3px);}
body.breakdance .sv-fact-card:focus-visible {outline:3px solid var(--sv-fact-accent);outline-offset:4px;}
body.breakdance .sv-event-tools {gap:12px;margin:0;}
body.breakdance .sv-event-tools :is(a.sv-button,button.sv-button) {padding:13px 21px;gap:10px;font-size:15px;min-height:48px;text-decoration:none;}
body.breakdance .sv-event-tools .sv-tool-calendar {background:#0b4991;border-color:#6197c6;}
body.breakdance .sv-event-tools .sv-tool-day {background:#22353b;border-color:#528887;color:#d2f3f0;}
body.breakdance .sv-event-tools .sv-tool-share {background:#28283f;border-color:#777096;color:#e7e1ff;}
body.breakdance .sv-event-tools .sv-tool-contact {background:#ffffff08;border-color:#607184;}
body.breakdance .sv-event-tools :is(a,button):hover {background:#254f72;color:#fff;}
body.breakdance .sv-event-tools button[hidden] {display:none;}
body.breakdance :is(#liput,#livestriimi,#aikataulu,#saapuminen,#kilpailijat,#kilpailut) {scroll-margin-top:120px;}
body.breakdance .sv-attendance {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:48px 0;}
body.breakdance .sv-attendance-panel {display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:32px;border:1px solid #425a74;border-radius:18px;background:linear-gradient(140deg,#172a3e,#111b2a);}
body.breakdance .sv-attendance-panel h2 {font-size:clamp(32px,4vw,48px);}
body.breakdance .sv-attendance-panel p {font-size:18px;color:#d8e5f2;line-height:1.5;}
body.breakdance .sv-attendance-icon {color:#a8d4ff;font-size:30px;}
body.breakdance .sv-attendance-panel .sv-button {margin-top:auto;}
body.breakdance .sv-calendar-note {padding:18px 22px;border-left:3px solid #82bce8;background:#15283a;color:#cfe2f2;font-size:15px;line-height:1.6;border-radius:0 10px 10px 0;}
body.breakdance .sv-venue-address {display:flex;align-items:center;gap:10px;margin:16px 0;font-size:21px;color:#d7e8fa;}
body.breakdance .sv-map-links {display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:14px;}
body.breakdance .sv-map-links a {display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#bce0ff;font-size:16px;text-decoration:underline;text-underline-offset:5px;}
body.breakdance .sv-map-links a:hover {color:#fff;}
body.breakdance .sv-map-links a:focus-visible {outline:3px solid #a7d5ff;outline-offset:4px;}
body.breakdance .sv-event-banner-slot>.bde-shortcode {width:100%;}
body.breakdance .sv-event-banner-slot .sv-ads {margin:28px 0 4px;}
body.breakdance .sv-event-nav {gap:16px 28px;}
/* Separate event descriptions from the preceding competition section divider. */
body.breakdance.single-sv_event #tapahtumainfo {padding-top:clamp(32px,4vw,64px);}
body.breakdance .sv-competitions .sv-event-card {position:relative;}
body.breakdance .sv-competitions .sv-event-card .sv-card-link {position:static;}
body.breakdance .sv-competitions .sv-card-link::after {content:'';position:absolute;inset:0;z-index:2;}
body.breakdance .sv-competitions .sv-event-card:has(a:focus-visible) {outline:3px solid #a7d5ff;outline-offset:4px;}
body.breakdance .sv-competition-card-image {display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 35%;border-radius:12px;}
body.breakdance .sv-competition-card-image img {display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 35%;border-radius:12px;}
.sv-icon-clock {--sv-icon:url('icons/sv-clock.svg');}
.sv-icon-share {--sv-icon:url('icons/sv-share.svg');}
@media(max-width:1023px) {
 body.breakdance .sv-event-hero nav.sv-event-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.breakdance .sv-event-facts .sv-fact-card {min-height:220px;}
}
@media(max-width:767px) {
 body.breakdance .sv-event-hero nav.sv-event-facts {gap:12px;}
 body.breakdance .sv-event-facts .sv-fact-card {padding:18px;gap:15px;min-height:230px;}
 body.breakdance .sv-fact-top {gap:9px;flex-wrap:wrap;}
 body.breakdance .sv-fact-icon {width:36px;height:36px;border-radius:10px;}
 body.breakdance .sv-fact-icon>.sv-icon {width:22px;height:22px;}
 body.breakdance .sv-fact-label {font-size:12px;letter-spacing:.02em;}
 body.breakdance .sv-fact-value {font-size:19px;}
 body.breakdance .sv-fact-card--aika .sv-fact-value {font-size:24px;}
 body.breakdance .sv-fact-cta {font-size:12px;gap:6px;padding-top:12px;}
 body.breakdance .sv-event-tools {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px;}
 body.breakdance .sv-event-tools :is(a.sv-button,button.sv-button) {padding:12px 14px;font-size:13px;gap:8px;}
 body.breakdance .sv-event-tools .sv-tool-day>.sv-icon:last-child {display:none;}
 body.breakdance .sv-event-tools .sv-share-status {grid-column:1/-1;}
 body.breakdance .sv-attendance {grid-template-columns:1fr;padding:32px 0;gap:16px;}
 body.breakdance .sv-attendance-panel {padding:24px;}
 body.breakdance .sv-event-nav {gap:10px 24px;}
 body.breakdance .sv-event-nav a {min-height:44px;display:inline-flex;align-items:center;}
 body.breakdance .sv-venue-address {font-size:18px;align-items:flex-start;line-height:1.5;}
}
@media(max-width:359px) {
 body.breakdance .sv-event-facts .sv-fact-card {padding:14px;}
 body.breakdance .sv-fact-top {flex-direction:column;align-items:flex-start;}
 body.breakdance .sv-fact-value {font-size:17px;}
 body.breakdance .sv-event-tools :is(a.sv-button,button.sv-button) {font-size:12px;padding-inline:9px;}
}
@media(prefers-reduced-motion:reduce) {
 body.breakdance .sv-event-facts .sv-fact-card,body.breakdance .sv-fact-cta>.sv-icon {transition:none;transform:none;}
 body.breakdance .sv-event-facts .sv-fact-card:is(:hover,:focus-visible) {transform:none;}
}
