/* Product presentation only. No selectors touch the studio preview or product editors. */
/* Adjustable compact-card tokens; the user's reference can tune these later. */
:root{--cs-card-min:126px;--cs-card-image:138px;--cs-card-gap:12px}
:root{--cs-ui-card-accent:#a99afc;--cs-ui-card-light:rgba(169,154,252,.17);--cs-ui-card-shadow:rgba(0,0,0,.27)}
html[data-theme=light]{--cs-ui-card-accent:#6251bd;--cs-ui-card-light:rgba(112,96,200,.11);--cs-ui-card-shadow:rgba(34,43,68,.13)}
:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:14px!important;min-height:310px!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;border-radius:18px!important;overflow:visible!important;box-sizing:border-box!important}
:is(#case-list,#sticker-list):not([data-catalog-unverified])>.product-card[data-catalog-verified]:not(.custom-upload-card):not(.hidden-by-filter):not(.admin-product-hidden):not([data-admin-visible="false"]):not([data-admin-hidden="true"]):not([hidden]){display:grid!important}
:is(#case-list,#sticker-list)>.product-card>.product-image{position:relative!important;inset:auto!important;flex:0 0 174px!important;align-self:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;height:174px!important;min-height:174px!important;max-height:174px!important;margin:0!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:76px;overflow:hidden!important}
:is(#case-list,#sticker-list)>.product-card>.product-image img{max-width:100%!important;max-height:100%!important;width:100%!important;height:100%!important;object-fit:contain!important}
:is(#case-list,#sticker-list)>.product-card>.product-info{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important;width:100%!important;gap:8px!important;grid-column:auto!important;grid-row:auto!important}
:is(#case-list,#sticker-list)>.product-card .product-name{font-size:16px!important;font-weight:800!important;line-height:1.6!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important;display:block!important}
:is(#case-list,#sticker-list)>.product-card .product-description{font-size:13px!important;line-height:1.8!important;white-space:normal!important;overflow:visible!important;max-height:none!important;height:auto!important;-webkit-line-clamp:unset!important;display:block!important;overflow-wrap:anywhere!important}
:is(#case-list,#sticker-list)>.product-card :is(.product-bottom,.case-product-bottom){display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:9px!important;width:100%!important;margin-top:auto!important}
:is(#case-list,#sticker-list)>.product-card :is(.product-bottom,.case-product-bottom) .price{font-size:20px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere}
:is(#case-list,#sticker-list)>.product-card .product-rating{font-size:13px!important;flex-wrap:wrap!important;min-width:0!important;margin-top:8px!important;line-height:1.5!important}
:is(#case-list,#sticker-list)>.product-card .product-rating .rating-stars{font-size:17px!important}
:is(#case-list,#sticker-list){padding-inline:7px!important;scroll-padding-block:10px}
#catalog-gallery-grid .product-card{border-radius:18px!important;min-width:0!important;overflow:visible!important}
#catalog-gallery-grid .product-card .product-image{height:200px!important;min-height:200px!important;max-height:200px!important;flex-basis:200px!important;object-fit:contain!important}
#catalog-gallery-grid .product-card .product-name{font-size:16px!important;line-height:1.65!important;overflow-wrap:anywhere}
#catalog-gallery-grid .product-card .product-description{font-size:13px!important;line-height:1.8!important;white-space:normal!important;max-height:none!important;-webkit-line-clamp:unset!important;overflow-wrap:anywhere}
#store-products>.store-product{display:flex;flex-direction:column;border-radius:20px;overflow:visible}
#store-products>.store-product>.store-product-image{aspect-ratio:4/5;min-height:230px;max-height:330px;border-radius:14px}
#store-products>.store-product>.store-product-copy{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;padding:10px 20px 22px}
#store-products .store-product h3{font-size:20px;line-height:1.6;margin-bottom:0}
#store-products .store-product-price{font-size:24px}
#store-products :is(.store-product-details,.store-product-description){font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere}
#store-products .store-product-metadata{margin-top:auto;gap:8px}
#store-products .store-product-rating{font-size:14px}
/* Class is installed on eligible cards only. Cards containing any canvas are excluded. */
.cs-motion-card{position:relative;transform-style:preserve-3d;transform-origin:50% 50%;isolation:isolate}
:is(#case-list,#sticker-list,#catalog-gallery-grid)>.product-card.cs-motion-card,#store-products>.store-product.cs-motion-card{transform:perspective(1100px) translateY(var(--cs-card-lift,0px)) rotateX(var(--cs-card-rx,0deg)) rotateY(var(--cs-card-ry,0deg))!important}
.cs-card-light{position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--cs-card-light-x,50%) var(--cs-card-light-y,50%),var(--cs-ui-card-light),transparent 70%);opacity:var(--cs-card-light-opacity,0);transition:opacity .18s}
.cs-motion-card>:is(.product-image,.store-product-image,.product-thumb){transform:translateZ(17px);position:relative;z-index:1}
.cs-motion-card>:is(.product-info,.store-product-copy){transform:translateZ(5px);position:relative;z-index:1}
.cs-motion-card:not(.selected){box-shadow:var(--cs-card-shadow-x,0px) 14px 28px var(--cs-ui-card-shadow)}
.cs-motion-card:focus-within{outline:2px solid var(--cs-ui-card-accent);outline-offset:3px}
@media(max-width:600px){#catalog-gallery-grid .product-card .product-image{height:170px!important;min-height:170px!important;max-height:170px!important;flex-basis:170px!important}#catalog-gallery-grid{gap:12px!important}#catalog-gallery-grid .product-card{padding:12px!important}#store-products>.store-product>.store-product-image{min-height:210px}}
@media(max-width:390px){#catalog-gallery-grid{grid-template-columns:minmax(0,1fr)!important}#catalog-gallery-grid .product-card .product-image{height:220px!important;min-height:220px!important;max-height:220px!important;flex-basis:220px!important}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cs-motion-card,.cs-motion-card>:is(.product-image,.store-product-image,.product-info,.store-product-copy,.product-thumb){transform:none!important}.cs-card-light{display:none}.cs-motion-card{transition:none!important}}
/* Merchant list only; the product modal, camera editor and their ancestors are untouched. */
#productList.product-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;align-items:stretch}
#productList>.product-row{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:16px;border-radius:20px;min-width:0;min-height:390px}
#productList>.product-row>.product-thumb{width:100%;height:220px;display:grid;place-items:center;border-radius:14px;min-width:0}
#productList>.product-row>.product-thumb>img.product-thumb{display:block;width:100%;height:100%;max-height:220px;object-fit:contain;border:0;background:none;border-radius:inherit}
#productList>.product-row>.product-info{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0}
#productList>.product-row>.product-info>strong{font-size:18px;line-height:1.65;overflow-wrap:anywhere}
#productList>.product-row>.product-info>p{font-size:14px;line-height:1.8;overflow-wrap:anywhere;margin:0}
#productList .product-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}
#productList .product-meta .price{font-size:23px;line-height:1.5;overflow-wrap:anywhere}
#productList .product-meta :is(.pill,.muted){font-size:13px;overflow-wrap:anywhere}
#productList .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:4px;position:relative;z-index:2}
#productList .row-actions button{font-size:14px;min-height:44px;line-height:1.6;padding:9px;white-space:normal;overflow-wrap:anywhere;transform:none}
#productList .row-actions [data-toggle]{grid-column:1/-1}
#productList .row-actions button:active{background:#302752;transform:none}
#productList .row-actions button:disabled{opacity:.45;cursor:wait}
#productList>.product-row.cs-motion-card{transform:perspective(1200px) translateY(var(--cs-card-lift,0px)) rotateX(var(--cs-card-rx,0deg)) rotateY(var(--cs-card-ry,0deg))}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#productList>.product-row.cs-motion-card{transform:none!important}}
@media(max-width:390px){#productList>.product-row{padding:13px;gap:13px}#productList>.product-row>.product-thumb{height:200px}}
#store-products.store-products{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){#store-products.store-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#store-products.store-products{grid-template-columns:minmax(0,1fr)}}
#productList .cs-card-details:not(.is-expanded),#store-products .cs-card-details:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:5.4em}
:is(#productList,#store-products) .cs-card-details-toggle{align-self:flex-start;min-height:44px;max-width:100%;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;padding:8px 12px;font:inherit;font-size:14px;line-height:1.6;white-space:normal;cursor:pointer;transform:none;position:relative;z-index:2}
:is(#productList,#store-products) .cs-card-details-toggle:hover{color:var(--cs-ui-card-accent)}
:is(#productList,#store-products) .cs-card-details.is-expanded{display:block;max-height:none;overflow:visible}
/* Keep the original single-column merchant layout shrinkable on very narrow screens. */
@media(max-width:600px){.app-shell:has(#productList){grid-template-columns:minmax(0,1fr)}.app-shell:has(#productList) .sidebar{min-width:0;flex-wrap:wrap}.app-shell:has(#productList) .sidebar nav{min-width:0;flex-wrap:wrap}.app-shell:has(#productList) .primary{max-width:100%;min-width:0;white-space:normal}.app-shell:has(#productList) .footer{flex-wrap:wrap;overflow-wrap:anywhere;min-width:0}}
@media(max-width:390px){.app-shell:has(#productList) .hero{padding:22px}.app-shell:has(#productList) .panel-head{min-width:0}.app-shell:has(#productList) .panel-head>*{max-width:100%;min-width:0}}
#productList .row-actions button{min-width:0;max-width:100%;width:100%}
/* Round 2: grid follows the available list width, never forces two cramped cards. */
:is(#case-list,#sticker-list){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--cs-card-min),calc((100% - var(--cs-card-gap)) / 2))),1fr))!important;gap:var(--cs-card-gap)!important;align-content:start;align-items:stretch;container-type:inline-size}
:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){min-height:0!important;padding:10px!important;gap:9px!important;border-radius:14px!important;margin:0!important}
:is(#case-list,#sticker-list)>.product-card>.product-image{flex-basis:var(--cs-card-image)!important;height:var(--cs-card-image)!important;min-height:var(--cs-card-image)!important;max-height:var(--cs-card-image)!important;font-size:56px}
:is(#case-list,#sticker-list)>.product-card .product-name{font-size:15px!important;line-height:1.5!important}
:is(#case-list,#sticker-list)>.product-card .product-description{font-size:13px!important;line-height:1.65!important}
:is(#case-list,#sticker-list)>.product-card :is(.product-bottom,.case-product-bottom) .price{font-size:18px!important}
:is(#case-list,#sticker-list)>.product-card .product-rating{margin-top:3px!important;font-size:12px!important;gap:4px!important}
:is(#case-list,#sticker-list)>.custom-upload-card{min-height:165px!important;margin:0!important;max-width:100%;min-width:0;overflow-wrap:anywhere}
#catalog-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))!important;gap:14px!important}
#catalog-gallery-grid .product-card .product-image{height:160px!important;min-height:160px!important;max-height:160px!important;flex-basis:160px!important}
#store-products.store-products{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}
#store-products>.store-product>.store-product-image{aspect-ratio:4/5;min-height:170px;max-height:240px}
#store-products>.store-product>.store-product-copy{padding:10px 14px 16px;gap:6px}
#store-products .store-product h3{font-size:17px}#store-products .store-product-price{font-size:20px}
#productList.product-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:16px}
#productList>.product-row{min-height:0;padding:13px;gap:11px}
#productList>.product-row>.product-thumb{height:170px}
#productList>.product-row>.product-thumb>img.product-thumb{max-height:170px}
#productList>.product-row>.product-info>strong{font-size:16px}
.catalog-view-tabs{display:none}
@media(max-width:850px){
 .catalog-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;order:1!important;grid-column:1/-1;padding:5px;border:1px solid var(--cs-ui-card-accent);border-radius:14px;background:var(--card-bg,#151922);color:inherit;min-width:0}
 .catalog-view-tabs button{font:inherit;font-weight:700;font-size:14px;line-height:1.5;min-width:0;min-height:44px;padding:8px 4px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation;transition:background .18s,border-color .18s}
 .catalog-view-tabs button[aria-selected=true]{background:#6354bd;color:#fff;border-color:#a99afc}
 .catalog-view-tabs button:focus-visible{outline:2px solid var(--cs-ui-card-accent);outline-offset:2px}
 html[data-theme=light] .catalog-view-tabs{background:#f8f6fc;color:#222d40}
 .main-layout[data-catalog-view=case]>.stickers-panel,.main-layout[data-catalog-view=sticker]>.cases-panel{display:none!important}
 .main-layout[data-catalog-view]>.cases-panel,.main-layout[data-catalog-view]>.stickers-panel{animation:cs-catalog-in .16s ease-out}
 .main-layout[data-catalog-view=both]>.cases-panel{order:2!important}.main-layout[data-catalog-view=both]>.stickers-panel{order:3!important}
}
@keyframes cs-catalog-in{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.catalog-view-tabs *,.main-layout[data-catalog-view]>.side-panel{transition:none!important;animation:none!important}}
/* List-only correction for the original responsive MAIN zoom. No preview styles. */
:is(#case-list,#sticker-list){--cs-card-min:calc(126px * var(--cs-list-unit,1));--cs-card-image:calc(138px * var(--cs-list-unit,1));--cs-card-gap:calc(12px * var(--cs-list-unit,1))}
:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){padding:calc(10px * var(--cs-list-unit,1))!important;gap:calc(9px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.product-card .product-name{font-size:calc(15px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.product-card .product-description{font-size:calc(13px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.product-card :is(.product-bottom,.case-product-bottom) .price{font-size:calc(18px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.product-card .product-rating{font-size:calc(12px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.product-card .product-rating .rating-stars{font-size:calc(17px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.custom-upload-card{min-height:calc(165px * var(--cs-list-unit,1))!important}
:is(#case-list,#sticker-list)>.custom-upload-card small{font-size:calc(12px * var(--cs-list-unit,1))!important}
@media(max-width:850px){.catalog-view-tabs{gap:calc(5px * var(--cs-list-unit,1));padding:calc(5px * var(--cs-list-unit,1))}.catalog-view-tabs button{font-size:calc(14px * var(--cs-list-unit,1));min-height:calc(44px * var(--cs-list-unit,1));padding:calc(8px * var(--cs-list-unit,1)) calc(4px * var(--cs-list-unit,1))}}
/* Intrinsic grid tracks must not compress portrait contents to a legacy row height. */
:is(#case-list,#sticker-list){grid-auto-rows:max-content!important;grid-template-rows:none!important}
:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){height:auto!important;max-height:none!important;flex-shrink:0!important}

:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){grid-template-rows:var(--cs-card-image) max-content!important}
:is(#case-list,#sticker-list)>.product-card>.product-info{height:auto!important;min-height:0!important;align-self:stretch!important}
/* Legacy cards used named horizontal areas and an estimated 150px offscreen
   height. Portrait rows need their actual contents and explicit vertical areas. */
:is(#case-list,#sticker-list)>.product-card:not(.custom-upload-card){grid-template-areas:none!important;content-visibility:visible!important;contain-intrinsic-size:none!important}
:is(#case-list,#sticker-list)>.product-card>.product-image{grid-area:1 / 1!important}
:is(#case-list,#sticker-list)>.product-card>.product-info{grid-area:2 / 1!important}
/* A short description in the compact list; the original full text remains in
   the DOM and the existing large product-details window. */
:is(#case-list,#sticker-list)>.product-card .product-description{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-height:3.3em!important}
:is(#case-list,#sticker-list)>.custom-upload-card{grid-column:1/-1!important}
