/* Commerce Hub Store — Global responsive and interaction hardening layer
   Loaded after every route stylesheet. This file is intentionally scoped to
   body.store-page so it cannot alter the parent site or control panel. */

:root{
  --store-control-size:48px;
  --store-control-size-compact:44px;
  --store-readable:72ch;
  --store-content-gap:clamp(16px,2.2vw,32px);
  --store-section-gap:clamp(28px,5vw,72px);
  --store-card-radius:clamp(16px,1.6vw,24px);
  --store-visual-height:100dvh;
  --store-keyboard-offset:0px;
  --store-purchase-dock-rendered-h:0px;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  hanging-punctuation:first last;
}

html[data-motion="full"]{scroll-behavior:smooth}
html[data-motion="reduced"]{scroll-behavior:auto}
html[data-motion="reduced"] *,
html[data-motion="reduced"] *::before,
html[data-motion="reduced"] *::after{
  scroll-behavior:auto!important;
  animation-duration:.001ms!important;
  animation-delay:0s!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  transition-delay:0s!important;
}

body.store-page{
  min-block-size:100svh;
  min-block-size:100dvh;
  overflow-x:clip!important;
  overflow-wrap:anywhere;
  accent-color:var(--store-accent);
  -webkit-tap-highlight-color:transparent;
}

body.store-page :where(main,section,article,aside,header,footer,nav,form,fieldset,div){min-inline-size:0}
body.store-page :where(img,svg,video,canvas,iframe){max-inline-size:100%}
body.store-page img{block-size:auto}
body.store-page svg{flex:0 0 auto}
body.store-page :where(h1,h2,h3,h4,p,li,dt,dd,strong,small,span,a){overflow-wrap:anywhere}
body.store-page :where(p,li){max-inline-size:var(--store-readable)}
body.store-page :where(button,[role="button"],input,select,textarea){touch-action:manipulation}
body.store-page :where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
body.store-page :where(button,input,select,textarea){border-radius:12px}
body.store-page :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:max(16px,1rem)}
body.store-page :where(button,[class*="button"],.market-card__quick-add,.pagination a,.pagination span){min-block-size:var(--store-control-size-compact)}
body.store-page :where(button,[role="button"],a){text-underline-offset:.18em}
body.store-page :where(button,[role="button"]):disabled,
body.store-page :where(button,[role="button"])[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
body.store-page :where(input,select,textarea)::placeholder{opacity:.78}
body.store-page :where(input,select,textarea):focus-visible{
  outline:3px solid color-mix(in srgb,var(--store-accent) 38%,transparent)!important;
  outline-offset:1px!important;
  border-color:var(--store-accent)!important;
}
body.store-page :where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--store-accent) 48%,transparent)!important;
  outline-offset:3px!important;
}
body.store-page :where(table){inline-size:100%;border-collapse:collapse}
body.store-page :where(.store-container){
  inline-size:min(var(--store-container,1440px),calc(100% - (clamp(16px,3vw,40px) * 2)))!important;
  margin-inline:auto!important;
}
body.store-page :where(.store-button){
  display:inline-flex!important;
  min-block-size:var(--store-control-size)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding-inline:clamp(16px,2vw,24px)!important;
  border-radius:14px!important;
  font-weight:750!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}
