/* Private saved cards share the existing native button system. */
.gallery-ui .card-favorite{display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative;min-width:44px;min-height:44px;padding:0;border:0;border-radius:var(--ac-radius-full);background:transparent;color:var(--ac-fg-muted);cursor:pointer}
.gallery-ui [data-favorite][aria-pressed=true] svg{fill:currentColor;color:var(--ac-accent)}
.gallery-ui [data-favorite]:disabled{cursor:progress;opacity:.6}
@media(hover:hover) and (pointer:fine){:root:not([data-input-kind=touch]) .gallery-ui .card-favorite:hover:not(:disabled){background:transparent;color:var(--ac-accent)}}
/* Horizontal counters size to their content; padding sets the spacing. */
.gallery-ui .card-meta :is(.official-like,.community-like,.card-download-stat,.card-favorite){display:inline-flex;flex-direction:row;align-items:center;font-size:var(--ac-text-xs);min-width:0;min-height:44px;padding:0 var(--ac-space-2);justify-content:center;flex:none;margin-left:0;border-radius:var(--ac-radius-full);gap:3px}
.gallery-ui .card-meta :is(.official-like,.community-like,.card-download-stat)::after{display:none}
.gallery-ui .official-card-stats{gap:0}
.gallery-ui .ac-detail-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-ui .ac-detail-favorite{white-space:normal;overflow-wrap:anywhere;padding:8px 10px}
.gallery-ui .ac-detail-favorite .ac-detail-action-label{min-width:0}
.favorite-wallet-stage{position:fixed;bottom:16px;left:75%;width:300px;height:614px;z-index:var(--ac-z-modal);pointer-events:auto;transform:translateY(110%);contain:layout style;cursor:pointer;text-decoration:none}
.favorite-wallet-stage .dw-phone{top:0}
.favorite-wallet-stage .dw-stack{position:absolute;inset:123px 16px 24px;margin:0;overflow:hidden;isolation:isolate}
.favorite-card-flight{position:fixed;z-index:var(--ac-z-toast);pointer-events:none;transform-origin:top left;object-fit:contain;border-radius:var(--ac-radius-card);background:var(--ac-surface);box-shadow:var(--ac-shadow-lg)}
.like-burst{position:fixed;z-index:var(--ac-z-toast);pointer-events:none;color:var(--ac-like)}
.like-burst i{position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor}
.like-burst i:nth-child(even){width:3px;height:7px}
@media(width < 1024px){
 .gallery-ui .ac-detail-actions{grid-template-columns:minmax(0,1fr) auto 44px 44px;gap:4px}
 .gallery-ui .ac-detail-actions :is(.ac-detail-like,.ac-detail-favorite,.ac-detail-share){min-width:44px;padding:0 4px}
 .gallery-ui .ac-detail-actions .ac-detail-download{padding-inline:8px;gap:6px;white-space:normal;overflow-wrap:anywhere}
 .gallery-ui .ac-detail-download>span{min-width:0}
}
@media(width <= 760px){
 :root:not([data-mobile-columns="1"]) .gallery-ui .card-meta .community-work-subtitle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 :root:not([data-mobile-columns="1"]) .gallery-ui .community-work-subtitle>.community-card-author{grid-column:1/-1}
 :root:not([data-mobile-columns="1"]) .gallery-ui .card-meta .card-subtitle{flex-wrap:wrap;gap:0}
 :root:not([data-mobile-columns="1"]) .gallery-ui .card-facts{flex-basis:100%}
 :root:not([data-mobile-columns="1"]) .gallery-ui .official-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-left:0}
 :root:not([data-mobile-columns="1"]) .gallery-ui .card-meta :is(.official-like,.community-like,.card-favorite,.card-download-stat){width:100%;min-width:0;justify-content:center;padding:0}
}
@media(prefers-reduced-motion:reduce){.favorite-wallet-stage,.favorite-card-flight,.like-burst{display:none!important}}

.favorite-wallet-stage:focus-visible{outline:2px solid var(--ac-accent);outline-offset:4px;border-radius:var(--ac-radius-lg)}
.favorite-wallet-stage .dw-front{pointer-events:none}
.favorites-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.favorites-heading .account-section-heading{margin:0}
.favorites-view-controls{flex:none}
.gallery-ui .favorites-view-controls .dw-tab{min-height:44px}
.favorites-view-controls[data-wallet-unread] #favorites-wallet-tab::before{content:'';position:absolute;right:7px;top:4px;width:7px;height:7px;border-radius:var(--ac-radius-full);background:var(--ac-danger)}
.favorites-collection [hidden]{display:none!important}
.favorites-phone{position:relative;max-width:450px;width:100%;margin:0 auto}
.favorites-phone .dw-phone{top:0}
.favorites-phone .dw-stack{position:absolute;inset:59px 0 24px;margin:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:none;scrollbar-width:none;cursor:grab;isolation:isolate;z-index:0;overflow-anchor:none}
.favorites-phone .dw-stack::-webkit-scrollbar{display:none}
.favorites-phone .dw-stack:focus-visible{outline:2px solid var(--ac-accent);outline-offset:2px}
.favorites-phone .dw-stack.is-dragging{scroll-snap-type:none;cursor:grabbing}
.favorites-wallet-deck{position:relative;margin:0 16px;isolation:isolate}
.gallery-ui .favorites-wallet-card{position:absolute;display:block;padding:0;transform-origin:center top;scroll-snap-align:start;text-decoration:none;cursor:inherit}
.favorites-wallet-card img{user-select:none;-webkit-user-drag:none}
.favorites-wallet-message{text-align:center;color:var(--ac-fg-muted)}
.favorites-wallet-message:empty{display:none}

