
body.butiker{background:var(--linen)}

body.butiker .topp.fast{background:var(--linen)}
.b-yta{--topp:72px;display:grid;grid-template-columns:minmax(380px,40%) minmax(0,1fr);grid-template-areas:"huvud karta" "lista karta";grid-template-rows:auto 1fr;padding-top:var(--topp);min-height:100svh}

.b-huvud{grid-area:huvud;padding:clamp(36px,6vh,72px) var(--kant) 18px;display:grid;gap:18px;align-content:start}
.b-over{font-family:"Lateral";text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:var(--sage)}
.b-huvud h1{font-size:clamp(30px,4.4vw,56px);margin-top:-8px}
.b-ingress{max-width:30em;color:#5a5650}

.b-sok{display:flex;gap:12px;align-items:flex-end;margin-top:6px}
.b-falt{flex:1;min-width:0}
.b-falt span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--sage);margin-bottom:6px}
.b-falt input{width:100%;min-height:52px;border:0;border-bottom:1px solid rgba(52,49,48,.35);background:transparent;font:400 18px/1.3 "Soehne",sans-serif;color:var(--graphite);padding:8px 0;border-radius:0;-webkit-appearance:none;appearance:none}
.b-falt input:focus{outline:none;border-bottom-color:var(--graphite)}
.b-falt input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;cursor:pointer;background:linear-gradient(45deg,transparent 45%,var(--sage) 45%,var(--sage) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--sage) 45%,var(--sage) 55%,transparent 55%)}
.b-nara{flex:none;justify-content:center;cursor:pointer;border:0;font-family:inherit}
.b-nara[aria-pressed="true"]{background:var(--linen);color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite)}

.b-radie{display:flex;flex-wrap:wrap;gap:8px}
.b-radie[hidden]{display:none}
.b-radie button{min-height:44px;padding:0 16px;border:1px solid rgba(52,49,48,.25);background:transparent;color:var(--graphite);font:inherit;font-size:15px;border-radius:3px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s cubic-bezier(.16,1,.3,1)}
.b-radie button:hover{border-color:var(--graphite)}
.b-radie button:active{transform:scale(.97)}
.b-radie button[aria-pressed="true"]{background:var(--graphite);color:var(--linen);border-color:var(--graphite)}
.b-radie button:focus-visible{outline:2px solid var(--graphite);outline-offset:2px}
.b-status{font-size:15px;color:var(--sage);min-height:1.55em}
.b-status button{background:none;border:0;padding:12px 4px;margin:-12px 0;font:inherit;color:var(--graphite);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}

.b-lander{display:flex;flex-wrap:wrap;gap:8px}
.b-lander button{min-height:44px;padding:0 14px;border:1px solid rgba(52,49,48,.25);background:transparent;color:var(--graphite);font:inherit;font-size:15px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background .25s cubic-bezier(.16,1,.3,1),color .25s,border-color .25s,transform .2s cubic-bezier(.16,1,.3,1)}
.b-lander button small{font-size:12px;color:var(--sage);transition:color .25s}
.b-lander button:hover{border-color:var(--graphite)}
.b-lander button:active{transform:scale(.97)}
.b-lander button[aria-pressed="true"]{background:var(--graphite);color:var(--linen);border-color:var(--graphite)}
.b-lander button[aria-pressed="true"] small{color:var(--limestone)}
.b-lander button:focus-visible,.b-rad:focus-visible,.b-kort a:focus-visible{outline:2px solid var(--graphite);outline-offset:2px}