body.store-page :where(.store-button--full){inline-size:100%!important}
body.store-page :where(.store-empty){
  inline-size:100%;
  padding:clamp(28px,6vw,64px)!important;
  border:1px solid var(--store-line)!important;
  border-radius:var(--store-card-radius)!important;
  background:var(--store-surface)!important;
  text-align:center!important;
}
body.store-page :where(.store-empty h2,.store-empty p){margin-inline:auto}
body.store-page :where(.store-breadcrumb){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.store-page :where(.pagination){display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important}
body.store-page :where(.pagination a,.pagination span){
  display:grid!important;
  min-inline-size:44px!important;
  place-items:center!important;
  padding:8px!important;
  border:1px solid var(--store-line)!important;
  border-radius:12px!important;
  background:var(--store-surface)!important;
}
body.store-page :where(.pagination [aria-current="page"]){border-color:var(--store-accent)!important;background:var(--store-accent)!important;color:var(--store-accent-ink)!important}

/* Header, topbars and fixed navigation */
body.store-page .market-header.app-header{
  padding-inline:max(0px,env(safe-area-inset-left)) max(0px,env(safe-area-inset-right));
}
body.store-page .app-header__bar{column-gap:clamp(12px,2vw,28px)!important}
body.store-page :where(.header-icon-button,.app-header__utility-action,.app-page-topbar__button,.native-detail-topbar__button){
  inline-size:44px!important;
  block-size:44px!important;
  min-inline-size:44px!important;
  min-block-size:44px!important;
  place-items:center!important;
}
body.store-page :where(.store-motion-toggle) svg{
  display:none;
  inline-size:19px;
  block-size:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
html[data-motion="full"] body.store-page .store-motion-toggle__full,
html[data-motion="reduced"] body.store-page .store-motion-toggle__reduced{display:block}
html[data-motion="reduced"] body.store-page [data-store-motion-toggle]{
  border-color:color-mix(in srgb,var(--store-accent) 45%,var(--store-line))!important;
  background:var(--store-accent-soft)!important;
  color:var(--store-accent)!important;
}
body.store-page .app-page-topbar,
body.store-page .native-detail-topbar{
  padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))!important;
}
body.store-page .store-mobile-nav{
  inset-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  min-block-size:var(--store-mobile-nav-h)!important;
  isolation:isolate;
}
body.store-page .store-mobile-nav :where(a,button){min-inline-size:44px!important;min-block-size:44px!important}
body.store-page.store-view--detail,
body.store-page.store-page--cart,
body.store-page.store-page--checkout{
  padding-block-end:calc(var(--store-mobile-nav-rendered-h,0px) + env(safe-area-inset-bottom) + 18px);
}

