/* One motion language: 160ms feedback, 240ms state changes, 420ms entries.
   Entries are progressively enhanced by motion22.js; content is visible without it. */
:root{
  --gx-ease:cubic-bezier(.2,.75,.25,1);
  --gx-fast:160ms;
  --gx-state:240ms;
  --gx-enter:420ms;
}

/* Keep the existing hero layout and editable theme colors. */
.theme-store .store-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;padding:38px 28px;gap:30px;background:linear-gradient(120deg,var(--hero,var(--paper)),color-mix(in srgb,var(--hero,var(--paper)) 92%,var(--hero-accent,var(--primary))));border:1px solid var(--line)}
.theme-store .store-hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:48%;aspect-ratio:1;right:0;top:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}
.theme-store .hero-copy h1 em{background:linear-gradient(110deg,var(--hero-accent,var(--primary)),var(--hero-ink,var(--ink)));background-clip:text;-webkit-background-clip:text;color:transparent}
.theme-store .hero-caption{padding-top:14px;border-top:1px solid var(--line)}

/* Retire competing entry effects and permanent transform layers from older sheets. */
.theme-store :is(.hero-copy,.hero-machine,.hero-picture img,.catalog-intro,.page-heading,.cart-heading,.identity-panel,.price-updated,.image-updated21,.offer-updated21),
.is-admin :is(.admin-metric,.admin-chart-bar,.admin-main>.panel,.import-guide20){animation:none}
.theme-store .product-detail>.product-gallery,.theme-store .product-detail>.product-info{animation:none;transform:none}
.theme-store .will-reveal,.theme-store .will-reveal.is-visible{opacity:1;transform:none;transition:none}
.theme-store .hero-picture,.theme-store .hero-picture:hover{transform:none;transition:none}
.theme-store .button:before,.is-admin .button:before,.theme-store .nav-catalog>summary:after{content:none}

/* A small lift for the object being acted on; color changes never lag behind it. */
.theme-store .button,.is-admin .button{
  transition:background-color var(--gx-fast) var(--gx-ease),color var(--gx-fast) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease),box-shadow var(--gx-state) var(--gx-ease),transform var(--gx-fast) var(--gx-ease);
}
.theme-store .button:hover span,.is-admin .button:hover span{transform:none}
.theme-store .button>span[aria-hidden],.is-admin .button>span[aria-hidden]{transition:transform var(--gx-fast) var(--gx-ease)}
.theme-store .button:active:not(:disabled),.is-admin .button:active:not(:disabled){transform:translateY(1px)}
.theme-store .button:disabled,.is-admin .button:disabled{transform:none}
.theme-store .header-action,.theme-store .header-action .action-symbol,.theme-store .favorite,
.theme-store .option-chip,.theme-store .thumbnails button,.theme-store .category-tabs a,
.theme-store .variant-offers-list21>button{
  transition:background-color var(--gx-fast) var(--gx-ease),color var(--gx-fast) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease),box-shadow var(--gx-fast) var(--gx-ease),transform var(--gx-fast) var(--gx-ease);
}
.theme-store .option-chip{min-height:43px}
.theme-store .option-chip.selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}
.theme-store .option-chip.selected:after{content:none}
.theme-store .favorite[aria-pressed=true]{animation:none}
.theme-store .header-action:hover .action-symbol,.theme-store .thumbnails button:hover,
.theme-store .option-chip:not(.unavailable):hover{transform:none}
.theme-store .favorite:active{transform:scale(.94)}
.theme-store .product-card,.theme-store .product-card.will-reveal.is-visible{
  transition:transform var(--gx-state) var(--gx-ease),border-color var(--gx-state) var(--gx-ease),box-shadow var(--gx-state) var(--gx-ease);
}
.theme-store .product-card:hover,.theme-store .product-card.will-reveal.is-visible:hover{transform:none}
.theme-store .product-card .product-image img,.theme-store .image-zoom>img{transition:transform var(--gx-state) var(--gx-ease)}
.theme-store .product-card:hover .product-image img,.theme-store .image-zoom:hover>img{transform:none}
.theme-store .detail-image{transition:border-color var(--gx-state) var(--gx-ease),box-shadow var(--gx-state) var(--gx-ease)}
.theme-store :is(button,a,input,select,textarea,summary):focus-visible,
.is-admin :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.theme-store .option-chip:focus-within{outline:2px solid var(--primary);outline-offset:3px}

