.shop-page,.shop-page *,.shop-page :before,.shop-page :after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--green:#166534;--green-bg:#eae9e6}html{background:var(--bg);scroll-behavior:smooth;min-height:100%}body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button,input,textarea,select{font:inherit}a{color:inherit}#page-root{background:#fff;width:100%;min-height:100svh;position:relative;overflow-x:clip}.shop-page{background:#fff;width:100%;min-height:100svh}.shop-hero{width:100%;max-width:var(--max);padding:clamp(14px, 2vw, 24px) var(--page-x) 0;flex-direction:column;gap:clamp(16px,2.2vw,24px);margin:0 auto;display:flex}.shop-hero-cover-block{padding-bottom:clamp(44px,4.5vw,54px);position:relative}.shop-hero-cover-block .shop-hero-logo{bottom:0;left:var(--page-x);border:3px solid #fff;border-radius:20px;width:clamp(76px,6.5vw,92px);height:clamp(76px,6.5vw,92px);position:absolute}.shop-hero-cover-wrap{aspect-ratio:40/10;background:var(--soft);border-radius:20px;width:100%;animation:.5s cubic-bezier(.22,1,.36,1) both heroIn;overflow:hidden}.shop-hero-cover{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.hero-inner{align-items:center;gap:clamp(15px,2.2vw,22px);width:100%;animation:.55s cubic-bezier(.22,1,.36,1) both heroIn;display:flex}.shop-hero-logo{width:clamp(48px,4.5vw,62px);height:clamp(48px,4.5vw,62px);color:var(--primary);border:1px solid var(--border);background:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 10px 26px -14px #14120e4d}.shop-hero-info{flex:1;min-width:0}.shop-hero-info h1{color:var(--text);letter-spacing:-.7px;text-wrap:balance;font-size:clamp(21px,2.3vw,27px);font-weight:850;line-height:1.06}.hero-tagline{color:var(--text-soft);max-width:54ch;margin-top:8px;font-size:clamp(13px,1.15vw,15px);font-weight:500;line-height:1.45}.hero-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:9px;font-size:14px;font-weight:600;display:flex}.hero-rating{color:var(--text);align-items:center;gap:6px;font-weight:700;display:inline-flex}.hero-star{color:var(--text);font-size:13px;line-height:1}.hero-rating-count{color:var(--text-soft);font-weight:500}.hero-rating-new{color:var(--text-soft)}.hero-dot{color:var(--text3)}.hero-loc{color:var(--text-soft);align-items:center;gap:5px;font-weight:600;display:inline-flex}.hero-open{color:var(--text-soft);align-items:center;gap:6px;font-weight:500;display:inline-flex}.hero-open.is-open{color:var(--text);font-weight:600}.hero-open-dot{background:var(--text3);border-radius:999px;width:7px;height:7px}.hero-open.is-open .hero-open-dot{background:var(--text)}.hero-rating-link{color:inherit;text-decoration:none;transition:opacity .18s}.hero-rating-link:hover{opacity:.7}.hero-sub{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;font-size:13px;font-weight:500;display:flex}.hero-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hero-chip{border:1px solid var(--border);background:var(--soft);color:var(--text2);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.hero-chip.is-favourite{border-color:var(--primary);background:var(--primary);color:#fff}.hero-cta{color:#fff;background:var(--primary);border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:13px 20px;font-size:14px;font-weight:850;text-decoration:none;transition:opacity .18s;display:none}.hero-cta:hover{opacity:.85}.hero-cta:active{transform:scale(.97)}.section-nav{z-index:25;border-bottom:1px solid var(--border);background:#fff;width:100%;margin-top:clamp(14px,2vw,22px);position:sticky;top:70px}.section-nav-inner{max-width:var(--max);padding:0 var(--page-x);scrollbar-width:none;margin:0 auto;display:flex;overflow-x:auto}.section-nav-inner::-webkit-scrollbar{display:none}.section-nav-link{color:var(--text-soft);border-bottom:2px solid #0000;flex-shrink:0;margin-right:22px;padding:13px 0;font-size:13.5px;font-weight:650;text-decoration:none;transition:color .16s,border-color .16s}.section-nav-link.is-active{color:var(--text);border-bottom-color:var(--primary)}#hinnasto,#arvostelut,#sijainti,#yhteystiedot{scroll-margin-top:132px}.page-grid{width:100%;max-width:var(--max);padding:clamp(18px, 2.8vw, 30px) var(--page-x) 56px;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3vw,34px);margin:0 auto;display:grid}.content-flow{min-width:0}.mobile-availability{margin-bottom:clamp(26px,3.4vw,38px)}.ma-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.ma-head h2{letter-spacing:-.4px;font-size:18px;font-weight:800}.ma-head span{color:var(--text2);font-size:13px;font-weight:600}.ma-scroll{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;gap:10px;margin:0 -2px;padding:2px 2px 6px;display:flex;overflow-x:auto}.ma-scroll::-webkit-scrollbar{display:none}.ma-day{border:1px solid var(--border);background:var(--soft);min-width:62px;min-height:72px;color:var(--text);scroll-snap-align:start;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;text-decoration:none;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s,background .18s;display:flex}.ma-day:active{transform:scale(.97)}.ma-wd{color:var(--text2);letter-spacing:.04em;font-size:10px;font-weight:750}.ma-num{letter-spacing:-.5px;font-size:19px;font-weight:850;line-height:1}.ma-free{color:var(--green,#166534);font-size:10.5px;font-weight:700}.ma-day-all{background:0 0;border-style:dashed;min-width:96px}.ma-all-label{color:var(--text);text-align:center;padding:0 10px;font-size:13px;font-weight:800}.ma-empty{color:var(--text2);font-size:14px;line-height:1.5}@media (min-width:960px){.mobile-availability{display:none}}.section-grid{grid-template-columns:1fr;gap:clamp(22px,2.8vw,32px);margin-bottom:clamp(24px,3.5vw,40px);display:grid}.plain-section{min-width:0}.plain-section h2,.section-title-row h2{letter-spacing:-.45px;margin-bottom:16px;font-size:clamp(16px,1.35vw,19px);font-weight:800;line-height:1.12}.body-text{color:var(--text2);max-width:68ch;font-size:clamp(13px,1.05vw,14px);line-height:1.62}.info-list{flex-direction:column;display:flex}.info-row{border-bottom:1px solid var(--border);color:inherit;align-items:flex-start;gap:12px;padding:12px 0;text-decoration:none;display:flex}.info-row:first-child{padding-top:0}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row-link:hover .value{text-underline-offset:3px;text-decoration:underline}.info-row-icon{background:var(--soft);width:36px;height:36px;color:var(--text2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-row-text{min-width:0}.info-row .label{color:var(--text2);margin-bottom:3px;font-size:11px;font-weight:500}.info-row .value{color:var(--text);overflow-wrap:anywhere;font-size:clamp(13px,1.1vw,14px);font-weight:700;line-height:1.35}.section-title-row{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.section-title-row h2{margin-bottom:0}.section-title-row>a{color:var(--text2);border:1px solid var(--border);background:#fff;border-radius:10px;flex-shrink:0;padding:5px 10px;font-size:13px;font-weight:800;text-decoration:none}.real-map-box{background:var(--soft);border:1px solid var(--border);isolation:isolate;border-radius:16px;height:clamp(180px,18vw,240px);min-height:clamp(180px,18vw,240px);display:block;position:relative;overflow:hidden}.real-map-box>div:first-child{height:100%;min-height:100%}.real-map-label{z-index:500;pointer-events:none;max-width:calc(100% - 28px);position:absolute;bottom:14px;left:14px}.real-map-label span{border:1px solid var(--border);max-width:100%;min-height:34px;color:var(--text);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;background:#ffffffeb;border-radius:999px;align-items:center;padding:0 13px;font-size:12px;font-weight:850;display:inline-flex;overflow:hidden;box-shadow:0 10px 28px #0000001a}.real-map-box .leaflet-container{border-radius:inherit}.hours-list{background:var(--soft);border-radius:14px;padding:8px 18px}.hours-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:18px;padding:8px 0;font-size:13px;animation:.35s cubic-bezier(.22,1,.36,1) both rowIn;display:flex}.hours-row:last-child{border-bottom:none}.hours-row span{color:var(--text2);font-weight:650}.hours-row strong{color:var(--text);font-weight:900}.hours-row .closed{color:var(--text3);font-weight:650}.oh{background:var(--soft);border-radius:14px;overflow:hidden}.oh-summary{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.oh-status{color:var(--text2);align-items:center;gap:9px;font-size:13.5px;font-weight:600;display:inline-flex}.oh-status.is-open{color:var(--text);font-weight:800}.oh-dot{border:1.5px solid var(--text3);background:0 0;border-radius:999px;flex-shrink:0;width:8px;height:8px}.oh-status.is-open .oh-dot{background:var(--text);border-color:var(--text)}.oh-caret{color:var(--text3);transition:transform .2s cubic-bezier(.22,1,.36,1);display:inline-flex}.oh-caret.is-open{transform:rotate(180deg)}.oh-week{padding:0 18px 6px;animation:.3s cubic-bezier(.22,1,.36,1) both rowIn}.oh-row{border-top:1px solid var(--border);justify-content:space-between;gap:18px;padding:8px 0;font-size:13px;display:flex}.oh-row span{color:var(--text2);font-weight:650}.oh-row strong{color:var(--text);font-weight:700}.oh-row .closed{color:var(--text3);font-weight:650}.oh-row.is-today span,.oh-row.is-today strong{color:var(--text);font-weight:850}.pricing-title-row{align-items:center;margin-bottom:18px}.pricing-title-row h2{margin-bottom:0}.pricing-title-row p,.reviews-title-row p{color:var(--text2);margin-top:7px;font-size:12px;line-height:1.45}.price-note{background:var(--soft);border:1px solid var(--border);color:var(--text2);border-radius:10px;flex-shrink:0;padding:7px 11px;font-size:11px;font-weight:700;display:inline-flex}.pricing-tabs-wrap{min-width:0}.price-radio{opacity:0;pointer-events:none;position:absolute}.category-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:2px 0 18px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs label{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;border-radius:13px;flex:none;padding:9px 14px;font-size:12px;font-weight:700;transition:background .22s,color .22s,border-color .22s,transform .22s,box-shadow .22s}.category-tabs label:hover{border-color:var(--border);transform:translateY(-1px)}.price-panel{display:none}.price-list{flex-direction:column;display:flex}.service-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;animation:.34s cubic-bezier(.22,1,.36,1) both rowIn;display:flex}.service-row:last-child{border-bottom:none}.service-row-info{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex:auto;padding:0}.service-row-info h3{color:var(--text);letter-spacing:-.2px;font-size:15.5px;font-weight:700;line-height:1.2}.service-row-info p{color:var(--text2);margin-top:4px;font-size:13px;line-height:1.45}.service-row-info p span{color:var(--text3);white-space:nowrap}.service-row-more{color:var(--text);text-underline-offset:2px;margin-top:7px;font-size:12.5px;font-weight:650;text-decoration:underline;transition:opacity .18s;display:inline-block}.service-row-info:hover .service-row-more{opacity:.65}.service-row-cta{flex-shrink:0;align-items:center;gap:16px;display:flex}.service-row-cta strong{color:var(--text);letter-spacing:-.4px;white-space:nowrap;font-size:18px;font-weight:800}.service-book-btn{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;height:42px;padding:0 20px;font-size:14px;font-weight:650;text-decoration:none;transition:background .18s,transform .14s;display:inline-flex}.service-book-btn:hover{background:#2a2622}.service-book-btn:active{transform:scale(.97)}@media (max-width:560px){.service-row{align-items:flex-start}.service-row-cta{flex-direction:column;align-items:flex-end;gap:8px}}.empty-price-state{background:var(--soft);border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.empty-price-state h4{margin-bottom:5px;font-size:18px;font-weight:900}.empty-price-state p{color:var(--text2);font-size:15px;line-height:1.5}.small-dark-link{background:var(--accent-strong,var(--primary));color:var(--accent-on,#fff);border-radius:14px;flex-shrink:0;padding:11px 15px;font-size:13px;font-weight:850;text-decoration:none}.contact-strip{background:var(--text);color:#fff;border:none;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:clamp(44px,6vw,70px);padding:clamp(20px,3vw,28px);display:flex}.contact-strip h2{letter-spacing:-.45px;color:#fff;margin-bottom:6px;font-size:clamp(17px,1.45vw,20px);font-weight:850}.contact-strip p{color:#fff9;font-size:13px;line-height:1.5}.strip-link{color:var(--text);background:#fff;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.reviews-section{margin-bottom:0}.reviews-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.reviews-head h2{margin-bottom:0}.reviews-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reviews-score{color:var(--text2);font-size:13px;font-weight:600}.reviews-google-badge{color:var(--text2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.reviews-grid{grid-template-columns:1fr;gap:10px;margin-bottom:12px;display:grid}.review-card{background:var(--soft);border:none;border-radius:14px;flex-direction:column;gap:7px;padding:14px 16px;display:flex}.review-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-date{color:var(--text3);flex-shrink:0;font-size:12px;font-weight:500}.review-body{color:var(--text2);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.review-author{color:var(--text3);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.review-verified{color:var(--text3);align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:700;display:inline-flex}.reviews-empty{color:var(--text3);margin-top:4px;font-size:14px;line-height:1.5}.reviews-cta{margin-top:18px}.rf-toggle{border:1.5px solid var(--border-strong);min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:13px;align-items:center;padding:0 18px;font-size:13px;font-weight:800;transition:border-color .18s,transform .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.rf-toggle:hover{border-color:var(--text);transform:translateY(-1px)}.review-form{border:1px solid var(--border);background:var(--soft);border-radius:18px;flex-direction:column;gap:12px;max-width:520px;padding:18px;animation:.3s cubic-bezier(.22,1,.36,1) both rowIn;display:flex}.rf-stars{gap:4px;display:flex}.rf-star{cursor:pointer;color:var(--border-strong);background:0 0;border:none;padding:0;font-size:28px;line-height:1;transition:color .12s,transform .12s}.rf-star:hover{transform:scale(1.1)}.rf-star.is-on{color:#f59e0b}.rf-input,.rf-textarea{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .18s}.rf-input:focus,.rf-textarea:focus{border-color:var(--text)}.rf-textarea{resize:vertical;min-height:76px}.rf-error{color:#b91c1c;font-size:13px;font-weight:600}.rf-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rf-submit{background:var(--accent-strong,var(--primary));min-height:44px;color:var(--accent-on,#fff);cursor:pointer;border:none;border-radius:13px;padding:0 20px;font-size:14px;font-weight:800;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s}.rf-submit:hover{filter:brightness(.94);transform:translateY(-1px)}.rf-submit:disabled{opacity:.6;cursor:not-allowed}.rf-cancel{min-height:44px;color:var(--text2);cursor:pointer;background:0 0;border:none;padding:0 14px;font-size:13px;font-weight:700}.rf-cancel:hover{color:var(--text)}.rf-thanks{background:var(--soft2);color:var(--text);border-radius:14px;margin-top:4px;padding:14px 16px;font-size:14px;font-weight:650}.stars{flex-shrink:0;gap:2px;display:flex}.star{color:var(--star);font-size:13px}.star.empty{color:var(--star-empty)}.booking-side{align-self:start;min-width:0;display:none}.booking-sticky{overscroll-behavior:contain;max-height:calc(100svh - 116px);color:var(--text);border:1px solid var(--border);will-change:transform;background:#fff;border-radius:20px;padding:18px;position:sticky;top:130px;overflow:auto;box-shadow:0 1px 3px #00000009,0 8px 24px #0000000f}.booking-head{margin-bottom:16px}.booking-head h2{letter-spacing:-.65px;margin-bottom:7px;font-size:22px;font-weight:850;line-height:1.05}.booking-head p{color:var(--text2);font-size:13px;font-weight:550;line-height:1.45}.booking-head .booking-from{color:var(--text2);margin-top:2px;font-size:15px;font-weight:600}.booking-head .booking-from strong{color:var(--text);font-weight:850}.booking-head-meta{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;padding-top:12px;display:flex}.booking-head-meta span{color:var(--text2);align-items:center;gap:6px;font-size:12.5px;font-weight:550;display:inline-flex}.booking-head-meta strong{color:var(--text);font-weight:750}.bhm-dot{background:var(--success,#2f6f4e);border-radius:999px;width:7px;height:7px}.month-calendar{background:#fff;border:none;border-radius:18px;padding:14px 12px 12px}.calendar-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.calendar-top strong{letter-spacing:-.25px;font-size:15px;font-weight:850}.calendar-top button{border:1px solid var(--border);width:28px;height:28px;color:var(--text3);cursor:default;opacity:.58;background:#f7f6f4;border-radius:9px;font-size:15px;line-height:1}.calendar-top button:disabled{opacity:.38;cursor:default}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;display:grid}.calendar-weekdays span{text-align:center;color:#928e87;font-size:10px;font-weight:750}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-grid>span,.calendar-day{aspect-ratio:1;border-radius:8px;justify-content:center;align-items:center;min-height:32px;text-decoration:none;display:flex}.calendar-empty{background:0 0}.calendar-muted{color:#b7b6b3;background:0 0;font-size:12px;font-weight:650}.calendar-day{color:var(--text);background:#eceae7;border:1px solid #d6d5d1;transition:transform .18s cubic-bezier(.22,1,.36,1),background .18s,border-color .18s;box-shadow:inset 0 0 0 1px #ffffff6b}.calendar-day:hover{color:var(--text);background:#e3e1de;border-color:#d1cfcb;transform:translateY(-1px)}.calendar-day strong{letter-spacing:-.1px;font-size:13px;font-weight:800}.booking-slots{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.booking-slots-label{letter-spacing:.03em;color:var(--text-soft);margin-bottom:10px;font-size:11.5px;font-weight:700}.booking-slots-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.booking-slot{border:1px solid var(--border-strong);background:var(--surface);min-height:38px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;font-size:13.5px;font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.booking-slot:hover{border-color:var(--primary);background:var(--soft);transform:translateY(-1px)}.booking-slots-more{color:var(--text-soft);margin-top:9px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.booking-slots-more:hover{color:var(--text)}.booking-noslots{border-top:1px solid var(--border);text-align:center;margin-top:16px;padding-top:14px}.booking-noslots-text{color:var(--text2);font-size:13px;font-weight:600}.booking-noslots-link{color:var(--text);margin-top:6px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.booking-noslots-link:hover{text-decoration:underline}.calendar-book-btn{background:var(--accent-strong,var(--primary));width:100%;min-height:48px;color:var(--accent-on,#fff);letter-spacing:-.1px;border-radius:13px;justify-content:center;align-items:center;margin-top:14px;font-size:14px;font-weight:850;text-decoration:none;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s;display:inline-flex}.calendar-book-btn:hover{filter:brightness(.92);transform:translateY(-1px)}.calendar-book-btn:active{transform:scale(.985)}.booking-reassure{flex-direction:column;gap:5px;margin-top:12px;display:flex}.booking-reassure p{color:#0000008f;align-items:center;gap:7px;font-size:12px;font-weight:500;line-height:1.35;display:flex}.booking-reassure p svg{color:var(--primary);opacity:.85}.month-grid{grid-template-rows:repeat(5,minmax(32px,auto))}.calendar-muted{pointer-events:none}.btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:850;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-strong,var(--primary));color:var(--accent-on,#fff);padding:16px 28px;box-shadow:0 16px 38px #0000002e}.booking-sticky .btn-primary{color:var(--primary);box-shadow:none;background:#fff}.btn-full{border-radius:14px;width:100%}.floating-cta{z-index:40;pointer-events:none;background:linear-gradient(#fff0,#fff 28%);width:100%;padding:14px 18px 18px;position:sticky;bottom:0}.floating-cta .btn{pointer-events:all}.floating-cta-bar{pointer-events:all;border:1px solid var(--border);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:9px 9px 9px 16px;display:flex;box-shadow:0 12px 32px -10px #14120e4d}.floating-cta-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.floating-cta-price{color:var(--text);letter-spacing:-.2px;font-size:14px;font-weight:850}.floating-cta-next{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.floating-cta-btn{flex-shrink:0}.svc-menu{flex-direction:column;display:flex}.svc-tabs{scrollbar-width:none;gap:8px;margin:0 0 14px;padding-bottom:2px;display:flex;overflow-x:auto}.svc-tabs::-webkit-scrollbar{display:none}.svc-tab{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-soft);cursor:pointer;white-space:nowrap;transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:999px;flex:none;padding:0 14px;font-size:13px;font-weight:500}.svc-tab:hover{border-color:var(--border-strong);color:var(--text)}.svc-tab.is-active{background:var(--text);border-color:var(--text);color:#fff}.svc-list{flex-direction:column;gap:9px;display:flex}.svc-row{border:1px solid var(--border);background:var(--surface);transition:background-color .18s var(--ease), border-color .18s var(--ease);border-radius:16px;align-items:center;gap:12px;padding:13px 14px;display:flex}.svc-row.is-selected{background:var(--surface-soft);border-color:var(--border-strong)}.svc-row-main{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:0;flex:auto;margin:0;padding:0;display:block}.svc-row-name{letter-spacing:-.01em;color:var(--text);font-size:15px;font-weight:600;display:block}.svc-row-desc{-webkit-line-clamp:1;color:var(--text-soft);-webkit-box-orient:vertical;margin:3px 0 7px;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.svc-row-meta{align-items:center;gap:12px;font-size:12.5px;display:flex}.svc-dur{color:var(--text-soft)}.svc-price{color:var(--text);font-weight:600}.svc-price-from{color:var(--text-soft);font-size:11px;font-weight:500}.svc-row-includes{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:11.5px;line-height:1.4;display:block;overflow:hidden}.svc-includes-label{color:var(--text);margin-right:6px;font-weight:700}.svc-price-note{color:var(--text-muted);margin-top:12px;font-size:11.5px;line-height:1.45}.svc-add{display:none}.svc-bar-spacer{height:84px}.svc-bar{z-index:45;padding:12px 16px calc(14px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#fff0,#fff 24%);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.svc-bar-inner{pointer-events:all;background:var(--text);color:#fff;width:100%;max-width:640px;transition:transform .18s var(--ease);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex;box-shadow:0 10px 30px #0003}.svc-bar-inner:hover{transform:translateY(-1px)}.svc-bar-summary{flex-direction:column;gap:2px;min-width:0;display:flex}.svc-bar-count{color:#fff;font-size:14px;font-weight:600}.svc-bar-dur{color:#fff9;font-size:12px}.svc-bar-action{color:#fff;white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.not-found-page{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex;position:relative}.not-found-card{border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:28px;padding:28px}.not-found-card .shop-hero-logo{margin:0 auto 18px}.not-found-card h1{letter-spacing:-.8px;margin-bottom:8px;font-size:26px}.not-found-card p{color:var(--text2);margin-bottom:20px;line-height:1.5}.reveal{animation:.5s cubic-bezier(.22,1,.36,1) both revealIn}@keyframes heroIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes revealIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rowIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width:820px){.hero-cta{display:inline-flex}.two-cols{grid-template-columns:minmax(0,1.25fr) minmax(310px,.9fr);align-items:start}.map-hours-grid{grid-template-columns:minmax(0,1.25fr) minmax(310px,.9fr);align-items:stretch}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.page-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:clamp(28px,3vw,42px);position:relative}.booking-side{z-index:30;align-self:start;width:310px;max-height:calc(100svh - 116px);display:block;position:sticky;top:130px}.booking-sticky{max-height:calc(100svh - 96px);position:static}.floating-cta{display:none}}@media (min-width:1280px){.page-grid{grid-template-columns:minmax(0,1fr) 360px}.booking-side{width:360px}.booking-sticky{width:320px}}@media (max-width:819px){.shop-hero{gap:16px;padding:0}.section-nav{top:63px}#hinnasto,#arvostelut,#sijainti,#yhteystiedot{scroll-margin-top:110px}.shop-hero-cover-wrap{aspect-ratio:16/10;border-radius:0}.hero-inner{padding:0 var(--page-x);flex-direction:column;align-items:flex-start;gap:14px}.shop-hero-logo{border-radius:18px;width:64px;height:64px}.shop-hero-info h1{letter-spacing:-.7px;font-size:clamp(24px,6vw,32px)}.hero-tagline,.hero-loc{font-size:14px}.page-grid{padding:30px var(--page-x) 90px}.plain-section h2,.section-title-row h2{margin-bottom:16px;font-size:22px}.body-text{font-size:15px;line-height:1.55}.section-grid{gap:44px;margin-bottom:54px}.info-row{gap:18px;padding:20px 0}.info-row-icon{border-radius:17px;width:58px;height:58px}.info-row .label{font-size:12px}.info-row .value{font-size:15px}.real-map-box{border-radius:16px;height:200px;min-height:200px}.hours-row{font-size:15px}.pricing-title-row,.reviews-title-row,.contact-strip,.section-title-row{flex-direction:column;align-items:flex-start}.price-note{width:fit-content}.pricing-title-row h2{margin-bottom:0;font-size:22px}.price-row{border-radius:18px;flex-direction:row;padding:16px}.price-row-main h3{font-size:16px}.price-row-main p{font-size:13px}.price-row-end strong{font-size:17px}.contact-strip{border-radius:24px}.strip-link{justify-content:center;width:100%}}@media (max-width:520px){.shop-hero{gap:14px}.hero-inner{padding:0 var(--page-x);gap:14px}.shop-hero-logo{border-radius:16px;width:56px;height:56px}.shop-hero-info h1{font-size:clamp(24px,7.2vw,30px)}.page-grid{padding:24px var(--page-x) 92px}.plain-section h2,.section-title-row h2{margin-bottom:17px;font-size:23px}.body-text{font-size:15px}.section-grid{gap:32px;margin-bottom:44px}.info-row{gap:14px;padding:17px 0}.info-row-icon{border-radius:14px;width:48px;height:48px}.info-row .label{font-size:12px}.info-row .value{font-size:15px}.hours-row{font-size:16px}.pricing-title-row h2{font-size:23px}.category-tabs{padding-bottom:15px}.category-tabs label{border-radius:12px;padding:8px 12px;font-size:12px}.price-row{flex-direction:column;align-items:center;gap:12px;padding:14px}.price-row-main p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.price-row-end strong{align-self:center;font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.shop-page{background:linear-gradient(180deg, var(--surface-soft) 0%, #fff 360px)}.shop-hero{gap:clamp(18px,2.4vw,26px);padding-top:clamp(18px,2.4vw,30px)}.shop-hero-cover-wrap{background:var(--surface-soft);box-shadow:0 1px 2px #14120e0a,0 24px 56px -28px #14120e38}.hero-star{color:var(--text)}.hero-chip{border-color:var(--border);background:var(--surface-soft);color:var(--text-soft)}.hero-chip svg{color:var(--text)}.section-nav{-webkit-backdrop-filter:saturate(1.4)blur(12px);background:#ffffffd1}.booking-slot:hover{border-color:var(--primary);background:var(--surface-soft);color:var(--text);transform:translateY(-1px)}.booking-slots-label{color:var(--text-soft)}.booking-sticky{border-color:var(--border);box-shadow:0 1px 3px #14120e0a,0 20px 48px -22px #14120e2e}.booking-sticky .btn-primary{background:var(--primary);color:#fff}.section-nav-link:hover{color:var(--text)}.ma-day:hover{border-color:var(--primary);background:var(--surface-soft);transform:translateY(-1px)}.page-grid{gap:clamp(28px,3.4vw,46px);padding-top:clamp(30px,4vw,48px);padding-bottom:clamp(72px,8vw,104px)}.section-grid{margin-bottom:clamp(44px,6vw,72px)}.pricing-section{margin-bottom:clamp(48px,7vw,84px)}.plain-section h2,.section-title-row h2{margin-bottom:18px;font-size:clamp(17px,1.5vw,21px)}.intro-section{background:var(--surface-soft);border-radius:22px;padding:clamp(20px,2.6vw,30px)}.intro-section h2{margin-bottom:12px}@media (min-width:960px){.booking-side,.booking-sticky{top:140px}}
