.elementor-kit-6{--e-global-color-primary:#1D2620;--e-global-color-secondary:#4C5A42;--e-global-color-text:#121814;--e-global-color-accent:#D29445;--e-global-color-jakala:#E5E8DE;--e-global-color-jakala2:#D7DCCD;--e-global-color-kuusi2:#28332B;--e-global-color-usva:#E8ECE3;--e-global-color-kivi:#A2AA9B;--e-global-color-meripihkahover:#DDA45A;--e-global-typography-primary-font-family:"Alegreya";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Alegreya Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Alegreya";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Alegreya Sans";--e-global-typography-accent-font-size:17px;--e-global-typography-accent-font-weight:700;--e-global-typography-nimikirjoitus-font-family:"Sacramento";--e-global-typography-nimikirjoitus-font-weight:400;background-color:#E5E8DE;color:#121814;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#D29445;font-family:"Alegreya Sans", Sans-serif;font-size:17px;font-weight:700;line-height:1.1em;color:#121814;border-radius:999px 999px 999px 999px;padding:14px 26px 14px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#DDA45A;color:#121814;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#121814;}.elementor-kit-6 a:hover{color:#121814;}.elementor-kit-6 h1{font-weight:500;line-height:1.15em;}.elementor-kit-6 h2{font-weight:500;line-height:1.15em;}.elementor-kit-6 h3{font-size:24px;font-weight:700;line-height:1.25em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:#1D2620;--lightbox-ui-color:#E8ECE3;--lightbox-ui-color-hover:#D29445;--lightbox-text-color:#E8ECE3;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:28px;--container-default-padding-bottom:0px;--container-default-padding-left:28px;}}@media(max-width:767px){.elementor-kit-6{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}
/* Start custom CSS *//* Emmajulia — Site Settings → Custom CSS. Värit = Global Colors (--e-global-color-*). Lähde: site/assets/css/style.css */
:root{--ej-gutter:clamp(16px,4vw,40px);--ej-ease:cubic-bezier(.16,1,.3,1);--ej-rule:rgba(76,90,66,.35)}
body{font-kerning:normal;text-rendering:optimizeLegibility}
.elementor-heading-title{text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
h1.elementor-heading-title{font-size:clamp(2rem,1.45rem + 2.2vw,3.25rem)}
h2.elementor-heading-title{font-size:clamp(1.75rem,1.35rem + 1.6vw,2.75rem)}
.elementor-widget-text-editor p{max-width:62ch;text-wrap:pretty}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor a{text-underline-offset:.2em}
.nowrap{white-space:nowrap}
:focus-visible{outline:3px solid var(--e-global-color-secondary);outline-offset:3px}
.ej-dark :focus-visible,.ej-header :focus-visible,.ej-footer :focus-visible{outline-color:var(--e-global-color-accent)}

/* Tummat osiot */
.ej-dark,.ej-dark .elementor-widget-text-editor,.ej-dark .elementor-heading-title{color:var(--e-global-color-usva)}
.ej-dark a:not(.elementor-button){color:var(--e-global-color-usva)}
.ej-muted,.elementor-element.ej-muted{color:var(--e-global-color-secondary)}
.ej-dark .elementor-element.ej-muted{color:var(--e-global-color-kivi)}
.elementor-element.ej-lead{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem)}
.elementor-element.ej-note{font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:.95rem}
.elementor-element.ej-lead,.elementor-element.ej-note,.elementor-element.ej-quote-by{line-height:calc(1.65 * var(--e-global-typography-text-font-size))}

/* Napit */
.elementor-button{min-height:48px;display:inline-flex;align-items:center;transition:transform .2s var(--ej-ease),background-color .2s}
.elementor-button:active{transform:translateY(1px)}
.ej-btn-ghost .elementor-button{background:transparent!important;color:inherit;border:2px solid currentColor}
.ej-dark .ej-btn-ghost .elementor-button{color:var(--e-global-color-usva)}
.ej-btn-ghost .elementor-button:hover{background:rgba(232,236,227,.08)!important}
.ej-btn-dark .elementor-button{background:var(--e-global-color-primary)!important}
.elementor-element.ej-btn-dark .elementor-button{color:var(--e-global-color-jakala)}
.ej-btn-dark .elementor-button:hover{background:var(--e-global-color-kuusi2)!important}

/* Yläpalkki */
.ej-header{position:relative;z-index:20}
.ej-logo .elementor-heading-title{font-family:var(--e-global-typography-nimikirjoitus-font-family),cursive;font-weight:400;font-size:2.4rem;line-height:1}
.ej-logo .elementor-heading-title a{color:var(--e-global-color-usva);text-decoration:none}
body.home .ej-header .ej-logo{visibility:hidden}
.ej-nav .elementor-nav-menu--main .elementor-item{font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.05rem}
.ej-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{text-decoration:underline;text-decoration-color:var(--e-global-color-accent);text-decoration-thickness:2px;text-underline-offset:.35em}
.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item{background:var(--e-global-color-accent);border-radius:999px;padding:.55rem 1.2rem!important;font-weight:700;margin-left:.5rem}
.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item:hover{background:var(--e-global-color-meripihkahover)}
/* Tilaa keikka -nappi: Nav Menu -widgetissä ei ole kohtakohtaista väriä, joten tämä yksi kohta on widgetin väriasetusta
   tarkempi (0,5,1 / tilat 0,6,1 vs widgetin 0,5,0 / 0,6,0; ei !importantia). Muiden kohtien värit tulevat widgetistä. */
.elementor-widget-nav-menu.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item,.elementor-widget-nav-menu.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item:is(:hover,:focus,.elementor-item-active,.highlighted){color:var(--e-global-color-text)}
.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item:before,.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item:after{display:none}
.ej-nav .elementor-menu-toggle{border:1.5px solid var(--e-global-color-kivi);border-radius:999px;color:var(--e-global-color-usva);padding:.45rem .9rem}
.ej-nav .elementor-nav-menu--dropdown{background:var(--e-global-color-kuusi2)}
.ej-nav .elementor-nav-menu--dropdown a{font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.2rem;padding:.9rem var(--ej-gutter)!important;border-top:1px solid rgba(162,170,155,.25)}

/* Etusivun hero */
.ej-hero{--sig:clamp(7rem,12.5vw,13.5rem);overflow:hidden}
.ej-hero .ej-sig{display:block;font-family:var(--e-global-typography-nimikirjoitus-font-family),cursive;font-weight:400;line-height:.8;color:var(--e-global-color-usva);white-space:nowrap;text-shadow:0 2px 30px rgba(18,24,20,.45);pointer-events:none;position:relative;z-index:3}
.ej-hero .ej-hero-title{display:block;max-width:16ch}
.ej-hero .ej-sig .elementor-heading-title{font:inherit;color:inherit;white-space:inherit}
.ej-hero-photo{position:relative;min-height:320px}
.ej-hero-photo .elementor-widget-image,.ej-hero-photo .elementor-widget-image a{position:absolute;inset:0}
.ej-hero-photo img{width:100%!important;height:100%!important;object-fit:cover;object-position:30% 30%;max-width:none!important}
@media(min-width:1025px){
 .ej-hero{min-height:min(88vh,860px)}
 .ej-hero-photo:before{content:"";position:absolute;inset:0 auto 0 0;width:35%;z-index:2;background:linear-gradient(to right,var(--e-global-color-primary),rgba(29,38,32,0))}
 .ej-hero-text{padding:calc(var(--sig)*.45) 2rem calc(clamp(3rem,7vh,5.5rem) + 3.5rem) max(var(--ej-gutter),calc((100vw - 1200px)/2))!important;z-index:3}
 .ej-hero .ej-sig{font-size:var(--sig);margin:0 0 .25em -.08em;width:max-content}
 .ej-hero .elementor-element.ej-sig{margin-bottom:calc(.25em - var(--row-gap,0px))}
}
@media(max-width:1024px){
 .ej-hero-photo{aspect-ratio:4/5;max-height:78vh;width:100%}
 .ej-hero-photo img{object-position:38% 22%}
 .ej-hero-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:45%;z-index:2;background:linear-gradient(to top,var(--e-global-color-primary),rgba(29,38,32,0))}
 .ej-hero-text{padding:0 var(--ej-gutter) calc(3rem + 2.5rem)!important}
 .ej-hero .ej-sig{font-size:clamp(4rem,22vw,7.5rem);margin:-.72em 0 .35em -.1em}
 .ej-hero .elementor-element.ej-sig{margin-bottom:calc(.35em - var(--row-gap,0px))}
}
@keyframes ej-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ej-hero .ej-reveal{animation:ej-rise 1s var(--ej-ease) both}
.ej-hero .ej-reveal-2{animation-delay:.29s}.ej-hero .ej-reveal-3{animation-delay:.43s}
@media(prefers-reduced-motion:reduce){.ej-hero .ej-reveal{animation:none}}

