/* HallowixStudios V29 - marketplace polish, overlap fix and smoother discipline switching. */
.store-page{--hx-market-ease:cubic-bezier(.16,1,.3,1)}
.store-v27-shell{grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr)!important;gap:clamp(34px,4vw,58px)!important}
.store-v27-copy{min-width:0!important;overflow:visible!important}
.store-v27-copy h1{max-width:100%!important;font-size:clamp(3.55rem,5.7vw,6.7rem)!important;line-height:.86!important;contain:layout style}
.store-v27-copy h1 .market-word{max-width:100%!important;transform-origin:left center!important}
.store-page[data-active-kind="graphic_design"] .store-v27-copy h1{font-size:clamp(3.15rem,5.05vw,5.9rem)!important}
.store-page[data-active-kind="model3d_texture"] .store-v27-copy h1{font-size:clamp(3.3rem,5.25vw,6.15rem)!important}

.market-console{isolation:isolate!important;transform-style:preserve-3d!important;will-change:transform;border-radius:24px!important}
.market-choice{will-change:transform,box-shadow,background-color!important;backface-visibility:hidden!important;transform:translateZ(0);transition:transform .46s var(--hx-market-ease),border-color .36s ease,box-shadow .46s var(--hx-market-ease),background .46s var(--hx-market-ease),opacity .32s ease!important}
.market-choice b,.market-choice em,.market-choice small{transition:color .34s ease,transform .44s var(--hx-market-ease),opacity .34s ease!important}
.market-choice.is-active{transform:translateY(-4px) scale(1.018) translateZ(0)!important}
.market-choice.is-active b{transform:translateX(3px)}
.market-choice:not(.is-active){opacity:.88}
.market-choice:not(.is-active):hover{opacity:1}
.market-choice.is-loading::before{animation:hxV29ChoicePulse 1s ease-in-out infinite alternate}

.store-v27-copy [data-market-swap],.store-head [data-market-swap]{will-change:transform,opacity,filter}
.store-page.store-kind-switching .store-v27-copy{pointer-events:none}
.store-page.store-kind-switching .market-choice.is-active{box-shadow:7px 8px 0 color-mix(in srgb,var(--choice-accent) 20%,var(--bark)),0 0 0 2px color-mix(in srgb,var(--choice-accent) 20%,transparent),0 0 40px color-mix(in srgb,var(--choice-accent) 18%,transparent)!important}
#productGrid{min-height:120px;transform-origin:50% 0;will-change:opacity,transform,filter;transition:opacity .46s ease,transform .58s var(--hx-market-ease),filter .42s ease!important}
.store-page.store-kind-switching #productGrid{opacity:.62!important;transform:translateY(7px) scale(.996)!important;filter:blur(1.5px)!important}
.store-page.store-kind-arrived #productGrid{animation:hxV29CatalogIn .64s var(--hx-market-ease) both!important}
.store-head{transition:border-color .45s ease,box-shadow .45s ease,background .45s ease!important}
.store-page.store-kind-switching .store-head{border-color:color-mix(in srgb,var(--market-accent) 28%,var(--line))!important}

/* Signature polygon atmosphere: visible above the page base, below content. */
.store-page::before,.store-page::after{content:"";position:absolute;pointer-events:none;z-index:0;filter:saturate(112%)}
.store-page::before{width:min(720px,56vw);height:min(610px,48vw);left:-13vw;top:9rem;clip-path:polygon(6% 20%,60% 0,100% 29%,84% 82%,48% 100%,0 70%);background:linear-gradient(145deg,color-mix(in srgb,var(--moss-brand,#5C7A5E) 28%,transparent),color-mix(in srgb,var(--lantern,#D9B36C) 10%,transparent));opacity:.62;animation:hxV29StorePolyA 17s ease-in-out infinite alternate}
.store-page::after{width:min(680px,52vw);height:min(620px,48vw);right:-14vw;top:42rem;clip-path:polygon(18% 0,84% 9%,100% 48%,76% 100%,12% 82%,0 30%);background:linear-gradient(145deg,color-mix(in srgb,var(--plum,#8B4C63) 25%,transparent),color-mix(in srgb,var(--moss-brand,#5C7A5E) 11%,transparent));opacity:.58;animation:hxV29StorePolyB 20s ease-in-out infinite alternate}
.store-v27-stage,.store-catalog{position:relative;z-index:1}

@keyframes hxV29ChoicePulse{to{transform:rotate(20deg) scale(1.16);opacity:.8}}
@keyframes hxV29CatalogIn{from{opacity:0;transform:translateY(18px) scale(.992);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes hxV29StorePolyA{to{transform:translate(4vw,3vh) rotate(5deg) scale(1.04)}}
@keyframes hxV29StorePolyB{to{transform:translate(-4vw,-2vh) rotate(-5deg) scale(1.05)}}

@media(max-width:1180px){
 .store-v27-shell{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr)!important}
 .store-v27-copy h1{font-size:clamp(3.25rem,5.6vw,5.7rem)!important}
 .store-page[data-active-kind="graphic_design"] .store-v27-copy h1{font-size:clamp(2.95rem,4.9vw,5.05rem)!important}
}
@media(max-width:1050px){
 .store-v27-shell{grid-template-columns:1fr!important}.store-v27-copy{max-width:760px}.store-v27-copy h1,.store-page[data-active-kind="graphic_design"] .store-v27-copy h1,.store-page[data-active-kind="model3d_texture"] .store-v27-copy h1{font-size:clamp(3.4rem,9vw,6.6rem)!important}.market-console{max-width:none!important}
}
@media(max-width:720px){
 .store-v27-stage{padding-top:112px!important}.store-v27-shell{gap:30px!important}.store-v27-copy h1,.store-page[data-active-kind="graphic_design"] .store-v27-copy h1,.store-page[data-active-kind="model3d_texture"] .store-v27-copy h1{font-size:clamp(3rem,15vw,4.75rem)!important;overflow-wrap:normal!important}.market-console{padding:72px 12px 12px!important;gap:9px!important}.market-choice{min-height:116px!important;padding:16px 15px!important}.market-choice b{font-size:.98rem!important}.market-choice small{font-size:.7rem!important}.store-head{border-radius:19px!important}.store-page::before{left:-36vw;top:15rem;width:110vw;height:92vw}.store-page::after{right:-38vw;top:64rem;width:112vw;height:100vw}
}
@media(prefers-reduced-motion:reduce){.store-page::before,.store-page::after,.market-choice.is-loading::before{animation:none!important}}

.store-skeleton-card{min-height:320px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(105deg,color-mix(in srgb,var(--surface) 82%,transparent) 20%,color-mix(in srgb,var(--market-accent) 9%,var(--surface2)) 42%,color-mix(in srgb,var(--surface) 82%,transparent) 64%);background-size:240% 100%;animation:hxV29Skeleton 1.25s linear infinite;box-shadow:0 16px 42px rgba(0,0,0,.08)}
@keyframes hxV29Skeleton{to{background-position:-180% 0}}
@media(prefers-reduced-motion:reduce){.store-skeleton-card{animation:none!important}}