.b-karta{grid-area:karta;position:sticky;top:var(--topp);align-self:start;height:calc(100svh - var(--topp));background:var(--linen)}
.b-kartyta{position:absolute;inset:0;background:var(--linen)}
.b-kartyta .leaflet-tile-pane{filter:sepia(.18) saturate(.85) brightness(.99)}
.leaflet-container{font-family:"Soehne",system-ui,sans-serif}
.b-kartyta .leaflet-bar{border:0;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.12)}
.b-kartyta .leaflet-bar a{width:44px;height:44px;line-height:44px;font:400 20px/44px "Soehne",sans-serif;color:var(--graphite);background:rgba(237,231,219,.96);border-bottom-color:rgba(52,49,48,.12)}
.b-kartyta .leaflet-bar a:hover{background:var(--linen)}
.b-kartyta .leaflet-control-attribution{background:rgba(237,231,219,.85);color:#5a5650;font-size:11px}
.b-kartyta .leaflet-control-attribution a{color:var(--graphite);display:inline-flex;align-items:center;min-height:44px}
.b-kartfel{position:absolute;inset:0;display:grid;place-content:center;padding:var(--kant);text-align:center;color:#5a5650}


.b-nal{width:44px;height:44px;display:grid;place-items:center;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.b-nal::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--graphite);box-shadow:0 0 0 2px var(--linen),0 2px 6px rgba(0,0,0,.3)}
.b-nal:hover{transform:scale(1.25)}
.b-nal.vald{transform:scale(1.45);z-index:1000!important}
.b-nal.vald::before{box-shadow:0 0 0 2px var(--linen),0 0 0 4px var(--graphite),0 4px 12px rgba(0,0,0,.35)}
.b-du{width:16px;height:16px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px var(--linen),0 2px 8px rgba(0,0,0,.3)}
.b-du::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid var(--sage);animation:b-puls 2.4s cubic-bezier(.2,.8,.2,1) infinite}
@keyframes b-puls{from{transform:scale(.4);opacity:.9}to{transform:scale(1.6);opacity:0}}
.b-kartyta .leaflet-tooltip{background:var(--graphite);color:var(--linen);border:0;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.2);font:500 13px/1.3 "Soehne",sans-serif;letter-spacing:.01em;padding:7px 10px}
.b-kartyta .leaflet-tooltip-top::before{border-top-color:var(--graphite)}
.b-kartyta .leaflet-tooltip small{display:block;font-weight:400;font-size:12px;color:var(--limestone)}


