/* Minneapolis Necesita V8.0 — clean media rebuild */
:root{--v8-navy:#07111f;--v8-blue:#1763e8;--v8-border:#dbe4f0}

/* Categories: stable two-column premium cards on phones */
#categoryGrid.v8-categories{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;min-height:0!important;visibility:visible!important;opacity:1!important;align-items:stretch!important}
#categoryGrid.v8-categories>.v8-category-card{all:unset;box-sizing:border-box!important;cursor:pointer!important;position:relative!important;display:block!important;min-width:0!important;aspect-ratio:1.12/1!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 10px 26px rgba(12,28,54,.13)!important;visibility:visible!important;opacity:1!important}
#categoryGrid.v8-categories>.v8-photo-card{background:#dfe8f3!important}
#categoryGrid.v8-categories>.v8-category-card.extra-category{display:none!important}
#categoryGrid.v8-categories.show-all-cats>.v8-category-card.extra-category{display:block!important}
.v8-cat-media{position:absolute!important;inset:0!important;display:block!important;background:#dfe8f3!important}
.v8-cat-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:var(--photo-pos,50% 50%)!important;filter:none!important;transform:none!important;opacity:1!important;visibility:visible!important}
.v8-cat-shade{position:absolute!important;inset:42% 0 0!important;background:linear-gradient(180deg,transparent,rgba(5,14,28,.9))!important;z-index:2!important;pointer-events:none!important}
#categoryGrid.v8-categories>.v8-photo-card>strong{position:absolute!important;left:13px!important;right:47px!important;bottom:13px!important;color:#fff!important;font-size:15px!important;line-height:1.05!important;font-weight:900!important;z-index:3!important;text-shadow:0 2px 8px rgba(0,0,0,.65)!important;padding:0!important}
.v8-cat-arrow{position:absolute!important;right:10px!important;bottom:10px!important;width:33px!important;height:33px!important;border-radius:50%!important;background:rgba(7,17,31,.62)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:20px!important;font-weight:800!important;z-index:4!important;backdrop-filter:blur(8px)!important}
.v8-preview-photo{position:absolute!important;top:10px!important;right:10px!important;width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(7,17,31,.54)!important;color:#fff!important;font-size:17px!important;z-index:4!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(8px)!important}
#categoryGrid.v8-categories>.v8-icon-card{background:linear-gradient(145deg,#fff,#f3f7ff)!important;border:1px solid var(--v8-border)!important;box-shadow:0 8px 22px rgba(15,35,65,.08)!important;padding:15px!important}
#categoryGrid.v8-categories>.v8-icon-card .icon{width:45px!important;height:45px!important;border-radius:14px!important;background:#eaf1ff!important;color:var(--v8-blue)!important;display:grid!important;place-items:center!important}
#categoryGrid.v8-categories>.v8-icon-card .icon svg{width:25px!important;height:25px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.9!important}
#categoryGrid.v8-categories>.v8-icon-card>strong{position:absolute!important;left:15px!important;right:45px!important;bottom:15px!important;color:#10213a!important;font-size:14px!important;line-height:1.05!important;font-weight:900!important;padding:0!important}
#categoryGrid.v8-categories>.v8-icon-card .v8-cat-arrow{background:#edf3fb!important;color:#7f90a7!important;border:0!important}
#categoryGrid.v8-categories>.v8-category-card.active{outline:3px solid var(--v8-blue)!important;outline-offset:3px!important}

/* Full image viewer */
.v8-image-viewer{position:fixed;inset:0;z-index:390;display:none;align-items:center;justify-content:center;background:rgba(1,7,17,.92);padding:18px;backdrop-filter:blur(14px)}
.v8-image-viewer.show{display:flex}
.v8-image-panel{position:relative;width:min(760px,100%);max-height:92dvh;background:#08121f;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.v8-image-panel>img{display:block;width:100%;max-height:78dvh;object-fit:contain;background:#000}
.v8-image-close{position:absolute;right:12px;top:12px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(7,17,31,.68);color:#fff;font-size:28px}
.v8-image-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:#fff}.v8-image-caption strong{font-size:18px}

/* Rebuilt player: a real vertical canvas, no CSS zoom/stretch */
body.media-open{overflow:hidden!important}
body.media-open .mobile-bottom-nav{display:none!important}
#videoPlayerModal.video-player-backdrop{position:fixed!important;inset:0!important;z-index:350!important;padding:0!important;background:#000!important;backdrop-filter:none!important;display:none!important;align-items:stretch!important;justify-content:center!important}
#videoPlayerModal.video-player-backdrop.show{display:flex!important}
#videoPlayerModal .video-player-modal.tiktok-player{position:relative!important;width:min(560px,100%)!important;height:100dvh!important;max-height:100dvh!important;margin:0 auto!important;border-radius:0!important;background:#000!important;overflow:hidden!important;box-shadow:none!important;display:block!important}
#videoPlayerModal .video-player-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#000!important;overflow:hidden!important}
#videoPlayerModal #videoPlayer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#000!important;filter:none!important;transform:none!important;image-rendering:auto!important}
#videoPlayerModal .video-player-overlay{position:absolute!important;inset:0!important;z-index:4!important;pointer-events:none!important;background:linear-gradient(180deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 61%,rgba(0,0,0,.72) 100%)!important}
#videoPlayerModal .video-stage-top,#videoPlayerModal .video-stage-bottom,#videoPlayerModal .video-player-actions{pointer-events:auto!important}
#videoPlayerModal .video-stage-top{position:absolute!important;left:0!important;right:0!important;top:0!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;padding:calc(14px + env(safe-area-inset-top)) 14px 10px!important;z-index:7!important}
#videoPlayerModal .video-stage-badges{display:grid!important;gap:8px!important;width:min(410px,calc(100% - 55px))!important}
#videoPlayerModal .video-stage-pill{align-self:flex-start!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(7,17,31,.66)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
#videoPlayerModal .video-business-row{display:flex!important;align-items:center!important;gap:9px!important;padding:7px 9px!important;border-radius:17px!important;background:rgba(7,17,31,.62)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(10px)!important}
#videoPlayerModal .video-business-avatar{width:40px!important;height:40px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#2563eb,#22c1c3)!important;color:#fff!important;font-size:12px!important;font-weight:900!important;flex:0 0 auto!important}
#videoPlayerModal .video-business-row>div{min-width:0!important;flex:1!important}#videoPlayerModal .video-business-row strong{display:block!important;color:#fff!important;font-size:14px!important;line-height:1.1!important}#videoPlayerModal .video-business-row small{display:block!important;color:#dbe6f4!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#videoPlayerModal .follow-btn{border:0!important;border-radius:999px!important;background:#ff315b!important;color:#fff!important;padding:9px 14px!important;font-weight:900!important;font-size:11px!important;flex:0 0 auto!important}#videoPlayerModal .follow-btn.following{background:#fff!important;color:#10213a!important}
#videoPlayerModal .video-stage-close{width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(7,17,31,.64)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:26px!important;display:grid!important;place-items:center!important}
#videoPlayerModal .video-player-actions{position:absolute!important;right:10px!important;bottom:118px!important;display:grid!important;grid-template-columns:none!important;grid-template-rows:repeat(5,auto)!important;gap:9px!important;padding:0!important;background:transparent!important;z-index:8!important}
#videoPlayerModal .media-action{width:64px!important;min-height:64px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:20px!important;background:rgba(9,21,39,.72)!important;color:#fff!important;display:grid!important;place-items:center!important;gap:2px!important;padding:7px 4px!important;backdrop-filter:blur(9px)!important}
#videoPlayerModal .media-action span{font-size:22px!important;line-height:1!important}#videoPlayerModal .media-action b{font-size:9px!important;line-height:1.05!important;color:#fff!important}#videoPlayerModal .media-action.primary{background:#2463ef!important}#videoPlayerModal .media-action.active{background:#ef3340!important}
#videoPlayerModal .video-stage-bottom{position:absolute!important;left:16px!important;right:88px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;z-index:7!important;color:#fff!important;padding:0!important}
#videoPlayerModal .video-stage-bottom h2{font-size:26px!important;line-height:1.04!important;margin:0 0 7px!important;color:#fff!important;text-shadow:0 2px 9px #000!important}#videoPlayerModal .video-stage-bottom p{font-size:13px!important;line-height:1.35!important;margin:0 0 11px!important;color:#e8eef7!important;text-shadow:0 2px 6px #000!important}
#videoPlayerModal .video-inline-row{display:flex!important;align-items:center!important;gap:9px!important}#videoPlayerModal .inline-quote-btn{border:0!important;border-radius:999px!important;background:#fff!important;color:#10213a!important;padding:11px 15px!important;font-weight:900!important;font-size:12px!important}#videoPlayerModal .inline-sound-btn{width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(12,25,45,.72)!important;color:#fff!important}

/* Comments slide from bottom, video stays above and keeps playing */
#videoPlayerModal .video-player-modal.comments-open #videoPlayer{height:42dvh!important;object-fit:contain!important;object-position:center center!important;background:#000!important}
#videoPlayerModal .video-player-modal.comments-open .video-player-overlay{height:42dvh!important;background:linear-gradient(180deg,rgba(0,0,0,.52),rgba(0,0,0,0) 65%,rgba(0,0,0,.35))!important}
#videoPlayerModal .video-player-modal.comments-open .video-player-actions,#videoPlayerModal .video-player-modal.comments-open .video-stage-bottom{display:none!important}
#commentsModal.comments-backdrop{position:fixed!important;inset:0!important;z-index:370!important;display:none!important;align-items:flex-end!important;justify-content:center!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;pointer-events:none!important}
#commentsModal.comments-backdrop.show{display:flex!important}
#commentsModal .comments-sheet{pointer-events:auto!important;width:min(560px,100%)!important;height:58dvh!important;max-height:58dvh!important;border-radius:24px 24px 0 0!important;background:#fff!important;color:#10213a!important;display:grid!important;grid-template-rows:auto auto 1fr auto!important;overflow:hidden!important;box-shadow:0 -16px 55px rgba(0,0,0,.28)!important}
#commentsModal .comments-grabber{width:52px!important;height:5px!important;border-radius:999px!important;background:#d0d6e0!important;margin:10px auto 5px!important}
#commentsModal .comments-head{display:grid!important;grid-template-columns:1fr auto auto!important;align-items:center!important;gap:10px!important;padding:10px 18px 12px!important;border-bottom:1px solid #edf0f5!important}#commentsModal .comments-head strong{text-align:center!important;font-size:16px!important}#commentsModal .comments-filter,#commentsModal .comments-close{border:0!important;background:transparent!important;color:#10213a!important;font-size:24px!important;width:36px!important;height:36px!important}#commentsModal .comments-close{font-size:30px!important}
#commentsModal .tiktok-comments{overflow-y:auto!important;padding:8px 18px 90px!important;background:#fff!important}#commentsModal .tt-comment{display:grid!important;grid-template-columns:44px minmax(0,1fr) 42px!important;gap:10px!important;padding:13px 0!important}#commentsModal .comment-avatar{width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#fff!important;font-weight:900!important;font-size:13px!important;background:linear-gradient(135deg,#2563eb,#22c1c3)!important}#commentsModal .comment-main b{font-size:13px!important;color:#707889!important}#commentsModal .comment-main p{font-size:15px!important;line-height:1.3!important;margin:3px 0 5px!important;color:#101827!important;font-weight:650!important}#commentsModal .comment-meta{display:flex!important;gap:14px!important;color:#8b94a3!important;font-size:12px!important}#commentsModal .comment-meta button,#commentsModal .view-replies{border:0!important;background:transparent!important;padding:0!important;color:#6f7786!important;font-weight:800!important;font-size:12px!important}#commentsModal .comment-like{display:grid!important;justify-items:center!important;align-content:start!important}#commentsModal .comment-like button{border:0!important;background:transparent!important;font-size:25px!important;color:#8d96a5!important}#commentsModal .comment-like span{font-size:10px!important;color:#939ba8!important}
#commentsModal .comment-composer{position:absolute!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto auto auto!important;gap:7px!important;align-items:center!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.98)!important;border-top:1px solid #edf0f5!important}#commentsModal .comment-composer .comment-avatar{width:36px!important;height:36px!important}#commentsModal .comment-composer input{height:42px!important;border:0!important;border-radius:999px!important;background:#f1f3f6!important;padding:0 14px!important;font-size:14px!important;min-width:0!important}#commentsModal .composer-icon,#commentsModal .comment-send{border:0!important;background:transparent!important;font-size:20px!important;color:#111827!important;width:30px!important;height:34px!important}#commentsModal .comment-send{color:#1763e8!important;font-weight:900!important}

/* Make cards/previews match actual assets and avoid mixed sections */
.video-card:after,.compact-video .thumb,.reel-card{background-size:cover!important;background-position:center!important;filter:none!important}
.video-card.v1:after{background-image:url('assets/handyman_clean.jpg?v=800')!important}.video-card.v2:after{background-image:url('assets/cleaning_clean.jpg?v=800')!important}.video-card.v3:after{background-image:url('assets/painting_clean.jpg?v=800')!important}.video-card.v4:after{background-image:url('assets/snow_clean.jpg?v=800')!important}
.compact-video .thumb.t1{background-image:url('assets/handyman_clean.jpg?v=800')!important}.compact-video .thumb.t2{background-image:url('assets/painting_clean.jpg?v=800')!important}.compact-video .thumb.t3{background-image:url('assets/plumbing_clean.jpg?v=800')!important}.compact-video .thumb.t4{background-image:url('assets/handyman_clean.jpg?v=800')!important}.compact-video .thumb.t5{background-image:url('assets/electrical_clean.jpg?v=800')!important}
.reel-card.r1{background-image:url('assets/painting_clean.jpg?v=800')!important}.reel-card.r2{background-image:url('assets/cleaning_clean.jpg?v=800')!important}.reel-card.r3{background-image:url('assets/landscape_clean.jpg?v=800')!important}

@media(max-width:760px){
  #categoryGrid.v8-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  #categoryGrid.v8-categories>.v8-category-card{aspect-ratio:1.02/1!important;border-radius:16px!important}
  #categoryGrid.v8-categories>.v8-photo-card>strong{left:11px!important;right:42px!important;bottom:11px!important;font-size:14px!important}.v8-cat-arrow{width:30px!important;height:30px!important;right:8px!important;bottom:8px!important}.v8-preview-photo{width:29px!important;height:29px!important;top:8px!important;right:8px!important;font-size:15px!important}
  #videoPlayerModal .video-player-modal.tiktok-player{width:100%!important}
  #videoPlayerModal .video-stage-bottom h2{font-size:24px!important}
  #commentsModal .comments-sheet{width:100%!important;height:58dvh!important;max-height:58dvh!important}
}
@media(min-width:761px) and (max-width:1180px){#categoryGrid.v8-categories{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.v8-photo-card.v8-image-error{background:linear-gradient(145deg,#0e274d,#1763e8)!important}.v8-photo-card.v8-image-error .v8-cat-shade{display:none!important}.v8-fallback-label{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#fff;font-size:18px;font-weight:900;text-align:center;z-index:2}.v8-photo-card.v8-image-error .v8-preview-photo{display:none!important}
