/* Commerce Hub Store — UX polish layer v3
   Loaded last. It normalizes legacy route styles without changing business logic. */

:root{
  --ch-ux-control:48px;
  --ch-ux-control-lg:54px;
  --ch-ux-radius-sm:12px;
  --ch-ux-radius-md:16px;
  --ch-ux-radius-lg:24px;
  --ch-ux-gap-xs:8px;
  --ch-ux-gap-sm:12px;
  --ch-ux-gap-md:16px;
  --ch-ux-gap-lg:24px;
  --ch-ux-focus:0 0 0 3px color-mix(in srgb,var(--store-accent) 34%,transparent);
  --ch-ux-ease:cubic-bezier(.22,.8,.24,1);
}

/* The play/pause control is intentionally removed from every shell variant. */
body.store-page [data-store-motion-toggle],
body.store-page .store-motion-toggle,
body.store-page .app-header__desktop-motion,
body.store-page .app-header__mobile-motion{display:none!important}

html[data-motion="full"]{scroll-behavior:smooth!important}

body.store-page{
  --store-card-radius:clamp(18px,1.5vw,24px);
  --store-control-radius:14px;
  text-rendering:optimizeLegibility;
}

body.store-page :where(button,a,input,select,textarea,summary){
  transition-property:background-color,border-color,color,box-shadow,opacity,transform;
  transition-duration:180ms;
  transition-timing-function:var(--ch-ux-ease);
}

body.store-page :where(button,a,input,select,textarea,summary):focus-visible{
  outline:0!important;
  box-shadow:var(--ch-ux-focus)!important;
}

body.store-page :where(button,[role="button"]):active:not(:disabled){transform:scale(.985)}
body.store-page :where(input,select,textarea){min-inline-size:0}
body.store-page :where(select){background-position:right 14px center}

/* Keep keyboard and fixed commerce controls from competing for mobile space. */
body.store-page.is-store-keyboard-open :where(.store-mobile-nav,.mobile-sticky-purchase,.ticket-mobile-bar,.checkout-mobile-dock){
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}

/* Shared content hierarchy */
body.store-page :where(.service-section-title,.event-section-title,.catalog-heading,.listing-heading,.ticket-builder__head){
  max-inline-size:100%;
}
body.store-page :where(.service-section-title h1,.service-section-title h2,.event-section-title h1,.event-section-title h2,.catalog-heading h1,.ticket-builder__head h2){
  text-wrap:balance;
}
body.store-page :where(.service-section-title p,.event-section-title p,.catalog-heading p,.ticket-builder__head p){
  max-inline-size:64ch;
  line-height:1.6;
}

/* Predictable cards: the content—not hover—is the interaction affordance. */
body.store-page :where(.service-card,.service-spotlight-card,.event-card,.market-card,.subscription-card){
  border-color:color-mix(in srgb,var(--store-line) 92%,transparent)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.055)!important;
}
body.store-page :where(.service-card,.event-card,.market-card) :where(h2,h3,strong){text-wrap:balance}
body.store-page :where(.service-card,.event-card,.market-card) :where(p,small){line-height:1.5}

@media (hover:hover) and (pointer:fine){
  body.store-page :where(.service-card,.service-spotlight-card,.event-card,.market-card,.subscription-card):hover{
    border-color:color-mix(in srgb,var(--store-accent) 24%,var(--store-line))!important;
    box-shadow:0 18px 48px rgba(15,23,42,.10)!important;
    transform:translateY(-3px)!important;
  }
  body.store-page :where(.store-button,.service-card footer>a,.event-card footer>a):hover:not(:disabled){
    transform:translateY(-1px);
  }
}

/* ========================================================================== 
   DETAIL PURCHASE SYSTEM
   ========================================================================== */
