/* Same card/grid treatment as page-tag-gallery, scoped for account-page use. */
:is(.grafi-user-gallery, .grafi-purchased-gallery) {width:100%;max-width:1400px;margin:0 auto;padding:10px 0 30px;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;margin-bottom:30px;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-item {background:#fff;border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-item:hover {transform:translateY(-5px);box-shadow:0 10px 25px #0000001a;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-link {text-decoration:none;display:block;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-thumb {position:relative;overflow:hidden;aspect-ratio:4/3;background:#f7f7f7;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-thumb img {width:100%;height:100%;object-fit:contain;display:block;transition:transform .4s;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-item:hover img {transform:scale(1.05);}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-overlay {position:absolute;inset:0;background:#0008;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-item:hover .tag-gallery-overlay,:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-link:focus-visible .tag-gallery-overlay {opacity:1;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-edit-btn {background:#fff;color:#333;font-size:14px;font-weight:700;padding:8px 24px;border-radius:30px;border:3px solid #34cceb;text-transform:uppercase;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-type-badge {text-align:center;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 10px 12px;color:#fff;background:#34cceb;overflow-wrap:anywhere;}
.grafi-user-gallery [data-user-gallery-controls] {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    align-items:end;gap:10px 12px;margin:0 0 22px;padding:16px;
    background:#f7fafb;border:1px solid #dce6eb;border-radius:12px;
    color:#344650;font-size:13px;box-sizing:border-box;
}
.grafi-user-gallery [data-user-gallery-controls]:empty {display:none;}
.grafi-user-gallery [data-user-gallery-controls] [data-grafi-user-picker] {display:contents;}
.grafi-user-gallery [data-user-gallery-controls] label {grid-column:1;grid-row:1;min-width:0;margin:0;font-size:12px;font-weight:500;color:#52636f;}
.grafi-user-gallery [data-user-gallery-controls] input,
.grafi-user-gallery [data-user-gallery-controls] select {
    width:100%;min-width:0;height:42px;box-sizing:border-box;margin:0;
    padding:9px 12px;border:1px solid #cbd8df;border-radius:8px;
    background:#fff;color:#263942;font:inherit;font-size:13px;
    transition:border-color .15s,box-shadow .15s;
}
.grafi-user-gallery [data-user-gallery-controls] input {margin-top:6px;}
.grafi-user-gallery [data-user-gallery-controls] select {grid-column:2;grid-row:1;cursor:pointer;text-overflow:ellipsis;padding-right:32px;}
.grafi-user-gallery [data-user-gallery-controls] input::placeholder {color:#72828c;opacity:1;}
.grafi-user-gallery [data-user-gallery-controls] [data-show-all] {
    grid-column:3;grid-row:1;min-height:42px;margin:0;padding:9px 16px;
    border:1px solid #00afd3;border-radius:8px;background:#e5f7fb;color:#175565;
    font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;
    transition:background-color .15s;
}
.grafi-user-gallery [data-user-gallery-controls] [data-show-all]:hover {background:#cef0f7;}
.grafi-user-gallery [data-user-gallery-controls] :is(input,select,button):focus-visible {outline:2px solid #00afd3;outline-offset:2px;}
.grafi-user-gallery [data-user-gallery-controls] [data-user-help] {grid-column:1/-1;grid-row:2;margin:0;color:#52636f;font-size:12px;}
.grafi-user-gallery [data-user-gallery-controls] [data-user-help]:empty {display:none;}
@media(max-width:767px) {
    .grafi-user-gallery [data-user-gallery-controls] {grid-template-columns:minmax(0,1fr);padding:12px;}
    .grafi-user-gallery [data-user-gallery-controls] select {grid-column:1;grid-row:2;}
    .grafi-user-gallery [data-user-gallery-controls] [data-show-all] {grid-column:1;grid-row:3;width:100%;}
    .grafi-user-gallery [data-user-gallery-controls] [data-user-help] {grid-column:1;grid-row:4;}
}
:is(.grafi-user-gallery, .grafi-purchased-gallery) .grafi-manage-assignment {display:block;text-align:center;padding-bottom: 12px;}
[data-user-selected] {display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.grafi-selected-user {display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #888;border-radius:6px;overflow-wrap:anywhere;max-width:100%;}
.grafi-selected-user button {flex-shrink:0;padding:0 5px;cursor:pointer;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) [data-user-gallery-pages] {display:flex;gap:12px;align-items:center;justify-content:center;}
[data-grafi-user-picker] {margin:10px 0;}
[data-grafi-user-picker] input,[data-grafi-user-picker] select {display:block;width:100%;max-width:100%;margin:6px 0;}
[data-grafi-user-picker] [data-user-help] {font-size:12px;overflow-wrap:anywhere;}
#grafi-private-options[hidden],#grafi-private-recipient-fields[hidden] {display:none!important;}
@media(max-width:1200px){:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:992px){:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:768px){:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}}
@media(max-width:480px){:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-grid{grid-template-columns:1fr;}}
@media(hover:none){:is(.grafi-user-gallery, .grafi-purchased-gallery) .tag-gallery-overlay{opacity:1;background:transparent;align-items:flex-end;padding-bottom:8px;}}

.grafi-purchased-gallery .grafi-purchase-expiration {text-align:center;font-size:12px;color:#52636f;margin:8px;}
.grafi-purchased-gallery .grafi-purchase-expiration.expiring-soon {color:#b43838;}
:is(.grafi-user-gallery, .grafi-purchased-gallery) [data-user-gallery-status]:empty {display:none;}
