/* Per-creator gallery photos + viewer (public profile, website + Mini App). Tiles show the original photo scaled (object-fit), never cropped files. */
.ce-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.ce-ph{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:0;border:1px solid rgba(224,154,58,.22);border-radius:14px;overflow:hidden;background:#0C0A06;cursor:zoom-in}
.ce-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.ce-ph:hover img{transform:scale(1.03)}
.ce-lightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(5,6,10,.94);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}
.ce-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;image-orientation:from-image}
.ce-lightbox button{position:absolute;border:1px solid rgba(224,154,58,.4);background:rgba(12,10,6,.7);color:#F0C060;width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.ce-lb-x{top:max(14px,env(safe-area-inset-top));right:14px;font-size:18px!important}
.ce-lb-prev{left:10px;top:50%;transform:translateY(-50%)}.ce-lb-next{right:10px;top:50%;transform:translateY(-50%)}
.ce-lb-n{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#cfc6b4;font-size:13px}
.ce-photos-card .ce-photos{grid-template-columns:repeat(3,1fr);gap:6px}
.ce-photos-card .ce-ph{border-radius:10px}
/* Oct 11 (Mark): video descriptions + paid photos in the gallery (js/creator-media-extra.js). Website + Mini App. */
.mx-desc{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:12px;line-height:1.3;font-weight:600;color:#fff;text-align:left;
  background:linear-gradient(to top,rgba(5,6,10,.85),rgba(5,6,10,0));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.mx-has-desc .tile-meta,.mx-has-desc .pv-dur{bottom:auto !important;top:8px}
.mx-has-desc .tile-meta{top:8px;left:8px;right:8px}
.mx-has-desc.pv-tile .pv-dur{top:8px;right:8px}
.pv-tile.pv-show .mx-desc{opacity:0}
.mx-desc-full{margin:10px 2px 0;font-size:14px;line-height:1.45;color:var(--muted,#cfc6b4);white-space:pre-wrap}
.pp-tile{position:relative;display:block;width:100%;overflow:hidden;border-radius:12px;background:#0b0c12;border:1px solid rgba(224,154,58,.22);padding:0;margin:0;cursor:pointer;color:#fff;font:inherit;text-align:left;
  -webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.pp-tile .pp-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover !important;display:block;pointer-events:none;transform:scale(1.08)}
.pp-tile .pv-tag{position:absolute;z-index:3;left:8px;top:8px;font-size:11px;font-weight:700;line-height:1;padding:5px 8px;border-radius:999px;background:rgba(12,10,6,.72);color:#F0C060;border:1px solid rgba(224,154,58,.45);display:inline-flex;align-items:center;gap:4px;pointer-events:none}
.pp-tile .pv-tag svg,.pp-tile .pv-btn svg{width:12px;height:12px;flex:none}
.pp-tile .pv-tag-own{color:#5fe3a1;border-color:rgba(62,207,142,.5)}
.pp-tile .pp-over{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;text-align:center;background:rgba(8,9,14,.35);pointer-events:none}
.pp-tile .pp-over b{font-size:15px;line-height:1.2;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.pp-tile .pp-over small{font-size:12px;color:rgba(255,255,255,.85);font-weight:600}
.pp-tile .pv-btn{margin-top:4px;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;font-weight:800;font-size:13px;color:#1b1300;background:linear-gradient(135deg,#F0C060,#E09A3A)}
.mx-has-desc.pp-tile .pp-over{padding-bottom:40px}
@media (max-width:420px){.pp-tile .pp-over b{font-size:13px}.pp-tile .pv-btn{padding:8px 12px;font-size:12px}}
.mx-lightbox img{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}
.mx-lb-desc{position:absolute;left:12px;right:12px;bottom:max(18px,env(safe-area-inset-bottom));text-align:center;color:#eee4cf;font-size:14px;line-height:1.4;text-shadow:0 1px 3px #000}
.cc-tile.mx-has-desc .mx-desc,.tile.mx-has-desc:not(.pv-tile):not(.pp-tile) .mx-desc{padding-right:58px}