/* Alasivujen otsake */
.ej-pagehead .ej-lead{color:var(--e-global-color-kivi)}
.ej-pagehead h1.elementor-heading-title{max-width:22ch}
.ej-pagehead-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;display:block}
.ej-pagehead-photo.ej-low img{object-position:50% 62%}
@media(max-width:767px){.ej-pagehead-photo img{aspect-ratio:1/1}}

/* Kuvat osioissa */
.ej-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ej-photo-wide img{width:100%;aspect-ratio:3/2;object-fit:cover}

/* Kokoonpanot */
.ej-lineup-item{border-top:1px solid var(--ej-rule)}
.ej-lineup-item.ej-last{border-bottom:1px solid var(--ej-rule)}
.ej-lineup-item h3.elementor-heading-title{margin:0}

/* Spotify-kuuntelu */
.ej-spotify-frame{display:block;width:100%;height:352px;border:0;border-radius:12px}
/* Spotify-kuuntelu natiivina: kontti .ej-listen = Image-widget (kuva, alt mediakirjastosta) + Button-widget (teksti, linkki,
   ikoni). Napin ::after venyttää linkin koko kuvan päälle; wp/site.js vaihtaa kontin klikkauksesta Spotify-soittimeen. */
.e-con.ej-listen{display:grid;position:relative;overflow:hidden;background:var(--e-global-color-kuusi2)}
.e-con.ej-listen>.elementor-element{grid-area:1/1;position:static}
.e-con.ej-listen img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;opacity:.72;transition:opacity .3s,transform .6s var(--ej-ease)}
.e-con.ej-listen:hover img{opacity:.85;transform:scale(1.02)}
.e-con.ej-listen>.elementor-widget-button{align-self:end;width:auto;margin:0 1.25rem 1.25rem;z-index:1}
.e-con.ej-listen .elementor-button,.e-con.ej-listen .elementor-button:is(:hover,:focus){display:block;width:100%;padding:0;border-radius:0;background:none;color:var(--e-global-color-usva);font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.15rem;font-weight:700;line-height:inherit;text-align:left;text-decoration:none;text-shadow:0 1px 12px rgba(18,24,20,.6)}
.e-con.ej-listen .elementor-button:after{content:"";position:absolute;inset:0}
.e-con.ej-listen .elementor-button-content-wrapper{justify-content:flex-start;align-items:center;gap:1rem}
.e-con.ej-listen .elementor-button-icon{flex:none;width:64px;height:64px;border-radius:50%;background:var(--e-global-color-accent);display:grid;place-items:center}
.e-con.ej-listen .elementor-button-icon svg{width:22px;height:22px;margin-left:4px;fill:var(--e-global-color-text)}
@media(prefers-reduced-motion:reduce){.e-con.ej-listen:hover img{transform:none}}