/* Navigation and dialogs fade as a unit; fixed flyouts keep their viewport context. */
.theme-store .nav-dropdown>summary,.theme-store .navigation-minimal nav>.nav-bar-link,
.theme-store .navigation-minimal .nav-panel a{transition:background-color var(--gx-fast) var(--gx-ease),color var(--gx-fast) var(--gx-ease)}
.theme-store .navigation-minimal .nav-panel a:hover{transform:none}
.theme-store .nav-chevron,.theme-store .nav-catalog>summary>svg:first-child,
.theme-store .variant-offers21>summary>span:last-child{transition:transform var(--gx-state) var(--gx-ease)}
.theme-store .navigation-minimal .nav-dropdown[open]>.nav-panel{animation:gx-fade-in22 var(--gx-fast) var(--gx-ease);transform:none}
.theme-store .navigation-minimal .nav-dropdown.nav-closing>.nav-panel{animation:gx-fade-out22 var(--gx-fast) var(--gx-ease);transform:none}
.theme-store .image-dialog[open]{animation:gx-fade-in22 var(--gx-state) var(--gx-ease)}
.theme-store .image-dialog[open]::backdrop{animation:gx-fade-in22 var(--gx-fast) var(--gx-ease)}
.theme-store .toast{animation:gx-toast-in22 var(--gx-state) var(--gx-ease)}

/* Administration acknowledges actions without making editing surfaces drift. */
.is-admin .admin-nav a,.is-admin .admin-nav-group summary,.is-admin .admin-metric,
.is-admin .admin-quick-links>a,.is-admin .admin-priority,.is-admin .save-status{
  transition:background-color var(--gx-fast) var(--gx-ease),color var(--gx-fast) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease),box-shadow var(--gx-fast) var(--gx-ease);
}
.is-admin .admin-nav-chevron{transition:transform var(--gx-state) var(--gx-ease)}
.is-admin .admin-nav-links{animation:gx-fade-in22 var(--gx-fast) var(--gx-ease)}
.is-admin .admin-metric:hover,.is-admin .admin-priority:hover,.is-admin .admin-quick-links>a:hover{transform:none;box-shadow:none}
.is-admin details[open]>.product-fold-body19,.is-admin .appearance-group-fields,
.is-admin .variant-detail-body,.is-admin .save-status:not(:empty){animation:gx-soft-in22 var(--gx-state) var(--gx-ease)}

@media(hover:hover) and (pointer:fine){
  .theme-store .button:hover:not(:disabled),.is-admin .button:hover:not(:disabled){transform:translateY(-1px)}
  .theme-store .button:hover>span[aria-hidden],.is-admin .button:hover>span[aria-hidden]{transform:translateX(2px)}
  .theme-store .button:active:not(:disabled),.is-admin .button:active:not(:disabled){transform:translateY(1px)}
  .theme-store .header-action:hover .action-symbol{transform:translateY(-1px)}
  .theme-store .product-card:hover,.theme-store .product-card.will-reveal.is-visible:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 22%,var(--line));box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 6%,transparent)}
  .theme-store .product-card:hover .product-image img{transform:scale(1.015)}
  .theme-store .image-zoom:hover>img{transform:scale(1.015)}
  .theme-store .detail-image:hover{border-color:color-mix(in srgb,var(--primary) 25%,var(--line))}
  .theme-store .option-chip:not(.unavailable):hover{box-shadow:none}
}
@keyframes gx-fade-in22{from{opacity:0}to{opacity:1}}
@keyframes gx-fade-out22{from{opacity:1}to{opacity:0}}
@keyframes gx-soft-in22{from{opacity:.65}to{opacity:1}}
@keyframes gx-toast-in22{from{opacity:.65;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:700px){
  .theme-store .store-hero{padding:26px 20px;gap:12px;border-radius:16px}
  .theme-store .store-hero:before{width:90%;top:auto;bottom:0}
  .theme-store .hero-caption{padding-top:12px}
  .theme-store .option-chip{padding:10px 14px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .theme-store *,.theme-store *:before,.theme-store *:after,.is-admin *,.is-admin *:before,.is-admin *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .theme-store .will-reveal{opacity:1!important;transform:none!important}
  .theme-store .button,.theme-store .button:hover>span[aria-hidden],.theme-store .header-action:hover .action-symbol,
  .theme-store .favorite:active,.theme-store .product-card:hover,.theme-store .image-zoom:hover>img,
  .theme-store .product-card:hover .product-image img,.is-admin .button,.is-admin .button:hover>span[aria-hidden]{transform:none!important}
}
@media print{
  .theme-store *,.is-admin *{animation:none!important;transition:none!important}
  .theme-store .will-reveal{opacity:1!important;transform:none!important}
}
