/* A subject's own catalogue. Scoped so profile home/designer/editorial content keeps its layout. */
.profile-section-view[data-profile-section-view=services]{max-width:none;margin:24px 0 0;min-width:0}
.service-storefront{box-sizing:border-box;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-shadow);container-type:inline-size;container-name:service-storefront}
.service-storefront [hidden]{display:none!important}
.service-storefront-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;padding:var(--ui-panel-padding,24px);background:linear-gradient(120deg,var(--surface) 50%,var(--accent-soft));border-radius:20px 20px 0 0;border-bottom:1px solid var(--line)}
.service-storefront-title{grid-column:1;grid-row:1;min-width:0}
.service-storefront .service-storefront-title h2{margin:0;max-width:none;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.3;font-weight:var(--ui-heading-weight,600);letter-spacing:-.025em;overflow-wrap:anywhere}
.service-storefront-heading .profile-service-action{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;padding:0;border:0}.service-storefront-heading .profile-service-action .button{white-space:normal;min-height:46px;max-width:100%}
.service-storefront-summary{grid-column:1;grid-row:2;min-width:0;max-width:none}.service-storefront-summary p{margin:0;max-width:none;line-height:1.7;font-size:var(--ui-body-size,.9375rem);white-space:pre-line;overflow-wrap:anywhere;color:var(--muted)}
.service-storefront-catalogue{padding:var(--ui-panel-padding,24px)}
.service-storefront-catalogue-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:20px}.service-storefront-catalogue-heading h3{margin:0;font-size:1.1rem;font-weight:var(--ui-heading-weight,600);line-height:1.4}.service-storefront-catalogue-heading p{margin:0;color:var(--muted);font-size:.85rem}
.service-storefront-search{display:flex;align-items:center;gap:12px;width:100%;min-width:0;box-sizing:border-box;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;padding:0 6px 0 14px;background:var(--surface)}
.service-storefront-search:focus-within{outline:2px solid var(--focus,var(--accent));outline-offset:2px}.service-storefront-search label{display:flex;align-items:center;color:var(--muted);flex:none}.service-storefront-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-storefront .service-storefront-search input{flex:1;min-width:0;width:100%;height:52px;margin:0;padding:12px 0;border:0;border-radius:0;box-shadow:none;background:transparent;font:inherit;color:var(--ink)}.service-storefront-search input:focus-visible{outline:none}.service-storefront-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.service-storefront-search button{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:var(--neutral-soft);color:var(--muted);cursor:pointer}
.service-storefront .page-list-services{display:block}.service-storefront .page-item-services{min-width:0;border-bottom:1px solid var(--line)}.service-storefront .page-item-services:last-child{border-bottom:0}
.service-storefront .profile-service-card{height:auto;padding:22px 0;border:0;border-radius:0;box-shadow:none;display:grid;align-items:start;gap:10px 28px;background:transparent;min-width:0}
.service-storefront .profile-service-card>header{display:flex;gap:14px;align-items:center;min-width:0}.service-storefront .profile-service-card h3{flex:1;min-width:0;margin:0;font-size:1.05rem;font-weight:var(--ui-heading-weight,600);line-height:1.5;overflow-wrap:anywhere}.service-storefront .profile-service-icon{width:44px;height:44px;flex-basis:44px;border-radius:12px}
.service-storefront .profile-service-title{gap:16px;justify-content:space-between;min-width:0;text-decoration:none;overflow-wrap:anywhere}.service-storefront .profile-service-title::after{content:"";width:7px;height:7px;flex:0 0 7px;border-top:1.5px solid var(--accent);border-right:1.5px solid var(--accent);transform:rotate(45deg);margin-right:4px}.service-storefront .profile-service-title:hover{color:var(--accent);text-decoration:underline}
.service-storefront .profile-service-card ul{display:grid;gap:0 24px;min-width:0;margin:0;padding:0}.service-storefront .profile-service-card li{min-width:0;border:0}.service-storefront .profile-service-link{gap:14px;min-height:44px;padding:9px 0;color:var(--muted);font-size:var(--ui-body-size,.9375rem);font-weight:400;overflow-wrap:anywhere}.service-storefront .profile-service-link:hover{color:var(--accent);text-decoration:underline}.service-storefront .profile-service-link>span:first-child{min-width:0}.service-storefront .profile-service-link>span:last-child{color:var(--accent)}
.service-storefront-empty{text-align:center;padding:34px 16px;min-width:0}.service-storefront-empty>svg{width:28px;height:28px;fill:none;stroke:var(--muted);stroke-width:1.6}.service-storefront-empty h3{font-size:1.1rem;margin:14px 0 8px}.service-storefront-empty p{color:var(--muted);margin:0 0 20px;line-height:1.65}.service-storefront-empty .button{min-height:44px}
.service-storefront :is(a,button):focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:3px;border-radius:6px}
@container service-storefront (min-width:640px){.service-storefront .profile-service-card ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container service-storefront (min-width:940px){.service-storefront .profile-service-card[data-service-specialties]:not([data-service-specialties="0"]){grid-template-columns:minmax(230px,.7fr) minmax(0,1fr);gap:28px}}
@media(max-width:520px){.profile-section-view[data-profile-section-view=services]{margin-top:16px}.service-storefront-heading{grid-template-columns:minmax(0,1fr);gap:12px}.service-storefront-heading .profile-service-action{grid-column:1;grid-row:3;width:100%}.service-storefront-heading .profile-service-action .button{width:100%}.service-storefront .profile-service-card{padding:18px 0}.service-storefront .profile-service-card ul{padding-left:58px}.service-storefront .profile-service-card h3{font-size:1rem}}

.service-storefront .profile-service-card ul:not(:has(>li:not([hidden]) ~ li:not([hidden]))){grid-template-columns:minmax(0,1fr)}

.service-storefront-heading .profile-service-action .button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.service-storefront-heading .profile-service-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.service-storefront[data-service-design-reference] .service-storefront-heading{border-bottom:0;border-radius:inherit}
