.shop .btn{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.shop .btn:hover:not(:disabled){background:var(--surface-2)}.shop .btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.shop .btn.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.shop .btn:active:not(:disabled){transform:translateY(1px)}.shop :is(.btn,a,button,summary):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.shop{padding-bottom:48px}.shop-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;padding:16px 0 12px;font-size:13px;display:flex}.shop-crumbs a{transition:color .15s var(--ease)}.shop-crumbs a:hover{color:var(--brand)}.shop-crumbs svg{opacity:.6}.shop-crumbs span{color:var(--text)}.shop-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.shop-cover{background:var(--surface-2);overflow:hidden}.shop-cover-in{will-change:transform}.shop-head .shop-banner{aspect-ratio:16/7;object-fit:cover;background:var(--surface-2);width:100%;height:auto;display:block}.shop-head .shop-banner.is-flat{aspect-ratio:auto;height:120px}@media (min-width:900px){.shop-head .shop-banner{aspect-ratio:16/5}.shop-head .shop-banner.is-flat{height:160px}}.shop-id{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px 16px;padding:0 16px;display:grid}@media (min-width:900px){.shop-id{grid-template-columns:auto minmax(0,1fr) auto;gap:16px 24px;padding:0 32px}}.shop-logo{background:var(--surface);width:88px;height:88px;box-shadow:0 0 0 4px var(--surface), var(--shadow);color:var(--muted);border-radius:50%;grid-row:span 1;place-items:center;margin-top:-44px;font-size:34px;font-weight:700;display:grid;position:relative;overflow:hidden}@media (min-width:900px){.shop-logo{width:120px;height:120px;margin-top:-60px;font-size:44px}}.shop-logo img{object-fit:cover;width:100%;height:100%}.shop-id-text{min-width:0;padding-top:12px}.shop-id-text h1{letter-spacing:-.025em;overflow-wrap:break-word;text-wrap:balance;margin:0;font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.1}.shop-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;font-size:14px;display:flex}.shop-meta-item{align-items:center;gap:6px;min-width:0;display:inline-flex}.shop-meta-item svg{flex:none}.shop-rating{color:var(--text)}.shop-rating svg{fill:currentColor}.shop-status{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);align-items:center;gap:8px;padding:4px 12px 4px 10px;font-size:13px;font-weight:600;display:inline-flex}.shop-status i{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.shop-status.is-open{background:var(--brand-soft);color:var(--brand)}.shop-status.is-open i{background:var(--brand);position:relative}button.shop-status{font:inherit;cursor:help;border:0;font-size:13px;font-weight:600}button.shop-status:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.shop-status.is-open i:after{content:"";background:var(--brand);animation:shop-ping 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}}@keyframes shop-ping{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}.shop-rating{border-radius:var(--radius-sm);cursor:help}.shop-hc-h{margin-bottom:8px;font-size:14px;display:block}.shop-hc .shop-hours{max-width:none;font-size:13px}.shop-hc-call{color:var(--brand);align-items:center;gap:6px;margin-top:12px;font-weight:600;display:inline-flex}.shop-hours tr.is-today td{color:var(--brand);font-weight:700}@media (max-width:899px){.shop-id-text{grid-column:1/-1;padding-top:0}.shop-logo{grid-column:1}}.shop-id-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;min-width:0;display:flex}@media (min-width:900px){.shop-id-actions{grid-column:auto;justify-content:flex-end;padding-bottom:4px}}.shop-id-actions .sf-actions-row{flex-wrap:wrap;gap:8px;display:flex}.shop-id-actions .sf-tbtn{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;transition:background-color .2s var(--ease);align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.shop-id-actions .sf-tbtn:hover{background:var(--surface-2);text-decoration:none}@media (max-width:599px){.shop-id-actions>.btn{flex:1 0 100%}.shop-id-actions .sf-actions-row{flex:1 0 100%;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.shop-id-actions .sf-tbtn{justify-content:center;min-width:0;padding:10px 8px}}.shop-intro{flex-direction:column;gap:8px;padding:16px 16px 20px;display:flex}@media (min-width:900px){.shop-intro{padding:20px 32px 28px}}.shop-intro:empty{display:none}.shop-intro .sf-shopfacts{color:var(--text);margin:0;font-size:14px;font-weight:500}.shop-story{max-width:72ch;color:var(--muted);overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.6}.shop-since{color:var(--muted)}.shop-nav{top:var(--sticky-top);z-index:5;background:var(--bg);border-bottom:1px solid var(--border);margin:16px -16px 0;padding:8px 16px;position:sticky}.shop-nav-in{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.shop-nav-in::-webkit-scrollbar{display:none}.shop-nav a{border-radius:var(--radius-pill);min-height:40px;color:var(--muted);transition:background-color .2s var(--ease), color .2s var(--ease);flex:none;align-items:center;padding:8px 18px;font-size:15px;font-weight:600;display:inline-flex}.shop-nav a:hover{color:var(--text);background:var(--surface-2)}.shop-nav a{isolation:isolate;position:relative}.shop-nav a.on,.shop-nav a.on:hover{color:var(--surface);background:0 0}.shop-nav-pill{z-index:-1;border-radius:inherit;background:var(--text);position:absolute;inset:0}.shop-nav-tx{position:relative}.shop-sec{scroll-margin-top:calc(var(--sticky-top) + 64px);padding-top:32px}.shop-sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px;display:flex}.shop-sec-head h2{letter-spacing:-.025em;margin:0;font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.2}.shop .sf-shopsearch{flex-direction:column;flex:260px;gap:4px;max-width:360px;display:flex}.shop .sf-shopsearch[hidden]{display:none}.shop .sf-shopsearch-box{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);height:44px;color:var(--muted);transition:border-color .2s var(--ease);align-items:center;gap:8px;padding:0 16px;display:flex}.shop .sf-shopsearch-box:focus-within{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:-1px}.shop .sf-shopsearch-box input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:15px}.shop .sf-shopsearch-none{color:var(--muted);margin:0;font-size:13px}.shop .sf-shopsearch-none:empty{display:none}@media (max-width:599px){.shop .sf-shopsearch{flex-basis:100%;max-width:none}}.shop-chips{scrollbar-width:none;gap:8px;margin:0 -16px 12px;padding:2px 16px;display:flex;overflow-x:auto}.shop-chips::-webkit-scrollbar{display:none}.shop-chips a,.shop-pill{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease);flex:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.shop-chips a:hover,.shop-pill:hover{border-color:var(--text)}.shop-chips a.on,.shop-pill.on{background:var(--text);border-color:var(--text);color:var(--surface)}.shop-chips.sub a{background:var(--surface-2);border-color:#0000;min-height:36px;padding:6px 14px;font-size:13px}.shop-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.shop-filter{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shop-filter .lbl{color:var(--muted);font-size:13px;font-weight:600}.shop-sort{border-radius:var(--radius-pill);background:var(--surface-2);scrollbar-width:none;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.shop-sort a{border-radius:var(--radius-pill);min-height:34px;color:var(--muted);white-space:nowrap;transition:background-color .2s var(--ease), color .2s var(--ease);flex:none;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.shop-sort a:hover{color:var(--text)}.shop-sort a.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}@media (max-width:599px){.shop-toolbar .spacer{display:none}}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;display:grid}@media (min-width:600px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}}@media (min-width:1000px){.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}}.shop-cell{min-width:0}.shop-cell[hidden]{display:none}.shop-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:40px 16px;display:flex}.shop-empty>span{background:var(--surface-2);width:56px;height:56px;color:var(--text);border-radius:50%;place-items:center;display:grid}.shop-empty p{margin:0}.shop-services{grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:700px){.shop-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.shop-services{grid-template-columns:repeat(3,minmax(0,1fr))}}.shop-svc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease), transform .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.shop-svc:hover{box-shadow:var(--shadow)}@media (prefers-reduced-motion:no-preference){.shop-svc:hover{transform:translateY(-2px)}}.shop-svc-media .gallery{gap:0}.shop-svc-media .gallery-main{border-radius:0}.shop-svc-media .gallery .gallery-slide img,.shop-svc-media .gallery-empty{aspect-ratio:4/3}.shop-svc-media .gallery .thumbs{display:none}.shop-svc-media .gallery-video{padding:12px 16px 0}.shop-svc-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding:16px;display:flex}.shop-svc-body h3{letter-spacing:-.015em;overflow-wrap:break-word;margin:0;font-size:17px;font-weight:700;line-height:1.3}.shop-svc-desc{color:var(--muted);overflow-wrap:break-word;margin:0;font-size:14px;line-height:1.55}.shop-svc-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.shop-tag{border-radius:var(--radius-pill);background:var(--surface-2);align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.shop-svc-price{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.shop-svc-book{padding-top:4px}.shop-svc-book>.btn{width:100%}.shop-svc-book .book-appt{margin:0}.shop-info{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (min-width:900px){.shop-info{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px}}.shop-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);overflow-wrap:break-word}.shop-delivery{padding:20px}.shop-box h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.shop-lines{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;font-size:14px;line-height:1.45;list-style:none;display:flex}.shop-lines li{align-items:center;gap:12px;min-width:0;display:flex}.shop-lines li>span:last-child{min-width:0}.shop-ico{background:var(--surface-2);width:36px;height:36px;color:var(--brand);border-radius:50%;flex:none;place-items:center;display:grid}.shop-accs{padding:0 20px}.shop-accs .fold-body{font-size:14px}.shop-accs .shop-policies-plain.is-bare{max-width:none;font-size:14px}.shop-accs .shop-policies-plain.is-bare h3{margin:12px 0 4px;font-size:14px}.shop-accs .shop-policies-plain.is-bare .shop-policies-legal{border-radius:var(--radius-sm);padding:12px 16px}.shop-accs>:is(.shop-acc,.shop-policies){border:0;border-bottom:1px solid var(--border)}.shop-accs>:is(.shop-acc,.shop-policies):last-child{border-bottom:0}.shop-accs>:is(.shop-acc,.shop-policies)>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 0;font-size:15px;font-weight:600;text-decoration:none;list-style:none;display:flex}.shop-accs>:is(.shop-acc,.shop-policies)>summary::-webkit-details-marker{display:none}.shop-accs>:is(.shop-acc,.shop-policies)>summary:hover{color:var(--brand);text-decoration:none}.shop-acc>summary h3{letter-spacing:0;margin:0;font-size:15px;font-weight:600}.shop-accs>:is(.shop-acc,.shop-policies)>summary .disc{color:var(--muted);transition:transform .2s var(--ease);flex:none}.shop-accs>:is(.shop-acc,.shop-policies)[open]>summary .disc{transform:rotate(90deg)}.shop-acc-body{padding:0 0 20px;font-size:14px;line-height:1.6}.shop-accs .shop-policies .shop-policies-body{padding:0 0 20px;font-size:14px}.shop-accs .shop-policies .shop-policies-legal{border-radius:var(--radius-sm);background:var(--surface-2);padding:12px 16px}.shop-accs .shop-policies h3{margin:12px 0 4px;font-size:14px;font-weight:600}.shop-about{white-space:pre-line;color:var(--text);margin:0}.shop-hours{border-collapse:collapse;width:100%;max-width:360px;font-size:14px}.shop-hours td{font-variant-numeric:tabular-nums;border:0;padding:6px 0}.shop-hours td:last-child{text-align:right}.shop-hours tr+tr td{border-top:1px solid var(--border)}.shop-map{border-radius:var(--radius);overflow:hidden}.shop-map .map{border-radius:var(--radius)}.shop-social{flex-wrap:wrap;gap:8px;display:flex}.shop-social a{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:40px;transition:border-color .2s var(--ease);align-items:center;gap:6px;padding:8px 14px;font-weight:500;display:inline-flex}.shop-social a:hover{border-color:var(--text)}.shop-legal{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;font-size:13px;display:grid}.shop-legal dt{color:var(--muted)}.shop-legal dd{overflow-wrap:anywhere;margin:0}@media (prefers-reduced-motion:reduce){.shop *{transition:none!important}}.shop-svc-book .pdp-added{align-items:flex-start}.shop-svc-book .pdp-added>span:not(.spacer){flex:180px}