body.store-page.store-view--detail .native-detail-purchase{
  display:grid!important;
  gap:var(--ch-ux-gap-md)!important;
  inline-size:100%!important;
  margin-block-start:clamp(16px,2vw,24px)!important;
  padding:clamp(16px,2.1vw,22px)!important;
  overflow:visible!important;
  border:1px solid var(--store-line)!important;
  border-radius:var(--ch-ux-radius-lg)!important;
  background:linear-gradient(180deg,var(--store-surface),color-mix(in srgb,var(--store-surface-2) 42%,var(--store-surface)))!important;
  box-shadow:0 16px 38px rgba(15,23,42,.075)!important;
}

body.store-page.store-view--detail .detail-stock-state{
  display:flex!important;
  min-block-size:38px!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 12px!important;
  border:1px solid color-mix(in srgb,var(--store-success) 24%,var(--store-line))!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--store-success) 7%,var(--store-surface))!important;
  color:color-mix(in srgb,var(--store-success) 82%,var(--store-ink))!important;
  font-size:12px!important;
  font-weight:720!important;
  line-height:1.35!important;
}
body.store-page.store-view--detail .detail-stock-state i{
  inline-size:8px!important;
  block-size:8px!important;
  flex:0 0 8px!important;
  border-radius:50%!important;
  background:var(--store-success)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--store-success) 14%,transparent)!important;
}

body.store-page.store-view--detail .native-detail-purchase__controls{
  display:grid!important;
  grid-template-columns:minmax(156px,176px) minmax(220px,1fr)!important;
  align-items:end!important;
  gap:var(--ch-ux-gap-sm)!important;
}

body.store-page.store-view--detail .native-detail-quantity-label{
  display:grid!important;
  gap:7px!important;
  align-content:end!important;
  min-inline-size:0!important;
}
body.store-page.store-view--detail .native-detail-quantity-label>label,
body.store-page.store-view--detail .native-detail-quantity-label>span{
  display:block!important;
  margin:0!important;
  color:var(--store-muted)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
}

/* One continuous segmented control: no floating or partially clipped buttons. */
body.store-page.store-view--detail .quantity-selector{
  display:grid!important;
  grid-template-columns:48px minmax(48px,1fr) 48px!important;
  inline-size:100%!important;
  max-inline-size:176px!important;
  block-size:52px!important;
  min-block-size:52px!important;
  padding:3px!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--store-line-strong) 82%,transparent)!important;
  border-radius:15px!important;
  background:var(--store-surface-2)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important;
}
body.store-page.store-view--detail .quantity-selector :where(button,input){
  inline-size:100%!important;
  min-inline-size:0!important;
  block-size:44px!important;
  min-block-size:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:11px!important;
  color:var(--store-ink)!important;
  box-shadow:none!important;
  transform:none!important;
  text-align:center!important;
}
body.store-page.store-view--detail .quantity-selector button{
  display:grid!important;
  place-items:center!important;
  background:var(--store-surface)!important;
  cursor:pointer!important;
}
body.store-page.store-view--detail .quantity-selector button:hover:not(:disabled){
  background:color-mix(in srgb,var(--store-accent) 8%,var(--store-surface))!important;
  color:var(--store-accent)!important;
}
body.store-page.store-view--detail .quantity-selector button:focus-visible{position:relative;z-index:2}
body.store-page.store-view--detail .quantity-selector button:disabled{
  background:transparent!important;
  color:var(--store-muted)!important;
  opacity:.38!important;
}
body.store-page.store-view--detail .quantity-selector input{
  -moz-appearance:textfield!important;
  appearance:textfield!important;
  background:transparent!important;
  font-size:17px!important;
  font-weight:850!important;
  font-variant-numeric:tabular-nums!important;
}
body.store-page.store-view--detail .quantity-selector input::-webkit-inner-spin-button,
body.store-page.store-view--detail .quantity-selector input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
body.store-page.store-view--detail .quantity-selector__icon{
  display:block!important;
  inline-size:20px!important;
  block-size:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
}

body.store-page.store-view--detail .detail-buy-row{
  display:block!important;
  inline-size:100%!important;
  min-inline-size:0!important;
}
body.store-page.store-view--detail .detail-add-button{
  inline-size:100%!important;
  min-block-size:52px!important;
  padding-inline:18px!important;
  border-radius:15px!important;
  font-size:15px!important;
  font-weight:820!important;
}
body.store-page.store-view--detail .detail-purchase-note{
  margin:0!important;
  color:var(--store-muted)!important;
  font-size:11px!important;
  line-height:1.55!important;
}

