.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1240 .elementor-element.elementor-element-1b0e91d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1240 .elementor-element.elementor-element-fc9c7fa{padding:50px 50px 50px 50px;font-family:"DM Sans", Sans-serif;font-size:20px;font-weight:300;line-height:40px;color:#000000;}body.elementor-page-1240:not(.elementor-motion-effects-element-type-background), body.elementor-page-1240 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF8ED;}@media(min-width:768px){.elementor-1240 .elementor-element.elementor-element-1b0e91d{--content-width:842px;}}@media(max-width:1366px){.elementor-1240 .elementor-element.elementor-element-1b0e91d{--padding-top:150px;--padding-bottom:150px;--padding-left:015px;--padding-right:015px;}}@media(max-width:767px){.elementor-1240 .elementor-element.elementor-element-1b0e91d{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-1240 .elementor-element.elementor-element-fc9c7fa{font-size:16px;line-height:1.5em;}}/* Start custom CSS for container, class: .elementor-element-1b0e91d *//* Uhmu / Elementor – Privacy Policy & Terms styling (MOBIILIOPTIMOITU) */
/* Lisää tämä Elementor (Site Settings → Custom CSS) tai WP (Ulkoasu → Mukauta → Lisä-CSS) */

.privacy-policy{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#2c3e50;
  line-height:1.8;
  font-size:16px;
  max-width:100%;
  overflow-wrap:anywhere; /* estää pitkien sanojen/linkkien ylivuodon */
}

.privacy-policy h1{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(28px,5vw,42px);
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:10px;
  line-height:1.2;
}
.privacy-policy .subtitle{
  font-size:clamp(14px,2.5vw,16px);
  color:#666;
  font-weight:400;
  margin-bottom:40px;
  display:block;
}

.privacy-policy h2{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(22px,4vw,32px);
  font-weight:700;
  color:#1a1a1a;
  margin-top:50px;
  margin-bottom:20px;
  line-height:1.3;
  border-bottom:2px solid #e8e8e8;
  padding-bottom:10px;
}
.privacy-policy h3{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(18px,3vw,24px);
  font-weight:600;
  color:#2c3e50;
  margin-top:35px;
  margin-bottom:15px;
  line-height:1.4;
}
.privacy-policy h4{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(16px,2.5vw,20px);
  font-weight:600;
  color:#34495e;
  margin-top:25px;
  margin-bottom:12px;
}

.privacy-policy p{
  margin-bottom:18px;
  font-size:clamp(15px,2vw,16px);
  line-height:1.8;
}
.privacy-policy ul,
.privacy-policy ol{
  margin-bottom:20px;
  padding-left:25px;
}
.privacy-policy li{
  margin-bottom:10px;
  font-size:clamp(15px,2vw,16px);
  line-height:1.7;
}
.privacy-policy strong{
  font-weight:600;
  color:#1a1a1a;
}

/* Linkit */
.privacy-policy a{
  color:#3498db;
  text-decoration:none;
  font-weight:500;
  transition:color .3s ease;
  word-break:break-word;
}
.privacy-policy a:hover{
  color:#2980b9;
  text-decoration:underline;
}

/* Boxit */
.privacy-policy .info-box{
  background:#f0f7ff;
  border-left:4px solid #3498db;
  padding:20px;
  margin:25px 0;
  border-radius:4px;
}
.privacy-policy .warning-box{
  background:#fff3cd;
  border-left:4px solid #ffc107;
  padding:20px;
  margin:25px 0;
  border-radius:4px;
}
.privacy-policy .success-box{
  background:#d4edda;
  border-left:4px solid #28a745;
  padding:20px;
  margin:25px 0;
  border-radius:4px;
}
.privacy-policy .danger-box{
  background:#f8d7da;
  border-left:4px solid #dc3545;
  padding:20px;
  margin:25px 0;
  border-radius:4px;
}

/* Kontaktibox */
.privacy-policy .contact-box{
  background:#f8f9fa;
  border:2px solid #3498db;
  border-radius:8px;
  padding:25px;
  margin:30px 0;
}
.privacy-policy .contact-box h3{
  margin-top:0;
  color:#3498db;
}

/* Yhteenveto-grid */
.privacy-policy .rights-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
  margin:30px 0;
}
.privacy-policy .rights-card{
  background:#fff;
  border:2px solid #e8e8e8;
  border-radius:8px;
  padding:20px;
  transition:all .3s ease;
}
.privacy-policy .rights-card:hover{
  border-color:#3498db;
  box-shadow:0 4px 12px rgba(52,152,219,.1);
  transform:translateY(-2px);
}
.privacy-policy .rights-card h4{
  margin-top:0;
  font-size:18px;
  color:#3498db;
}
.privacy-policy .rights-card p{
  margin-bottom:0;
  font-size:15px;
}

