:root{
 --yellow:#f5df00;--ink:#0a0b0d;--panel:#15181d;--panel2:#1b1f25;--text:#f7f7f5;
 --muted:#b5bac2;--line:rgba(255,255,255,.11);--radius:22px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}.section{padding:92px 0}.alt{background:#101216;border-block:1px solid var(--line)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,11,13,.88);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:40px;height:52px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:.95}.brand strong{font-size:1.2rem}.brand small{font-size:.62rem;color:var(--muted);letter-spacing:.11em;margin-top:6px}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.91rem;font-weight:760}.nav-links a:hover{color:var(--yellow)}.nav-cta{background:var(--yellow);color:#080808!important;padding:11px 17px;border-radius:999px;font-weight:900}
.menu-toggle{display:none;width:44px;height:44px;background:transparent;color:#fff;border:1px solid var(--line);border-radius:12px}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;background:#fff;position:relative;margin:auto}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-6px}.menu-toggle span:after{top:6px}
.hero{min-height:760px;display:grid;align-items:end;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,8,9,.98),rgba(7,8,9,.82) 38%,rgba(7,8,9,.27) 75%,rgba(7,8,9,.45)),url('hero-paakuva.jpg');background-size:cover;background-position:center;transform:scale(1.05)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:240px;background:linear-gradient(transparent,var(--ink))}
.hero-inner{position:relative;z-index:2;padding:120px 0 112px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:56px;align-items:center}.hero-copy{max-width:800px}.hero-logo-wrap{display:flex;align-items:center;justify-content:center}.hero-logo{width:min(360px,100%);max-height:520px;object-fit:contain;filter:drop-shadow(0 22px 45px rgba(0,0,0,.38))}.eyebrow,.kicker{color:var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:inline-block;padding:8px 12px;border:1px solid rgba(245,223,0,.35);background:rgba(245,223,0,.09);border-radius:999px}
h1{font-size:clamp(3.3rem,8vw,7rem);line-height:.88;letter-spacing:-.07em;margin:22px 0 25px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero p{font-size:1.18rem;color:#d6d8dc;max-width:670px;margin-bottom:30px}
h2{font-size:clamp(2.25rem,5vw,4.2rem);line-height:.98;letter-spacing:-.05em;margin:12px 0 18px;max-width:850px}.lead{color:var(--muted);font-size:1.08rem;max-width:760px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;border-radius:999px;font-weight:900;border:1px solid transparent;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--yellow);color:#090909}.btn-ghost{border-color:rgba(255,255,255,.26);background:rgba(0,0,0,.24)}.btn-dark{background:#090a0b;color:#fff}
.stats-wrap{position:relative;z-index:4;margin-top:-48px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(22,25,30,.96);box-shadow:0 25px 75px rgba(0,0,0,.28)}.stat{padding:27px 30px}.stat+.stat{border-left:1px solid var(--line)}.stat strong{display:block;color:var(--yellow);font-size:2.2rem;line-height:1}.stat span{color:var(--muted);font-size:.91rem}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.service-card{min-height:390px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;align-items:end;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate;box-shadow:0 18px 45px rgba(0,0,0,.22)}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.82) 100%);z-index:0}.service-card>div{position:relative;z-index:2;padding:28px;width:100%}.service-card h3{font-size:1.55rem;margin:0 0 7px}.service-card p{color:#eef0f2;margin:0;max-width:24ch;text-shadow:0 2px 10px rgba(0,0,0,.35)}.service-card a{display:inline-block;color:var(--yellow);font-weight:900;margin-top:14px}.service-card.gym{--service-image:url('https://static.wixstatic.com/media/1be490_bc08b010a35845d7bb65a8e0523b4092~mv2.jpg/v1/fill/w_558%2Ch_372%2Cq_75%2Cenc_avif%2Cquality_auto/1be490_bc08b010a35845d7bb65a8e0523b4092~mv2.jpg')}.service-card.group{--service-image:url('https://static.wixstatic.com/media/1be490_c9ce074cf915447d904931c607945995~mv2.jpg/v1/fill/w_403%2Ch_403%2Cq_75%2Cenc_avif%2Cquality_auto/1be490_c9ce074cf915447d904931c607945995~mv2.jpg');--service-position:center 28%}.service-card.pt{--service-image:url('https://static.wixstatic.com/media/1be490_c0449f0929e844ebba7d185fa89b59b5~mv2.jpg/v1/fill/w_308%2Ch_205%2Cal_c%2Cq_80%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/untitled_edited.jpg');--service-position:center 18%}
.split{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}.photo{overflow:hidden;border-radius:26px;border:1px solid var(--line);background:#16191e}.large-photo{min-height:500px}.large-photo img{width:100%;height:100%;min-height:500px;object-fit:cover}.features{list-style:none;padding:0;margin:28px 0 31px;display:grid;gap:17px}.features li{position:relative;padding-left:42px}.features li:before{content:"✓";position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#090909;font-weight:950}.features b{display:block}.features span{display:block;color:var(--muted);margin-top:3px}
.floor-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start;padding:26px 0;border-top:1px solid var(--line)}.floor-section:first-of-type{margin-top:26px}.floor-copy h3{font-size:1.8rem;line-height:1.05;margin:10px 0 12px}.floor-copy p{color:var(--muted);margin:0}.floor-gallery{display:grid;gap:14px}.floor-gallery.two-up{grid-template-columns:repeat(2,1fr)}.floor-gallery.single-wide{grid-template-columns:1fr}.floor-gallery figure{margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#14171b;min-height:260px}.floor-gallery img{width:100%;height:100%;object-fit:cover;transition:.3s}.floor-gallery figure:hover img{transform:scale(1.03)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.class-grid.expanded{grid-template-columns:repeat(4,1fr)}.class-grid article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:23px}.class-grid h3{margin:0 0 8px;font-size:1.08rem}.class-grid p{color:var(--muted);margin:0;font-size:.96rem}
.schedule-wrap{margin-top:28px;border:1px solid var(--line);border-radius:22px;padding:25px;background:#14171b}.schedule-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.schedule-title h3{font-size:1.8rem;margin:5px 0}.schedule-title small{color:var(--muted)}.schedule{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}.day{background:#0d0f12;border-radius:15px;padding:17px;border:1px solid rgba(255,255,255,.08)}.day>b{color:var(--yellow)}.day p{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.day strong{color:#fff;display:block}.notice{font-size:.86rem;color:#d3ce87;background:rgba(245,223,0,.05);border:1px dashed rgba(245,223,0,.35);border-radius:12px;padding:12px 14px}
.partner-links{display:flex;gap:12px;flex-wrap:wrap}.partner-links a{color:var(--yellow);font-weight:900;padding:10px 0;margin-right:20px}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:36px}.price-card{position:relative;background:#15181d;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:330px;display:flex;flex-direction:column}.price-card.featured{border-color:rgba(245,223,0,.65);background:linear-gradient(155deg,rgba(245,223,0,.15),#16191e 45%);transform:translateY(-8px)}.badge{position:absolute;top:16px;right:16px;background:var(--yellow);color:#080808;border-radius:999px;padding:5px 8px;font-size:.69rem;font-weight:950}.price-card h3{margin:0}.price{font-size:2.6rem;font-weight:950;letter-spacing:-.06em;margin:15px 0 3px}.price small{font-size:.9rem;letter-spacing:0;color:var(--muted)}.price-card p{color:var(--muted);margin:0}.price-card ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px;font-size:.91rem}.price-card li:before{content:"✓";color:var(--yellow);font-weight:950;margin-right:8px}.price-card .btn{margin-top:auto}
.special{margin-top:26px;background:#15181d;border:1px solid var(--line);border-radius:22px;padding:25px}.special h3{margin:8px 0 18px}.special-prices{display:flex;gap:12px;flex-wrap:wrap}.special-prices span{background:#0d0f12;border:1px solid var(--line);border-radius:12px;padding:12px 15px}.special-prices b{color:var(--yellow);font-size:1.25rem;margin-right:5px}.special small{display:block;color:var(--muted);margin-top:13px}
.cta{background:var(--yellow);color:#090909;border-radius:28px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0;max-width:700px}.cta p{margin:10px 0 0;color:#4c4700;font-weight:650}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:36px}.contact-card{background:#15181d;border:1px solid var(--line);border-radius:22px;padding:26px}.contact-card .building{height:240px;margin:-8px -8px 24px}.building img{width:100%;height:100%;object-fit:cover}.contact-card h3{font-size:1.8rem;margin:10px 0}.contact-card h4{margin-top:25px}.contact-card p{color:var(--muted)}.hours{display:grid;grid-template-columns:1fr auto;gap:8px 18px;color:var(--muted)}.hours b{color:#fff}.form-card form{display:grid;gap:13px;margin-top:20px}.form-card label{font-size:.9rem;font-weight:760;display:grid;gap:6px}.form-card input,.form-card textarea{background:#0c0e11;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 14px;outline:none}.form-card input:focus,.form-card textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(245,223,0,.08)}.form-card textarea{min-height:125px;resize:vertical}
footer{padding:50px 0 95px;border-top:1px solid var(--line);background:#070809;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.footer-grid>div{display:flex;flex-direction:column;gap:6px}.footer-grid strong{color:#fff;font-size:1.3rem}.footer-grid b{color:#fff}.footer-grid a:hover{color:var(--yellow)}.copyright{margin-top:28px;padding-top:25px;border-top:1px solid var(--line);font-size:.82rem}
.mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;text-align:center;background:var(--yellow);color:#080808;font-weight:950;padding:14px;border-radius:15px;box-shadow:0 15px 40px rgba(0,0,0,.4)}
.reveal{opacity:0;transform:translateY(18px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.hero-inner{grid-template-columns:1fr}.hero-logo-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);opacity:.14;pointer-events:none}.hero-logo{width:330px}.hero-copy{position:relative;z-index:2}.menu-toggle{display:block}.nav-links{position:absolute;top:71px;left:18px;right:18px;display:flex;flex-direction:column;align-items:stretch;gap:4px;background:#111419;border:1px solid var(--line);border-radius:18px;padding:15px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:.18s;box-shadow:0 22px 60px rgba(0,0,0,.4)}.nav-links.open{opacity:1;pointer-events:auto;transform:none}.nav-links a{padding:10px}.nav-cta{text-align:center}.service-grid,.class-grid,.prices,.class-grid.expanded,.floor-section,.floor-gallery.two-up{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.schedule{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.hero-logo-wrap{right:-54px;top:49%;opacity:.12}.hero-logo{width:270px}.container{width:calc(100% - 24px)}.section{padding:70px 0}.nav{min-height:68px}.brand img{width:34px;height:43px}.brand strong{font-size:1.05rem}.hero{min-height:680px}.hero:before{background-image:linear-gradient(90deg,rgba(7,8,9,.95),rgba(7,8,9,.65)),url('hero-paakuva.jpg')}.hero-inner{padding:100px 0 92px}.hero p{font-size:1.04rem}.buttons .btn{width:100%}.stats-wrap{margin-top:-30px}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line)}.service-grid,.class-grid,.prices,.schedule{grid-template-columns:1fr}.price-card.featured{transform:none}.gallery{grid-template-columns:1fr;grid-template-rows:300px 210px 210px}.gallery figure:first-child{grid-row:auto}.large-photo,.large-photo img{min-height:350px}.section-head,.schedule-title,.cta{flex-direction:column;align-items:flex-start}.cta{padding:30px 24px}.cta .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.mobile-cta{display:block}footer{padding-bottom:105px}}

@media(max-width:980px){.floor-section{grid-template-columns:1fr}.class-grid.expanded{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.floor-gallery.two-up,.class-grid.expanded{grid-template-columns:1fr}.floor-gallery figure{min-height:220px}.floor-copy h3{font-size:1.55rem}}


/* Tarkempi saliesittely */
.floor-section{grid-template-columns:340px minmax(0,1fr);gap:36px;padding:54px 0}
.floor-copy{position:sticky;top:110px}
.floor-gallery.detail-grid{grid-template-columns:repeat(3,1fr)}
.floor-gallery.detail-grid.four{grid-template-columns:repeat(2,1fr)}
.floor-gallery.group-gallery{grid-template-columns:1fr 1.6fr}
.floor-gallery.detail-grid figure,.floor-gallery.group-gallery figure{min-height:230px}
.floor-gallery.detail-grid img,.floor-gallery.group-gallery img{aspect-ratio:4/3}
.class-type{display:inline-block;color:var(--yellow);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}
.class-grid.expanded article{min-height:205px;display:flex;flex-direction:column;align-items:flex-start}
.schedule-cta{margin-top:30px;background:linear-gradient(135deg,#171a20,#101216);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.schedule-cta h3{font-size:1.75rem;line-height:1.1;margin:6px 0 9px}
.schedule-cta p{color:var(--muted);max-width:690px;margin:0}
.schedule-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:980px){
  .floor-section{grid-template-columns:1fr}
  .floor-copy{position:static}
  .floor-gallery.detail-grid{grid-template-columns:repeat(2,1fr)}
  .schedule-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .floor-gallery.detail-grid,.floor-gallery.detail-grid.four,.floor-gallery.group-gallery{grid-template-columns:1fr}
  .schedule-actions{width:100%}
  .schedule-actions .btn{width:100%}
}


/* Personal trainerit näkyvämmin */
.pt-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
.compact-features{margin-top:8px}
.trainer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:46px}
.trainer-card{display:grid;grid-template-columns:minmax(190px,.78fr) 1.22fr;background:var(--panel);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-height:390px}
.trainer-photo{min-height:390px;background:#0c0e11}
.trainer-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.trainer-body{padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.trainer-body h3{font-size:2rem;line-height:1;margin:8px 0 12px}
.trainer-body p{color:var(--muted);margin:0 0 24px}

/* Yhteystietojen henkilöstö */
.team-block{margin:38px 0 22px;background:#111419;border:1px solid var(--line);border-radius:24px;padding:26px}
.team-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.team-heading h3{font-size:1.8rem;margin:5px 0 0}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.team-card{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:#181b20;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:0 22px 0 0}
.team-card img{width:150px;height:190px;object-fit:cover}
.team-card h3{margin:6px 0 8px;font-size:1.35rem}
.team-card p{color:var(--muted);margin:0}

@media(max-width:980px){
  .pt-intro{grid-template-columns:1fr}
  .trainer-card{grid-template-columns:1fr}
  .trainer-photo{min-height:430px;height:430px}
  .team-card{grid-template-columns:125px 1fr}
  .team-card img{width:125px;height:170px}
}
@media(max-width:640px){
  .trainer-grid,.team-grid{grid-template-columns:1fr}
  .trainer-photo{height:390px;min-height:390px}
  .trainer-body{padding:24px}
  .team-block{padding:20px}
  .team-card{grid-template-columns:105px 1fr;padding-right:14px}
  .team-card img{width:105px;height:145px}
}


/* Kuntosalin esittelyvideo */
.video-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:42px;align-items:center}
.video-poster{position:relative;display:block;min-height:460px;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#0c0e11}
.video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.video-poster:hover img{transform:scale(1.025)}
.video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.55))}
.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;padding-left:6px;background:var(--yellow);color:#090909;font-size:2rem;font-weight:950;box-shadow:0 16px 50px rgba(0,0,0,.45);transition:.2s}
.video-poster:hover .play-button{transform:translate(-50%,-50%) scale(1.08)}
.video-label{position:absolute;left:22px;bottom:20px;background:rgba(8,9,10,.8);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);padding:8px 12px;border-radius:999px;font-size:.72rem;letter-spacing:.11em;font-weight:900}
.video-copy h2{font-size:clamp(2.25rem,4vw,3.7rem)}
@media(max-width:980px){
  .video-feature{grid-template-columns:1fr}
  .video-poster{min-height:390px}
}
@media(max-width:640px){
  .video-poster{min-height:280px}
  .play-button{width:70px;height:70px;font-size:1.55rem}
}


/* Somekanavat */
.social-follow{margin:24px 0 28px;padding-top:22px;border-top:1px solid var(--line)}
.social-title{display:block;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.social-buttons{display:flex;gap:10px;flex-wrap:wrap}
.social-button{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid var(--line);border-radius:999px;background:#0d0f12;font-weight:850;transition:.18s}
.social-button:hover{border-color:rgba(245,223,0,.55);color:var(--yellow);transform:translateY(-2px)}
.social-button svg{width:20px;height:20px;fill:currentColor;flex:0 0 auto}
.footer-socials{display:flex;gap:9px;margin-top:10px}
.footer-socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#0d0f12;color:#fff;transition:.18s}
.footer-socials a:hover{color:var(--yellow);border-color:rgba(245,223,0,.5);transform:translateY(-2px)}
.footer-socials svg{width:19px;height:19px;fill:currentColor}
@media(max-width:640px){
  .social-buttons{display:grid;grid-template-columns:1fr 1fr}
  .social-button{justify-content:center}
}


/* Headerin somekuvakkeet */
.header-socials{display:flex;align-items:center;gap:8px}
.header-socials a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;transition:.18s;padding:0}
.header-socials a:hover{color:var(--yellow);border-color:rgba(245,223,0,.55);background:rgba(245,223,0,.06);transform:translateY(-1px)}
.header-socials svg{width:17px;height:17px;fill:currentColor}
@media(max-width:980px){
  .header-socials{padding:8px 10px 4px}
  .header-socials a{width:38px;height:38px}
}


/* Historia */
.history-section{background:linear-gradient(180deg,#0a0b0d 0%,#101216 100%);border-top:1px solid var(--line)}
.history-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:end;margin-bottom:52px}
.history-intro h2{margin-bottom:0}
.history-intro .lead{margin:0}
.history-timeline{position:relative;display:grid;gap:0;margin:0 0 50px}
.history-timeline:before{content:"";position:absolute;left:104px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--yellow),rgba(245,223,0,.12))}
.history-item{display:grid;grid-template-columns:105px 1fr;gap:34px;padding:0 0 38px;position:relative}
.history-item:last-child{padding-bottom:0}
.history-year{font-size:1.05rem;font-weight:950;color:var(--yellow);padding-top:5px;letter-spacing:-.02em}
.history-content{position:relative;background:#15181d;border:1px solid var(--line);border-radius:20px;padding:25px 28px}
.history-content:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--yellow);left:-41px;top:29px;box-shadow:0 0 0 6px #0f1115}
.history-content h3{font-size:1.35rem;margin:0 0 7px}
.history-content p{color:var(--muted);margin:0}
.history-item.highlight .history-content{border-color:rgba(245,223,0,.45);background:linear-gradient(135deg,rgba(245,223,0,.09),#15181d 46%)}

.history-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px}
.history-story{background:#15181d;border:1px solid var(--line);border-radius:22px;padding:28px;min-height:250px}
.history-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:#090909;font-size:.75rem;font-weight:950;margin-bottom:22px}
.history-story h3{font-size:1.35rem;line-height:1.15;margin:0 0 10px}
.history-story p{color:var(--muted);margin:0}

.history-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0d0f12}
.history-numbers>div{padding:30px}
.history-numbers>div+div{border-left:1px solid var(--line)}
.history-numbers strong{display:block;font-size:2.2rem;letter-spacing:-.05em;color:var(--yellow);line-height:1}
.history-numbers span{display:block;color:var(--muted);margin-top:8px;font-size:.9rem}

.history-closing{margin-top:18px;background:var(--yellow);color:#090909;border-radius:22px;padding:30px;display:grid;grid-template-columns:1fr .9fr;gap:35px;align-items:center}
.history-closing .kicker{color:#514b00}
.history-closing h3{font-size:1.8rem;line-height:1.1;margin:6px 0 0}
.history-closing p{margin:0;color:#504b00;font-weight:650}

@media(max-width:980px){
  .history-intro{grid-template-columns:1fr;gap:16px}
  .history-story-grid{grid-template-columns:1fr}
  .history-closing{grid-template-columns:1fr}
}
@media(max-width:640px){
  .history-timeline:before{left:5px}
  .history-item{grid-template-columns:1fr;gap:10px;padding-left:24px}
  .history-year{padding-left:0}
  .history-content:before{left:-25px;top:29px}
  .history-numbers{grid-template-columns:1fr}
  .history-numbers>div+div{border-left:0;border-top:1px solid var(--line)}
}


/* Ryhmäliikunnan toimintopainikkeet */
.group-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
  .group-actions{width:100%;justify-content:flex-start}
  .group-actions .btn{flex:1 1 220px}
}
@media(max-width:480px){
  .group-actions{display:grid;grid-template-columns:1fr}
  .group-actions .btn{width:100%}
}


/* Liikunta- ja palveluedut */
.benefits{margin-top:28px;background:#15181d;border:1px solid var(--line);border-radius:24px;padding:28px}
.benefits-head h3{font-size:1.8rem;line-height:1.1;margin:7px 0 8px}
.benefits-head p{color:var(--muted);margin:0;max-width:760px}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.benefit-card{min-height:150px;background:#fff;border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden}
.benefit-card img{width:100%;height:82px;object-fit:contain}
.benefit-card span{color:#17191c;font-size:.82rem;font-weight:900;text-align:center}
@media(max-width:980px){
  .benefit-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .benefits{padding:20px}
  .benefit-grid{grid-template-columns:1fr 1fr;gap:8px}
  .benefit-card{min-height:130px;padding:11px}
  .benefit-card img{height:68px}
}


/* ============================
   CMS + oma tuntiaikataulu
   ============================ */
.hero.cms-hero:before{
  background-image:
    linear-gradient(90deg,rgba(7,8,9,.98),rgba(7,8,9,.82) 38%,rgba(7,8,9,.27) 75%,rgba(7,8,9,.45)),
    var(--cms-hero-image)!important;
}
.admin-footer-link{opacity:.5;font-size:.78rem}
.admin-footer-link a{text-decoration:underline}

.subpage .site-header{position:sticky}
.nav-links a.active{color:var(--yellow)}
.schedule-hero{padding:120px 0 55px;background:radial-gradient(circle at 80% 15%,rgba(245,223,0,.13),transparent 35%),#0d0f12;border-bottom:1px solid var(--line)}
.schedule-hero h1{font-size:clamp(3rem,7vw,6rem);max-width:950px;margin-bottom:20px}
.schedule-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.schedule-meta span{border:1px solid var(--line);background:#15181d;border-radius:999px;padding:8px 13px;color:var(--muted);font-weight:700}
.schedule-page-section{padding-top:46px}
.week-scroll{overflow-x:auto;padding-bottom:12px}
.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;min-width:1330px}
.week-day{background:#111419;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:430px}
.week-day-head{padding:16px;border-bottom:1px solid var(--line);background:#171a1f}
.week-day-head strong{display:block;color:var(--yellow);font-size:1.2rem}
.week-day-head span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.week-day-events{padding:10px;display:grid;gap:10px}
.schedule-event{border-radius:15px;padding:15px;color:#0a0b0d;min-height:110px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.schedule-event h3{font-size:1rem;line-height:1.12;margin:9px 0 5px}
.schedule-event p{font-size:.78rem;line-height:1.35;margin:0;color:rgba(0,0,0,.72)}
.event-time{font-size:.76rem;font-weight:950;letter-spacing:.02em}
.event-yellow{background:#fff20a}.event-lime{background:#82f137}.event-green{background:#bddfa8}
.event-blue{background:#c7ddf1}.event-pink{background:#f199d0}.event-purple{background:#c657ba}.event-orange{background:#f8ba13}
.no-class{min-height:90px;border:1px dashed rgba(255,255,255,.11);border-radius:14px;display:grid;place-items:center;color:#727883;font-size:.8rem}
.schedule-footnote{color:var(--muted);font-size:.84rem;margin-top:18px}

@media(max-width:640px){
  .schedule-hero{padding:90px 0 42px}
  .week-calendar{display:flex;min-width:0;flex-direction:column}
  .week-day{min-height:auto}
  .week-day-events{grid-template-columns:1fr}
  .no-class{min-height:60px}
}

/* ============================
   Admin
   ============================ */
.admin-page{background:#0b0d10}
.admin-shell{min-height:100vh}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 20%,rgba(245,223,0,.11),transparent 36%),#0b0d10}
.admin-login-card{width:min(470px,100%);background:#15181d;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 35px 90px rgba(0,0,0,.35)}
.admin-mark{width:64px;height:64px;border-radius:18px;background:var(--yellow);color:#090909;display:grid;place-items:center;font-weight:1000;font-size:1.25rem;margin-bottom:22px}
.admin-mark.small{width:42px;height:42px;border-radius:12px;margin:0;font-size:.85rem}
.admin-login h1{font-size:3.1rem;margin:8px 0 10px}
.admin-login p{color:var(--muted)}
.admin-login form{display:grid;gap:15px;margin-top:25px}
.admin-login label,.admin-main label{display:grid;gap:7px;font-size:.84rem;font-weight:850;color:#d7d9dc}
.admin-login input,.admin-main input,.admin-main textarea,.admin-main select{width:100%;background:#0c0e11;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:11px;padding:12px 13px;outline:none}
.admin-login input:focus,.admin-main input:focus,.admin-main textarea:focus,.admin-main select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(245,223,0,.07)}
.admin-main textarea{min-height:115px;resize:vertical}
.admin-error{color:#ff8585!important;min-height:1.3em;margin:0}
.demo-credentials{display:grid;gap:4px;background:#0d0f12;border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:18px}
.demo-credentials code{color:var(--yellow)}
.admin-warning{font-size:.77rem!important;color:#8f949b!important;margin:16px 0 0!important}

.admin-app{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;background:#101216;border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column}
.admin-brand{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.admin-brand span:last-child{display:flex;flex-direction:column}
.admin-brand small{color:var(--muted);font-size:.72rem}
.admin-nav{display:grid;gap:6px;margin-top:24px}
.admin-nav button{border:0;background:transparent;color:#aeb3ba;text-align:left;padding:12px 13px;border-radius:11px;font-weight:800;cursor:pointer}
.admin-nav button:hover,.admin-nav button.active{background:#1b1f25;color:#fff}
.admin-nav button.active{box-shadow:inset 3px 0 0 var(--yellow)}
.admin-sidebar-bottom{margin-top:auto;display:grid;gap:6px;border-top:1px solid var(--line);padding-top:18px}
.admin-sidebar-bottom a,.admin-sidebar-bottom button{border:0;background:transparent;color:#9fa5ad;text-align:left;padding:8px 4px;cursor:pointer;font-size:.85rem}
.admin-sidebar-bottom a:hover,.admin-sidebar-bottom button:hover{color:var(--yellow)}
.admin-main{padding:36px clamp(22px,4vw,58px) 70px;max-width:1500px;width:100%}
.admin-topbar{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.admin-topbar h2{font-size:2.3rem;margin:4px 0 0}
.admin-top-actions{display:flex;align-items:center;gap:12px}
.save-status{font-size:.82rem;color:#80d79a}
.save-status.unsaved{color:#f0cc62}
.admin-panel{display:none;padding-top:30px}
.admin-panel.active{display:block}
.admin-info{display:flex;flex-direction:column;gap:4px;background:#14171b;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:22px}
.admin-info span{color:var(--muted);font-size:.88rem}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-form-grid .wide{grid-column:1/-1}
.standalone-label{margin-top:20px}
.hours-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hours-admin-grid label{background:#14171b;border:1px solid var(--line);border-radius:15px;padding:15px}
.hours-admin-grid label span{color:var(--muted);font-size:.78rem}
.image-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.image-admin-card{display:grid;grid-template-columns:180px 1fr;gap:16px;background:#14171b;border:1px solid var(--line);border-radius:18px;padding:14px}
.image-admin-card>img{width:180px;height:135px;object-fit:cover;border-radius:12px;background:#08090b}
.image-admin-card>div{display:flex;flex-direction:column;gap:10px;min-width:0}
.image-admin-card label{font-size:.72rem}
.file-button{display:inline-flex!important;align-items:center;justify-content:center;background:#21252b;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer!important}
.file-button:hover{border-color:rgba(245,223,0,.4);color:var(--yellow)}
.schedule-admin-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.schedule-admin-meta .wide{grid-column:1/-1}
.admin-table-wrap{overflow-x:auto;margin-bottom:15px}
.schedule-admin-table{width:100%;border-collapse:separate;border-spacing:0 7px;min-width:980px}
.schedule-admin-table th{text-align:left;color:#8f959d;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:0 8px}
.schedule-admin-table td{background:#14171b;padding:8px}
.schedule-admin-table td:first-child{border-radius:11px 0 0 11px}
.schedule-admin-table td:last-child{border-radius:0 11px 11px 0}
.schedule-admin-table input,.schedule-admin-table select{padding:9px 10px}
.delete-row{width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,100,100,.25);background:rgba(255,70,70,.07);color:#ff8e8e;font-size:1.3rem;cursor:pointer}
.admin-danger{margin-top:50px;padding:20px;border:1px solid rgba(255,80,80,.2);border-radius:17px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:rgba(255,50,50,.035)}
.admin-danger div{display:flex;flex-direction:column}
.admin-danger span{color:var(--muted);font-size:.83rem}
.admin-danger button{border:1px solid rgba(255,100,100,.3);background:transparent;color:#ff9595;border-radius:10px;padding:10px 13px;cursor:pointer}

@media(max-width:1050px){
  .admin-app{grid-template-columns:210px minmax(0,1fr)}
  .image-admin-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .admin-app{display:block}
  .admin-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .admin-nav{grid-template-columns:1fr 1fr}
  .admin-sidebar-bottom{grid-template-columns:1fr 1fr 1fr}
  .admin-main{padding:24px 16px 60px}
  .admin-topbar{align-items:flex-start;flex-direction:column}
  .admin-top-actions{width:100%;justify-content:space-between}
  .admin-form-grid,.hours-admin-grid,.schedule-admin-meta{grid-template-columns:1fr}
  .schedule-admin-meta .wide{grid-column:auto}
}
@media(max-width:520px){
  .image-admin-card{grid-template-columns:1fr}
  .image-admin-card>img{width:100%;height:190px}
  .admin-nav{grid-template-columns:1fr}
  .admin-sidebar-bottom{grid-template-columns:1fr}
  .admin-danger{align-items:flex-start;flex-direction:column}
}


/* ======================================================
   Omistajan muokkaustila suoraan sivuston päällä
   ====================================================== */
.owner-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;min-height:58px;padding:8px 10px 8px 13px;border:1px solid rgba(245,223,0,.35);border-radius:17px;background:rgba(17,20,25,.97);backdrop-filter:blur(18px);box-shadow:0 22px 60px rgba(0,0,0,.45);display:flex;align-items:center;gap:14px}
.owner-bar-brand{display:flex;align-items:center;gap:9px;white-space:nowrap}
.owner-bar-brand>span{width:34px;height:34px;display:grid;place-items:center;background:var(--yellow);color:#080808;border-radius:9px;font-size:.72rem;font-weight:1000}
.owner-bar-brand b{font-size:.84rem}
.owner-bar-actions{display:flex;align-items:center;gap:5px;flex:1}
.owner-bar-actions button{border:0;background:transparent;color:#d4d7db;padding:9px 10px;border-radius:9px;font-size:.78rem;font-weight:800;cursor:pointer}
.owner-bar-actions button:hover{background:#252a31;color:#fff}
.owner-bar-actions .owner-save{background:var(--yellow);color:#080808}
.owner-status{font-size:.72rem;color:#8fd3a2;white-space:nowrap;padding-right:5px}
.owner-status.dirty{color:#f1c867}
.kp-owner-mode footer{padding-bottom:175px}

.owner-text-editing [data-cms-text]{outline:1px dashed rgba(245,223,0,.8);outline-offset:6px;border-radius:4px;cursor:text;transition:.15s}
.owner-text-editing [data-cms-text]:hover,.owner-text-editing [data-cms-text]:focus{outline:2px solid var(--yellow);background:rgba(245,223,0,.06)}
.owner-text-editing [data-cms-text]:focus{outline-offset:8px}

.owner-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none;opacity:0;transition:.2s}
.owner-overlay.open{pointer-events:auto;opacity:1}
.owner-overlay-close{position:absolute;inset:0;border:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);cursor:default}
.owner-drawer{position:absolute;top:0;right:0;width:min(620px,94vw);height:100%;background:#111419;border-left:1px solid var(--line);box-shadow:-25px 0 70px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr auto;transform:translateX(102%);transition:.23s ease}
.owner-overlay.open .owner-drawer{transform:none}
.owner-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border-bottom:1px solid var(--line)}
.owner-drawer-head h2{font-size:2rem;margin:4px 0 0}
.owner-close{border:0;background:#20242a;color:#fff;border-radius:10px;cursor:pointer}
.owner-drawer-head .owner-close{width:42px;height:42px;font-size:1.6rem}
.owner-drawer-content{overflow-y:auto;padding:22px}
.owner-drawer-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 22px;border-top:1px solid var(--line);background:#101216}
.owner-help{margin:0 0 18px;color:var(--muted);font-size:.88rem;line-height:1.5}

.owner-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owner-form label,.owner-image-row label,.owner-schedule-editor label{display:grid;gap:6px;font-size:.76rem;font-weight:850;color:#cfd2d6}
.owner-form label{background:#171a1f;border:1px solid var(--line);border-radius:14px;padding:13px}
.owner-form label span{color:#a8adb5}
.owner-form input,.owner-image-row input,.owner-schedule-editor input,.owner-schedule-editor select{width:100%;background:#0c0e11;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;padding:10px 11px;outline:none}
.owner-form input:focus,.owner-image-row input:focus,.owner-schedule-editor input:focus,.owner-schedule-editor select:focus{border-color:var(--yellow)}
.owner-form .owner-wide{grid-column:1/-1}

.owner-image-list{display:grid;gap:12px}
.owner-image-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:12px;background:#171a1f;border:1px solid var(--line);border-radius:16px}
.owner-image-row>img{width:150px;height:115px;object-fit:cover;border-radius:11px;background:#08090b}
.owner-image-row>div{display:flex;flex-direction:column;gap:9px;min-width:0}
.owner-image-row b{font-size:.88rem}
.owner-file{display:inline-flex!important;align-self:flex-start;background:#292e35;border:1px solid var(--line);padding:9px 12px;border-radius:9px;cursor:pointer!important;color:#fff!important}
.owner-file:hover{color:var(--yellow)!important;border-color:rgba(245,223,0,.4)}

.owner-schedule-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.owner-schedule-meta .owner-wide{grid-column:1/-1}
.owner-schedule-rows{display:grid;gap:10px;margin:0 0 14px}
.owner-event-row{background:#171a1f;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px}
.owner-event-top{display:grid;grid-template-columns:68px 1fr 16px 1fr 36px;gap:6px;align-items:center}
.owner-event-top span{text-align:center;color:var(--muted)}
.owner-delete{width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,100,100,.25);background:rgba(255,70,70,.07);color:#ff8e8e;font-size:1.25rem;cursor:pointer}
.owner-preview-link{display:block;color:var(--yellow);font-weight:850;font-size:.82rem;margin-top:17px}
.admin-back-link{display:inline-block;margin-top:18px;color:var(--yellow);font-weight:800;font-size:.85rem}

@media(max-width:1000px){
  .owner-status{display:none}
  .owner-bar-actions{overflow-x:auto}
  .owner-bar{right:10px;left:10px}
}
@media(max-width:700px){
  .owner-bar{display:grid;grid-template-columns:1fr;gap:6px;padding:9px;bottom:8px}
  .owner-bar-brand{display:none}
  .owner-bar-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
  .owner-bar-actions button{padding:8px 5px;font-size:.67rem}
  .kp-owner-mode footer{padding-bottom:220px}
  .owner-form,.owner-schedule-meta{grid-template-columns:1fr}
  .owner-form .owner-wide,.owner-schedule-meta .owner-wide{grid-column:auto}
  .owner-image-row{grid-template-columns:1fr}
  .owner-image-row>img{width:100%;height:190px}
}
@media(max-width:440px){
  .owner-event-top{grid-template-columns:62px 1fr 12px 1fr 34px}
}


/* v16 – palvelukorttien kuvat 2 % pienemmiksi, peittokerros ennallaan */
.service-card{
  background-image:none!important;
  background-color:#292c31;
  isolation:isolate;
}
.service-card::before{
  content:"";
  position:absolute;
  inset:1%;                    /* 2 % pienempi kokonaismitta */
  z-index:0;
  background-image:var(--service-image);
  background-size:cover;
  background-position:var(--service-position,center);
  background-repeat:no-repeat;
  border-radius:calc(var(--radius) - 3px);
}
.service-card::after{
  content:"";
  position:absolute;
  inset:0;                     /* harmaa/tumma peittokerros pysyy täysikokoisena */
  z-index:1;
  background:linear-gradient(
    180deg,
    rgba(35,38,43,.38) 0%,
    rgba(31,34,39,.46) 36%,
    rgba(10,11,13,.88) 100%
  );
  border-radius:inherit;
  pointer-events:none;
}
.service-card>div{position:relative;z-index:2}

/* Kaikkien muokattavien tekstien selkeä editointimerkintä */
.owner-text-editing [data-owner-text-id]{
  outline:1px dashed rgba(245,223,0,.62);
  outline-offset:4px;
  border-radius:3px;
  cursor:text;
}
.owner-text-editing [data-owner-text-id]:hover,
.owner-text-editing [data-owner-text-id]:focus{
  outline:2px solid var(--yellow);
  outline-offset:6px;
  background:rgba(245,223,0,.055);
}


/* v18 */
.special-action{margin-top:18px}
.special-action .btn{min-width:210px}
.schedule-admin-link{
  color:var(--yellow)!important;
  border:1px solid rgba(245,223,0,.35);
  border-radius:999px;
  padding:8px 12px!important;
}
.schedule-admin-link:hover{background:rgba(245,223,0,.08)}
.footer-admin-link{margin-top:8px;color:var(--yellow);font-weight:800;font-size:.82rem}


/* v19 – 12 erillistä värivaihtoehtoa ryhmäliikunnan viikkokalenteriin */
.schedule-event.event-yellow{background:#fff20a;color:#0a0b0d}
.schedule-event.event-lime{background:#9cf25b;color:#0a0b0d}
.schedule-event.event-green{background:#b7e3a1;color:#0a0b0d}
.schedule-event.event-mint{background:#a8ead1;color:#0a0b0d}
.schedule-event.event-teal{background:#7fdad4;color:#0a0b0d}
.schedule-event.event-cyan{background:#9edff4;color:#0a0b0d}
.schedule-event.event-blue{background:#b9d3f2;color:#0a0b0d}
.schedule-event.event-purple{background:#c9b6ef;color:#0a0b0d}
.schedule-event.event-pink{background:#f2afd7;color:#0a0b0d}
.schedule-event.event-red{background:#f3a6a6;color:#0a0b0d}
.schedule-event.event-orange{background:#f6bd62;color:#0a0b0d}
.schedule-event.event-peach{background:#ffd0a8;color:#0a0b0d}

/* Varmistetaan lisätiedon luettavuus kaikissa 12 värissä */
.schedule-event p{color:rgba(10,11,13,.72)}


/* v20 – Salikortti-info hinnastoon */
.membership-info{
  margin-top:30px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:20px;
  align-items:center;
  background:linear-gradient(135deg,rgba(245,223,0,.11),#15181d 48%);
  border:1px solid rgba(245,223,0,.28);
  border-radius:22px;
  padding:24px 26px;
}
.membership-info-icon{
  width:72px;
  height:72px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--yellow);
  color:#090909;
  font-size:1rem;
  font-weight:1000;
  letter-spacing:-.04em;
}
.membership-info h3{
  margin:6px 0 5px;
  font-size:1.55rem;
  line-height:1.1;
}
.membership-info p{
  margin:0;
  color:var(--muted);
}
@media(max-width:560px){
  .membership-info{
    grid-template-columns:1fr;
    padding:21px;
  }
  .membership-info-icon{
    width:58px;
    height:58px;
    border-radius:15px;
  }
}


/* v21 – erikoisryhmien hinnat omiksi osto-korteiksi */
.special-expanded{
  padding:28px;
}
.special-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.special-header h3{
  margin:7px 0 6px;
  font-size:1.7rem;
  line-height:1.1;
}
.special-header p{
  margin:0;
  color:var(--muted);
}
.special-header small{
  color:var(--muted);
  white-space:nowrap;
}
.special-price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:24px;
}
.special-price-card{
  background:#0d0f12;
  border:1px solid var(--line);
  border-radius:18px;
  padding:23px;
  display:flex;
  flex-direction:column;
  min-height:285px;
}
.special-price-card .price{
  margin:0 0 8px;
  color:var(--yellow);
  font-size:2.55rem;
}
.special-price-card h4{
  margin:0 0 10px;
  font-size:1.25rem;
  line-height:1.1;
}
.special-price-card p{
  margin:0 0 8px;
  color:var(--muted);
}
.special-validity{
  display:block;
  color:#d7d9dc;
  font-size:.84rem;
  margin-top:4px;
}
.special-price-card .btn{
  margin-top:auto;
}
@media(max-width:850px){
  .special-price-grid{
    grid-template-columns:1fr;
  }
  .special-price-card{
    min-height:0;
  }
  .special-header{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v24 – Meidän joukkue: yksi keskitetty otsikko */
.team-heading-simple{
  text-align:center;
  margin-bottom:26px;
}
.team-heading-simple h3{
  margin:0;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
}


/* v27 – varmistus: uusi muraalikuva kaikissa hero-näkymissä */
.hero.cms-hero:before{
  background-image:
    linear-gradient(90deg,rgba(7,8,9,.98),rgba(7,8,9,.82) 38%,rgba(7,8,9,.27) 75%,rgba(7,8,9,.45)),
    var(--cms-hero-image)!important;
}
@media(max-width:640px){
  .hero.cms-hero:before{
    background-image:
      linear-gradient(90deg,rgba(7,8,9,.95),rgba(7,8,9,.65)),
      var(--cms-hero-image)!important;
  }
}


/* v28 – hero käyttää oikeaa IMG-elementtiä, ei CSS-taustakuvaa */
.hero{
  position:relative;
  isolation:isolate;
}
.hero-bg-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
  transform:scale(1.01);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(7,8,9,.92) 0%,
    rgba(7,8,9,.74) 34%,
    rgba(7,8,9,.25) 70%,
    rgba(7,8,9,.18) 100%
  )!important;
  transform:none!important;
}
.hero:after{
  z-index:1;
}
.hero-inner{
  z-index:2!important;
}
@media(max-width:640px){
  .hero-bg-image{
    object-position:center center;
  }
  .hero:before{
    background:linear-gradient(
      90deg,
      rgba(7,8,9,.88) 0%,
      rgba(7,8,9,.60) 55%,
      rgba(7,8,9,.25) 100%
    )!important;
  }
}


/* v29 – hero-kuvan rajaus hieman alemmas, jotta pantteri näkyy kokonaisemmin */
.hero-bg-image{
  object-position:center 42%!important;
}
@media(max-width:640px){
  .hero-bg-image{
    object-position:center 40%!important;
  }
}


/* v30 – alkuperäinen kuntosalitausta palautettu */
.hero-bg-image{
  object-position:center center!important;
}
@media(max-width:640px){
  .hero-bg-image{
    object-position:center center!important;
  }
}


/* v31 – poikkeavan aukioloajan ilmoitus */
.exception-hours-banner[hidden]{display:none!important}
.exception-hours-banner{
  position:relative;
  z-index:20;
  background:var(--yellow);
  color:#090909;
  border-bottom:1px solid rgba(0,0,0,.18);
}
.exception-hours-inner{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:10px;
  padding-bottom:10px;
}
.exception-hours-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#090909;
  color:var(--yellow);
  font-size:1.15rem;
  font-weight:1000;
}
.exception-hours-inner>div:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.25;
}
.exception-hours-inner strong{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.exception-hours-inner span{
  font-size:1.02rem;
  font-weight:850;
  margin-top:3px;
}

/* Hallinnan poikkeusaika */
.owner-exception-box{
  margin-top:8px;
  background:linear-gradient(135deg,rgba(245,223,0,.08),#171a1f 48%);
  border:1px solid rgba(245,223,0,.28);
  border-radius:16px;
  padding:16px;
}
.owner-exception-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.owner-exception-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.owner-exception-head b{
  font-size:.95rem;
}
.owner-exception-head span{
  color:var(--muted);
  font-size:.78rem;
}
.owner-exception-message{
  margin-top:15px;
}
.owner-exception-message textarea{
  min-height:90px;
  resize:vertical;
  width:100%;
  background:#0c0e11;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:10px;
  padding:11px 12px;
  outline:none;
  font:inherit;
}
.owner-exception-message textarea:focus{
  border-color:var(--yellow);
}
.owner-switch{
  position:relative;
  display:block!important;
  width:50px;
  height:28px;
  flex:0 0 50px;
}
.owner-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.owner-switch-slider{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#343941;
  border:1px solid rgba(255,255,255,.14);
  cursor:pointer;
  transition:.18s;
}
.owner-switch-slider:before{
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  transition:.18s;
}
.owner-switch input:checked + .owner-switch-slider{
  background:var(--yellow);
  border-color:var(--yellow);
}
.owner-switch input:checked + .owner-switch-slider:before{
  transform:translateX(22px);
  background:#090909;
}
.owner-exception-preview{
  margin-top:13px;
  border-radius:11px;
  padding:11px 13px;
  background:var(--yellow);
  color:#090909;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.owner-exception-preview strong{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.owner-exception-preview span{
  font-size:.82rem;
  font-weight:800;
}
@media(max-width:640px){
  .exception-hours-inner{
    align-items:flex-start;
    min-height:0;
    padding-top:12px;
    padding-bottom:12px;
  }
  .exception-hours-inner span{
    font-size:.91rem;
  }
}


/* v34 – Hinnasto ja automaattiset tarjoukset */
.pricing-offer-banner[hidden],
.price-offer-ribbon[hidden],
.price-offer-info[hidden],
.price-original[hidden],
.price-offer-info [hidden]{display:none!important}

.pricing-offer-banner{
  margin:26px 0 22px;
  padding:16px 18px;
  border-radius:16px;
  background:var(--yellow);
  color:#090909;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 14px 38px rgba(0,0,0,.22);
}
.pricing-offer-banner-mark{
  width:42px;height:42px;border-radius:50%;flex:0 0 42px;
  display:grid;place-items:center;background:#090909;color:var(--yellow);
  font-size:1.25rem;font-weight:1000;
}
.pricing-offer-banner div{display:flex;flex-direction:column;gap:2px}
.pricing-offer-banner strong{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.pricing-offer-banner span:last-child{font-weight:850}

.price-card,.special-price-card{position:relative;overflow:hidden}
.price-card.offer-active,.special-price-card.offer-active{
  border-color:var(--yellow)!important;
  box-shadow:0 0 0 2px rgba(245,223,0,.24),0 20px 60px rgba(0,0,0,.34);
}
.price-card.offer-active{transform:translateY(-4px)}
.price-offer-ribbon{
  position:absolute;top:14px;right:14px;z-index:3;
  padding:7px 10px;border-radius:999px;background:var(--yellow);color:#090909;
  font-size:.68rem;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.price-card.featured.offer-active .price-offer-ribbon{top:48px}
.price-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:6px 0}
.price-stack .price{margin:0}
.price-original{
  color:var(--muted);font-size:1.05rem;font-weight:800;text-decoration:line-through;
  text-decoration-thickness:2px;text-decoration-color:#ff6b6b;
}
.price-original small{font-size:.72em}
.offer-active [data-price-current]{color:var(--yellow);font-size:clamp(2.35rem,4vw,3.25rem)!important}
.price-offer-info{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  margin:7px 0 13px;padding:9px 11px;border-radius:10px;
  background:rgba(245,223,0,.08);border:1px solid rgba(245,223,0,.22);
}
.price-offer-info span{font-size:.78rem;font-weight:800;color:#f7f7f7}
.price-offer-info b{font-size:.76rem;color:var(--yellow);text-transform:uppercase;letter-spacing:.04em}
.special-price-card .price-offer-ribbon{top:12px;right:12px}
.special-price-card.offer-active [data-price-current]{font-size:2.35rem!important}

/* Hallinnan hinnasto */
.owner-pricing-editor{display:flex;flex-direction:column;gap:14px}
.owner-pricing-list{display:flex;flex-direction:column;gap:16px}
.owner-price-product{
  background:#101318;border:1px solid rgba(255,255,255,.12);border-radius:17px;padding:16px;
}
.owner-price-product.state-active{border-color:rgba(245,223,0,.65);box-shadow:inset 0 0 0 1px rgba(245,223,0,.12)}
.owner-price-product-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.owner-price-product-head span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:3px}
.owner-price-product-head h3{margin:0;font-size:1.15rem}
.owner-price-state{flex:0 0 auto;border-radius:999px;padding:6px 9px;font-size:.66rem;font-weight:900;background:#2a2f36;color:#d8dce1}
.owner-price-state.state-active{background:var(--yellow);color:#090909}
.owner-price-state.state-scheduled{background:#17354a;color:#9fdcff}
.owner-price-state.state-ended{background:#312626;color:#f2b8b8}
.owner-price-state.state-incomplete{background:#493b16;color:#ffe28a}
.owner-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.owner-price-grid label{display:flex;flex-direction:column;gap:6px}
.owner-price-grid label span{font-size:.72rem;color:var(--muted);font-weight:750}
.owner-price-grid input{
  width:100%;background:#0a0c0f;border:1px solid rgba(255,255,255,.14);border-radius:10px;
  padding:10px 11px;color:#fff;font:inherit;outline:none;
}
.owner-price-grid input:focus{border-color:var(--yellow)}
.owner-price-grid .owner-wide{grid-column:1/-1}
.owner-offer-panel{
  margin-top:15px;padding:14px;border-radius:14px;background:linear-gradient(135deg,rgba(245,223,0,.08),rgba(255,255,255,.025));
  border:1px solid rgba(245,223,0,.22)
}
.owner-offer-fields{margin-top:13px}
.owner-offer-preview{
  margin-top:13px;min-height:72px;border-radius:12px;padding:12px 14px;background:#08090b;border:1px dashed rgba(245,223,0,.36);
  display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
}
.owner-offer-preview>span{background:var(--yellow);color:#090909;border-radius:999px;padding:4px 7px;font-size:.62rem;font-weight:1000;letter-spacing:.06em}
.owner-offer-preview del{color:#9ba1a9;font-weight:800}
.owner-offer-preview strong{font-size:1.5rem;color:var(--yellow)}
.owner-offer-preview strong small{font-size:.55em}
.owner-offer-preview em{width:100%;font-style:normal;color:#c7cbd0;font-size:.72rem}
@media(max-width:720px){
  .owner-price-grid{grid-template-columns:1fr}
  .owner-price-grid .owner-wide{grid-column:auto}
  .owner-price-product-head{flex-direction:column}
  .pricing-offer-banner{align-items:flex-start}
}


/* v35 – etusivun 12 kk hintalaatikko näyttää aktiivisen tarjouksen selvästi */
.stat-price-promo{
  position:relative;
  overflow:hidden;
}
.stat-price-promo.offer-active{
  border-color:rgba(245,223,0,.42);
  box-shadow:0 0 0 1px rgba(245,223,0,.16), 0 12px 30px rgba(0,0,0,.16);
}
.stat-offer-badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-bottom:10px;
  background:var(--yellow);
  color:#090909;
  border-radius:999px;
  padding:5px 10px;
  font-size:.7rem;
  font-weight:1000;
  letter-spacing:.08em;
}
.stat-offer-badge[hidden]{display:none!important}
.stat-price-stack{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.stat-price-original{
  color:#8e949c;
  font-weight:800;
  font-size:1rem;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(255,255,255,.45);
  min-height:1.15em;
}
.stat-price-original small{
  font-size:.8em;
}
.stat-price-promo strong{
  display:block;
}
.stat-offer-validity{
  display:block;
  margin-top:7px;
  color:var(--yellow);
  font-size:.76rem;
  font-weight:800;
}
.stat-offer-validity[hidden]{display:none!important}


/* v39 – tuntiaikataulun tulostus */
.schedule-print-button{
  cursor:pointer;
}

@media print{
  @page{
    size:A4 landscape;
    margin:10mm;
  }

  html,
  body{
    background:#fff!important;
    color:#000!important;
    width:100%!important;
  }

  body{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .site-header,
  footer,
  .schedule-actions,
  .schedule-footnote,
  .owner-bar,
  .owner-toolbar,
  .owner-overlay,
  .owner-drawer,
  .menu-toggle{
    display:none!important;
  }

  main{
    display:block!important;
  }

  .schedule-hero{
    padding:0 0 6mm!important;
    background:#fff!important;
    border:0!important;
  }

  .schedule-hero .container,
  .schedule-page-section .container{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }

  .schedule-hero .kicker{
    color:#000!important;
    font-size:9pt!important;
    margin-bottom:2mm!important;
  }

  .schedule-hero h1{
    color:#000!important;
    font-size:22pt!important;
    line-height:1.05!important;
    margin:0 0 3mm!important;
    max-width:none!important;
  }

  .schedule-meta{
    margin:0!important;
    gap:2mm!important;
  }

  .schedule-meta span{
    color:#000!important;
    background:#fff!important;
    border:1px solid #bbb!important;
    padding:1.5mm 2.5mm!important;
    font-size:8pt!important;
  }

  .schedule-page-section{
    padding:0!important;
    margin:0!important;
    background:#fff!important;
  }

  .week-scroll{
    overflow:visible!important;
    padding:0!important;
  }

  .week-calendar{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:2mm!important;
    min-width:0!important;
    width:100%!important;
    align-items:start!important;
  }

  .week-day{
    background:#fff!important;
    border:1px solid #aaa!important;
    border-radius:2mm!important;
    min-height:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    overflow:hidden!important;
  }

  .week-day-head{
    padding:2.3mm!important;
    background:#f0f0f0!important;
    border-bottom:1px solid #aaa!important;
  }

  .week-day-head strong{
    color:#000!important;
    font-size:10pt!important;
    line-height:1.05!important;
  }

  .week-day-head span{
    color:#444!important;
    font-size:7pt!important;
    margin-top:.5mm!important;
  }

  .week-day-events{
    padding:1.5mm!important;
    gap:1.5mm!important;
  }

  .schedule-event{
    min-height:0!important;
    padding:2mm!important;
    border-radius:1.5mm!important;
    box-shadow:inset 0 0 0 .25mm rgba(0,0,0,.14)!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .schedule-event h3{
    font-size:7.7pt!important;
    line-height:1.05!important;
    margin:1.2mm 0 .8mm!important;
  }

  .schedule-event p{
    font-size:6.5pt!important;
    line-height:1.18!important;
  }

  .event-time{
    font-size:7pt!important;
  }

  .no-class{
    min-height:12mm!important;
    border:1px dashed #aaa!important;
    color:#666!important;
    font-size:7pt!important;
  }
}


/* v44 – turvallisen julkaisu-version lisätyylit */
.owner-account-link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:9px;color:#fff;text-decoration:none;background:rgba(255,255,255,.07);font-size:.82rem;font-weight:800}
.owner-account-link:hover{background:rgba(255,255,255,.12)}
.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form-status{min-height:1.35em;margin:.65rem 0 0;color:var(--yellow);font-weight:750}
.admin-success{color:#b9ff7a;font-weight:800;margin-top:12px}
button:disabled{opacity:.65;cursor:wait}


/* v46 – hallinnasta päälle/pois kytkettävät sisältöosiot */
.cms-toggle-section[hidden]{
  display:none!important;
}


/* v49 – kurssimuotoisten tuntien merkintä */
.schedule-event{position:relative}
.course-marker{
  position:absolute;top:9px;right:9px;width:31px;height:31px;
  display:grid;place-items:center;border-radius:50%;
  background:#0a0b0d;border:2px solid rgba(255,255,255,.82);
  box-shadow:0 4px 12px rgba(0,0,0,.18);font-size:1rem;line-height:1;z-index:2
}
.course-event .event-time,.course-event h3{padding-right:34px}
.course-legend{
  display:flex;align-items:center;gap:13px;margin-top:18px;padding:14px 16px;
  border:1px solid rgba(245,223,0,.24);border-radius:14px;
  background:rgba(245,223,0,.055);color:#d9dce0
}
.course-legend-marker{
  flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;
  border-radius:50%;background:var(--yellow);color:#090909;font-size:1.2rem
}
.course-legend p{margin:0;font-size:.86rem;line-height:1.45}
.course-legend strong{color:#fff}
.owner-course-toggle{
  display:flex!important;align-items:center;gap:10px;padding:10px 11px;
  border:1px solid rgba(245,223,0,.18);border-radius:11px;
  background:rgba(245,223,0,.045);cursor:pointer
}
.owner-course-toggle>input{position:absolute;opacity:0;pointer-events:none}
.owner-course-check{
  width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;
  border-radius:9px;background:#272b31;border:1px solid rgba(255,255,255,.13);
  filter:grayscale(1);opacity:.55;transition:.16s
}
.owner-course-toggle>input:checked + .owner-course-check{
  background:var(--yellow);border-color:var(--yellow);filter:none;opacity:1
}
.owner-course-toggle>span:last-child{display:flex;flex-direction:column;gap:2px}
.owner-course-toggle b{color:#fff;font-size:.84rem}
.owner-course-toggle small{color:var(--muted);font-size:.72rem}
@media(max-width:640px){.course-legend{align-items:flex-start}}
@media print{
  .course-legend{color:#000!important;background:#fff!important;border:1px solid #aaa!important;padding:2.5mm 3mm!important;margin-top:3mm!important}
  .course-legend strong{color:#000!important}
  .course-legend-marker,.course-marker{background:#fff!important;border:1px solid #555!important;box-shadow:none!important}
}


/* v50 – kurssimuotoisen ryhmän musta ympyrä + keltainen tassu */
.paw-icon-svg{
  width:18px;
  height:18px;
  display:block;
  fill:var(--yellow);
}

.course-marker{
  position:absolute;
  top:9px;
  right:9px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#050505;
  border:2px solid rgba(255,255,255,.88);
  box-shadow:0 5px 14px rgba(0,0,0,.22);
  z-index:2;
}
.course-marker .paw-icon-svg{
  width:19px;
  height:19px;
  fill:var(--yellow);
}

.course-legend-marker{
  flex:0 0 auto;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#050505;
  border:2px solid var(--yellow);
  color:#090909;
}
.course-legend-marker .paw-icon-svg{
  width:22px;
  height:22px;
  fill:var(--yellow);
}

.owner-course-check{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#050505;
  border:2px solid rgba(255,255,255,.18);
  opacity:.5;
  transition:.16s;
}
.owner-course-check .paw-icon-svg{
  width:20px;
  height:20px;
  fill:var(--yellow);
}
.owner-course-toggle>input:checked + .owner-course-check{
  background:#050505;
  border-color:var(--yellow);
  opacity:1;
  box-shadow:0 0 0 3px rgba(245,223,0,.15);
}
.owner-course-toggle:hover .owner-course-check{
  opacity:.85;
}

@media print{
  .course-legend-marker,
  .course-marker,
  .owner-course-check{
    background:#000!important;
    border-color:#000!important;
  }
  .course-legend-marker .paw-icon-svg,
  .course-marker .paw-icon-svg,
  .owner-course-check .paw-icon-svg{
    fill:#f0c800!important;
  }
}


/* v51 – kertakäynnin PIN-koodihuomio ilman hinnastokorttien rakenteen muuttamista */
.price-card[data-price-id="single"] ul::after{
  content:"Voit ostaa verkkokaupasta PIN-koodin kertamaksulla – pääset salille milloin vain ilman korttia tai jäsenyyttä.";
  display:block;
  margin-top:9px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#c8ccd2;
  font-size:.76rem;
  font-weight:650;
  line-height:1.42;
}


/* v55 – etusivun Hallinta-linkki kuten tuntiaikataulusivulla */
.copyright.no-text-edit{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.copyright.no-text-edit .footer-admin-link{
  margin-top:0;
  color:var(--yellow);
  font-weight:800;
  font-size:.82rem;
  text-decoration:none;
}
.copyright.no-text-edit .footer-admin-link:hover{
  text-decoration:underline;
}