/* Artwork remains opaque during both native and touch press feedback. */
.gallery-ui .dw-phone :is(.dw-front,.favorites-expanded-card):is(:active,[data-touch-pressed]){opacity:1}
.gallery-ui .favorite-wallet-stage:is(:active,[data-touch-pressed]){opacity:1}
.gallery-ui .favorites-wallet-card{border:0;font:inherit;color:inherit;text-align:inherit}
.favorites-phone .dw-stack[data-expanded]{overflow:hidden}
.favorites-wallet-detail{position:absolute;inset:59px 0 0;z-index:1;pointer-events:none;overflow:hidden}
.gallery-ui .favorites-phone .dw-done{z-index:2}
.favorites-card-info{pointer-events:auto;overflow-y:auto;overscroll-behavior:contain;position:absolute;left:16px;right:16px;padding:20px;border-radius:var(--ac-radius-lg);background:var(--dw-inverse);color:var(--dw-ink)}
.gallery-ui .favorites-card-info p{margin:0 0 8px;font-size:14px;color:var(--ac-fg-muted)}
.gallery-ui .favorites-card-info h3{margin:0;font:600 20px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;overflow-wrap:anywhere}
.gallery-ui [data-favorite-count]{font:inherit;font-variant-numeric:tabular-nums;line-height:1}
.gallery-ui [data-favorite-count][data-count="0"]{display:none}
.gallery-ui .card-favorite{font:inherit;gap:3px}
@media(hover:hover) and (pointer:fine){:root:not([data-input-kind=touch]) .gallery-ui [data-favorite]:hover:not(:disabled) svg{color:var(--ac-accent)}:root:not([data-input-kind=touch]) .gallery-ui [data-favorite][aria-pressed=false]:hover:not(:disabled) svg{fill:none}}

.gallery-ui .card-meta :is(.official-like,.community-like,.card-download-stat,.card-favorite)>svg{width:16px;height:16px;flex:none}
.gallery-ui .card-meta :is(.card-subtitle,.community-work-subtitle){column-gap:0}
.gallery-ui .favorites-card-info a{color:inherit;text-decoration:none}
.gallery-ui .favorites-card-info .favorites-card-author{display:flex;align-items:center;min-height:44px;margin-top:6px;color:var(--ac-fg-muted);font-size:16px}
.favorites-card-actions{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:12px}
.gallery-ui .favorites-card-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:calc(44px / var(--dw-scale,.75));min-height:calc(44px / var(--dw-scale,.75));padding:4px;background:transparent;border:0;color:var(--ac-fg-muted);font-family:inherit;font-size:16px;font-weight:400;line-height:1.3}
.gallery-ui .favorites-card-actions svg{width:18px;height:18px;flex:none}
.gallery-ui .favorites-card-info [data-count="0"]{display:inline}
.gallery-ui .favorites-card-actions :is([data-like],[data-official-like])[aria-pressed=true] svg{fill:var(--ac-like);color:var(--ac-like)}
.gallery-ui .favorites-card-info a:focus-visible{outline:2px solid var(--ac-accent);outline-offset:2px}

/* List counters are passive; wallet download remains an action. */
.gallery-ui .card-meta .card-download-stat{width:max-content;justify-content:flex-end;padding-right:0;cursor:default;pointer-events:none}
.gallery-ui .favorites-card-author{gap:8px}
@media(hover:hover) and (pointer:fine){
 :root:not([data-input-kind=touch]) .gallery-ui :is(.card-meta,.favorites-card-actions) :is(button,a):hover:not(:disabled){background:transparent}
 :root:not([data-input-kind=touch]) .gallery-ui .favorites-card-actions :is([data-like],[data-official-like]):hover:not(:disabled) svg{color:var(--ac-like)}
 :root:not([data-input-kind=touch]) .gallery-ui .favorites-card-actions [data-card-download]:hover{color:var(--ac-fg)}
}

:root .gallery-ui .favorites-card-author .community-card-avatar{flex-basis:30px;width:30px;height:30px;font-size:13px}