/* Universal listing and cards */
body.store-page :where(.catalog-page,.service-market,.event-market,.offers-page,.search-page,.support-page,.cart-page,.checkout-demo-page,.static-page){
  inline-size:100%;
}
body.store-page :where(.catalog-page,.service-market,.event-market){padding-block:clamp(12px,2vw,28px) clamp(84px,10vw,128px)!important}
body.store-page :where(.catalog-page>.store-container,.service-market__container,.event-market__container){gap:var(--store-section-gap)!important}
body.store-page :where(.catalog-control-bar,.service-section-title--catalog,.event-section-title--catalog){
  gap:12px!important;
  align-items:center!important;
}
body.store-page :where(.catalog-category-tabs,.catalog-subcategory-menu__rail,.event-category-strip,.store-discovery-rail__track){
  overscroll-behavior-inline:contain;
  scroll-padding-inline:var(--store-page-gutter);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
body.store-page :where(.catalog-category-tabs,.catalog-subcategory-menu__rail,.event-category-strip,.store-discovery-rail__track)::-webkit-scrollbar{display:none}
body.store-page :where(.catalog-category-tabs a,.catalog-subcategory-menu__rail a,.event-category-strip a){min-block-size:44px!important;display:inline-flex!important;align-items:center!important}
body.store-page :where(.catalog-grid,.service-card-grid,.event-card-grid,.offers-grid){
  inline-size:100%!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
  gap:clamp(14px,2vw,24px)!important;
}
body.store-page :where(.market-card,.service-card,.event-card){
  min-inline-size:0!important;
  border-radius:var(--store-card-radius)!important;
  isolation:isolate;
  contain:layout paint;
}
body.store-page :where(.market-card__media,.service-card__media,.event-card__media){overflow:hidden!important}
body.store-page :where(.market-card__media img,.service-card__media img,.event-card__media img){inline-size:100%!important;block-size:100%!important;object-fit:cover!important}
body.store-page :where(.market-card__body,.service-card__body,.event-card__body){min-inline-size:0!important}
body.store-page :where(.market-card__identity h3,.service-card__copy h3,.event-card__body h3){text-wrap:balance}
body.store-page .market-card__stretched-link,
body.store-page .service-card__link{border-radius:inherit}
body.store-page :where(.market-card__quick-add,.service-card footer>a,.event-card footer>a){position:relative;z-index:4}
body.store-page .market-card__quick-add{
  min-inline-size:44px!important;
  min-block-size:44px!important;
}
body.store-page .market-card__quick-add-label{line-height:1.2}
body.store-page .service-card footer{
  align-items:center!important;
  gap:10px!important;
}
body.store-page .service-card footer>a{min-inline-size:96px;justify-content:center}
body.store-page :where(.service-market__search,.event-market__quick-search,.search-page__form){
  inline-size:100%!important;
  min-block-size:56px!important;
}
body.store-page :where(.service-market__search input,.event-market__quick-search input,.search-page__form input){min-inline-size:0!important}
body.store-page :where(.service-filter-panel,.event-filter-panel,.catalog-filter-panel){max-inline-size:100%!important}
body.store-page :where(.service-spotlight__rail,.event-spotlight__rail,.home-story-rail,.home-category-rail){
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* Product, service and subscription details */
body.store-page.store-view--detail .native-detail{
  inline-size:100%;
  padding-block:0 clamp(96px,12vw,152px)!important;
}
body.store-page.store-view--detail .native-detail-shell{
  padding-block:clamp(12px,2vw,28px)!important;
}
body.store-page.store-view--detail .native-detail-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
  align-items:start!important;
  gap:clamp(24px,4vw,64px)!important;
}
body.store-page.store-view--detail .native-detail-gallery{
  min-inline-size:0!important;
}
body.store-page.store-view--detail .native-detail-media{
  aspect-ratio:1/1!important;
  min-block-size:0!important;
  border-radius:clamp(18px,2vw,30px)!important;
}
body.store-page.store-page--services.store-view--detail .native-detail-media,
body.store-page.store-page--services.store-view--detail .native-detail-media>img{
  aspect-ratio:16/10!important;
}
body.store-page.store-view--detail .native-detail-media>img{
  inline-size:100%!important;
  block-size:100%!important;
  object-fit:contain!important;
}
body.store-page.store-view--detail .native-detail-summary{
  display:grid!important;
  gap:clamp(14px,2vw,22px)!important;
  min-inline-size:0!important;
}
body.store-page.store-view--detail .native-detail-title-block h1{
  max-inline-size:20ch!important;
  font-size:clamp(28px,4vw,56px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
body.store-page.store-view--detail .native-detail-subtitle{
  max-inline-size:62ch!important;
  font-size:clamp(14px,1.3vw,17px)!important;
  line-height:1.6!important;
}
body.store-page.store-view--detail .native-detail-price strong{
  font-size:clamp(28px,3.2vw,44px)!important;
  line-height:1!important;
}
body.store-page.store-view--detail .native-detail-purchase{
  display:grid!important;
  inline-size:100%!important;
  gap:14px!important;
  padding:clamp(16px,2vw,22px)!important;
  border:1px solid var(--store-line)!important;
  border-radius:clamp(18px,2vw,24px)!important;
  background:var(--store-surface)!important;
  box-shadow:var(--store-shadow-sm)!important;
  overflow:visible!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) 28%,var(--store-line))!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--store-success) 9%,var(--store-surface))!important;
  color:color-mix(in srgb,var(--store-success) 88%,var(--store-text))!important;
  font-size:12px!important;
  font-weight:700!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) 15%,transparent)!important;
}
body.store-page.store-view--detail .native-detail-purchase__controls{
  display:grid!important;
  grid-template-columns:minmax(150px,180px) minmax(220px,1fr)!important;
  align-items:end!important;
  gap:12px!important;
}
body.store-page.store-view--detail .native-detail-quantity-label{
  display:grid!important;
  gap:8px!important;
  align-content:end!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:12px!important;
  font-weight:760!important;
  line-height:1.2!important;
}
body.store-page.store-view--detail .quantity-selector{
  display:grid!important;
  grid-template-columns:44px minmax(52px,1fr) 44px!important;
  inline-size:100%!important;
  max-inline-size:180px!important;
  min-block-size:48px!important;
  overflow:hidden!important;
  border:1px solid var(--store-line-strong)!important;
  border-radius:14px!important;
  background:var(--store-surface)!important;
  box-shadow:none!important;
}
body.store-page.store-view--detail .quantity-selector :where(button,input){
  inline-size:100%!important;
  min-inline-size:0!important;
  block-size:48px!important;
  min-block-size:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--store-text)!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;
  cursor:pointer!important;
}
body.store-page.store-view--detail .quantity-selector button:first-child{border-inline-end:1px solid var(--store-line)!important}
body.store-page.store-view--detail .quantity-selector button:last-child{border-inline-start:1px solid var(--store-line)!important}
body.store-page.store-view--detail .quantity-selector button:hover:not(:disabled){background:var(--store-surface-2)!important}
body.store-page.store-view--detail .quantity-selector input{
  -moz-appearance:textfield!important;
  appearance:textfield!important;
  font-size:16px!important;
  font-weight:800!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;
  transform:none!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
}
body.store-page.store-view--detail .detail-buy-row{
  display:block!important;
  inline-size:100%!important;
  align-self:end!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:14px!important;
  font-size:15px!important;
}
body.store-page.store-view--detail .detail-purchase-note{
  display:block!important;
  margin:0!important;
  color:var(--store-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
body.store-page.store-page--subscriptions.store-view--detail .native-detail-quantity-label,
body.store-page.store-page--subscriptions.store-view--detail .mobile-sticky-purchase__quantity{display:none!important}
body.store-page.store-page--subscriptions.store-view--detail .native-detail-purchase__controls{grid-template-columns:1fr!important}
body.store-page.store-view--detail .native-detail-glass-stack{
  display:grid!important;
  gap:10px!important;
}
body.store-page.store-view--detail .native-detail-glass-card{
  border:1px solid var(--store-line)!important;
  border-radius:16px!important;
  background:var(--store-surface)!important;
}
body.store-page.store-view--detail .native-detail-glass-card>summary{
  min-block-size:52px!important;
  padding:14px 16px!important;
  cursor:pointer!important;
  font-weight:750!important;
}
body.store-page.store-view--detail .native-detail-prose{padding:0 16px 18px!important;line-height:1.7!important}
body.store-page.store-view--detail .native-detail-confidence{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  gap:10px!important;
}
body.store-page.store-view--detail .native-detail-confidence article{
  min-block-size:76px!important;
  padding:13px!important;
  border:1px solid var(--store-line)!important;
  border-radius:14px!important;
  background:var(--store-surface)!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase{
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:calc(var(--store-mobile-nav-rendered-h,64px) + max(10px,env(safe-area-inset-bottom)))!important;
  left:max(10px,env(safe-area-inset-left))!important;
  grid-template-columns:minmax(72px,.65fr) minmax(126px,156px) minmax(150px,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  inline-size:auto!important;
  max-inline-size:760px!important;
  margin-inline:auto!important;
  padding:10px!important;
  border:1px solid var(--store-line)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--store-surface) 92%,transparent)!important;
  box-shadow:0 16px 50px rgba(15,23,42,.2)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__quantity{
  max-inline-size:none!important;
  grid-template-columns:42px minmax(42px,1fr) 42px!important;
}
body.store-page.store-view--detail .mobile-sticky-purchase__quantity :where(button,input){block-size:46px!important;min-block-size:46px!important}
body.store-page.store-view--detail .mobile-sticky-purchase__add{
  min-inline-size:0!important;
  min-block-size:48px!important;
  padding-inline:12px!important;
  border-radius:13px!important;
  font-size:13px!important;
}
body.store-page.store-page--subscriptions.store-view--detail .mobile-sticky-purchase{
  grid-template-columns:minmax(90px,.55fr) minmax(180px,1fr)!important;
}
body.store-page.store-page--subscriptions.store-view--detail .mobile-sticky-purchase__add{grid-column:auto!important}

/* Events */
body.store-page--events .event-detail-page{inline-size:100%;padding-block-end:clamp(96px,12vw,144px)!important}
body.store-page--events .event-detail-page__container{gap:clamp(18px,3vw,36px)!important}
body.store-page--events .event-detail-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  border-radius:clamp(20px,2.4vw,32px)!important;
  overflow:hidden!important;
}
body.store-page--events .event-detail-hero__poster{min-block-size:clamp(420px,55vw,680px)!important}
body.store-page--events .event-detail-hero__card{padding:clamp(24px,4vw,56px)!important}
body.store-page--events .event-detail-hero__card h1{font-size:clamp(36px,5vw,72px)!important;line-height:.98!important;text-wrap:balance}
body.store-page--events .event-detail-hero__facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important}
body.store-page--events .ticket-builder{
  inline-size:100%!important;
  padding:clamp(18px,3vw,34px)!important;
  border-radius:clamp(20px,2.4vw,30px)!important;
}
body.store-page--events .ticket-builder__head{gap:18px!important}
body.store-page--events .ticket-builder__head h2{font-size:clamp(30px,4vw,52px)!important;text-wrap:balance}
body.store-page--events .ticket-builder__layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
  gap:clamp(18px,3vw,32px)!important;
  align-items:start!important;
}
body.store-page--events .ticket-step-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.store-page--events .ticket-step-list label{
  min-block-size:86px!important;
  padding:12px!important;
  border-radius:15px!important;
}
body.store-page--events .ticket-step-list select{inline-size:100%!important;min-block-size:44px!important;font-size:16px!important}
body.store-page--events .ticket-type-deck{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;gap:12px!important}
body.store-page--events .ticket-choice{
  min-inline-size:0!important;
  min-block-size:96px!important;
  padding:14px!important;
  border-radius:16px!important;
  text-align:start!important;
}
body.store-page--events .ticket-preview{position:sticky!important;top:calc(var(--store-header-h) + 18px)!important;min-inline-size:0!important}
body.store-page--events .ticket-preview__stub{padding:clamp(16px,2vw,24px)!important}
body.store-page--events .ticket-quantity>div{
  display:grid!important;
  grid-template-columns:44px minmax(44px,1fr) 44px!important;
  overflow:hidden!important;
  border:1px solid var(--event-line,var(--store-line))!important;
  border-radius:13px!important;
}
body.store-page--events .ticket-quantity button,
body.store-page--events .ticket-quantity strong{min-block-size:44px!important;display:grid!important;place-items:center!important}
body.store-page--events .ticket-add{inline-size:100%!important;min-block-size:50px!important}
body.store-page--events .venue-map__viewport{max-inline-size:100%!important;overflow:auto!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important}
body.store-page--events .event-info-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important}
body.store-page--events .ticket-mobile-bar{
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:calc(var(--store-mobile-nav-rendered-h,64px) + max(10px,env(safe-area-inset-bottom)))!important;
  left:max(10px,env(safe-area-inset-left))!important;
  max-inline-size:720px!important;
  margin-inline:auto!important;
  border:1px solid var(--event-line,var(--store-line))!important;
  border-radius:17px!important;
}