/* Suosittelut */
.ej-quote{position:relative;padding-top:2.4rem!important}
.ej-quote:before{position:absolute;top:0;left:0;content:"\201D";display:block;font-family:var(--e-global-typography-primary-font-family),serif;font-size:4.5rem;line-height:.5;height:.35em;color:var(--e-global-color-accent)}
.elementor-element.ej-quote-lead{font-style:italic;font-size:clamp(1.3rem,1.15rem + .5vw,1.55rem);line-height:1.4}
.ej-quote-lead p{text-wrap:balance}
.elementor-element.ej-quote-by{font-family:var(--e-global-typography-secondary-font-family),sans-serif;color:var(--e-global-color-secondary);font-size:1rem}
.ej-quote-by strong{color:var(--e-global-color-text)}
.ej-quote-more .elementor-toggle-item{border:0}
.ej-quote-more .elementor-tab-title{border:0!important;padding:0!important;font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-weight:700}
.ej-quote-more .elementor-tab-title a{color:var(--e-global-color-secondary);text-decoration:underline;text-underline-offset:.25em}
.ej-quote-more .elementor-tab-content{border:0!important;padding:.6rem 0 0!important;font-size:1.05rem}
.ej-quote-small blockquote,.ej-inline-quote blockquote{margin:0}
.elementor-element.ej-inline-quote{font-style:italic;line-height:1.3;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.5rem)}
.ej-inline-quote blockquote p{max-width:24ch;margin-bottom:.6rem}
.elementor-element.ej-quote-small{font-style:italic;font-size:1.35rem;line-height:1.45}
.ej-quote-small blockquote p{max-width:34ch;margin-bottom:.4rem}
.ej-inline-quote cite,.ej-quote-small cite{font-style:normal;font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1rem;color:var(--e-global-color-secondary)}
.ej-dark .ej-quote-small cite,.ej-dark .ej-inline-quote cite{color:var(--e-global-color-kivi)}
.ej-oldquote{position:relative}
.ej-oldquote blockquote{margin:0}
.ej-oldquote .elementor-widget-text-editor{font-size:1.05rem;line-height:calc(1.65 * var(--e-global-typography-text-font-size))}
/* Lainauksen koko on widgetin kääreessä (widgetin oma Typography voittaa); saman tekstieditorin nimirivi pysyy
   tekstieditorin oletuskoossa ja -rivikorkeudessa kuten ennen. */
.ej-inline-quote blockquote~p,.ej-quote-small blockquote~p,.ej-oldquote blockquote~p{font-style:normal;font-size:var(--e-global-typography-text-font-size);line-height:var(--e-global-typography-text-line-height)}
.ej-oldquote cite{font-style:normal;font-family:var(--e-global-typography-secondary-font-family),sans-serif;color:var(--e-global-color-secondary)}
.ej-oldquote cite strong{color:var(--e-global-color-text)}

/* Keikat ja keikkapaikat */
.ej-gigs ol{list-style:none;margin:0;padding:0;max-width:46rem}
.ej-gigs li{display:grid;grid-template-columns:7.5rem 1fr;gap:.25rem 1.5rem;align-items:baseline;padding:1.2rem 0;border-top:1px solid var(--ej-rule)}
.ej-gigs li:last-child{border-bottom:1px solid var(--ej-rule)}
.ej-gigs .gig-date{font-size:2rem;font-weight:500;line-height:1;font-variant-numeric:lining-nums}
.ej-gigs .gig-wd{display:block;font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:.95rem;color:var(--e-global-color-secondary);margin-top:.3rem}
.ej-gigs .gig-venue{font-size:1.2rem}
.ej-venues ul{columns:2 16rem;column-gap:3rem;margin:0;padding-left:1.1em}
.ej-venues li{margin-bottom:.4rem;break-inside:avoid}
.ej-occasions ul{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));border-block:1px solid var(--ej-rule)}
.ej-occasions li{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);padding:1.1rem 1.5rem 1.1rem 0}
@media(max-width:559px){.ej-occasions li+li{border-top:1px solid var(--ej-rule)}}
.ej-columns{columns:2 22rem;column-gap:3rem}
.ej-columns p{break-inside:avoid}

/* CTA-kaista + kitarakoriste */
.ej-art{overflow:hidden}
.ej-guitar-box{pointer-events:none}
.ej-guitar svg{display:block;height:100%;width:auto}
.ej-cta-guitar{position:absolute!important;top:50%;right:max(var(--ej-gutter),calc((100% - 1200px)/2 + 4rem));height:88%;width:auto!important;transform:translateY(-50%) rotate(-24deg);opacity:.6;z-index:0}
.ej-side-guitar{position:absolute!important;top:50%;right:max(var(--ej-gutter),calc((100% - 1200px)/2 + 4rem));height:86%;width:auto!important;transform:translateY(-50%) rotate(14deg);opacity:.9;z-index:0}
.ej-cta-guitar .ej-guitar,.ej-side-guitar .ej-guitar,.ej-cta-guitar .elementor-widget-container,.ej-side-guitar .elementor-widget-container{height:100%}
.ej-art>.e-con-inner>*:not(.ej-guitar-box),.ej-art>*:not(.ej-guitar-box):not(.elementor-shape){position:relative;z-index:1}
@media(max-width:1099px){.ej-cta-guitar,.ej-side-guitar{display:none!important}}

/* Galleria */
.ej-gallery .elementor-gallery-item{border-radius:0}

/* Tarjouspyyntölomake (Gravity Forms) */
/* Gravity Forms: kentät ja nappi ovat GF:n omia (Orbital-teeman valitsimet 0,6,1), eivät Elementor-widgettejä; !important ei ohita
   Elementorin asetuksia. Fontti tulee Site Settingsin Global Fonts -muuttujista. */
