/*
Theme Name: Ämmä LiveKlubi
Theme URI: https://ammaliveklubi.fi
Author: Ämmä LiveKlubi
Description: Ämmä LiveKlubin musta–punainen, helposti muokattava WordPress-teema.
Version: 0.5.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: amma-liveklubi
*/
:root{--black:#070808;--black2:#0d0f0f;--line:#282b2b;--white:#f4f2ed;--muted:#c7c6c1;--red:#c5142c;--red2:#94101f;--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.45}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}.top-note{height:36px;border-bottom:1px solid var(--line);display:flex;align-items:center;color:#888;font-size:11px;letter-spacing:.28em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,8,8,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-row{height:94px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{font-family:Impact,'Arial Narrow',sans-serif;font-size:36px;line-height:.76;letter-spacing:.08em;text-decoration:none}.brand small{display:block;font-family:Arial,sans-serif;font-size:13px;letter-spacing:.26em;margin-top:11px}.menu{display:flex;gap:40px;list-style:none;margin:0;padding:0}.menu a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.19em;font-weight:800}.menu a:hover{color:#fff;opacity:.7}.hero{display:grid;grid-template-columns:38% 62%;min-height:645px;border-bottom:1px solid var(--line)}.hero-copy{padding:72px 60px 62px max(48px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.32em;font-weight:800;margin:0 0 15px}.display{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(58px,6vw,96px);line-height:.92;letter-spacing:.01em;margin:0 0 22px;font-weight:400}.lede{max-width:440px;color:var(--muted);font-size:19px;margin:0 0 24px}.mini-rule{width:95px;height:1px;background:#aaa;margin:4px 0 14px}.venue-line{font-size:14px;letter-spacing:.13em;margin-bottom:15px}.button{display:inline-flex;align-items:center;gap:16px;width:max-content;padding:16px 22px;background:var(--red);text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:.16em;font-weight:900;border:1px solid var(--red)}.button:hover{background:var(--red2)}.button.outline{background:transparent;border-color:#b6b6b6}.button.dark{background:#0a0a0a;border-color:#0a0a0a}.tagline{font-size:11px;letter-spacing:.42em;text-transform:uppercase;margin-top:26px}.hero-image,.image-cover{background-size:cover;background-position:center}.intro{display:grid;grid-template-columns:48% 52%;min-height:460px;border-bottom:1px solid var(--line)}.intro-copy{padding:56px 72px;display:flex;flex-direction:column;justify-content:center}.intro h2,.videos h2,.bands h2,.venue h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:400;line-height:.96;letter-spacing:.02em}.intro h2{font-size:58px;margin:8px 0 18px}.intro p{max-width:640px;color:var(--muted);font-size:19px}.videos{padding:48px 0 56px;border-bottom:1px solid var(--line)}.videos h2{font-size:52px;margin:10px 0}.videos .sub{color:var(--muted);margin:0 0 18px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.video-card{margin:0}.video-thumb{aspect-ratio:16/8;background-size:cover;background-position:center;position:relative;border:1px solid #4a4a4a;display:grid;place-items:center;overflow:hidden}.video-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72))}.play{width:56px;height:56px;border:2px solid white;border-radius:50%;display:grid;place-items:center;position:relative;z-index:2;font-size:24px;padding-left:4px}.status{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:3;border:1px solid #aaa;padding:7px 15px;background:rgba(0,0,0,.55);font-size:11px;letter-spacing:.17em;text-transform:uppercase}.video-card figcaption{margin-top:9px}.bands{display:grid;grid-template-columns:46% 54%;min-height:305px;border-bottom:1px solid var(--line)}.bands-copy{padding:46px max(44px,calc((100vw - var(--max))/2));padding-right:42px;display:flex;flex-direction:column;justify-content:center}.bands h2{font-size:50px;margin:9px 0 14px}.bands p{color:var(--muted);margin:0 0 20px}.button-row{display:flex;gap:16px;flex-wrap:wrap}.venue{display:grid;grid-template-columns:58% 42%;min-height:260px;border-bottom:1px solid var(--line)}.venue-copy{padding:44px 60px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.venue h2{font-size:48px;margin:0 0 18px}.footer{min-height:150px;display:flex;align-items:center}.footer-row{display:flex;justify-content:space-between;align-items:center;width:100%}.footer-nav{display:flex;gap:34px;list-style:none;margin:0;padding:0}.footer-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.17em;font-weight:700}.mobile-toggle{display:none}.section-anchor{scroll-margin-top:130px}
@media(max-width:900px){.wrap{width:min(100% - 36px,var(--max))}.top-note{padding-left:18px}.header-row{height:80px}.brand{font-size:30px}.menu{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:54px 24px}.hero-image{min-height:400px;order:-1}.intro,.bands,.venue{grid-template-columns:1fr}.intro .image-cover,.bands .image-cover,.venue .image-cover{min-height:320px}.intro-copy,.bands-copy,.venue-copy{padding:42px 24px}.video-grid{grid-template-columns:1fr}.footer-row{align-items:flex-start;gap:30px;flex-direction:column}.footer-nav{flex-wrap:wrap;gap:18px 26px}.display{font-size:16vw}.intro h2,.videos h2,.bands h2,.venue h2{font-size:12vw}}
.venue-address{color:var(--muted);margin:0 0 20px}.contact{padding:58px 0;border-bottom:1px solid var(--line)}.contact-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.contact h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:48px;line-height:.96;font-weight:400;margin:8px 0 10px}.contact p{color:var(--muted);margin:0}@media(max-width:900px){.contact-row{align-items:flex-start;flex-direction:column}.contact h2{font-size:12vw}}