/* Home and offers */
body.store-page--home .home-flow{overflow-x:clip}
body.store-page--home .home-hero__viewport{min-block-size:clamp(420px,68svh,760px)!important}
body.store-page--home .home-hero__slide{min-block-size:inherit!important}
body.store-page--home .home-hero__media :where(img,picture,video){inline-size:100%!important;block-size:100%!important;object-fit:cover!important}
body.store-page--home .home-block{margin-block:var(--store-section-gap)!important}
body.store-page--home :where(.home-story-trigger,.home-category-card){min-inline-size:0}
body.store-page--offers .offers-hero{min-block-size:clamp(420px,62svh,720px)!important}
body.store-page--offers .offers-slide{min-block-size:inherit!important}
body.store-page--offers .offers-slide__content{padding-block:clamp(48px,9vw,112px)!important}
body.store-page--offers .offers-editorial{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)!important;gap:clamp(24px,5vw,72px)!important}

/* Search, cart, checkout, support and account */
body.store-page :where(.search-page__shell,.cart-page__shell,.checkout-demo-container,.support-wrap,.static-page__shell){
  padding-block:clamp(20px,4vw,56px) clamp(96px,10vw,144px)!important;
}
body.store-page--cart .cart-layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;
  gap:clamp(18px,3vw,36px)!important;
  align-items:start!important;
}
body.store-page--cart .cart-sidebar{position:sticky!important;top:calc(var(--store-header-h) + 18px)!important}
body.store-page--cart :where(.cart-items-panel,.cart-coupon-card,.cart-summary){border-radius:var(--store-card-radius)!important}
body.store-page--cart .cart-coupon>div{grid-template-columns:minmax(0,1fr) auto!important}
body.store-page--cart .cart-coupon input{min-block-size:48px!important;min-inline-size:0!important}
body.store-page--cart .cart-coupon button{min-block-size:48px!important;min-inline-size:96px!important}
body.store-page--checkout .checkout-demo-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;
  gap:clamp(18px,3vw,36px)!important;
  align-items:start!important;
}
body.store-page--checkout .checkout-demo-summary{position:sticky!important;top:calc(var(--store-header-h) + 18px)!important}
body.store-page--checkout :where(.checkout-demo-card,.checkout-demo-summary,.checkout-result,.checkout-receipt){border-radius:var(--store-card-radius)!important}
body.store-page--checkout .checkout-demo-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
body.store-page--checkout .checkout-demo-form :where(input,select,textarea){inline-size:100%!important;min-block-size:48px!important}
body.store-page--checkout .checkout-submit-button{min-block-size:54px!important}
body.store-page--support .support-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr)!important;gap:clamp(18px,3vw,36px)!important}
body.store-page--support .support-type-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important}
body.store-page--support :where(.support-search input,.support-form-card input,.support-form-card select,.support-form-card textarea){inline-size:100%!important;min-block-size:48px!important}
body.store-page--support .support-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.store-page--account .account-auth-layout{min-block-size:calc(var(--store-visual-height) - var(--store-header-h))!important}
body.store-page--account .account-auth-card{inline-size:min(100%,560px)!important}
body.store-page--account :where(.account-form input,.account-form select,.account-form textarea){inline-size:100%!important;min-block-size:48px!important}
body.store-page--account :where(.account-shell,.account-content,.account-panel){min-inline-size:0!important}
body.store-page--account :where(.account-table-wrap,[class*="table-wrap"]){overflow:auto!important;overscroll-behavior-inline:contain!important}
body.store-page--errors :where(.status-card,.error-card){inline-size:min(100%,680px)!important;margin-inline:auto!important}

