.storefront{background:var(--surface,#fff);min-height:100svh}.storefront-header{border-bottom:1px solid var(--border,#ddd);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem max(1rem,50% - 35rem);display:flex}.storefront-brand{align-items:center;gap:.6rem;font-weight:700;display:inline-flex}.storefront-brand small{margin-inline-start:.5rem;font-weight:400}.storefront-content{gap:1.25rem;max-width:72rem;margin-inline:auto;padding:1.5rem 1rem 3rem;display:grid}.storefront-google-rating{border:1px solid var(--border);background:var(--card);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.65rem;display:flex}.storefront-google-rating a{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.storefront-google-rating a:hover{text-decoration:underline}.storefront-google-attribution{color:#5f6368;font:500 14px Roboto,Arial,sans-serif}.storefront-company{--company-inset:clamp(.85rem, 3vw, 1.75rem);--company-avatar:clamp(4.5rem, 10vw, 6rem);text-align:center;border:1px solid var(--border,#ddd);overflow:hidden}.storefront-company-cover{background:linear-gradient(120deg,#edf6fd,#ccdef5);height:clamp(7rem,23vw,15rem);position:relative}.storefront-company-cover img{object-fit:cover}.storefront-company-logo{width:var(--company-avatar);height:var(--company-avatar);border:3px solid var(--card,#fff);background:var(--muted,#edf6fd);border-radius:50%;place-items:center;margin-block-start:calc(var(--company-avatar) / -2);margin-inline-start:var(--company-inset);font-weight:700;display:grid;position:relative;overflow:hidden}.storefront-company-logo img{object-fit:contain}.storefront-company .storefront-intro{justify-items:center;padding:.75rem 1rem 1.25rem}.storefront-intro{gap:.4rem;display:grid}.storefront-company .storefront-actions{justify-content:center}.storefront-intro h1{font-family:var(--font-sans);font-size:clamp(1.8rem,4vw,2.65rem);font-weight:600}.storefront a{text-underline-offset:.2em}.storefront-filters{border:1px solid var(--border,#ddd);grid-template-columns:minmax(12rem,1fr) minmax(5.5rem,auto) auto minmax(5rem,auto) auto;align-items:end;gap:.65rem;padding:.8rem;display:grid}.storefront-filters label{margin-bottom:.35rem;font-size:.85rem;display:block}.storefront-filters p{grid-column:1/-1}.storefront-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.75rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.storefront-card{border:1px solid var(--border,#ddd);overflow-wrap:anywhere;align-content:start;gap:.45rem;min-width:0;padding:.85rem;display:grid}.storefront-card h2,.storefront-card h3{font-size:1rem}.storefront-card p,.storefront-card small{font-size:.88rem}.product-gallery{min-width:0}.product-gallery .product-gallery-track{margin:0}.product-gallery .product-gallery-slide{padding:0}.product-gallery .product-gallery-image{width:100%;display:block}.product-gallery-open{background:var(--muted);border:0;width:100%;padding:0;display:block;position:relative}.product-gallery-open:focus-visible{outline-offset:-3px}.product-gallery-expand{width:2rem;height:2rem;color:var(--foreground);background:var(--card);border:1px solid var(--border);place-items:center;display:grid;position:absolute;bottom:.5rem;right:.5rem}.product-gallery-controls{color:var(--muted-foreground);justify-content:center;align-items:center;gap:.65rem;padding-block:.35rem;display:flex}.product-gallery-expanded .product-gallery-image{max-height:62dvh}.storefront-discovery{border:1px solid var(--border);background:var(--background);gap:1rem;padding:clamp(1rem,3vw,1.75rem);display:grid}.storefront-discovery .storefront-filters{background:var(--card)}.storefront-directory{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.storefront-listing{border:1px solid var(--border);background:var(--card);height:100%;transition:border-color .15s;display:block}.storefront-listing:hover,.storefront-listing:focus-visible{border-color:var(--brand)}.storefront-listing-cover{background:linear-gradient(120deg, var(--muted), var(--secondary));height:5rem;position:relative}.storefront-listing-cover img{object-fit:cover}.storefront-listing-content{text-align:center;justify-items:center;gap:.5rem;padding:0 1rem 1rem;display:grid;position:relative}.storefront-listing-content h3{font-size:1rem;font-weight:700}.storefront-listing-logo{border:2px solid var(--card);background:var(--muted);border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;margin-top:-1.75rem;font-weight:700;display:grid;position:relative;overflow:hidden}.storefront-listing-logo img{object-fit:contain}.storefront-region,.storefront-listing-action{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.storefront-region{color:var(--muted-foreground)}.storefront-listing-action{color:var(--brand);margin-top:.15rem;font-weight:700}.storefront-service-groups{gap:1.25rem;display:grid}.storefront-service-groups h2{margin-bottom:.5rem;font-weight:600}.storefront-service-list{border:1px solid var(--border);background:var(--card);margin:0;padding:0;list-style:none}.storefront-service-list li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1.5rem;padding:.85rem 1rem;display:grid}.storefront-service-list li+li{border-top:1px solid var(--border)}.storefront-service-list h3{font-size:1rem;font-weight:600}.storefront-service-list p{color:var(--muted-foreground);overflow-wrap:anywhere;margin-top:.2rem}.storefront-service-price{white-space:nowrap;justify-items:end;display:grid}.storefront-service-price small{color:var(--muted-foreground)}@media (max-width:480px){.storefront-service-list li{grid-template-columns:1fr}.storefront-service-price{justify-items:start}}.storefront section nav{margin-top:.75rem}@media (max-width:720px){.storefront-filters{grid-template-columns:1fr 1fr}.storefront-filters>:first-child{grid-column:1/-1}}
