/* Pixthor Stage 47 — responsive and neutral preview presentation. */
:root {--px-layout-max:1320px;--px-layout-gutter:clamp(16px,3vw,28px)}
html,body{max-width:100%;overflow-x:clip}
.container{width:100%;max-width:var(--px-layout-max)!important;min-width:0;margin-inline:auto;padding-inline:var(--px-layout-gutter)!important;box-sizing:border-box}
#app,#app>*{min-width:0;box-sizing:border-box}
/* Unified card geometry across Freebies and dedicated category pages. */
#app > .px-freebies-collection + .gallery,#app.px-category-page > .gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(10px,1.2vw,16px)!important;width:100%!important;min-width:0!important}
#app > .px-freebies-collection + .gallery .tile,#app.px-category-page > .gallery .tile{width:100%!important;min-width:0!important;aspect-ratio:1.34!important;overflow:hidden}
/* No CSS color processing; preserve source color and standard browser interpolation. */
#app .gallery .tile > img,#app .gallery .tile:hover > img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none!important;mix-blend-mode:normal!important;image-rendering:auto!important;transform:none!important;opacity:1!important}
#app .gallery .tile::before,#app .gallery .tile::after{filter:none}
/* Overlay stays for readable titles, without affecting the photo itself. */
#app .gallery .tile .tile-overlay{isolation:isolate}
.px-home-search-band,.px-smart-search,#px-live-suggestions{max-width:100%;min-width:0;box-sizing:border-box}
#app .px-home-search-band{width:100%!important;max-width:100%!important}
#app .px-smart-search{width:100%!important;max-width:100%!important}
.px-resource-subbar{max-width:100%;min-width:0}
.px-resource-subbar .categories{min-width:0;max-width:100%}
/* Responsive columns and safe content sizing. */
@media(max-width:1100px){
 #app > .px-freebies-collection + .gallery,#app.px-category-page > .gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .detail-layout,.px-inspiration-detail-layout{grid-template-columns:minmax(0,1fr) minmax(210px,.65fr)}
}
@media(max-width:760px){
 .container{padding-inline:16px!important}
 #app > .px-stage38-hero{grid-template-columns:1fr!important}
 #app > .px-stage38-hero .px-stage38-art{width:100%;max-width:450px}
 .detail-layout,.px-inspiration-detail-layout,.two-col{grid-template-columns:minmax(0,1fr)!important}
 .header,.footer{max-width:100%;min-width:0}
 .footer{flex-wrap:wrap;gap:14px}
 .px-resource-subbar .categories{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;max-width:100%}
 .px-resource-subbar .categories button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:560px){
 #app > .px-freebies-collection + .gallery,#app.px-category-page > .gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #app > .px-freebies-collection + .gallery .tile,#app.px-category-page > .gallery .tile{aspect-ratio:1!important}
 #app .gallery .tile .tile-overlay{padding:30px 8px 9px!important}
 #app .gallery .tile .tile-overlay strong{font-size:clamp(10px,2.7vw,13px)}
 .px-category-heading h1{overflow-wrap:anywhere}
}
@media(max-width:380px){
 #app > .px-freebies-collection + .gallery,#app.px-category-page > .gallery{grid-template-columns:1fr!important}
 #app > .px-freebies-collection + .gallery .tile,#app.px-category-page > .gallery .tile{aspect-ratio:1.34!important}
}
@media(prefers-reduced-motion:reduce){#app .gallery .tile img{transition:none!important}}