/* Pointer-aware interaction. Touch devices must not depend on hover-only UI. */
@media (hover:none),(pointer:coarse){
  body.store-page :where(.market-card,.service-card,.event-card,.service-spotlight-card):hover{transform:none!important}
  body.store-page :where(.market-card__hover){display:none!important}
  body.store-page .market-card__quick-add{display:inline-flex!important}
}

@media (min-width:901px){
  body.store-page.store-view--detail .native-detail-gallery{position:sticky!important;top:calc(var(--store-header-h) + 20px)!important}
  body.store-page .app-header__mobile-motion{display:none!important}
}

@media (max-width:1100px){
  body.store-page.store-view--detail .native-detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr)!important;gap:28px!important}
  body.store-page--events .event-detail-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)!important}
  body.store-page--events .ticket-builder__layout{grid-template-columns:minmax(0,1fr) minmax(290px,340px)!important}
  body.store-page--events .ticket-step-list{grid-template-columns:1fr!important}
  body.store-page--offers .offers-editorial{grid-template-columns:1fr!important}
}

@media (max-width:900px){
  :root{--store-page-gutter:clamp(14px,4vw,24px)}
  body.store-page .app-header__desktop-motion{display:none!important}
  body.store-page .app-header__mobile-motion{display:grid!important}
  body.store-page.store-view--detail .native-detail-grid{grid-template-columns:1fr!important;gap:22px!important}
  body.store-page.store-view--detail .native-detail-gallery{position:static!important}
  body.store-page.store-view--detail .native-detail-title-block h1{max-inline-size:none!important}
  body.store-page.store-view--detail .native-detail-purchase__controls{grid-template-columns:minmax(150px,180px) minmax(0,1fr)!important}
  body.store-page--events .event-detail-hero{grid-template-columns:1fr!important}
  body.store-page--events .event-detail-hero__poster{min-block-size:min(64svh,560px)!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--cart .cart-layout,
  body.store-page--checkout .checkout-demo-grid,
  body.store-page--support .support-grid{grid-template-columns:1fr!important}
  body.store-page--cart .cart-sidebar,
  body.store-page--checkout .checkout-demo-summary{position:static!important}
}

@media (max-width:700px){
  :root{--store-control-size:48px;--store-control-size-compact:44px}
  body.store-page :where(.store-container){inline-size:calc(100% - 28px)!important}
  body.store-page :where(.catalog-grid,.service-card-grid,.event-card-grid,.offers-grid){grid-template-columns:1fr!important}
  body.store-page .catalog-control-bar{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important}
  body.store-page .catalog-sort{grid-column:1/-1!important;inline-size:100%!important}
  body.store-page .catalog-sort select{inline-size:100%!important;min-block-size:44px!important}
  body.store-page .service-section-title--catalog,
  body.store-page .event-section-title--catalog{align-items:flex-start!important}
  body.store-page .service-filter-panel,
  body.store-page .event-filter-panel,
  body.store-page .catalog-filter-panel{grid-template-columns:1fr!important}
  body.store-page .service-filter-panel>div,
  body.store-page .event-filter-panel__actions,
  body.store-page .catalog-filter-actions{display:grid!important;grid-template-columns:1fr!important}
  body.store-page .service-filter-panel .store-button,
  body.store-page .event-filter-panel .store-button,
  body.store-page .catalog-filter-panel .store-button{inline-size:100%!important}
  body.store-page .service-market__search{grid-template-columns:20px minmax(0,1fr) 48px!important;padding-inline:14px 6px!important}
  body.store-page .service-market__search button{min-inline-size:48px!important;inline-size:48px!important;padding:0!important}
  body.store-page .service-market__search button span{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
  body.store-page .service-spotlight-card{flex-basis:min(88vw,410px)!important}
  body.store-page .service-spotlight-card__media{min-block-size:240px!important}
  body.store-page .service-card{display:grid!important;grid-template-columns:minmax(118px,38%) minmax(0,1fr)!important}
  body.store-page .service-card__media{aspect-ratio:auto!important;block-size:100%!important;min-block-size:220px!important}
  body.store-page .service-card__body{padding:14px!important}
  body.store-page .service-card__copy h3{font-size:18px!important}
  body.store-page .service-card__copy p{-webkit-line-clamp:2!important}
  body.store-page .service-card__facts{display:none!important}
  body.store-page .service-card footer{align-items:stretch!important;flex-direction:column!important}
  body.store-page .service-card footer>a{inline-size:100%!important}
  body.store-page.store-view--detail .native-detail-media{border-radius:18px!important}
  body.store-page.store-view--detail .native-detail-purchase__controls{grid-template-columns:1fr!important}
  body.store-page.store-view--detail .quantity-selector{max-inline-size:none!important}
  body.store-page.store-view--detail .detail-add-button{min-block-size:54px!important}
  body.store-page.store-view--detail .mobile-sticky-purchase{
    grid-template-columns:minmax(72px,.55fr) minmax(126px,.75fr) minmax(130px,1fr)!important;
  }
  body.store-page--events .event-card{display:grid!important;grid-template-columns:minmax(120px,36%) minmax(0,1fr)!important}
  body.store-page--events .event-card__media{min-block-size:210px!important;block-size:100%!important}
  body.store-page--events .ticket-builder__tabs{top:calc(env(safe-area-inset-top) + 58px)!important}
  body.store-page--events .ticket-step-list{grid-template-columns:1fr!important}
  body.store-page--events .ticket-type-deck{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;margin-inline:0!important;padding:0!important}
  body.store-page--events .ticket-choice{inline-size:100%!important;flex:auto!important}
  body.store-page--checkout .checkout-demo-form,
  body.store-page--support .support-form-grid--two{grid-template-columns:1fr!important}
}

@media (max-width:480px){
  body.store-page :where(.store-container){inline-size:calc(100% - 24px)!important}
  body.store-page .app-page-topbar__actions{gap:2px!important}
  body.store-page :where(.app-page-topbar__button,.native-detail-topbar__button){inline-size:42px!important;block-size:42px!important;min-inline-size:42px!important;min-block-size:42px!important}
  body.store-page .native-detail-topbar__brand strong{display:none!important}
  body.store-page .service-card,
  body.store-page--events .event-card{display:flex!important;flex-direction:column!important}
  body.store-page .service-card__media,
  body.store-page--events .event-card__media{min-block-size:0!important;aspect-ratio:16/10!important}
  body.store-page .service-card__facts{display:flex!important}
  body.store-page .service-card footer{align-items:center!important;flex-direction:row!important}
  body.store-page .service-card footer>a{inline-size:auto!important;min-inline-size:96px!important}
  body.store-page.store-view--detail .native-detail-title-block h1{font-size:clamp(27px,9vw,38px)!important}
  body.store-page.store-view--detail .native-detail-price strong{font-size:clamp(27px,9vw,38px)!important}
  body.store-page.store-view--detail .mobile-sticky-purchase{
    grid-template-columns:minmax(0,1fr) 132px!important;
    grid-template-areas:"price quantity" "add add"!important;
    gap:8px!important;
  }
  body.store-page.store-view--detail .mobile-sticky-purchase__prices{grid-area:price!important}
  body.store-page.store-view--detail .mobile-sticky-purchase__quantity{grid-area:quantity!important}
  body.store-page.store-view--detail .mobile-sticky-purchase__add{grid-area:add!important;inline-size:100%!important}
  body.store-page.store-page--subscriptions.store-view--detail .mobile-sticky-purchase{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"price" "add"!important;
  }
  body.store-page--events .event-detail-hero__poster{min-block-size:min(56svh,430px)!important}
  body.store-page--events .event-detail-hero__card{margin:-28px 10px 0!important;padding:20px!important;border-radius:20px!important}
  body.store-page--events .ticket-builder{padding:14px!important;border-radius:18px!important}
  body.store-page--events .ticket-mobile-bar{
    grid-template-columns:minmax(0,1fr) minmax(118px,44%)!important;
    gap:8px!important;
    padding:9px!important;
  }
  body.store-page--events .ticket-mobile-bar button{min-inline-size:0!important;inline-size:100%!important}
  body.store-page--cart .cart-coupon>div{grid-template-columns:1fr!important}
  body.store-page--cart .cart-coupon button{inline-size:100%!important}
}

@media (max-width:360px){
  body.store-page :where(.store-container){inline-size:calc(100% - 20px)!important}
  body.store-page .app-page-topbar__brand{max-inline-size:42px!important;overflow:hidden!important}
  body.store-page.store-view--detail .mobile-sticky-purchase{right:6px!important;left:6px!important}
  body.store-page.store-view--detail .mobile-sticky-purchase__quantity{grid-template-columns:38px minmax(38px,1fr) 38px!important}
  body.store-page--events .ticket-mobile-bar{right:6px!important;left:6px!important}
}

/* Print must never include fixed commerce controls. */
@media print{
  body.store-page .market-header,
  body.store-page .store-mobile-nav,
  body.store-page .mobile-sticky-purchase,
  body.store-page .ticket-mobile-bar,
  body.store-page .checkout-mobile-dock,
  body.store-page .store-toast,
  body.store-page .store-mini-cart{display:none!important}
  body.store-page{padding:0!important;background:#fff!important;color:#000!important}
  body.store-page :where(.store-container){inline-size:100%!important}
}