/* v6 header/footer refinement */
.top-note{display:none}
.site-header{background:rgba(7,8,8,.98)}
.header-row{height:86px;gap:30px}
.brand{display:inline-flex;flex-direction:column;justify-content:center;flex:0 0 auto;font-size:48px;line-height:.68;letter-spacing:.055em;white-space:nowrap}
.brand small{font-size:11px;letter-spacing:.34em;margin-top:13px;padding-left:2px}
.menu{gap:0;align-items:stretch;border:1px solid var(--line);background:#0a0b0b}
.menu li{display:flex;align-items:stretch;border-left:1px solid var(--line)}
.menu li:first-child{border-left:0}
.menu a{display:flex;align-items:center;padding:13px 15px;font-size:11px;letter-spacing:.16em;white-space:nowrap}
.menu a:hover{opacity:1;background:#151717}
.icon-link{width:42px;min-width:42px;padding:0!important;display:grid!important;place-items:center!important}
.icon-link svg{width:18px;height:18px;display:block}
.footer{min-height:0;padding:42px 0 36px;border-top:1px solid var(--line)}
.footer-row{align-items:center;gap:50px;overflow:visible}
.footer .brand{font-size:54px;line-height:.68;padding:5px 0 0}
.footer .brand small{font-size:11px;margin-top:14px}
.footer-nav{margin-left:auto;gap:0;border:1px solid var(--line);background:#0a0b0b;align-items:stretch;flex-wrap:wrap;justify-content:flex-end}
.footer-nav li{display:flex;align-items:stretch;border-left:1px solid var(--line)}
.footer-nav li:first-child{border-left:0}
.footer-nav a{display:flex;align-items:center;padding:12px 14px;font-size:10px;letter-spacing:.15em;white-space:nowrap}
.contact .button-row{align-items:center}
.social-icon-button{width:52px;height:52px;padding:0;display:grid;place-items:center;background:transparent;border:1px solid #b6b6b6;text-decoration:none}
.social-icon-button:hover{background:#151717}
.social-icon-button svg{width:21px;height:21px;display:block}
@media(max-width:1100px){.menu a{padding:12px 10px;font-size:10px;letter-spacing:.12em}.brand{font-size:43px}.header-row{gap:20px}.footer-row{align-items:flex-start;flex-direction:column}.footer-nav{margin-left:0;justify-content:flex-start}}
@media(max-width:900px){.header-row{height:76px}.brand{font-size:39px}.brand small{font-size:9px;margin-top:11px}.footer{padding:34px 0}.footer .brand{font-size:46px}.footer-nav{border:0;background:transparent}.footer-nav li{border:0}.footer-nav a{padding:5px 0;margin-right:22px}.icon-link{display:none!important}}

/* v7 mobile fixes */
.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--white);width:48px;height:48px;padding:0;align-items:center;justify-content:center;cursor:pointer}
.mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{content:"";display:block;width:22px;height:2px;background:currentColor;position:absolute;transition:.2s}
.mobile-toggle{position:relative}.mobile-toggle:before{transform:translateY(-7px)}.mobile-toggle:after{transform:translateY(7px)}
.mobile-toggle[aria-expanded="true"] span{opacity:0}.mobile-toggle[aria-expanded="true"]:before{transform:rotate(45deg)}.mobile-toggle[aria-expanded="true"]:after{transform:rotate(-45deg)}
@media(max-width:900px){
 .header-row{position:relative}.brand,.footer .brand{font-family:Impact,'Arial Narrow',sans-serif!important;font-weight:900!important;font-stretch:condensed;-webkit-text-stroke:.35px currentColor}
 .mobile-toggle{display:flex;flex:0 0 48px}
 .site-header .menu{display:none;position:absolute;top:76px;left:-18px;right:-18px;flex-direction:column;gap:0;border:1px solid var(--line);background:#090a0a;padding:0;box-shadow:0 16px 30px rgba(0,0,0,.45)}
 .site-header .menu.is-open{display:flex}.site-header .menu li{border-left:0;border-top:1px solid var(--line)}.site-header .menu li:first-child{border-top:0}
 .site-header .menu a{width:100%;padding:17px 18px;font-size:12px;letter-spacing:.16em}.site-header .menu .icon-link{display:grid!important;width:100%;height:50px}
 .bands,.venue{row-gap:22px}.bands .image-cover,.venue .image-cover{margin-top:0}
 .footer-row{gap:24px}.footer .brand{max-width:100%;font-size:46px}.footer-nav{width:100%;gap:12px 22px}.footer-nav .icon-link{display:grid!important;width:36px;min-width:36px;height:36px;margin:0!important}
}

.locked-logo{display:inline-grid;grid-template-columns:max-content;justify-items:stretch;color:#fff;line-height:.78;text-decoration:none}
.locked-amma{font-family:Impact,"Arial Narrow",sans-serif;font-size:52px;font-weight:900;letter-spacing:-2px;text-align:center;white-space:nowrap}
.locked-live{font-family:Impact,"Arial Narrow",sans-serif;font-size:21px;font-weight:700;display:flex;justify-content:space-between;width:100%;margin-top:9px;white-space:nowrap}
.locked-live i{font-style:normal;display:inline-block}
@media(max-width:820px){.locked-amma{font-size:44px}.locked-live{font-size:17px;margin-top:8px}}

#livetaltioinnit,.videos{display:none!important}


:root{--shell:1180px;--gutter:36px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.wrap{
  width:min(var(--shell),calc(100% - 2*var(--gutter)))!important;
  max-width:var(--shell)!important;
  margin-left:auto!important;margin-right:auto!important
}

/* Logo: käytetään suoraan käyttäjän hyväksymää logokuvaa kaikkialla. */
.brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  font-size:0!important;
  line-height:0!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  -webkit-text-stroke:0!important
}
.logo-image{
  display:block!important;
  width:142px!important;
  height:auto!important;
  max-width:none!important
}
.footer .logo-image,footer .logo-image{width:142px!important}

/* Etusivun hero käyttää samaa sivurunkoa eikä enää leviä iMacilla. */
.home .hero{
  width:min(var(--shell),calc(100% - 2*var(--gutter)))!important;
  max-width:var(--shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,42%) minmax(0,58%)!important
}
.home .hero-copy{
  min-width:0!important;
  padding:66px 34px 60px 0!important
}
.home h1.display{
  margin:0 0 22px!important;
  font-size:1rem!important;
  line-height:1!important;
  overflow:visible!important;
  max-width:100%!important
}
.home .event-date{
  display:block!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(45px,3.65vw,66px)!important;
  line-height:.9!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  max-width:100%!important
}
.home .event-artist{
  display:block!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(58px,5.15vw,86px)!important;
  line-height:.92!important;
  margin-top:6px!important;
  white-space:nowrap!important
}

/* Bändeille: tiiviimpi desktop-taitto, ei turhaa pitkää tyhjää alaosaa. */
body.bands-page .hero{padding:58px 0 48px!important}
body.bands-page .content{
  grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)!important;
  gap:54px!important;
  padding:52px 0 56px!important;
  align-items:start!important
}
body.bands-page .copy p{font-size:18px!important;margin-bottom:18px!important}
body.bands-page .formbox{padding:26px!important}
body.bands-page .formbox h2{margin-bottom:22px!important}
body.bands-page .field{margin-bottom:12px!important}
body.bands-page .field input,
body.bands-page .field textarea{padding:10px 12px!important}
body.bands-page .field textarea{min-height:90px!important}
body.bands-page .submit{padding:14px 19px!important}
body.bands-page .footer{padding:28px 0!important}

@media(max-width:900px){
  :root{--gutter:18px}
  .logo-image,.footer .logo-image,footer .logo-image{width:124px!important}
  .home .hero{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:1fr!important
  }
  .home .hero-copy{padding:46px 24px!important}
  .home .event-date{font-size:clamp(42px,12.5vw,62px)!important}
  .home .event-artist{font-size:clamp(56px,16vw,82px)!important}
  body.bands-page .hero{padding:48px 0 42px!important}
  body.bands-page .content{
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:42px 0 48px!important
  }
}



/* V6: only requested corrections */

/* One common content width */
:root{--max:1180px!important}
.wrap{width:min(1180px,calc(100% - 72px))!important;margin-left:auto!important;margin-right:auto!important}

/* Approved logo implementation: no image asset */
.brand{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:0!important;
  flex:0 0 auto!important;
  font-family:Impact,'Arial Narrow',sans-serif!important;
  font-size:48px!important;
  font-weight:900!important;
  line-height:.82!important;
  letter-spacing:.055em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  color:#f4f2ed!important;
  -webkit-text-stroke:0!important
}
.brand small{
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  font:900 .34em Impact,'Arial Narrow',Arial,sans-serif!important;
  line-height:1!important;
  margin:.16em 0 0 0!important;
  padding:0!important;
  letter-spacing:0!important;
  text-align:initial!important
}
.brand small span{display:block!important;flex:0 0 auto!important}
footer .brand,.footer .brand{font-size:48px!important}

/* Same top navigation shell for Tapahtumat and Yhteystiedot as the other inner pages */
.header{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:rgba(7,8,8,.98)!important;
  border-bottom:1px solid #292b2b!important
}
.head{
  height:86px!important;
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important
}
.nav{
  display:flex!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #292b2b!important
}
.nav li{margin:0!important;padding:0!important}
.nav a{
  display:flex!important;
  align-items:center!important;
  height:42px!important;
  padding:0 14px!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  border-left:1px solid #292b2b!important;
  white-space:nowrap!important
}
.nav li:first-child a{border-left:0!important}
.nav .active{background:#c5142c!important}
.nav .instagram-link{
  width:44px!important;
  padding:0!important;
  justify-content:center!important
}
.nav .instagram-link svg{width:18px!important;height:18px!important;display:block!important}
.toggle{display:none!important}

/* Etusivu: same page width and date fully visible */
body.home .hero{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important
}
body.home .hero-copy{
  min-width:0!important;
  padding-left:0!important;
  padding-right:38px!important
}
body.home .event-date{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(44px,3.8vw,62px)!important;
  line-height:.92!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible!important
}
body.home .event-artist{display:block!important}

/* Klubi: same outer width as the other pages */
body.klubi-page .hero,
body.klubi-page .roots{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important
}
body.klubi-page .copy{padding-left:0!important}

/* Mobile behavior */
@media(max-width:900px){
  .wrap{width:calc(100% - 36px)!important}
  .brand,footer .brand,.footer .brand{font-size:39px!important}
  .brand small{font-size:9px!important;margin-top:11px!important}
  .head{height:76px!important;min-height:76px!important}
  .toggle{
    display:block!important;
    background:none!important;
    border:1px solid #555!important;
    color:#fff!important;
    font-size:25px!important;
    width:46px!important;
    height:42px!important
  }
  .nav{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:76px!important;
    background:#090a0a!important;
    flex-direction:column!important;
    border-left:0!important;
    border-right:0!important;
    z-index:999!important
  }
  .nav.open{display:flex!important}
  .nav a{
    width:100%!important;
    height:auto!important;
    min-height:50px!important;
    border-left:0!important;
    border-top:1px solid #292b2b!important;
    padding:15px 20px!important
  }
  .nav .instagram-link{width:100%!important;justify-content:flex-start!important}
  body.home .hero{width:100%!important;max-width:none!important}
  body.home .hero-copy{padding-left:24px!important;padding-right:24px!important}
  body.home .event-date{font-size:clamp(40px,12vw,58px)!important}
  body.klubi-page .hero,body.klubi-page .roots{width:100%!important;max-width:none!important}
  body.klubi-page .copy{padding-left:22px!important;padding-right:22px!important}
}


@media (min-width:901px){
  .intro,
  .bands,
  .venue{
    width:min(1180px,calc(100% - 72px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}