.elementor-kit-13{--e-global-color-primary:#F8F6F2;--e-global-color-secondary:#181C1A;--e-global-color-text:#D2D6CF;--e-global-color-accent:#737F35;--e-global-color-emsurface:#232925;--e-global-color-emlight:#F8F6F2;--e-global-color-emmuted:#AAB2A8;--e-global-color-emborder:#3C443C;--e-global-color-emink:#080B02;--e-global-color-a728595:#B0BE67;--e-global-color-67d42f5:#101312;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.12em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.4em;--e-global-typography-emh3-font-family:"Montserrat";--e-global-typography-emh3-font-size:23px;--e-global-typography-emh3-font-weight:600;--e-global-typography-emh3-line-height:1.3em;--e-global-typography-emsmall-font-family:"Montserrat";--e-global-typography-emsmall-font-size:13px;--e-global-typography-emsmall-font-weight:400;--e-global-typography-emsmall-line-height:1.6em;--e-global-typography-emnav-font-family:"Montserrat";--e-global-typography-emnav-font-size:13px;--e-global-typography-emnav-font-weight:500;--e-global-typography-emnav-line-height:1.4em;--e-global-typography-emlabel-font-family:"Montserrat";--e-global-typography-emlabel-font-size:12px;--e-global-typography-emlabel-font-weight:600;--e-global-typography-emlabel-line-height:1.5em;--e-global-typography-emeditorial-font-family:"Cormorant Garamond";--e-global-typography-emeditorial-font-size:50px;--e-global-typography-emeditorial-font-weight:500;--e-global-typography-emeditorial-line-height:1.16em;--e-global-typography-emh4-font-family:"Montserrat";--e-global-typography-emh4-font-size:20px;--e-global-typography-emh4-font-weight:600;--e-global-typography-emh4-line-height:1.3em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-13 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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);}@media(max-width:1024px){.elementor-kit-13{--e-global-typography-primary-font-size:46px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:14px;--e-global-typography-emh3-font-size:22px;--e-global-typography-emsmall-font-size:13px;--e-global-typography-emnav-font-size:14px;--e-global-typography-emlabel-font-size:12px;--e-global-typography-emeditorial-font-size:42px;--e-global-typography-emh4-font-size:20px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-13{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:28px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:14px;--e-global-typography-emh3-font-size:21px;--e-global-typography-emsmall-font-size:13px;--e-global-typography-emnav-font-size:16px;--e-global-typography-emlabel-font-size:12px;--e-global-typography-emeditorial-font-size:34px;--e-global-typography-emh4-font-size:19px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ELEON MEDIA — RESPONSIVE FOUNDATION V2
 * REPLACE the entire Site Settings > Custom CSS field with this file.
 * All page backgrounds belong to OUTER; width classes belong to INNER only.
 * Native Elementor variable names are not used for our design tokens.
 */
:root {
    --em-page-gutter: clamp(20px, 3.5vw, 64px);
    --em-section-tight: clamp(32px, 4vw, 72px);
    --em-section-default: clamp(48px, 5.5vw, 96px);
    --em-section-large: clamp(64px, 7vw, 128px);
    --em-content-main: 1440px;
    --em-content-wide: 1800px;
    --em-content-tight: 1400px;
    --em-content-text: 760px;
    --em-header-height: 88px;
}
/* 1. Full-width OUTER sections. No viewport-width or negative-margin hacks.
 * Elementor Full Width page template removes the theme's content wrapper.
 * section-adjustable is included ONLY in width rules, never padding rules.
 */
.elementor .e-con.section-default,
.elementor .e-con.section-tight,
.elementor .e-con.section-large,
.elementor .e-con.section-adjustable,
.elementor .e-con.section-no-top {
    --width: 100%;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    align-self: stretch;
    box-sizing: border-box;
}
.elementor .e-con.section-default {
    --padding-top: var(--em-section-default);
    --padding-bottom: var(--em-section-default);
    --padding-left: 0px;
    --padding-right: 0px;
}
.elementor .e-con.section-tight {
    --padding-top: var(--em-section-tight);
    --padding-bottom: var(--em-section-tight);
    --padding-left: 0px;
    --padding-right: 0px;
}
.elementor .e-con.section-large {
    --padding-top: var(--em-section-large);
    --padding-bottom: var(--em-section-large);
    --padding-left: 0px;
    --padding-right: 0px;
}
.elementor .e-con.section-no-top {
    --padding-top: 0px;
    --padding-bottom: var(--em-section-default);
    --padding-left: 0px;
    --padding-right: 0px;
}
/* 2. INNER width system. Gutters sit OUTSIDE the content max-width.
 * A 1920px viewport therefore has 1600px of usable main content.
 * Change exactly one content-* class; no width overrides in templates.
 */
.elementor .e-con.content-main,
.elementor .e-con.content-wide,
.elementor .e-con.content-tight,
.elementor .e-con.content-text,
.elementor .e-con.content-full,
.elementor .e-con.content-header {
    --width: calc(100% - var(--em-page-gutter) - var(--em-page-gutter));
    width: var(--width);
    margin-left: auto;
    margin-right: auto;
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
    box-sizing: border-box;
}
.elementor .e-con.content-main { max-width: var(--em-content-main); }
.elementor .e-con.content-wide { max-width: var(--em-content-wide); }
.elementor .e-con.content-tight { max-width: var(--em-content-tight); }
.elementor .e-con.content-text { max-width: var(--em-content-text); }
.elementor .e-con.content-full { max-width: none; }
.elementor .e-con.content-header {
    --width: calc(100% - 40px);
    max-width: var(--em-content-main);
}
/* Long prose stays readable inside wider layouts; cards use native Grid. */
.elementor .elementor-widget.em-reading,
.elementor .e-con.em-reading { max-width: var(--em-content-text); }
.elementor .em-reading-center { margin-left: auto; margin-right: auto; }
/* Reserve overlay header space on first section only. */
.elementor .e-con.em-hero {
    --padding-top: calc(var(--em-section-default) + var(--em-header-height));
}
/* 3. Header: native Elementor Pro sticky + WordPress Menu widget.
 * Native breakpoint is Tablet=1199; CSS uses the same exact boundary.
 * Inline mobile dropdown is non-modal and scrollable, not a full-screen dialog.
 */
.elementor-location-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 1000; }
body.admin-bar .elementor-location-header { top: 32px; }
.elementor .e-con.em-header {
    min-height: var(--em-header-height);
    background: transparent;
    isolation: isolate;
    transition: background-color .2s ease, box-shadow .2s ease;
}
.elementor .em-header.elementor-sticky--effects {
    background: var(--e-global-color-secondary);
    box-shadow: 0 1px 0 var(--e-global-color-emborder);
}
/* The glass tint uses the same Global Background via a translucent layer. */
.elementor .em-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--e-global-color-secondary);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
@supports (backdrop-filter: blur(1px)) {
    .elementor .em-header.elementor-sticky--effects {
        background: transparent;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }
    .elementor .em-header.elementor-sticky--effects::before { opacity: .88; }
}
.elementor .e-con.em-header-logo { --width: 148px; flex: 0 0 148px; }
.elementor .e-con.em-header-navigation { --width: auto; flex: 1 1 auto; }
.elementor .e-con.em-header-cta { --width: auto; flex: 0 0 auto; }
.elementor .em-header-cta .elementor-button {
    white-space: nowrap;
    padding: 15px 16px;
}
.elementor .em-main-nav .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: nowrap;
    justify-content: center;
}
.elementor .em-main-nav .elementor-nav-menu--main .elementor-item {
    white-space: nowrap;
    padding-left: 0;
    padding-right: 0;
}
.elementor .em-main-nav .elementor-nav-menu--main > ul > li + li {
    margin-left: clamp(10px, 1vw, 18px);
}
.elementor .em-main-nav .elementor-nav-menu--main .sub-arrow { padding-left: 5px; }
.elementor .em-main-nav .elementor-nav-menu--main .em-menu-booking { display: none; }
.elementor .em-main-nav .elementor-menu-toggle::before {
    content: "VALIKKO";
    font-family: var(--e-global-typography-emnav-font-family), sans-serif;
    font-size: 14px;
    font-weight: 600;
    margin-right: 10px;
}
.elementor .em-main-nav .elementor-menu-toggle.elementor-active::before { content: "SULJE"; }
.elementor .em-main-nav .elementor-menu-toggle { min-height: 44px; }
/* Button hover derives from Accent. No separate fixed olive hover color. */
.elementor .em-accent-button .elementor-button:hover,
.elementor .em-accent-button .elementor-button:focus-visible {
    background-color: var(--e-global-color-accent);
    background-image: linear-gradient(rgba(0, 0, 0, .14), rgba(0, 0, 0, .14));
}
@media (min-width: 1200px) {
    .elementor .em-main-nav .elementor-menu-toggle,
    .elementor .em-main-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none; }
}
@media (max-width: 1199px) {
    :root { --em-header-height: 60px; }
    .elementor .e-con.em-header-cta { display: none; }
    .elementor .em-main-nav .elementor-nav-menu--main { display: none; }
    .elementor .em-main-nav .elementor-menu-toggle { display: flex; margin-left: auto; width: fit-content; }
    /* Attach native dropdown to full-width HEADER - OUTER, not nav column. */
    .elementor .em-header .content-header,
    .elementor .em-header-navigation,
    .elementor .em-main-nav,
    .elementor .em-main-nav > .elementor-widget-container { position: static; }
    .elementor .em-main-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        margin-top: 0;
        max-height: calc(100vh - var(--em-header-height) - 46px);
        max-height: calc(100dvh - var(--em-header-height) - 46px);
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--e-global-color-secondary);
        border-top: 1px solid var(--e-global-color-emborder);
    }
    .elementor .em-main-nav .elementor-nav-menu--dropdown .elementor-item,
    .elementor .em-main-nav .elementor-nav-menu--dropdown .elementor-sub-item {
        min-height: 48px;
        white-space: normal;
        overflow-wrap: anywhere;
        padding: 16px 20px;
        border-bottom: 1px solid var(--e-global-color-emborder);
    }
    .elementor .em-main-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
        padding-left: 36px;
    }
    .elementor .em-main-nav .elementor-nav-menu--dropdown .em-menu-booking { padding: 20px; }
    .elementor .em-main-nav .elementor-nav-menu--dropdown .em-menu-booking > a {
        justify-content: center;
        background: var(--e-global-color-accent);
        color: var(--e-global-color-emink);
        border: 0;
        border-radius: 6px;
        font-weight: 600;
        text-align: center;
    }
    .elementor .em-main-nav .elementor-nav-menu--dropdown .em-menu-booking > a:hover {
        background-image: linear-gradient(rgba(0, 0, 0, .14), rgba(0, 0, 0, .14));
    }
}
@media (max-width: 782px) {
    body.admin-bar .elementor-location-header { top: 46px; }
}
@media (max-width: 767px) {
    :root { --em-page-gutter: 20px; }
    .elementor .e-con.em-header-logo { --width: 132px; flex-basis: 132px; }
}
/* 4. Text, focus, images and links. Global typography remains in the kit. */
/* Remove default paragraph spacing inside Elementor Text Editor */
.elementor-widget-text-editor p {
    margin-block-start: 0;
    margin-block-end: 0;
}
.elementor .e-con, .elementor .elementor-widget { min-width: 0; }
.elementor .elementor-heading-title { overflow-wrap: break-word; hyphens: auto; }
.elementor .elementor-button { max-width: 100%; white-space: normal; }
.elementor .elementor-button-content-wrapper { align-items: center; }
.elementor .elementor-button-text { overflow-wrap: anywhere; }
.elementor .elementor-widget-image img { max-width: 100%; height: auto; }
.elementor-widget-text-editor a, .em-prose a {
    color: var(--e-global-color-primary);
    text-decoration: underline;
    text-underline-offset: .2em;
}
.elementor-widget-text-editor a:hover, .em-prose a:hover { text-decoration-thickness: 2px; }
.elementor a:focus-visible, .elementor button:focus-visible,
.elementor [tabindex]:focus-visible, .dialog-close-button:focus-visible {
    outline: 2px solid var(--e-global-color-primary);
    outline-offset: 4px;
}
/* 5. One shared booking popup and one responsive iframe. */
.em-cal-frame {
    display: block;
    width: 100%;
    height: 68vh;
    height: 68dvh;
    max-height: 680px;
    border: 0;
    background: var(--e-global-color-secondary);
}
/* 6. Dynamic WordPress post content. */
.em-prose { color: var(--e-global-color-text); overflow-wrap: anywhere; }
.em-prose h2, .em-prose h3, .em-prose h4 {
    color: var(--e-global-color-primary);
    margin-block: 1.4em .5em;
}
.em-prose h2 {
    font-family: var(--e-global-typography-secondary-font-family), sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
}
.em-prose h3 {
    font-family: var(--e-global-typography-emh3-font-family), sans-serif;
    font-size: var(--e-global-typography-emh3-font-size);
    font-weight: var(--e-global-typography-emh3-font-weight);
    line-height: var(--e-global-typography-emh3-line-height);
}
.em-prose h4 {
    font-family: var(--e-global-typography-emh4-font-family), sans-serif;
    font-size: var(--e-global-typography-emh4-font-size);
    font-weight: var(--e-global-typography-emh4-font-weight);
    line-height: var(--e-global-typography-emh4-line-height);
}
.em-prose p + p { margin-block-start: 1em; }
.em-prose img { max-width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) {
    .elementor *, .elementor *::before, .elementor *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}/* =========================================
   ELEON MEDIA – EARLY TABLET SYSTEM
   ========================================= */

/* 1. EARLY TABLET – 1025–1199px */

@media (min-width: 1025px) and (max-width: 1199px) {

    .elementor .e-con.tablet-early {
        --flex-direction: column !important;
        flex-direction: column !important;
    }

}


/* 2. PRICING CARDS – 768–1199px */

@media (min-width: 768px) and (max-width: 1199px) {

    .elementor .e-con.pricing-card {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

}/* End custom CSS */