/* VivoTattoo artist card. Canonical project CSS, loaded before page content. */
html.vt-initial-pending [data-vt-artist-profile] .hero{visibility:hidden!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .ap-compact-bio .ap-hobbies{grid-column:1!important;min-width:0}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.actions .btn{box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-height:44px!important;height:auto!important;padding:11px 22px!important;border:1px solid #ffffff38!important;border-radius:999px!important;font-size:15px!important;font-weight:400!important;line-height:20px!important;white-space:nowrap!important;background:rgba(212,35,125,.23)!important;color:#fff!important}

html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .ap-compact-bio dd:has(>.vt-profile-listen){position:relative}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .ap-compact-bio .vt-profile-listen{position:absolute;top:100%;left:0;display:block;margin-top:6px;font-size:13px;line-height:1.3;font-weight:400;letter-spacing:0;color:inherit;text-decoration:none;opacity:.75;width:max-content}
@media(max-width:800px){
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .ap-compact-bio .vt-profile-listen{font-size:11px}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero{grid-template-rows:minmax(0,1fr) auto auto auto minmax(0,1fr) auto auto!important;row-gap:0!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.vt-profile-portrait{grid-row:1/6!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>h1{grid-row:2!important;align-self:center!important;margin:0!important;left:0!important;text-align:center!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.vt-profile-price{grid-row:3!important;align-self:center!important;left:0!important;text-align:center!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.tertiary{grid-row:4!important;align-self:center!important;left:0!important;text-align:center!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.vt-artist-nav{grid-row:1/6!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.actions{grid-column:1/-1!important;grid-row:6!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin:18px 0 0!important;left:0!important;width:100%!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:0;min-height:40px!important;padding:9px 16px!important;border-radius:999px!important;font-size:13px!important;letter-spacing:-.016em!important;line-height:20px!important;white-space:nowrap!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.vt-master-bio{grid-row:7!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] .hero>.vt-profile-review-action{grid-column:1/-1!important;grid-row:8!important;left:0!important}
}

/* Public artist portfolio grid. Keep original photos and existing viewer. */
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] #vt-master-works .gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:0!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw)!important;overflow:visible!important;scroll-snap-type:none!important;border-radius:0!important;transform:none!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] #vt-master-works .gallery>button{display:block!important;grid-column:auto!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;aspect-ratio:3/4!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;box-shadow:none!important;transform:none!important}
html body #vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2#vt2[data-vt-artist-profile] #vt-master-works .gallery>button>img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/4!important;object-fit:cover!important;object-position:var(--vt-work-focus,50% 50%)!important;border-radius:0!important;margin:0!important}
html body:has(#vt2[data-vt-artist-profile]) dialog#vt-gallery-viewer[open]{box-sizing:border-box!important;position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#d4237d!important;overflow:hidden!important}
html body:has(#vt2[data-vt-artist-profile]) dialog#vt-gallery-viewer[open]>img{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(100vw,calc((100dvh - 120px)*.8))!important;height:min(125vw,calc(100dvh - 120px))!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:var(--vt-work-focus,50% 50%)!important;aspect-ratio:4/5!important;border-radius:0!important}
html body:has(#vt2[data-vt-artist-profile]) dialog#vt-gallery-viewer>.vt-portfolio-photo-count{position:fixed;top:calc((100dvh - min(125vw,100dvh - 120px))/2 + 12px);right:calc((100vw - min(100vw,(100dvh - 120px)*.8))/2 + 12px);z-index:3;padding:5px 9px;border-radius:999px;background:rgba(45,45,50,.62);color:#fff;font:400 12px/18px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* Hide visual close control; retain existing dialog gestures and keyboard Escape. */
html body:has(#vt2[data-vt-artist-profile]) dialog#vt-gallery-viewer>button[aria-label="Закрыть фотографию"]{opacity:0!important;pointer-events:none!important}

html.vt-city-viewer-locked:has(#vt2[data-vt-artist-profile]){background:#d4237d!important;--vt-page-top-color:#d4237d!important;color-scheme:light}

html body:has([data-vt-artist-profile]) dialog#vt-gallery-viewer{--vt-frame-width:min(100vw,calc((100dvh - 120px)*.8));--vt-frame-height:min(125vw,calc(100dvh - 120px))}
html body:has([data-vt-artist-profile]) dialog#vt-gallery-viewer[data-vt-sliding] > img{opacity:0!important}
#vt-gallery-viewer .vt-photo-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--vt-frame-width);height:var(--vt-frame-height);overflow:hidden;pointer-events:none}
#vt-gallery-viewer .vt-photo-track{display:flex;width:300%;height:100%;will-change:transform}
#vt-gallery-viewer#vt-gallery-viewer .vt-photo-track>img{display:block!important;flex:0 0 33.333333%;width:33.333333%!important;height:100%!important;min-width:0;max-width:none!important;max-height:none!important;aspect-ratio:4/5!important;object-fit:cover!important;border-radius:0!important;margin:0!important;transform:none!important;position:static!important}


html body:has([data-vt-artist-profile]) dialog#vt-gallery-viewer::backdrop{background:#d4237d!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Yana pilot: artist identity and public per-photo likes. */
#vt-gallery-viewer#vt-gallery-viewer .vt-photo-identity{position:absolute;top:calc((100dvh - var(--vt-frame-height))/2 - 48px);left:calc((100vw - var(--vt-frame-width))/2 + 12px);display:flex;align-items:center;gap:10px;height:40px;color:#fff;pointer-events:none}
#vt-gallery-viewer#vt-gallery-viewer .vt-photo-identity>img{position:static!important;display:block!important;width:32px!important;height:32px!important;min-width:32px!important;max-width:none!important;max-height:none!important;object-fit:cover!important;aspect-ratio:1!important;border-radius:50%!important;transform:none!important;margin:0!important;opacity:1!important}
#vt-gallery-viewer .vt-photo-identity>div{display:flex;flex-direction:column;gap:1px;text-align:left}
#vt-gallery-viewer .vt-photo-identity strong{font:600 14px/18px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#fff}
#vt-gallery-viewer .vt-photo-identity span{font:400 12px/16px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#ffffffb3}
#vt-gallery-viewer#vt-gallery-viewer .vt-photo-likes{position:absolute;top:calc((100dvh + var(--vt-frame-height))/2 + 12px);left:calc((100vw - var(--vt-frame-width))/2 + 16px);z-index:5}
html body dialog#vt-gallery-viewer#vt-gallery-viewer .vt-photo-likes>button{position:static!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;transform:none!important;width:auto!important;height:36px!important;min-width:48px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:#fff!important;font:400 14px/20px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;box-shadow:none!important;opacity:1!important;pointer-events:auto!important;touch-action:manipulation}
#vt-gallery-viewer .vt-photo-likes svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.7;fill:transparent;transition:transform .18s ease,fill .18s ease}
#vt-gallery-viewer .vt-photo-likes button[aria-pressed=true] svg{fill:#fff;transform:scale(1.04)}
#vt-gallery-viewer .vt-photo-like-count{font-variant-numeric:tabular-nums;font-weight:600}
#vt-gallery-viewer .vt-photo-like-burst{position:absolute;z-index:6;left:50%;top:50%;width:72px;height:72px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 8px #0003)}
#vt-gallery-viewer .vt-photo-like-burst svg{display:block;width:100%;height:100%;fill:#fff;stroke:none}

#vt-gallery-viewer .vt-photo-likes{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
#vt-gallery-viewer .vt-photo-booking{display:inline-flex!important;align-items:center!important;color:#fff!important;text-decoration:none!important;font:500 13px/18px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;white-space:nowrap;padding:0;border:0;background:none}

#vt-gallery-viewer .vt-photo-booking-row{display:flex;align-items:baseline;gap:5px;color:#fff;font:400 13px/18px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
#vt-gallery-viewer .vt-photo-booking-row>strong{font:inherit;font-weight:600}
