{"id":21,"date":"2026-01-30T19:06:36","date_gmt":"2026-01-30T19:06:36","guid":{"rendered":"https:\/\/www.nesteanjala.fi\/?page_id=21"},"modified":"2026-02-25T14:26:00","modified_gmt":"2026-02-25T14:26:00","slug":"palvelut","status":"publish","type":"page","link":"https:\/\/www.nesteanjala.fi\/?page_id=21","title":{"rendered":"Kahvila"},"content":{"rendered":"\n<section class=\"naCafe2\" id=\"naCafe2\">\n  <div class=\"naCafe2__wrap\">\n    <h2 class=\"naCafe2__title\">Kahvila<\/h2>\n    <p class=\"naCafe2__sub\">Poikkea kahville ja ota pient\u00e4 purtavaa \u2013 l\u00e4mmin tunnelma ja nopea palvelu. Mukava paikka piipahtaa kahvilla tai odotella autoa huollosta. Kahvilassa my\u00f6s oma leikkialue lapsille!\n\n\nKahvilamme palvelee asiakkaita:\narkisin \nklo 6-18, \nlauantaina klo 7-14,\nsunnuntaina kahvila on suljettu. <\/p>\n\n    <div class=\"naCafe2__slider\" aria-label=\"Kahvilan kuvat\">\n      <div class=\"naCafe2__frame\">\n        <img decoding=\"async\" class=\"naCafe2__img is-active\" src=\"https:\/\/www.nesteanjala.fi\/wp-content\/uploads\/2026\/02\/IMG_1165-scaled.jpeg\" alt=\"Kahvila\" loading=\"lazy\">\n        <img decoding=\"async\" class=\"naCafe2__img\" src=\"https:\/\/www.nesteanjala.fi\/wp-content\/uploads\/2026\/02\/IMG_1162-scaled.jpeg\" alt=\"Kahvila\" loading=\"lazy\">\n        <img decoding=\"async\" class=\"naCafe2__img\" src=\"https:\/\/www.nesteanjala.fi\/wp-content\/uploads\/2026\/02\/IMG_1164-scaled.jpeg\" alt=\"Kahvila\" loading=\"lazy\">\n        <img decoding=\"async\" class=\"naCafe2__img\" src=\"https:\/\/www.nesteanjala.fi\/wp-content\/uploads\/2026\/02\/IMG_1157-scaled.jpeg\" alt=\"Kahvila\" loading=\"lazy\">\n        <img decoding=\"async\" class=\"naCafe2__img\" src=\"https:\/\/www.nesteanjala.fi\/wp-content\/uploads\/2026\/02\/IMG_1153-scaled.jpeg\" alt=\"Kahvila\" loading=\"lazy\">\n\n        <button class=\"naCafe2__nav naCafe2__prev\" type=\"button\" aria-label=\"Edellinen kuva\">\u2039<\/button>\n        <button class=\"naCafe2__nav naCafe2__next\" type=\"button\" aria-label=\"Seuraava kuva\">\u203a<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  \/* T\u00e4ysleve\u00e4 vaikka olisi containerissa *\/\n  .naCafe2{\n    width: 100vw;\n    margin-left: calc(50% - 50vw);\n    margin-right: calc(50% - 50vw);\n    padding: 56px 0;\n    background: linear-gradient(180deg,#F5F7FA,#FFFFFF);\n  }\n\n  .naCafe2__wrap{\n    width: min(1100px, calc(100% - 28px));\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .naCafe2__title{\n    margin: 0 0 10px 0;\n    font-weight: 900;\n    font-size: clamp(26px, 4.8vw, 44px);\n    color: #111827;\n  }\n\n  .naCafe2__sub{\n    margin: 0 auto 18px auto;\n    max-width: 70ch;\n    color: #4B5563;\n    font-size: clamp(14px, 2.7vw, 18px);\n    line-height: 1.6;\n  }\n\n  \/* SLIDER: ei taustoja, ei palkkeja *\/\n  .naCafe2__slider{\n    margin-top: 10px;\n  }\n\n  .naCafe2__frame{\n    position: relative;\n    width: 100%;\n    border-radius: 18px;\n    overflow: hidden;\n    box-shadow: 0 18px 50px rgba(0,0,0,.14);\n\n    \/* T\u00e4ss\u00e4 se \u201cei palkkeja\u201d -taika: kiinte\u00e4 responsiivinen korkeus *\/\n    height: clamp(260px, 56vw, 520px);\n    background: transparent;\n  }\n\n  .naCafe2__img{\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;      \/* t\u00e4ytt\u00e4\u00e4 aina *\/\n    display: block;\n    opacity: 0;\n    transform: scale(1.02);\n    transition: opacity 700ms ease, transform 1400ms ease;\n  }\n\n  .naCafe2__img.is-active{\n    opacity: 1;\n    transform: scale(1);\n  }\n\n  \/* Nuolit *\/\n  .naCafe2__nav{\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 44px;\n    height: 44px;\n    border-radius: 999px;\n    border: 1px solid rgba(255,255,255,.35);\n    background: rgba(7,11,20,.35);\n    color: #fff;\n    font-size: 28px;\n    line-height: 1;\n    display: grid;\n    place-items: center;\n    cursor: pointer;\n    backdrop-filter: blur(8px);\n    -webkit-backdrop-filter: blur(8px);\n    transition: transform .15s ease, background .15s ease;\n  }\n  .naCafe2__nav:hover{\n    transform: translateY(-50%) scale(1.06);\n    background: rgba(7,11,20,.55);\n  }\n  .naCafe2__prev{ left: 12px; }\n  .naCafe2__next{ right: 12px; }\n\n  @media (max-width: 600px){\n    .naCafe2{ padding: 42px 0; }\n    .naCafe2__frame{ border-radius: 16px; height: clamp(240px, 70vw, 440px); }\n    .naCafe2__nav{ width: 40px; height: 40px; font-size: 24px; }\n    .naCafe2__prev{ left: 10px; }\n    .naCafe2__next{ right: 10px; }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    .naCafe2__img{ transition: none; }\n    .naCafe2__nav{ transition: none; }\n  }\n<\/style>\n\n<script>\n(function(){\n  const root = document.getElementById('naCafe2');\n  if(!root) return;\n\n  const imgs = root.querySelectorAll('.naCafe2__img');\n  const prev = root.querySelector('.naCafe2__prev');\n  const next = root.querySelector('.naCafe2__next');\n  if(imgs.length < 2) return;\n\n  let i = 0, t = null;\n\n  const show = (n) => {\n    imgs[i].classList.remove('is-active');\n    i = (n + imgs.length) % imgs.length;\n    imgs[i].classList.add('is-active');\n  };\n\n  const goNext = () => show(i+1);\n  const goPrev = () => show(i-1);\n\n  const start = () => { stop(); t = setInterval(goNext, 5200); };\n  const stop  = () => { if(t) clearInterval(t); t = null; };\n\n  next.addEventListener('click', () => { goNext(); start(); });\n  prev.addEventListener('click', () => { goPrev(); start(); });\n\n  \/\/ swipe mobiilissa\n  let x0 = null;\n  root.querySelector('.naCafe2__frame').addEventListener('touchstart', (e)=>{ x0 = e.touches[0].clientX; }, {passive:true});\n  root.querySelector('.naCafe2__frame').addEventListener('touchend', (e)=>{\n    if(x0 === null) return;\n    const dx = e.changedTouches[0].clientX - x0;\n    x0 = null;\n    if(Math.abs(dx) > 40){ dx < 0 ? goNext() : goPrev(); start(); }\n  }, {passive:true});\n\n  \/\/ pause kun ei n\u00e4y ruudulla\n  const io = new IntersectionObserver((entries)=>{\n    entries.forEach(e => e.isIntersecting ? start() : stop());\n  }, { threshold: 0.25 });\n  io.observe(root);\n\n  start();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Kahvila Poikkea kahville ja ota pient\u00e4 purtavaa \u2013 l\u00e4mmin tunnelma ja nopea palvelu. Mukava paikka piipahtaa kahvilla tai odotella autoa huollosta. Kahvilassa my\u00f6s oma leikkialue lapsille! Kahvilamme palvelee asiakkaita: arkisin klo 6-18, lauantaina klo 7-14, sunnuntaina kahvila on suljettu. \u2039 \u203a<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-21","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/pages\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21"}],"version-history":[{"count":8,"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/pages\/21\/revisions"}],"predecessor-version":[{"id":159,"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=\/wp\/v2\/pages\/21\/revisions\/159"}],"wp:attachment":[{"href":"https:\/\/www.nesteanjala.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}