.ej-form .gform_wrapper{font-family:var(--e-global-typography-secondary-font-family),sans-serif;max-width:40rem}
.ej-form .gform_wrapper .gfield_label,.ej-form .gform_wrapper legend.gfield_label{font-weight:700;font-size:1rem;color:var(--e-global-color-text)}
.ej-form .gform_wrapper .gfield_required{color:var(--e-global-color-secondary);font-weight:400}
.ej-form .gform_wrapper input:not([type=radio]):not([type=submit]),.ej-form .gform_wrapper select,.ej-form .gform_wrapper textarea{font:400 1.05rem/1.4 var(--e-global-typography-secondary-font-family),sans-serif!important;color:var(--e-global-color-text);background:#F4F6F0!important;border:1.5px solid var(--e-global-color-secondary)!important;border-radius:6px!important;padding:.7rem .85rem!important;min-height:48px}
.ej-form .gform_wrapper .gfield_radio .gchoice{display:inline-flex;align-items:center;gap:.5rem;margin-right:1.5rem;min-height:44px}
.ej-form .gform_wrapper input[type=radio]{accent-color:var(--e-global-color-secondary);width:20px;height:20px}
.ej-form .gform_wrapper .gform_button,.ej-form .gform_wrapper input[type=submit]{background:var(--e-global-color-accent)!important;color:var(--e-global-color-text)!important;border:0!important;border-radius:999px!important;font:700 1.05rem var(--e-global-typography-accent-font-family),sans-serif!important;padding:.85rem 1.6rem!important;min-height:48px;cursor:pointer}
.ej-form .gform_wrapper .gform_button:hover{background:var(--e-global-color-meripihkahover)!important}
.ej-form .gform_confirmation_message{padding:1rem 1.25rem;border:1px solid var(--e-global-color-secondary);border-radius:6px;background:var(--e-global-color-jakala2)}
.ej-aside h2.elementor-heading-title{font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.1rem;font-weight:700}
.ej-aside{font-family:var(--e-global-typography-secondary-font-family),sans-serif}

/* Tietosuoja */
.ej-prose h2{font-size:1.5rem;margin-top:2.25rem}
.ej-prose h2:first-child{margin-top:0}

/* Alatunniste */
.ej-footer,.ej-footer .elementor-widget-text-editor{color:var(--e-global-color-kivi);font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1rem}
.ej-footer a{color:var(--e-global-color-usva)}
.ej-footer .ej-logo .elementor-heading-title{font-size:3rem}
.ej-footer .elementor-element.ej-footer-label{font-weight:700;color:var(--e-global-color-usva)}
.ej-footer .ej-footer-label p{margin-bottom:.75rem}
.ej-footer ul{list-style:none;margin:0;padding:0}
.ej-footer li{margin-bottom:.45rem}
.ej-footer-meta{border-top:1px solid rgba(162,170,155,.2)}
.ej-footer-meta p{margin:0}
.ej-footer-meta .elementor-widget-text-editor{font-size:.95rem;line-height:calc(1.65 * 1rem)}

/* Nappirivi: rakennustyökalu kääri napit omiin containereihinsa */
.ej-btnrow,.ej-btnrow>.e-con-inner{flex-wrap:wrap!important;justify-content:flex-start!important;gap:12px!important}
.ej-btnrow .e-con{width:auto!important;flex:0 0 auto!important;--width:auto;padding:0!important}
/* Skriptiwidget yläpalkissa ei vie tilaa */
.ej-scripts{position:absolute!important;width:0;height:0;overflow:hidden}

/* WP-korjaukset 8.10.: otsikon ja ingressin vali, aalto kuvan paalle, linkit alleviivattuina */
.ej-hero-text .elementor-widget-heading{margin-bottom:1.1rem}
.ej-hero-text .elementor-widget-text-editor{margin-bottom:.5rem}
.ej-hero>.elementor-shape,.ej-pagehead>.elementor-shape{z-index:5}
.elementor-widget-text-editor a{text-decoration:underline;text-decoration-thickness:1px}
.elementor-widget-text-editor a:hover{text-decoration-thickness:2px}
.ej-footer a,.ej-quote-more a{text-decoration:none}
.ej-footer a:hover{text-decoration:underline}

/* Aalto aina sisällön päällä (boxed-containereissa aalto on .e-con-inner-elementin sisällä) */
.elementor-shape-bottom{z-index:5;pointer-events:none}
/* Tilaa keikka -valikkokohta omalla sivullaan: rengas alleviivauksen sijaan */
.ej-nav .elementor-nav-menu--main .nav-cta>a.elementor-item-active{text-decoration:none;box-shadow:0 0 0 2px var(--e-global-color-primary),0 0 0 4px var(--e-global-color-accent)}
/* Ankkurilinkit (Kuuntele kappaleita) vierittävät pehmeästi */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Viimeistely 8.10. (vertailu hyväksyttyyn HTML-versioon) */
/* Aallon muoto = HTML-version aalto: matala S-käyrä, korkeus 26–68 px näytön leveyden mukaan.
   Elementorin "Curve Asymmetrical" venytetään täydeksi suorakaiteeksi ja muoto leikataan maskilla.
   Väri, flip ja se, onko aaltoa lainkaan, tulevat yhä containerin Shape Divider -asetuksista. */
.elementor-shape-bottom[data-negative=false]{transform:none!important}
.elementor-shape-bottom svg{height:clamp(26px,4.5vw,68px)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,72 L0,46 C240,18 520,8 820,30 C1080,49 1290,58 1440,30 L1440,72 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,72 L0,46 C240,18 520,8 820,30 C1080,49 1290,58 1440,30 L1440,72 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.elementor-shape-bottom .elementor-shape-fill{transform:scaleY(16)!important;transform-origin:50% 0!important}
/* Lainaukset: lainauksen ja nimen väliin ilmaa (p:last-child nollasi marginaalin) */
.ej-inline-quote blockquote p:last-child{margin-bottom:.9rem}
.ej-quote-small blockquote p:last-child{margin-bottom:.45rem}
.ej-oldquote blockquote p:last-child{margin-bottom:1rem}
.ej-oldquote cite{display:block;line-height:1.45}
/* Ingressin ja leipätekstin väli; alasivun otsikon ja ingressin väli */
.ej-lead:not(:last-child){margin-bottom:.75rem}
.ej-pagehead .elementor-widget-heading{margin-bottom:.5rem}
/* CTA-otsikko kahdelle riville kuten HTML-versiossa, jolloin kaista ja kitara saavat mittansa */
.ej-cta h2.elementor-heading-title{max-width:20ch}
/* "Lue koko suositus": + / – tekstin perään, kolmio pois; lyhyt lainaus piiloon kun koko teksti on auki */
.ej-quote-more .elementor-toggle-icon{display:none}
.ej-quote-more .elementor-tab-title a:after{content:"+";display:inline-block;margin-left:.4em}
.ej-quote-more .elementor-tab-title.elementor-active a:after{content:"\2013"}
.ej-quote:has(.ej-quote-more .elementor-active) .ej-quote-lead{display:none}
/* Tilaa keikka -sivupalkki: ryhmien väliin ilmaa */
.ej-aside .elementor-widget-heading:not(:first-child){margin-top:1.25rem}

/* Elementorin oma sääntö on tarkempi, siksi !important */
.ej-quote-more .elementor-tab-title .elementor-toggle-icon{display:none!important}
/* Ingressin jälkeen enemmän ilmaa (HTML-version mitta) */
.ej-lead:not(:last-child){margin-bottom:1.2rem}
/* Mobiilivalikon napissa näkyvä sana kuten HTML-versiossa */
.ej-nav .elementor-menu-toggle{gap:.5rem}
.ej-nav .elementor-menu-toggle:after{content:attr(data-open);font:700 1rem/1 var(--e-global-typography-secondary-font-family),sans-serif}

/* Somelinkit ja sähköposti ikoneilla (Icon List -widget, Elementor piirtää ikonit inline-SVG:nä) */
.ej-iconlist{font-family:var(--e-global-typography-secondary-font-family),sans-serif}
.ej-iconlist .elementor-icon-list-items{display:grid;gap:.3rem}
.ej-iconlist .elementor-icon-list-item{padding:0!important;margin:0!important}
.ej-iconlist .elementor-icon-list-item>a{display:inline-flex;align-items:center;gap:.65rem;min-height:32px;width:auto}
.ej-iconlist .elementor-icon-list-icon{display:inline-flex;flex:none;width:1.15rem;color:var(--e-global-color-secondary);transition:color .2s}
.ej-iconlist .elementor-icon-list-icon svg{fill:currentColor;width:1.15rem;height:1.15rem}
.ej-iconlist .elementor-icon-list-text{padding:0!important;text-underline-offset:.25em}
.elementor-element.ej-iconlist .elementor-icon-list-item>a,.elementor-element.ej-iconlist .elementor-icon-list-item>.elementor-icon-list-text{font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.05rem;line-height:calc(1.65 * var(--e-global-typography-text-font-size))}
.elementor-element.ej-iconlist .elementor-icon-list-text{color:var(--e-global-color-text)}
.ej-iconlist a:hover .elementor-icon-list-text{text-decoration:underline}
.ej-iconlist a:hover .elementor-icon-list-icon{color:var(--e-global-color-primary)}
.ej-footer .ej-iconlist .elementor-icon-list-icon{color:var(--e-global-color-accent)}
.ej-footer .ej-iconlist .elementor-icon-list-text{color:var(--e-global-color-usva)}
.ej-footer .ej-iconlist .elementor-icon-list-item>a{font-size:1rem}
.ej-footer .ej-iconlist a:hover .elementor-icon-list-icon{color:var(--e-global-color-meripihkahover)}
/* Galleria: hienovarainen hover kuten HTML-versiossa */
.ej-gallery .e-gallery-image{transition:opacity .25s,transform .6s var(--ej-ease)}
.ej-gallery a:hover .e-gallery-image{opacity:.88}
.ej-gallery a:focus-visible{outline:3px solid var(--e-global-color-secondary);outline-offset:3px}
/* Ikonin väri: Elementorin globaali icon-list-väri on samaa tarkkuutta ja ladataan myöhemmin → !important (ikoni, ei tekstiä) */
.ej-iconlist .elementor-icon-list-icon svg{fill:currentColor!important}
/* Ikonit 18 px, rivitys samaan rytmiin kuin Sivut-palsta */
.ej-iconlist{--e-icon-list-icon-size:18px}
.ej-iconlist .elementor-icon-list-icon,.ej-iconlist .elementor-icon-list-icon svg{width:18px!important;height:18px!important}
.ej-iconlist .elementor-icon-list-item>a{min-height:28px}

/* Tilaisuudet kuvituksin (Trubaduuri-sivu): 5 Icon Box -widgettiä, kuvitukset art/juhlan-kaiku.md + tools/occasion_art.py */
.ej-occasions-grid{display:flex!important;flex-wrap:wrap!important;justify-content:center;margin-top:1.75rem;border-block:1px solid var(--ej-rule)}
.ej-occasions-grid>.ej-occ{flex:0 0 20%;max-width:20%;padding:2.25rem 1rem 2rem}
.ej-occasions-grid>.ej-occ+.ej-occ{border-left:1px solid var(--ej-rule)}
.ej-occ .elementor-icon-box-wrapper{display:flex!important;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.ej-occ .elementor-icon-box-icon{margin:0!important}
.ej-occ .elementor-icon{display:block;font-size:0;line-height:0}
.ej-occ .elementor-icon svg{width:136px!important;height:136px!important}
.elementor-element.ej-occ .elementor-icon-box-title{margin:0;font-family:var(--e-global-typography-primary-font-family),serif;font-weight:400;font-size:clamp(1.15rem,1rem + .45vw,1.4rem);line-height:1.3;color:var(--e-global-color-text);text-wrap:balance}
@media(max-width:1024px){
 .ej-occasions-grid>.ej-occ{flex-basis:33.333%;max-width:33.333%;padding:1.75rem .75rem}
 .ej-occasions-grid>.ej-occ+.ej-occ{border-left:0}
 .ej-occ .elementor-icon svg{width:112px!important;height:112px!important}
}
@media(max-width:599px){
 .ej-occasions-grid{margin-top:1.25rem}
 .ej-occasions-grid>.ej-occ{flex-basis:100%;max-width:100%;padding:.75rem 0}
 .ej-occasions-grid>.ej-occ+.ej-occ{border-top:1px solid var(--ej-rule)}
 .ej-occ .elementor-icon-box-wrapper{flex-direction:row;justify-content:flex-start;gap:1rem;text-align:left}
 .ej-occ .elementor-icon svg{width:76px!important;height:76px!important}
}
/* Pitkä sähköpostiosoite saa rivittyä kapeassa alatunnistesarakkeessa (tabletti) */
.ej-iconlist .elementor-icon-list-item>a{max-width:100%}
.ej-iconlist .elementor-icon-list-text{min-width:0;overflow-wrap:anywhere}
/* Tilaisuuskuvitukset keskelle saraketta */
.ej-occ .elementor-icon-box-icon{display:flex!important;justify-content:center;width:100%}
@media(max-width:599px){.ej-occ .elementor-icon-box-icon{width:auto;flex:none}}
/* Mobiili: kuvitus vasemmalle, teksti oikealle (Elementorin mobiilisääntö on tarkempi → !important) */
@media(max-width:599px){.ej-occ .elementor-icon-box-wrapper{flex-direction:row!important;justify-content:flex-start!important;text-align:left!important}.ej-occ .elementor-icon-box-content{text-align:left}}
/* Etusivun Seuraavat keikat: valosarja (juhlan kaiku, fig. 05) tyhjälle oikealle puolelle, vain leveillä näytöillä */
.ej-side-art{position:absolute!important;top:50%;right:max(var(--ej-gutter),calc((100% - 1200px)/2 + 1rem));width:min(30vw,380px)!important;transform:translateY(-58%);pointer-events:none;z-index:0;margin:0!important}
.ej-side-art img{display:block;width:100%!important;height:auto!important}
@media(max-width:1099px){.ej-side-art{display:none!important}}
@media(max-width:599px){.ej-occ .elementor-icon-box-wrapper{align-items:center!important}}
.ej-side-art{width:min(26vw,330px)!important;opacity:.9}

/* Puhelimen valikko: koko näytön paneeli (≤1024 px, jolloin Elementor näyttää valikkonapin). Logiikka wp/site.js mobileMenu */
@media(max-width:1024px){
 .ej-nav .elementor-menu-toggle.elementor-active:after{content:attr(data-close)}
 html.ej-menu-open,html.ej-menu-open body{overflow:hidden}
 html.ej-menu-open body.home .ej-header .ej-logo{visibility:visible}
 .ej-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{position:fixed!important;top:var(--ej-menu-top,58px)!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important;transform:none!important;background:var(--e-global-color-primary)!important;border-top:1px solid rgba(162,170,155,.18);overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding:1rem var(--ej-gutter) calc(2rem + env(safe-area-inset-bottom));display:flex!important;flex-direction:column;z-index:30;opacity:0;visibility:hidden;transition:opacity .28s var(--ej-ease),visibility 0s linear .28s}
 .ej-nav .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu__container{opacity:1;visibility:visible;transition:opacity .28s var(--ej-ease),visibility 0s}
 .ej-nav .elementor-nav-menu--dropdown .elementor-nav-menu{counter-reset:ejnav;position:relative;z-index:1;display:flex!important;flex-direction:column;width:100%;max-width:34rem}
 .ej-nav .elementor-nav-menu--dropdown li{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ej-ease),transform .5s var(--ej-ease)}
 .ej-nav .elementor-menu-toggle.elementor-active+nav li{opacity:1;transform:none}
 .ej-nav .elementor-menu-toggle.elementor-active+nav li:nth-child(2){transition-delay:.04s}
 .ej-nav .elementor-menu-toggle.elementor-active+nav li:nth-child(3){transition-delay:.08s}
 .ej-nav .elementor-menu-toggle.elementor-active+nav li:nth-child(4){transition-delay:.12s}
 .ej-nav .elementor-menu-toggle.elementor-active+nav li:nth-child(5){transition-delay:.16s}
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item{display:flex!important;align-items:baseline;gap:1rem;line-height:1.2;letter-spacing:0;padding:.85rem 0!important;border:0!important;border-bottom:1px solid rgba(162,170,155,.18)!important;background:none!important;text-decoration:none!important;transition:color .2s,padding-left .3s var(--ej-ease)}
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:before{counter-increment:ejnav;content:counter(ejnav,decimal-leading-zero);flex:none;min-width:1.75rem;font:500 .8rem/1 var(--e-global-typography-secondary-font-family),sans-serif;letter-spacing:.1em;color:var(--e-global-color-kivi)}
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:hover,.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:focus-visible{padding-left:.35rem!important}
 .ej-nav .elementor-nav-menu--dropdown li.current-menu-item>a.elementor-item:before{color:var(--e-global-color-accent)}
 .ej-nav .elementor-nav-menu--dropdown li.nav-cta{margin-top:1.75rem}
 .ej-nav .elementor-nav-menu--dropdown li.nav-cta>a.elementor-item{display:flex!important;justify-content:center;align-items:center;min-height:56px;background:var(--e-global-color-accent)!important;border:0!important;border-radius:999px;padding:1rem 1.5rem!important;text-decoration:none!important;box-shadow:none!important}
 .ej-nav .elementor-nav-menu--dropdown li.nav-cta>a.elementor-item:hover{background:var(--e-global-color-meripihkahover)!important}
 /* Tilaa keikka -nappi valikossa: kohtakohtainen poikkeus widgetin Dropdown-asetuksiin (0,5,2 vs widgetin 0,5,0, ks. yläpalkin sama sääntö) */
 .elementor-widget-nav-menu.ej-nav .elementor-nav-menu--dropdown li.nav-cta>a.elementor-item,.elementor-widget-nav-menu.ej-nav .elementor-nav-menu--dropdown li.nav-cta>a.elementor-item:is(:hover,:focus,.elementor-item-active,.highlighted){color:var(--e-global-color-text);font:700 1.15rem var(--e-global-typography-accent-font-family),sans-serif}
 .ej-menu-extra{position:relative;z-index:1;margin-top:auto;padding-top:2.25rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;opacity:0;transition:opacity .5s var(--ej-ease) .2s}
 .ej-menu-open .ej-menu-extra{opacity:1}
 .ej-menu-extra .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:.25rem 1.25rem}
 .ej-menu-extra .ej-iconlist .elementor-icon-list-text{color:var(--e-global-color-usva)}
 .ej-menu-extra .ej-iconlist .elementor-icon-list-item>a{font-size:1rem}
 .ej-menu-extra .elementor-icon-list-icon{color:var(--e-global-color-accent)!important}
 .ej-menu-extra .elementor-icon-list-item>a{min-height:44px}
 .ej-menu-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
 .ej-menu-art .ej-guitar{position:absolute;right:-6%;bottom:-12%;height:78%;transform:rotate(-24deg);opacity:.13}
}
@media(max-width:1024px) and (prefers-reduced-motion:reduce){
 .ej-nav nav.elementor-nav-menu--dropdown,.ej-nav .elementor-nav-menu--dropdown li,.ej-menu-extra{transition:none!important}
}
@media(max-width:1024px){
 /* Elementorin osoitin-efekti käyttää ::before-elementtiä absoluuttisesti → numeroinnille oma, staattinen asettelu */
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:before{position:static!important;display:inline-block!important;width:auto!important;height:auto!important;inset:auto!important;background:none!important;opacity:1!important;transform:none!important;border:0!important;margin:0!important}
 .ej-nav .elementor-nav-menu--dropdown li>a.elementor-item:after{display:none!important}
 /* Yhteystiedot: somet pyöreinä ikoninappeina rivissä, sähköposti alle */
 .ej-menu-extra{flex-direction:column;gap:1rem}
 .ej-menu-extra .elementor-icon-list-item{border:0!important}
 .ej-menu-extra .elementor-icon-list-item:after{display:none!important}
 .ej-menu-extra .ej-iconlist:first-child .elementor-icon-list-items{gap:.75rem}
 .ej-menu-extra .ej-iconlist:first-child .elementor-icon-list-item>a{width:48px;height:48px;justify-content:center;border:1px solid rgba(162,170,155,.35);border-radius:50%;transition:border-color .2s,background-color .2s}
 .ej-menu-extra .ej-iconlist:first-child .elementor-icon-list-item>a:hover{border-color:var(--e-global-color-accent);background:rgba(210,148,69,.08)}
 .ej-menu-extra .ej-iconlist:first-child .elementor-icon-list-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:1024px){.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:before{font-variant-numeric:lining-nums tabular-nums}}
/* Valikon hover ilman asettelua liikuttavaa animaatiota (padding-left pois): väri + numeron korostus */
@media(max-width:1024px){
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item{transition:color .2s!important}
 .ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:hover,.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:focus-visible{padding-left:0!important}
}
.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:hover:before,.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:focus-visible:before{color:var(--e-global-color-accent)}

/* Alasivujen kevennetty hero: etusivun hero-perhe ilman nimikirjoitusta (kuva reunaan asti + häivytys, ~64 % näytöstä) */
.ej-subhero{min-height:min(66vh,660px);overflow:hidden}
.ej-subhero-text{position:relative;z-index:3;justify-content:center!important;gap:0!important;padding:clamp(3rem,7vh,5rem) 2.5rem calc(clamp(3rem,7vh,5rem) + 3.5rem) max(var(--ej-gutter),calc((100vw - 1200px)/2))!important}
.ej-subhero .ej-subhero-text h1.elementor-heading-title{font-size:clamp(2.6rem,1.6rem + 3.2vw,4.25rem);line-height:1.05;max-width:14ch}
.ej-subhero .ej-subhero-text .elementor-widget-heading{margin-bottom:1rem}
.ej-subhero .ej-subhero-text .ej-lead{max-width:38ch}
.ej-subhero-text .ej-lead{color:var(--e-global-color-usva)}
.ej-subhero .ej-subhero-text .ej-lead p{opacity:.86}
.ej-subhero .ej-subhero-text .elementor-widget-button{margin-top:1.75rem}
.ej-subhero-photo{position:relative;min-height:340px;padding:0!important;overflow:hidden}
.ej-subhero-photo .elementor-widget-image{position:absolute!important;inset:0;margin:0!important}
.ej-subhero-photo .elementor-widget-image img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover;object-position:50% 38%}
@media(min-width:1025px){.ej-subhero-photo:before{content:"";position:absolute;inset:0 auto 0 0;width:42%;z-index:2;background:linear-gradient(to right,var(--e-global-color-primary),rgba(29,38,32,0))}}
@media(max-width:1024px){
 .ej-subhero{min-height:0}
 .ej-subhero-photo{width:100%!important;aspect-ratio:4/3;max-height:58vh;min-height:0}
 .ej-subhero-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:50%;z-index:2;background:linear-gradient(to top,var(--e-global-color-primary),rgba(29,38,32,0))}
 .ej-subhero-text{width:100%!important;margin-top:-3rem;padding:0 var(--ej-gutter) calc(2.5rem + 2.75rem)!important}
}
/* Valikon numerointi pois: järjestys ei kerro lukijalle mitään (impeccable craft-floor) */
@media(max-width:1024px){.ej-nav .elementor-nav-menu--dropdown li:not(.nav-cta)>a.elementor-item:before{content:none!important;display:none!important}}
/* Matalampi alasivun hero (Tilaa keikka, Tietosuoja): sisältö näkyy heti */
.ej-subhero--low{min-height:min(48vh,460px)}
.ej-subhero--low .ej-subhero-text{padding-top:clamp(2.5rem,5vh,3.5rem)!important;padding-bottom:calc(clamp(2.5rem,5vh,3.5rem) + 3rem)!important}
.ej-subhero--low .ej-subhero-text h1.elementor-heading-title{font-size:clamp(2.4rem,1.6rem + 2.6vw,3.6rem);max-width:none}
@media(max-width:1024px){.ej-subhero--low .ej-subhero-photo{aspect-ratio:16/9;max-height:36vh}}
/* Pitkä hero-otsikko (Trubaduuri): pienempi koko ja leveämpi rivi, jotta otsikko jää 3 riviin kuten HTML-versiossa */
.ej-subhero--long .ej-subhero-text h1.elementor-heading-title{font-size:clamp(2.1rem,1.4rem + 2.4vw,3.4rem);max-width:20ch;line-height:1.1}
/* Tilaa keikka: ej-90-sivukuva rajataan yläreunasta, ettei rajaus leikkaa silmistä */
.elementor-element-8651bdf img{object-position:50% 0}
/* Etusivun suosittelut: vanhan sivun suosittelut (Parkkinen, Tissari, Funke) samassa osiossa ohuen viivan alla (Emma 10.10.: tilaajat + yhteistyökumppanit yhteen) */
.ej-quotes-more{margin-top:1rem!important;padding-top:2.75rem!important;border-top:1px solid var(--ej-rule)}
@media(max-width:767px){.ej-quotes-more{padding-top:2rem!important}}
/* Keikkalista ja varauskalenteri (katkelma #165, The Events Calendar). Teeman (Hello) taulukko- ja nappityylit nollataan. */
.ej-gigs-empty{color:var(--e-global-color-secondary);font-family:var(--e-global-typography-secondary-font-family),sans-serif;font-size:1.1rem;margin:0}
.ej-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ej-cal{max-width:21.5rem;font-family:var(--e-global-typography-secondary-font-family),sans-serif;color:var(--e-global-color-text)}
.ej-cal-month{width:100%;margin:0!important;border:0!important;border-collapse:collapse;table-layout:fixed;background:none!important}
.ej-cal-month+.ej-cal-month{margin-top:1.5rem!important}
.ej-cal-month caption{caption-side:top;text-align:left;font-weight:700;font-size:1.05rem;padding:0 0 .5rem}
.ej-cal.is-ready .ej-cal-month caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ej-cal-month th,.ej-cal-month td{border:0!important;background:none!important;padding:2px 0!important;text-align:center;vertical-align:middle;line-height:1}
.ej-cal-month th{font-weight:500;font-size:.8rem;color:var(--e-global-color-secondary);padding-bottom:.4rem!important}
.ej-cal-month td>span:first-child{display:grid;place-items:center;width:2.25rem;height:2.25rem;margin:0 auto;border-radius:50%;font-size:.95rem;font-variant-numeric:lining-nums tabular-nums}
.ej-cal-month td.is-booked>span:first-child{background:var(--e-global-color-primary);color:var(--e-global-color-usva);font-weight:700}
.ej-cal-month td.is-today>span:first-child{box-shadow:inset 0 0 0 2px var(--e-global-color-accent)}
.ej-cal-month td.is-past{opacity:.4}
.ej-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}
.ej-cal-title{margin:0!important;font-weight:700;font-size:1.1rem}
.ej-cal .ej-cal-btn{display:grid;place-items:center;width:44px;height:44px;padding:0!important;border:1.5px solid var(--e-global-color-secondary)!important;border-radius:50%!important;background:transparent!important;color:var(--e-global-color-text);font:400 1.6rem/1 var(--e-global-typography-secondary-font-family),sans-serif;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.ej-cal .ej-cal-btn:hover:not(:disabled){background:var(--e-global-color-primary)!important;border-color:var(--e-global-color-primary)!important;color:var(--e-global-color-usva)}
.ej-cal .ej-cal-btn:disabled{opacity:.3;cursor:default}
.ej-cal-legend{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 0!important;font-size:.95rem;color:var(--e-global-color-secondary)}
.ej-cal-dot{flex:none;width:.95rem;height:.95rem;border-radius:50%;background:var(--e-global-color-primary)}
/* Puhelin ja tabletti: kalenteri avautuu lomakkeen yläpuolelta */
.ej-cal-details{border-block:1px solid var(--ej-rule);margin-bottom:.5rem}
.ej-cal-details summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;cursor:pointer;list-style:none;font:700 1.05rem var(--e-global-typography-secondary-font-family),sans-serif;color:var(--e-global-color-text)}
.ej-cal-details summary::-webkit-details-marker{display:none}
.ej-cal-details summary:after{content:"+";font-size:1.5rem;font-weight:400;line-height:1;color:var(--e-global-color-secondary)}
.ej-cal-details[open] summary:after{content:"\2013"}
.ej-cal-details .ej-cal{padding:.25rem 0 1.25rem}
/* Keikat-sivu: viimeisimmät keikat tulevien alla, hillitympänä */
.ej-gigs-past-head{margin-top:2.5rem!important}
.ej-gigs-past .gig-date{font-size:1.6rem}
.ej-gigs-past .gig-venue{font-size:1.1rem}
/* Global Fonts: kun widgetin tai kitin Body-perhe on Oletus, perhe tulee globaalista. Koko ja paino jäävät widgetin
   asetuksiin. Widgetissä valittu perhe voittaa (0,5,0 / 0,4,0 > 0,4,0 / 0,3,0), kitin Body- ja H1-H3-perhe (0,1,0 / 0,1,1)
   voittaa html body -säännöt. H1-H3 kattaa tekstieditorin otsikot (esim. Tietosuoja), kuten kitin Otsikot-asetus ennen. */
.elementor-widget-nav-menu.ej-nav .elementor-nav-menu--main .elementor-item{font-family:var(--e-global-typography-secondary-font-family),sans-serif}
.elementor-widget-nav-menu.ej-nav .elementor-nav-menu--dropdown .elementor-item{font-family:var(--e-global-typography-primary-font-family),sans-serif}
.elementor-widget-heading.ej-logo .elementor-heading-title{font-family:var(--e-global-typography-nimikirjoitus-font-family),sans-serif}
html body{font-family:var(--e-global-typography-text-font-family),sans-serif}
html body :is(h1,h2,h3){font-family:var(--e-global-typography-primary-font-family),sans-serif}/* End custom CSS */