/* Service-specific purchase hierarchy */
body.store-page--services.store-view--detail .native-detail-purchase{
  border-color:color-mix(in srgb,var(--store-accent) 15%,var(--store-line))!important;
}
body.store-page--services.store-view--detail .native-detail-purchase__controls{
  grid-template-columns:176px minmax(220px,1fr)!important;
}
body.store-page--services.store-view--detail .detail-add-button{min-block-size:54px!important}
body.store-page--services.store-view--detail .detail-stock-state--service{margin:0!important}

/* Subscription is a plan selection, not a multi-quantity product. */
body.store-page--subscriptions.store-view--detail .native-detail-quantity-label,
body.store-page--subscriptions.store-view--detail .mobile-sticky-purchase__quantity-wrap{
  display:none!important;
}
body.store-page--subscriptions.store-view--detail .native-detail-purchase__controls{grid-template-columns:1fr!important}

/* Mobile purchase dock */
body.store-page.store-view--detail .mobile-sticky-purchase{
  position:fixed!important;
  z-index:1250!important;
  right:max(10px,env(safe-area-inset-right))!important;
  left:max(10px,env(safe-area-inset-left))!important;
  bottom:calc(var(--store-mobile-nav-rendered-h,0px) + max(10px,env(safe-area-inset-bottom)))!important;
  display:none!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"price quantity" "add add"!important;
  align-items:end!important;
  gap:9px 12px!important;
  inline-size:auto!important;
  max-inline-size:680px!important;
  margin-inline:auto!important;
  padding:11px!important;
  border:1px solid color-mix(in srgb,var(--store-line) 94%,transparent)!important;
  border-radius:20px!important;
  background:color-mix(in srgb,var(--store-surface) 94%,transparent)!important;
  box-shadow:0 18px 54px rgba(15,23,42,.22)!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase.is-visible{display:grid!important}
body.store-page.store-view--detail .mobile-sticky-purchase__prices{
  grid-area:price!important;
  display:grid!important;
  gap:3px!important;
  min-inline-size:0!important;
  align-content:center!important;
  padding-inline-start:4px!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__prices>small,
body.store-page.store-view--detail .mobile-sticky-purchase__quantity-wrap>small{
  display:block!important;
  color:var(--store-muted)!important;
  font-size:9px!important;
  font-weight:820!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__prices>span{
  display:flex!important;
  min-inline-size:0!important;
  align-items:baseline!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__prices strong{
  color:var(--store-ink)!important;
  font-size:clamp(20px,5.5vw,25px)!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__prices del{
  color:var(--store-muted)!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__quantity-wrap{
  grid-area:quantity!important;
  display:grid!important;
  justify-items:end!important;
  gap:4px!important;
  min-inline-size:0!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__quantity{
  grid-template-columns:43px 46px 43px!important;
  inline-size:138px!important;
  max-inline-size:138px!important;
  block-size:48px!important;
  min-block-size:48px!important;
  padding:2px!important;
  border-radius:14px!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__quantity :where(button,input){
  block-size:42px!important;
  min-block-size:42px!important;
  border-radius:10px!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__add{
  grid-area:add!important;
  inline-size:100%!important;
  min-inline-size:0!important;
  min-block-size:54px!important;
  margin:0!important;
  padding-inline:16px!important;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:850!important;
}
body.store-page--subscriptions.store-view--detail .mobile-sticky-purchase{
  grid-template-columns:1fr!important;
  grid-template-areas:"price" "add"!important;
}

/* ========================================================================== 
   SERVICES
   ========================================================================== */
body.store-page--services .service-market__search{
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.065)!important;
}
body.store-page--services .service-card__body{gap:12px!important}
body.store-page--services .service-card footer>a{
  min-block-size:46px!important;
  border-radius:13px!important;
}
body.store-page--services .service-card__facts span{min-block-size:30px!important}
body.store-page--services.store-view--detail .native-detail-facts--service{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.store-page--services.store-view--detail .native-detail-facts--service>span{
  min-block-size:74px!important;
  align-content:center!important;
}

/* ========================================================================== 
   EVENTS
   ========================================================================== */
body.store-page--events .ticket-builder{
  overflow:visible!important;
  border:1px solid var(--store-line)!important;
  background:var(--store-surface)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.075)!important;
}
body.store-page--events .ticket-builder__tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid var(--store-line)!important;
  border-radius:15px!important;
  background:var(--store-surface-2)!important;
}
body.store-page--events .ticket-builder__tabs button{
  min-block-size:46px!important;
  padding:8px 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--store-muted)!important;
  font-weight:760!important;
}
body.store-page--events .ticket-builder__tabs button[aria-selected="true"]{
  background:var(--store-surface)!important;
  color:var(--store-ink)!important;
  box-shadow:0 5px 16px rgba(15,23,42,.08)!important;
}
body.store-page--events .ticket-step-list label{
  min-inline-size:0!important;
  border-radius:16px!important;
}
body.store-page--events .ticket-step-list select{
  inline-size:100%!important;
  min-block-size:48px!important;
  font-size:16px!important;
}
body.store-page--events .ticket-choice{
  min-block-size:88px!important;
  border-radius:16px!important;
}
body.store-page--events .ticket-quantity>div{
  display:grid!important;
  grid-template-columns:44px 48px 44px!important;
  block-size:48px!important;
  padding:2px!important;
  overflow:hidden!important;
  border:1px solid var(--store-line-strong)!important;
  border-radius:14px!important;
  background:var(--store-surface-2)!important;
}
body.store-page--events .ticket-quantity>div button,
body.store-page--events .ticket-quantity>div strong{
  display:grid!important;
  min-inline-size:0!important;
  block-size:42px!important;
  min-block-size:42px!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
}
body.store-page--events .ticket-quantity>div button{background:var(--store-surface)!important}
body.store-page--events .ticket-quantity>div strong{font-variant-numeric:tabular-nums!important}
body.store-page--events .ticket-add{min-block-size:54px!important;border-radius:15px!important}
body.store-page--events .ticket-mobile-bar{
  border:1px solid var(--store-line)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--store-surface) 94%,transparent)!important;
  box-shadow:0 18px 52px rgba(15,23,42,.2)!important;
  backdrop-filter:blur(20px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(150%)!important;
}
body.store-page--events .ticket-mobile-bar button{min-block-size:50px!important;border-radius:14px!important}

/* ========================================================================== 
   SUBSCRIPTIONS
   ========================================================================== */
body.store-page--subscriptions :where(.subscription-card,.subscription-plan-card){
  min-inline-size:0!important;
  border-radius:var(--ch-ux-radius-lg)!important;
}
body.store-page--subscriptions :where(.subscription-card,.subscription-plan-card) :where(.store-button,button){
  min-block-size:50px!important;
}

/* ========================================================================== 
   RESPONSIVE CONTRACT
   ========================================================================== */
@media (max-width:1100px){
  body.store-page.store-view--detail .native-detail-purchase__controls{
    grid-template-columns:minmax(152px,168px) minmax(0,1fr)!important;
  }
}

@media (max-width:900px){
  body.store-page.store-view--detail .native-detail-purchase{display:none!important}
  body.store-page.store-view--detail .native-detail-summary{gap:16px!important}
  body.store-page.store-view--detail .native-detail-title-block h1{
    max-inline-size:none!important;
    font-size:clamp(29px,7.6vw,42px)!important;
  }
  body.store-page.store-view--detail .native-detail-subtitle{font-size:14px!important;line-height:1.55!important}
  body.store-page.store-view--detail .native-detail-accordions{margin-block-start:4px!important}
  body.store-page.store-view--detail .native-detail-confidence{grid-template-columns:1fr!important}

  body.store-page--services.store-view--detail .native-detail{
    padding-block-end:calc(var(--store-purchase-dock-rendered-h,128px) + var(--store-mobile-nav-rendered-h,64px) + 28px)!important;
  }
  body.store-page--products.store-view--detail .native-detail,
  body.store-page--subscriptions.store-view--detail .native-detail{
    padding-block-end:calc(var(--store-purchase-dock-rendered-h,128px) + 28px)!important;
  }

  body.store-page--services .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.store-page--services .service-card{display:flex!important;flex-direction:column!important}
  body.store-page--services .service-card__media{block-size:auto!important;min-block-size:0!important;aspect-ratio:16/10!important}
  body.store-page--services .service-card__facts{display:flex!important}
  body.store-page--services .service-card footer{flex-direction:row!important;align-items:center!important}

  body.store-page--events .ticket-builder__layout{grid-template-columns:1fr!important}
  body.store-page--events .ticket-preview{position:static!important}
  body.store-page--events .ticket-step-list{grid-template-columns:1fr!important}
}

@media (max-width:700px){
  :root{--store-page-gutter:clamp(14px,4vw,20px)}
  body.store-page :where(.store-container){inline-size:calc(100% - 28px)!important}

  body.store-page--services .service-card-grid{grid-template-columns:1fr!important}
  body.store-page--services .service-card{
    display:grid!important;
    grid-template-columns:minmax(118px,38%) minmax(0,1fr)!important;
  }
  body.store-page--services .service-card__media{
    block-size:100%!important;
    min-block-size:218px!important;
    aspect-ratio:auto!important;
  }
  body.store-page--services .service-card__body{padding:15px!important}
  body.store-page--services .service-card__copy h3{font-size:19px!important}
  body.store-page--services .service-card__facts{display:none!important}
  body.store-page--services .service-card footer{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.store-page--services .service-card footer>a{inline-size:100%!important}

  body.store-page--events .ticket-builder{padding:15px!important;border-radius:20px!important}
  body.store-page--events .ticket-builder__head{gap:14px!important}
  body.store-page--events .ticket-builder__secure{inline-size:100%!important}
  body.store-page--events .ticket-type-deck{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-inline:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.store-page--events .ticket-choice{inline-size:100%!important;flex:auto!important}
  body.store-page--events .ticket-mobile-bar{
    right:max(8px,env(safe-area-inset-right))!important;
    left:max(8px,env(safe-area-inset-left))!important;
    bottom:calc(var(--store-mobile-nav-rendered-h,64px) + max(8px,env(safe-area-inset-bottom)))!important;
    grid-template-columns:minmax(0,1fr) minmax(126px,42%)!important;
    gap:9px!important;
    padding:9px!important;
  }
}

@media (max-width:480px){
  body.store-page :where(.store-container){inline-size:calc(100% - 24px)!important}

  body.store-page--services .service-card{display:flex!important;flex-direction:column!important}
  body.store-page--services .service-card__media{min-block-size:0!important;aspect-ratio:16/10!important}
  body.store-page--services .service-card__facts{display:flex!important}
  body.store-page--services .service-card footer{align-items:center!important;flex-direction:row!important}
  body.store-page--services .service-card footer>a{inline-size:auto!important;min-inline-size:104px!important}

  body.store-page.store-view--detail .mobile-sticky-purchase{
    right:max(7px,env(safe-area-inset-right))!important;
    left:max(7px,env(safe-area-inset-left))!important;
    gap:8px 10px!important;
    padding:9px!important;
    border-radius:18px!important;
  }
  body.store-page.store-view--detail .mobile-sticky-purchase__quantity{
    grid-template-columns:41px 44px 41px!important;
    inline-size:132px!important;
    max-inline-size:132px!important;
  }
  body.store-page.store-view--detail .mobile-sticky-purchase__add{min-block-size:52px!important}

  body.store-page--services.store-view--detail .native-detail-summary{
    width:calc(100% - 20px)!important;
    margin:-34px 10px 0!important;
    padding:21px 17px 23px!important;
    border-radius:23px!important;
  }
  body.store-page--services.store-view--detail .native-detail-facts--service{gap:8px!important;background:transparent!important;border:0!important;overflow:visible!important}
  body.store-page--services.store-view--detail .native-detail-facts--service>span{
    border:1px solid var(--store-line)!important;
    border-radius:14px!important;
  }

  body.store-page--events .ticket-builder__tabs{grid-template-columns:1fr!important}
  body.store-page--events .ticket-builder__tabs button{min-block-size:44px!important}
}

@media (max-width:360px){
  body.store-page :where(.store-container){inline-size:calc(100% - 20px)!important}
  body.store-page.store-view--detail .mobile-sticky-purchase{
    right:5px!important;
    left:5px!important;
    gap:7px!important;
    padding:8px!important;
  }
  body.store-page.store-view--detail .mobile-sticky-purchase__prices strong{font-size:19px!important}
  body.store-page.store-view--detail .mobile-sticky-purchase__quantity{
    grid-template-columns:39px 42px 39px!important;
    inline-size:126px!important;
    max-inline-size:126px!important;
  }
  body.store-page.store-view--detail .mobile-sticky-purchase__quantity :where(button,input){font-size:16px!important}
  body.store-page--events .ticket-mobile-bar{right:5px!important;left:5px!important}
}

@media (prefers-contrast:more){
  body.store-page :where(.quantity-selector,.ticket-builder__tabs,.ticket-builder,.native-detail-purchase,.mobile-sticky-purchase){
    border-width:2px!important;
  }
}

/* Final specificity bridge for legacy service-detail dock rules. */
body.store-page.store-view--detail .mobile-sticky-purchase.is-visible{display:none!important}
@media (max-width:900px){
  body.store-page.store-view--detail .mobile-sticky-purchase.is-visible{display:grid!important}

  body.store-page--services.store-view--detail .mobile-sticky-purchase,
  body.store-page--services.store-view--detail .mobile-sticky-purchase.is-visible{
    right:max(8px,env(safe-area-inset-right))!important;
    left:max(8px,env(safe-area-inset-left))!important;
    bottom:calc(var(--store-mobile-nav-rendered-h,64px) + max(8px,env(safe-area-inset-bottom)))!important;
    grid-template-columns:minmax(0,1fr) 138px!important;
    grid-template-areas:"price quantity" "add add"!important;
    align-items:end!important;
    gap:8px 10px!important;
    inline-size:auto!important;
    max-inline-size:680px!important;
    min-block-size:0!important;
    margin-inline:auto!important;
    padding:10px!important;
    overflow:visible!important;
    border:1px solid var(--store-line)!important;
    border-radius:20px!important;
    background:color-mix(in srgb,var(--store-surface) 94%,transparent)!important;
    box-shadow:0 18px 54px rgba(15,23,42,.22)!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__prices{
    grid-area:price!important;
    min-inline-size:0!important;
    padding:0 0 2px 3px!important;
    overflow:hidden!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__prices>span{
    min-inline-size:0!important;
    flex-wrap:nowrap!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__prices strong{
    max-inline-size:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__quantity-wrap{
    grid-area:quantity!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:end!important;
    gap:4px!important;
    inline-size:138px!important;
    min-inline-size:138px!important;
    block-size:auto!important;
    overflow:visible!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__quantity{
    grid-area:auto!important;
    justify-self:end!important;
    inline-size:138px!important;
    max-inline-size:138px!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__add{
    grid-area:add!important;
    inline-size:100%!important;
    min-block-size:52px!important;
    margin:0!important;
  }
}
@media (max-width:360px){
  body.store-page--services.store-view--detail .mobile-sticky-purchase,
  body.store-page--services.store-view--detail .mobile-sticky-purchase.is-visible{
    right:5px!important;
    left:5px!important;
    grid-template-columns:minmax(0,1fr) 126px!important;
    gap:7px!important;
    padding:8px!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__quantity-wrap{
    inline-size:126px!important;
    min-inline-size:126px!important;
  }
  body.store-page--services.store-view--detail .mobile-sticky-purchase__quantity{
    inline-size:126px!important;
    max-inline-size:126px!important;
  }
}