/* Ikonit (jos käytät) */
.privacy-policy .icon-heading{
  display:flex;
  align-items:center;
  gap:10px;
}
.privacy-policy .icon{ font-size:1.2em; }

/* Taulukot + wrapper */
.privacy-policy .table-wrapper{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:25px 0;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.privacy-policy table{
  width:100%;
  min-width:500px;
  border-collapse:collapse;
  background:#fff;
}
.privacy-policy th{
  background:#2c3e50;
  color:#fff;
  font-weight:600;
  padding:15px 12px;
  text-align:left;
  font-size:clamp(14px,2vw,15px);
  border:none;
}
.privacy-policy td{
  padding:12px;
  border-bottom:1px solid #e8e8e8;
  font-size:clamp(14px,2vw,15px);
}
.privacy-policy tr:last-child td{ border-bottom:none; }
.privacy-policy tr:hover{ background:#f8f9fa; }

/* Numeroidut osiot */
.privacy-policy .section-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#3498db;
  color:#fff;
  width:35px;
  height:35px;
  border-radius:50%;
  font-weight:700;
  margin-right:10px;
  font-size:18px;
  vertical-align:middle;
  flex:0 0 auto;
}

/* Tärkeät huomiot */
.privacy-policy .important-notice{
  background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
  color:#fff;
  padding:25px;
  border-radius:8px;
  margin:30px 0;
}
.privacy-policy .important-notice h3{
  color:#fff;
  margin-top:0;
}
.privacy-policy .important-notice p:last-child{ margin-bottom:0; }

/* ===== MOBIILI-OPTIMOINTI ===== */
@media (max-width:768px){
  .privacy-policy{ font-size:15px; }

  .privacy-policy h2{ margin-top:35px; }

  .privacy-policy ul,
  .privacy-policy ol{ padding-left:20px; }

  .privacy-policy .rights-grid{ grid-template-columns:1fr; }

  .privacy-policy th,
  .privacy-policy td{ padding:10px 8px; }

  .privacy-policy .icon-heading{
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
  }
}

/* Pienet puhelimet */
@media (max-width:480px){
  .privacy-policy{ font-size:14px; }

  .privacy-policy .info-box,
  .privacy-policy .warning-box,
  .privacy-policy .success-box,
  .privacy-policy .danger-box,
  .privacy-policy .contact-box{
    padding:15px;
  }

  .privacy-policy .section-number{
    width:30px;
    height:30px;
    font-size:16px;
  }

  /* Taulukko -> korttinäkymä mobiilissa (ei vaakaselausta) */
  .privacy-policy .table-wrapper{
    overflow:visible;
    box-shadow:none;
    border-radius:0;
  }

  .privacy-policy table{
    min-width:0;
    width:100%;
    border:0;
    background:transparent;
  }

  .privacy-policy thead{ display:none; }

  .privacy-policy tbody,
  .privacy-policy tr,
  .privacy-policy td{
    display:block;
    width:100%;
  }

  .privacy-policy tr{
    background:#fff;
    border:2px solid #e8e8e8;
    border-radius:10px;
    margin:0 0 12px 0;
    overflow:hidden;
  }

  .privacy-policy td{
    border:none;
    border-bottom:1px solid #f0f0f0;
    padding:12px 14px;
  }

  .privacy-policy td:last-child{
    border-bottom:none;
  }

  /* Näytä sarakeotsikko td:ssä (1=vasen sarake, 2=oikea sarake) */
  .privacy-policy td:nth-child(1)::before{
    content:"Vastuunrajoituksen osa";
    display:block;
    font-size:12px;
    color:#666;
    margin-bottom:6px;
    font-weight:600;
  }
  .privacy-policy td:nth-child(2)::before{
    content:"Sisältö";
    display:block;
    font-size:12px;
    color:#666;
    margin-bottom:6px;
    font-weight:600;
  }
}

/* Tulostus */
@media print{
  .privacy-policy{
    font-size:12pt;
    line-height:1.6;
  }
  .privacy-policy h1{ font-size:24pt; }
  .privacy-policy h2{
    font-size:18pt;
    page-break-after:avoid;
  }
  .privacy-policy h3{
    font-size:14pt;
    page-break-after:avoid;
  }
  .privacy-policy .rights-card,
  .privacy-policy .info-box,
  .privacy-policy table{
    page-break-inside:avoid;
  }
}/* End custom CSS */
/* Start custom CSS *//* ========================================
   YLEISET EHDOT - VAHVA CSS
   ======================================== */

/* --- NAVIGAATIO: Pakota tummat linkit --- */
header a,
header .elementor-nav-menu a,
header .elementor-nav-menu--main a,
header .elementor-item,
header .menu-item a,
nav a,
.site-header a,
.elementor-location-header a,
.ekit-menu-nav-link,
.elementskit-navbar-nav a,
.elementskit-menu-container a {
    color: #1a1a1a !important;
}

header a:hover,
header .elementor-item:hover,
nav a:hover,
.ekit-menu-nav-link:hover {
    color: #00E8A0 !important;
}

/* Hamburger-ikoni mobiilissa */
.elementor-menu-toggle,
.elementor-menu-toggle i,
.ekit-menu-toggler,
.elementskit-menu-hamburger {
    color: #1a1a1a !important;
    fill: #1a1a1a !important;
}

/* Logo tummennus (jos valkoinen SVG/PNG) */
header img,
header svg,
.site-logo img,
.elementor-location-header img {
    filter: brightness(0.2) saturate(0) !important;
}

/* --- SISÄLTÖALUE: Sisennys ja luettavuus --- */
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content .elementor-widget-container,
.entry-content,
article.page .entry-content,
.page-content {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
}

/* Otsikot */
.elementor-widget-theme-post-content h1,
.entry-content h1 {
    font-size: 2.2rem !important;
    margin-bottom: 0.5rem !important;
}

.elementor-widget-theme-post-content h2,
.entry-content h2 {
    font-size: 1.5rem !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 2px solid #00E8A0 !important;
}

.elementor-widget-theme-post-content h3,
.entry-content h3 {
    font-size: 1.2rem !important;
    margin-top: 1.8rem !important;
}

/* Kappaleet */
.elementor-widget-theme-post-content p,
.entry-content p {
    line-height: 1.75 !important;
    margin-bottom: 1.2rem !important;
}

/* Taulukko */
.elementor-widget-theme-post-content table,
.entry-content table {
    width: 100% !important;
    margin: 1.5rem 0 !important;
}

.elementor-widget-theme-post-content th,
.entry-content th {
    background-color: #00E8A0 !important;
    color: #1a1a1a !important;
    padding: 12px 16px !important;
}

.elementor-widget-theme-post-content td,
.entry-content td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #ddd !important;
}

/* --- MOBIILI --- */
@media (max-width: 768px) {
    .elementor-widget-theme-post-content,
    .elementor-widget-theme-post-content .elementor-widget-container,
    .entry-content {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}/* End custom CSS */