.b-lista{grid-area:lista;padding:8px var(--kant) 12vh}
.b-grupp{margin-top:28px}
.b-grupp:first-child{margin-top:8px}
.b-grupp h2{font-size:15px;letter-spacing:.04em;display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(52,49,48,.15)}
.b-grupp h2 small{font-family:"Soehne";font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--sage)}
.b-grupp ul{list-style:none;padding:0}
.b-butik{position:relative;margin:0 -14px;padding:0 14px;scroll-margin-top:calc(var(--topp) + 16px);transition:background .3s cubic-bezier(.16,1,.3,1)}
.b-butik::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:1px;background:rgba(52,49,48,.12)}
.b-butik.vald{background:rgba(52,49,48,.05)}
.b-rad{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;min-height:44px;padding:16px 0;width:100%;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
@media (hover:hover){.b-rad:hover .b-namn{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}}
.b-ort{grid-column:1;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--sage)}
.b-namn{grid-column:1;font-family:"Lateral";text-transform:uppercase;font-size:16px;line-height:1.25;letter-spacing:.01em;overflow-wrap:anywhere}
.b-adr{grid-column:1;font-size:15px;color:#5a5650;line-height:1.45}
.b-idag{grid-column:1;font-size:14px;color:var(--sage)}
.b-km{grid-column:2;grid-row:1/span 2;align-self:start;font-family:"Lateral";font-size:15px;white-space:nowrap;color:var(--graphite)}

.b-kort{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}
.b-butik.vald .b-kort{grid-template-rows:1fr}
.b-kort-inre{min-height:0;overflow:hidden}
.b-kort-innehall{padding:2px 0 24px;display:grid;gap:18px}
.b-beskr{font-size:15px;color:#5a5650;max-width:34em}
.b-fakta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 18px;font-size:15px}
.b-fakta dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--sage);padding-top:12px}
.b-fakta dd{margin:0;min-width:0}
.b-fakta a,.b-fakta span.b-v{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:rgba(52,49,48,.35);text-underline-offset:4px;text-decoration-thickness:1px}
.b-fakta span.b-v{text-decoration:none}
.b-fakta a:hover{text-decoration-color:var(--graphite)}
.b-tider{width:100%;max-width:22em;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.b-tider caption{text-align:left;padding-bottom:4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--sage)}
.b-tider th{width:9.5em;text-align:left;font-weight:400;color:#5a5650;padding:5px 16px 5px 0}
.b-tider td{padding:5px 0}
.b-tider tr.idag th,.b-tider tr.idag td{color:var(--graphite);font-weight:500}
.b-knappar{display:flex;flex-wrap:wrap;gap:10px}
.b-knappar .knapp.ljus{box-shadow:inset 0 0 0 1px rgba(52,49,48,.3)}

.b-tom{padding:24px 0 8px;display:grid;gap:18px}
.b-tom p{max-width:30em;font-size:17px}
.b-tom-knappar{display:flex;flex-wrap:wrap;gap:10px}
.b-tom-knappar .knapp{cursor:pointer;border:0;font-family:inherit}
.b-tom-knappar .knapp.ljus{box-shadow:inset 0 0 0 1px rgba(52,49,48,.3)}

@media (min-width:900px){.b-lander button{min-height:44px;padding:0 12px;font-size:14px}}


@media (max-width:899px){
  .b-yta{grid-template-columns:minmax(0,1fr);grid-template-areas:"huvud" "karta" "lista";grid-template-rows:auto auto 1fr}
  .b-huvud{padding:28px var(--kant) 16px;gap:14px}
  .b-karta{z-index:3;height:36svh;box-shadow:0 10px 24px -14px rgba(0,0,0,.35)}
  .b-lander{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--kant));padding:2px var(--kant) 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0 var(--kant)}
  .b-lander::-webkit-scrollbar{display:none}
  .b-lander button{flex:none}
  .b-butik{scroll-margin-top:calc(var(--topp) + 36svh + 12px)}
  .b-kartyta .leaflet-bar a{width:44px;height:44px;line-height:44px}
  .b-kartyta .leaflet-control-attribution a{display:inline-block;padding:13px 0;line-height:18px}
  .b-kartyta .leaflet-control-attribution{padding:0 6px}
  .b-lista{padding-bottom:10vh}
}
@media (max-width:420px){
  .b-nara{padding:0 18px}
  .b-knappar .knapp,.b-tom-knappar .knapp{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .b-kort,.b-nal,.b-lander button,.b-radie button,.b-butik{transition:none}
  .b-du::after{animation:none}
}


.b-yta{padding-top:0;min-height:0;border-top:1px solid var(--linje)}
.b-huvud{padding-top:28px}
.b-forst{padding-bottom:clamp(28px,5vh,56px)}
.b-forst .b-ingress{margin-top:14px;font-size:15px;color:var(--sage)}
.b-landval{flex:none}
.b-landval select{width:100%;min-height:52px;border:0;border-bottom:1px solid rgba(52,49,48,.35);border-radius:0;background:linear-gradient(45deg,transparent 50%,var(--graphite) 50%) calc(100% - 12px) 55%/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,var(--graphite) 50%) calc(100% - 6px) 55%/6px 6px no-repeat;color:var(--graphite);font:400 17px/1.3 "Soehne",sans-serif;padding:8px 28px 8px 0;-webkit-appearance:none;appearance:none;cursor:pointer}
.b-landval select:focus{outline:none;border-bottom-color:var(--graphite)}
.sd-lander .kb-del-huvud .knapp{display:inline-block;line-height:48px;border:0;font-family:inherit;cursor:pointer}

.b-tom[hidden]{display:none}


html.b-booking-open{overflow:hidden}
.b-booking{margin:auto;width:min(960px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--linje);background:var(--linen);color:var(--graphite);overflow:auto}
.b-booking::backdrop{background:rgba(20,26,38,.55)}
.b-booking header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 8px}
.b-booking h2{font-size:clamp(18px,2.5vw,26px);overflow-wrap:anywhere}
.b-booking header button{flex:none;min-width:72px}
.b-booking-fallback,.b-booking [data-booking-status]{padding:0 24px 12px;font-size:14px}
.b-booking-fallback a{text-decoration:underline;display:inline-flex;min-height:44px;align-items:center}
.b-booking-widget{height:700px;min-width:0}
.b-booking-widget iframe{display:block;width:100%;height:100%;border:0;color-scheme:light}
@media(max-width:600px){.b-booking{width:100vw;max-height:100dvh;height:100dvh;border:0}.b-booking header{padding:12px 16px 0}.b-booking-fallback,.b-booking [data-booking-status]{padding-left:16px;padding-right:16px}.b-booking-widget{height:calc(100dvh - 130px);min-height:440px}}
