.np-avatar,
.avatar,
.comment-author .avatar,
.wp-block-avatar img,
.wp-block-post-author__avatar img,
.woocommerce .avatar,
.dokan-dashboard .avatar {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-avatar-size, 3rem);
    min-width: var(--np-avatar-size, 3rem);
    height: var(--np-avatar-size, 3rem);
    overflow: hidden;
    background: var(--np-avatar-background, #f1f5f9);
    border: var(--np-border-width, 1px) solid var(--np-avatar-border-color, rgba(226, 232, 240, 0.92));
    border-radius: var(--np-avatar-radius, 50%);
    color: var(--np-avatar-color, #4f46e5);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-avatar-font-size, 1rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    box-shadow: var(--np-avatar-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
    user-select: none;
}

.np-avatar img,
.avatar img,
.comment-author .avatar img,
.wp-block-avatar img img,
.wp-block-post-author__avatar img img,
.woocommerce .avatar img,
.dokan-dashboard .avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

img.np-avatar,
img.avatar,
.comment-author img.avatar,
.wp-block-avatar img,
.wp-block-post-author__avatar img,
.woocommerce img.avatar,
.dokan-dashboard img.avatar {
    object-fit: cover;
}

.np-avatar.is-xs {
    --np-avatar-size: 1.5rem;
    --np-avatar-font-size: 0.625rem;
}

.np-avatar.is-sm {
    --np-avatar-size: 2rem;
    --np-avatar-font-size: 0.75rem;
}

.np-avatar.is-md {
    --np-avatar-size: 3rem;
    --np-avatar-font-size: 1rem;
}

.np-avatar.is-lg {
    --np-avatar-size: 4rem;
    --np-avatar-font-size: 1.25rem;
}

.np-avatar.is-xl {
    --np-avatar-size: 5rem;
    --np-avatar-font-size: 1.5rem;
}

.np-avatar.is-2xl {
    --np-avatar-size: 6.5rem;
    --np-avatar-font-size: 2rem;
}

.np-avatar.is-3xl {
    --np-avatar-size: 8rem;
    --np-avatar-font-size: 2.5rem;
}

.np-avatar.is-square {
    border-radius: var(--np-radius-lg, 1rem);
}

.np-avatar.is-rounded {
    border-radius: var(--np-radius-xl, 1.25rem);
}

.np-avatar.is-circle {
    border-radius: var(--np-radius-circle, 50%);
}

.np-avatar.is-soft {
    background: var(--np-color-primary-soft, #eef2ff);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    color: var(--np-color-primary, #4f46e5);
}

.np-avatar.is-sky {
    background: var(--np-color-sky-soft, #e0f2fe);
    border-color: var(--np-color-sky-subtle, #bae6fd);
    color: var(--np-color-sky-active, #0284c7);
}

.np-avatar.is-teal {
    background: var(--np-color-teal-soft, #ccfbf1);
    border-color: var(--np-color-teal-subtle, #99f6e4);
    color: var(--np-color-teal-active, #0f766e);
}

.np-avatar.is-lime {
    background: var(--np-color-lime-soft, #ecfccb);
    border-color: var(--np-color-lime-subtle, #d9f99d);
    color: var(--np-color-lime-active, #65a30d);
}

.np-avatar.is-success {
    background: var(--np-color-success-soft, #dcfce7);
    border-color: rgba(22, 163, 74, 0.22);
    color: var(--np-color-success, #16a34a);
}

.np-avatar.is-danger {
    background: var(--np-color-danger-soft, #fee2e2);
    border-color: rgba(220, 38, 38, 0.22);
    color: var(--np-color-danger, #dc2626);
}

.np-avatar.is-warning {
    background: var(--np-color-warning-soft, #fef3c7);
    border-color: rgba(245, 158, 11, 0.22);
    color: var(--np-color-warning-hover, #d97706);
}

.np-avatar.is-info {
    background: var(--np-color-info-soft, #dbeafe);
    border-color: rgba(37, 99, 235, 0.22);
    color: var(--np-color-info, #2563eb);
}

.np-avatar.is-dark {
    background: var(--np-color-heading, #0f172a);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--np-color-white, #ffffff);
}

.np-avatar.is-gradient {
    background: var(--np-gradient-primary, linear-gradient(135deg, #4f46e5 0%, #38bdf8 100%));
    border-color: transparent;
    color: var(--np-color-white, #ffffff);
}

.np-avatar.is-creative {
    background: var(--np-gradient-creative, linear-gradient(135deg, #38bdf8 0%, #2dd4bf 100%));
    border-color: transparent;
    color: var(--np-color-heading, #0f172a);
}

.np-avatar.is-outline {
    background: transparent;
    border-color: currentColor;
}

.np-avatar.is-borderless {
    border-color: transparent;
}

.np-avatar.is-flat {
    box-shadow: none;
}

.np-avatar.is-raised {
    box-shadow: var(--np-shadow-md, 0 14px 38px rgba(15, 23, 42, 0.1));
}

.np-avatar.is-glow {
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.12), 0 18px 48px rgba(79, 70, 229, 0.18);
}

.np-avatar.is-clickable,
a.np-avatar,
button.np-avatar {
    cursor: pointer;
    transition: transform var(--np-transition-fast, 160ms ease), box-shadow var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease);
}

button.np-avatar {
    padding: 0;
    appearance: none;
}

.np-avatar.is-clickable:hover,
.np-avatar.is-clickable:focus,
a.np-avatar:hover,
a.np-avatar:focus,
button.np-avatar:hover,
button.np-avatar:focus {
    transform: translateY(-2px);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    box-shadow: var(--np-shadow-sm, 0 8px 24px rgba(15, 23, 42, 0.08));
    text-decoration: none;
}

.np-avatar.is-clickable:active,
a.np-avatar:active,
button.np-avatar:active {
    transform: translateY(0);
}

.np-avatar-text,
.np-avatar-initials,
.np-avatar-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.np-avatar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    color: inherit;
    font-size: 1.2em;
    line-height: 1;
}

.np-avatar-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.np-avatar-status {
    position: absolute;
    z-index: var(--np-z-index-content, 10);
    inset-block-end: var(--np-avatar-status-offset, 0);
    inset-inline-end: var(--np-avatar-status-offset, 0);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-avatar-status-size, 0.75rem);
    min-width: var(--np-avatar-status-size, 0.75rem);
    height: var(--np-avatar-status-size, 0.75rem);
    background: var(--np-avatar-status-background, #16a34a);
    border: var(--np-avatar-status-border-width, 2px) solid var(--np-avatar-status-border-color, #ffffff);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-color-white, #ffffff);
    font-size: var(--np-font-size-2xs, 0.6875rem);
    line-height: 1;
    box-shadow: var(--np-shadow-xs, 0 1px 3px rgba(15, 23, 42, 0.06));
}

[dir="rtl"] .np-avatar-status,
.rtl .np-avatar-status {
    inset-inline-end: auto;
    inset-inline-start: var(--np-avatar-status-offset, 0);
}

.np-avatar-status.is-online,
.np-avatar-status.is-success {
    background: var(--np-color-success, #16a34a);
}

.np-avatar-status.is-away,
.np-avatar-status.is-warning {
    background: var(--np-color-warning, #f59e0b);
}

.np-avatar-status.is-busy,
.np-avatar-status.is-danger {
    background: var(--np-color-danger, #dc2626);
}

.np-avatar-status.is-offline,
.np-avatar-status.is-muted {
    background: var(--np-color-text-muted, #64748b);
}

.np-avatar-status.is-info {
    background: var(--np-color-info, #2563eb);
}

.np-avatar-status.is-ping::after {
    position: absolute;
    inset: -0.25rem;
    background: currentColor;
    border-radius: inherit;
    opacity: 0.22;
    animation: np-avatar-ping 1200ms ease-out infinite;
    content: "";
}

.np-avatar-badge {
    position: absolute;
    z-index: var(--np-z-index-content, 10);
    inset-block-start: var(--np-avatar-badge-offset, -0.25rem);
    inset-inline-end: var(--np-avatar-badge-offset, -0.25rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--np-avatar-badge-size, 1.25rem);
    height: var(--np-avatar-badge-size, 1.25rem);
    padding-inline: 0.375rem;
    background: var(--np-avatar-badge-background, #dc2626);
    border: var(--np-avatar-badge-border-width, 2px) solid var(--np-avatar-badge-border-color, #ffffff);
    border-radius: var(--np-radius-pill, 999px);
    color: var(--np-avatar-badge-color, #ffffff);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-avatar-badge-font-size, 0.6875rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: 1;
    box-shadow: var(--np-shadow-xs, 0 1px 3px rgba(15, 23, 42, 0.06));
}

[dir="rtl"] .np-avatar-badge,
.rtl .np-avatar-badge {
    inset-inline-end: auto;
    inset-inline-start: var(--np-avatar-badge-offset, -0.25rem);
}

.np-avatar-badge.is-primary {
    background: var(--np-color-primary, #4f46e5);
}

.np-avatar-badge.is-success {
    background: var(--np-color-success, #16a34a);
}

.np-avatar-badge.is-warning {
    background: var(--np-color-warning, #f59e0b);
    color: var(--np-color-heading, #0f172a);
}

.np-avatar-badge.is-info {
    background: var(--np-color-info, #2563eb);
}

.np-avatar-badge.is-muted {
    background: var(--np-color-text-muted, #64748b);
}

.np-avatar-ring {
    position: relative;
    padding: var(--np-avatar-ring-width, 3px);
    background: var(--np-avatar-ring-background, linear-gradient(135deg, #4f46e5 0%, #38bdf8 100%));
    border-radius: var(--np-avatar-radius, 50%);
}

.np-avatar-ring > .np-avatar {
    width: calc(var(--np-avatar-size, 3rem) - (var(--np-avatar-ring-width, 3px) * 2));
    min-width: calc(var(--np-avatar-size, 3rem) - (var(--np-avatar-ring-width, 3px) * 2));
    height: calc(var(--np-avatar-size, 3rem) - (var(--np-avatar-ring-width, 3px) * 2));
    border-color: var(--np-color-white, #ffffff);
}

.np-avatar-group {
    display: inline-flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-end;
    min-width: 0;
    line-height: 1;
}

[dir="rtl"] .np-avatar-group,
.rtl .np-avatar-group {
    flex-direction: row;
}

.np-avatar-group .np-avatar,
.np-avatar-group .avatar {
    margin-inline-start: calc(var(--np-avatar-group-overlap, 0.75rem) * -1);
    border-color: var(--np-avatar-group-border-color, #ffffff);
    box-shadow: var(--np-shadow-xs, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.np-avatar-group .np-avatar:first-child,
.np-avatar-group .avatar:first-child {
    margin-inline-start: 0;
}

[dir="rtl"] .np-avatar-group .np-avatar,
[dir="rtl"] .np-avatar-group .avatar,
.rtl .np-avatar-group .np-avatar,
.rtl .np-avatar-group .avatar {
    margin-inline-start: 0;
    margin-inline-end: calc(var(--np-avatar-group-overlap, 0.75rem) * -1);
}

[dir="rtl"] .np-avatar-group .np-avatar:first-child,
[dir="rtl"] .np-avatar-group .avatar:first-child,
.rtl .np-avatar-group .np-avatar:first-child,
.rtl .np-avatar-group .avatar:first-child {
    margin-inline-end: 0;
}

.np-avatar-group .np-avatar:hover,
.np-avatar-group .avatar:hover {
    z-index: var(--np-z-index-content, 10);
    transform: translateY(-2px);
}

.np-avatar-group.is-loose {
    --np-avatar-group-overlap: 0.375rem;
}

.np-avatar-group.is-tight {
    --np-avatar-group-overlap: 1rem;
}

.np-avatar-group.is-flat .np-avatar,
.np-avatar-group.is-flat .avatar {
    box-shadow: none;
}

.np-avatar-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-avatar-size, 3rem);
    min-width: var(--np-avatar-size, 3rem);
    height: var(--np-avatar-size, 3rem);
    margin-inline-start: calc(var(--np-avatar-group-overlap, 0.75rem) * -1);
    background: var(--np-avatar-more-background, #f1f5f9);
    border: var(--np-border-width, 1px) solid var(--np-avatar-group-border-color, #ffffff);
    border-radius: var(--np-avatar-radius, 50%);
    color: var(--np-avatar-more-color, #64748b);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-xs, 0.75rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: 1;
    box-shadow: var(--np-shadow-xs, 0 1px 3px rgba(15, 23, 42, 0.06));
}

[dir="rtl"] .np-avatar-more,
.rtl .np-avatar-more {
    margin-inline-start: 0;
    margin-inline-end: calc(var(--np-avatar-group-overlap, 0.75rem) * -1);
}

.np-avatar-stack {
    display: grid;
    justify-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
    min-width: 0;
    text-align: center;
}

.np-avatar-stack.is-start {
    justify-items: start;
    text-align: start;
}

.np-avatar-stack.is-end {
    justify-items: end;
    text-align: end;
}

.np-avatar-name {
    min-width: 0;
    overflow: hidden;
    color: var(--np-avatar-name-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-avatar-name-size, 0.9375rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-snug, 1.5);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.np-avatar-title,
.np-avatar-role,
.np-avatar-meta {
    min-width: 0;
    overflow: hidden;
    color: var(--np-avatar-meta-color, #64748b);
    font-size: var(--np-avatar-meta-size, 0.8125rem);
    font-weight: var(--np-font-weight-medium, 500);
    line-height: var(--np-line-height-snug, 1.5);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.np-avatar-card {
    display: flex;
    align-items: center;
    gap: var(--np-avatar-card-gap, 1rem);
    min-width: 0;
    padding: var(--np-avatar-card-padding, 1rem);
    background: var(--np-avatar-card-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-avatar-card-border-color, #e2e8f0);
    border-radius: var(--np-avatar-card-radius, 1.25rem);
    color: var(--np-color-text, #334155);
    box-shadow: var(--np-avatar-card-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.np-avatar-card.is-soft {
    background: var(--np-color-surface-muted, #f1f5f9);
}

.np-avatar-card.is-glass {
    background: var(--np-glass-background, rgba(255, 255, 255, 0.76));
    border-color: var(--np-glass-border-color, rgba(203, 213, 225, 0.62));
    box-shadow: var(--np-glass-shadow, 0 8px 24px rgba(15, 23, 42, 0.08));
    backdrop-filter: var(--np-glass-backdrop-filter, blur(16px));
}

.np-avatar-card.is-vertical {
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.np-avatar-card.is-clickable,
a.np-avatar-card,
button.np-avatar-card {
    cursor: pointer;
    transition: transform var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease), box-shadow var(--np-transition-fast, 160ms ease);
}

a.np-avatar-card {
    text-decoration: none;
}

button.np-avatar-card {
    width: 100%;
    appearance: none;
    text-align: inherit;
}

.np-avatar-card.is-clickable:hover,
.np-avatar-card.is-clickable:focus,
a.np-avatar-card:hover,
a.np-avatar-card:focus,
button.np-avatar-card:hover,
button.np-avatar-card:focus {
    transform: translateY(-3px);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    box-shadow: var(--np-shadow-sm, 0 8px 24px rgba(15, 23, 42, 0.08));
    text-decoration: none;
}

.np-avatar-card-content {
    display: grid;
    gap: 0.125rem;
    min-width: 0;
    flex: 1 1 auto;
}

.np-avatar-card-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--np-spacing-xs, 0.5rem);
    flex: 0 0 auto;
}

.np-author-box,
.np-author-card,
.np-post-author-box,
.wp-block-post-author,
.wp-block-post-author__content {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: var(--np-author-box-gap, 1.25rem);
    min-width: 0;
}

.np-author-box.is-card,
.np-author-card,
.np-post-author-box.is-card {
    padding: var(--np-author-box-padding, 1.5rem);
    background: var(--np-author-box-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-author-box-border-color, #e2e8f0);
    border-radius: var(--np-author-box-radius, 1.5rem);
    color: var(--np-color-text, #334155);
    box-shadow: var(--np-author-box-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.np-author-box.is-soft,
.np-author-card.is-soft,
.np-post-author-box.is-soft {
    background: var(--np-color-surface-muted, #f1f5f9);
}

.np-author-box.is-glass,
.np-author-card.is-glass,
.np-post-author-box.is-glass {
    background: var(--np-glass-background, rgba(255, 255, 255, 0.76));
    border-color: var(--np-glass-border-color, rgba(203, 213, 225, 0.62));
    box-shadow: var(--np-glass-shadow, 0 8px 24px rgba(15, 23, 42, 0.08));
    backdrop-filter: var(--np-glass-backdrop-filter, blur(16px));
}

.np-author-avatar,
.np-post-author-avatar,
.wp-block-post-author__avatar {
    flex: 0 0 auto;
}

.np-author-content,
.np-post-author-content,
.wp-block-post-author__content {
    display: grid;
    gap: var(--np-spacing-sm, 0.75rem);
    min-width: 0;
    flex: 1 1 auto;
}

.np-author-name,
.np-post-author-name,
.wp-block-post-author__name {
    margin: 0;
    color: var(--np-author-name-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-author-name-size, 1.125rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-tight, 1.3);
}

.np-author-name a,
.np-post-author-name a,
.wp-block-post-author__name a {
    color: inherit;
    text-decoration: none;
}

.np-author-name a:hover,
.np-author-name a:focus,
.np-post-author-name a:hover,
.np-post-author-name a:focus,
.wp-block-post-author__name a:hover,
.wp-block-post-author__name a:focus {
    color: var(--np-color-primary, #4f46e5);
    text-decoration: none;
}

.np-author-bio,
.np-post-author-bio,
.wp-block-post-author__bio {
    margin: 0;
    color: var(--np-author-bio-color, #64748b);
    font-size: var(--np-author-bio-size, 0.9375rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-author-meta,
.np-post-author-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
    color: var(--np-color-text-muted, #64748b);
    font-size: var(--np-font-size-sm, 0.875rem);
    line-height: var(--np-line-height-snug, 1.5);
}

.np-author-socials,
.np-post-author-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-xs, 0.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.np-author-socials a,
.np-post-author-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-author-social-size, 2.25rem);
    min-width: var(--np-author-social-size, 2.25rem);
    height: var(--np-author-social-size, 2.25rem);
    background: var(--np-color-surface-muted, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-color-text-muted, #64748b);
    text-decoration: none;
    transition: background var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease), transform var(--np-transition-fast, 160ms ease);
}

.np-author-socials a:hover,
.np-author-socials a:focus,
.np-post-author-socials a:hover,
.np-post-author-socials a:focus {
    transform: translateY(-2px);
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
    text-decoration: none;
}

.np-comment-avatar,
.comment-author .avatar,
.comment-list .avatar,
.wp-block-comment-author-avatar img {
    width: var(--np-comment-avatar-size, 3rem);
    min-width: var(--np-comment-avatar-size, 3rem);
    height: var(--np-comment-avatar-size, 3rem);
    border-radius: var(--np-radius-circle, 50%);
}

.np-review-avatar,
.woocommerce #reviews #comments ol.commentlist li img.avatar,
.woocommerce-page #reviews #comments ol.commentlist li img.avatar {
    width: var(--np-review-avatar-size, 3.25rem);
    min-width: var(--np-review-avatar-size, 3.25rem);
    height: var(--np-review-avatar-size, 3.25rem);
    margin: 0;
    padding: 0;
    background: var(--np-color-surface-muted, #f1f5f9);
    border: var(--np-border-width, 1px) solid var(--np-color-border-soft, #e2e8f0);
    border-radius: var(--np-radius-circle, 50%);
    object-fit: cover;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar,
.woocommerce-page #reviews #comments ol.commentlist li img.avatar {
    position: static;
    float: none;
}

.np-vendor-avatar,
.np-seller-avatar,
.dokan-store-avatar img,
.dokan-dashboard .dokan-dashboard-content .avatar {
    width: var(--np-vendor-avatar-size, 4rem);
    min-width: var(--np-vendor-avatar-size, 4rem);
    height: var(--np-vendor-avatar-size, 4rem);
    border-radius: var(--np-radius-xl, 1.25rem);
    object-fit: cover;
}

.np-profile-avatar {
    position: relative;
    display: inline-flex;
    width: var(--np-profile-avatar-size, 7rem);
    min-width: var(--np-profile-avatar-size, 7rem);
    height: var(--np-profile-avatar-size, 7rem);
}

.np-profile-avatar .np-avatar,
.np-profile-avatar img {
    width: 100%;
    min-width: 100%;
    height: 100%;
}

.np-profile-avatar-action {
    position: absolute;
    z-index: var(--np-z-index-content, 10);
    inset-block-end: 0;
    inset-inline-end: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-profile-avatar-action-size, 2.25rem);
    min-width: var(--np-profile-avatar-action-size, 2.25rem);
    height: var(--np-profile-avatar-action-size, 2.25rem);
    background: var(--np-color-primary, #4f46e5);
    border: 2px solid var(--np-color-white, #ffffff);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-color-white, #ffffff);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--np-shadow-sm, 0 8px 24px rgba(15, 23, 42, 0.08));
    transition: transform var(--np-transition-fast, 160ms ease), background var(--np-transition-fast, 160ms ease);
}

[dir="rtl"] .np-profile-avatar-action,
.rtl .np-profile-avatar-action {
    inset-inline-end: auto;
    inset-inline-start: 0;
}

.np-profile-avatar-action:hover,
.np-profile-avatar-action:focus {
    transform: translateY(-2px);
    background: var(--np-color-primary-hover, #4338ca);
}

.np-avatar-upload {
    position: relative;
    display: grid;
    place-items: center;
    width: var(--np-avatar-upload-size, 8rem);
    min-width: var(--np-avatar-upload-size, 8rem);
    height: var(--np-avatar-upload-size, 8rem);
    overflow: hidden;
    background: var(--np-color-surface-muted, #f1f5f9);
    border: var(--np-border-width, 1px) dashed var(--np-color-border, #cbd5e1);
    border-radius: var(--np-radius-2xl, 1.5rem);
    color: var(--np-color-text-muted, #64748b);
    cursor: pointer;
    transition: background var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease);
}

.np-avatar-upload:hover,
.np-avatar-upload:focus-within {
    background: var(--np-color-primary-soft, #eef2ff);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    color: var(--np-color-primary, #4f46e5);
}

.np-avatar-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.np-avatar-upload-content {
    display: grid;
    justify-items: center;
    gap: var(--np-spacing-xs, 0.5rem);
    padding: var(--np-spacing-md, 1rem);
    text-align: center;
    pointer-events: none;
}

.np-avatar-upload-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    background: var(--np-color-white, #ffffff);
    border-radius: var(--np-radius-circle, 50%);
    color: currentColor;
    font-size: 1.125rem;
    line-height: 1;
}

.np-avatar-upload-text {
    color: inherit;
    font-size: var(--np-font-size-xs, 0.75rem);
    font-weight: var(--np-font-weight-bold, 700);
    line-height: var(--np-line-height-snug, 1.5);
}

.np-avatar-skeleton {
    position: relative;
    display: inline-flex;
    width: var(--np-avatar-size, 3rem);
    min-width: var(--np-avatar-size, 3rem);
    height: var(--np-avatar-size, 3rem);
    overflow: hidden;
    background: var(--np-skeleton-background, #f1f5f9);
    border-radius: var(--np-avatar-radius, 50%);
    color: transparent;
    pointer-events: none;
}

.np-avatar-skeleton::after {
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.58) 50%, transparent 100%);
    animation: np-avatar-skeleton 1200ms ease-in-out infinite;
    content: "";
}

[dir="rtl"] .np-avatar-skeleton::after,
.rtl .np-avatar-skeleton::after {
    transform: translateX(100%);
    animation-name: np-avatar-skeleton-rtl;
}

.wp-block-avatar {
    display: inline-flex;
    margin: 0;
}

.wp-block-avatar.aligncenter {
    display: flex;
    justify-content: center;
}

.wp-block-avatar.alignleft {
    float: left;
    margin-inline-end: var(--np-spacing-md, 1rem);
}

.wp-block-avatar.alignright {
    float: right;
    margin-inline-start: var(--np-spacing-md, 1rem);
}

[dir="rtl"] .wp-block-avatar.alignleft,
.rtl .wp-block-avatar.alignleft {
    float: right;
    margin-inline-start: var(--np-spacing-md, 1rem);
    margin-inline-end: 0;
}

[dir="rtl"] .wp-block-avatar.alignright,
.rtl .wp-block-avatar.alignright {
    float: left;
    margin-inline-start: 0;
    margin-inline-end: var(--np-spacing-md, 1rem);
}

.wp-block-post-author {
    align-items: flex-start;
    gap: var(--np-author-box-gap, 1.25rem);
}

.wp-block-post-author__avatar {
    margin: 0;
}

.wp-block-post-author__avatar img {
    width: var(--np-author-avatar-size, 4rem);
    min-width: var(--np-author-avatar-size, 4rem);
    height: var(--np-author-avatar-size, 4rem);
    border-radius: var(--np-radius-circle, 50%);
    object-fit: cover;
}

.wp-block-post-author__byline {
    color: var(--np-color-text-muted, #64748b);
    font-size: var(--np-font-size-xs, 0.75rem);
    font-weight: var(--np-font-weight-bold, 700);
    line-height: var(--np-line-height-snug, 1.5);
}

.wp-block-post-author__name {
    margin: 0;
}

.wp-block-post-author__bio {
    margin: var(--np-spacing-xs, 0.5rem) 0 0;
}

.woocommerce-MyAccount-content .np-avatar-card,
.dokan-dashboard .np-avatar-card {
    margin-block-end: var(--np-spacing-md, 1rem);
}

.elementor .np-avatar,
.elementor .np-avatar-card,
.elementor .np-author-box,
.elementor .np-author-card {
    vertical-align: middle;
}

.np-section-dark .np-avatar,
.np-layout-dark .np-avatar {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--np-color-white, #ffffff);
    box-shadow: none;
}

.np-section-dark .np-avatar-status,
.np-section-dark .np-avatar-badge,
.np-layout-dark .np-avatar-status,
.np-layout-dark .np-avatar-badge {
    border-color: var(--np-color-heading, #0f172a);
}

.np-section-dark .np-avatar-card,
.np-section-dark .np-author-box.is-card,
.np-section-dark .np-author-card,
.np-section-dark .np-post-author-box.is-card,
.np-layout-dark .np-avatar-card,
.np-layout-dark .np-author-box.is-card,
.np-layout-dark .np-author-card,
.np-layout-dark .np-post-author-box.is-card {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
    box-shadow: none;
}

.np-section-dark .np-avatar-name,
.np-section-dark .np-author-name,
.np-section-dark .np-post-author-name,
.np-section-dark .wp-block-post-author__name,
.np-layout-dark .np-avatar-name,
.np-layout-dark .np-author-name,
.np-layout-dark .np-post-author-name,
.np-layout-dark .wp-block-post-author__name {
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-avatar-title,
.np-section-dark .np-avatar-role,
.np-section-dark .np-avatar-meta,
.np-section-dark .np-author-bio,
.np-section-dark .np-post-author-bio,
.np-section-dark .wp-block-post-author__bio,
.np-section-dark .np-author-meta,
.np-section-dark .np-post-author-meta,
.np-section-dark .wp-block-post-author__byline,
.np-layout-dark .np-avatar-title,
.np-layout-dark .np-avatar-role,
.np-layout-dark .np-avatar-meta,
.np-layout-dark .np-author-bio,
.np-layout-dark .np-post-author-bio,
.np-layout-dark .wp-block-post-author__bio,
.np-layout-dark .np-author-meta,
.np-layout-dark .np-post-author-meta,
.np-layout-dark .wp-block-post-author__byline {
    color: rgba(255, 255, 255, 0.68);
}

.np-section-dark .np-avatar-group .np-avatar,
.np-section-dark .np-avatar-group .avatar,
.np-section-dark .np-avatar-more,
.np-layout-dark .np-avatar-group .np-avatar,
.np-layout-dark .np-avatar-group .avatar,
.np-layout-dark .np-avatar-more {
    border-color: var(--np-color-heading, #0f172a);
}

.np-section-dark .np-avatar-upload,
.np-layout-dark .np-avatar-upload {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.72);
}

.np-section-dark .np-avatar-upload:hover,
.np-section-dark .np-avatar-upload:focus-within,
.np-layout-dark .np-avatar-upload:hover,
.np-layout-dark .np-avatar-upload:focus-within {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.28);
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-avatar-upload-icon,
.np-layout-dark .np-avatar-upload-icon {
    background: rgba(255, 255, 255, 0.1);
}

@keyframes np-avatar-ping {
    0% {
        transform: scale(0.82);
        opacity: 0.32;
    }

    70% {
        transform: scale(1.85);
        opacity: 0;
    }

    100% {
        transform: scale(1.85);
        opacity: 0;
    }
}

@keyframes np-avatar-skeleton {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(100%);
    }
}

@keyframes np-avatar-skeleton-rtl {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (max-width: 1024px) {
    .np-avatar-card {
        gap: var(--np-avatar-card-gap-tablet, 0.875rem);
    }

    .np-author-box,
    .np-author-card,
    .np-post-author-box,
    .wp-block-post-author {
        gap: var(--np-author-box-gap-tablet, 1rem);
    }
}

@media (max-width: 782px) {
    .np-avatar.is-3xl {
        --np-avatar-size: 6.5rem;
        --np-avatar-font-size: 2rem;
    }

    .np-avatar.is-2xl {
        --np-avatar-size: 5.5rem;
        --np-avatar-font-size: 1.75rem;
    }

    .np-avatar-card {
        padding: var(--np-avatar-card-padding-mobile, 0.875rem);
        border-radius: var(--np-avatar-card-radius-mobile, 1rem);
    }

    .np-avatar-card.is-mobile-stack {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .np-avatar-card.is-mobile-stack .np-avatar-card-actions {
        justify-content: center;
        width: 100%;
    }

    .np-author-box,
    .np-author-card,
    .np-post-author-box,
    .wp-block-post-author {
        gap: var(--np-author-box-gap-mobile, 1rem);
    }

    .np-author-box.is-card,
    .np-author-card,
    .np-post-author-box.is-card {
        padding: var(--np-author-box-padding-mobile, 1.25rem);
        border-radius: var(--np-radius-xl, 1.25rem);
    }

    .np-author-name,
    .np-post-author-name,
    .wp-block-post-author__name {
        font-size: var(--np-author-name-size-mobile, 1rem);
    }

    .np-author-bio,
    .np-post-author-bio,
    .wp-block-post-author__bio {
        font-size: var(--np-author-bio-size-mobile, 0.875rem);
    }

    .np-profile-avatar {
        --np-profile-avatar-size: 6rem;
    }

    .np-avatar-upload {
        --np-avatar-upload-size: 7rem;
    }
}

@media (max-width: 640px) {
    .np-author-box.is-mobile-stack,
    .np-author-card.is-mobile-stack,
    .np-post-author-box.is-mobile-stack,
    .wp-block-post-author.is-mobile-stack {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .np-author-box.is-mobile-stack .np-author-meta,
    .np-author-card.is-mobile-stack .np-author-meta,
    .np-post-author-box.is-mobile-stack .np-post-author-meta,
    .wp-block-post-author.is-mobile-stack .np-author-meta {
        justify-content: center;
    }

    .np-author-box.is-mobile-stack .np-author-socials,
    .np-author-card.is-mobile-stack .np-author-socials,
    .np-post-author-box.is-mobile-stack .np-post-author-socials {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .np-avatar.is-xl {
        --np-avatar-size: 4.5rem;
        --np-avatar-font-size: 1.375rem;
    }

    .np-avatar.is-2xl {
        --np-avatar-size: 5rem;
        --np-avatar-font-size: 1.5rem;
    }

    .np-avatar.is-3xl {
        --np-avatar-size: 5.75rem;
        --np-avatar-font-size: 1.75rem;
    }

    .np-avatar-card {
        gap: var(--np-avatar-card-gap-small, 0.75rem);
        padding: var(--np-avatar-card-padding-small, 0.75rem);
        border-radius: var(--np-radius-lg, 1rem);
    }

    .np-avatar-card-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .np-avatar-group {
        --np-avatar-group-overlap: 0.625rem;
    }

    .np-avatar-more {
        font-size: var(--np-font-size-2xs, 0.6875rem);
    }

    .np-author-box,
    .np-author-card,
    .np-post-author-box,
    .wp-block-post-author {
        gap: var(--np-author-box-gap-small, 0.875rem);
    }

    .np-author-box.is-card,
    .np-author-card,
    .np-post-author-box.is-card {
        padding: var(--np-author-box-padding-small, 1rem);
        border-radius: var(--np-radius-lg, 1rem);
    }

    .np-profile-avatar {
        --np-profile-avatar-size: 5.25rem;
    }

    .np-profile-avatar-action {
        --np-profile-avatar-action-size: 2rem;
    }

    .np-avatar-upload {
        --np-avatar-upload-size: 6.25rem;
        border-radius: var(--np-radius-xl, 1.25rem);
    }

    .np-review-avatar,
    .woocommerce #reviews #comments ol.commentlist li img.avatar,
    .woocommerce-page #reviews #comments ol.commentlist li img.avatar {
        --np-review-avatar-size: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .np-avatar,
    .np-avatar-card,
    .np-author-socials a,
    .np-post-author-socials a,
    .np-profile-avatar-action,
    .np-avatar-upload {
        transition: none !important;
    }

    .np-avatar.is-clickable:hover,
    .np-avatar.is-clickable:focus,
    a.np-avatar:hover,
    a.np-avatar:focus,
    button.np-avatar:hover,
    button.np-avatar:focus,
    .np-avatar-card.is-clickable:hover,
    .np-avatar-card.is-clickable:focus,
    a.np-avatar-card:hover,
    a.np-avatar-card:focus,
    button.np-avatar-card:hover,
    button.np-avatar-card:focus,
    .np-author-socials a:hover,
    .np-author-socials a:focus,
    .np-post-author-socials a:hover,
    .np-post-author-socials a:focus,
    .np-profile-avatar-action:hover,
    .np-profile-avatar-action:focus,
    .np-avatar-group .np-avatar:hover,
    .np-avatar-group .avatar:hover {
        transform: none !important;
    }

    .np-avatar-status.is-ping::after,
    .np-avatar-skeleton::after {
        animation: none !important;
    }
}

@media print {
    .np-avatar,
    .avatar,
    .comment-author .avatar,
    .wp-block-avatar img,
    .wp-block-post-author__avatar img,
    .woocommerce .avatar,
    .dokan-dashboard .avatar,
    .np-avatar-card,
    .np-author-box.is-card,
    .np-author-card,
    .np-post-author-box.is-card,
    .np-avatar-upload {
        background: #ffffff !important;
        border: 1px solid #000000 !important;
        color: #000000 !important;
        box-shadow: none !important;
    }

    .np-avatar-status,
    .np-avatar-badge,
    .np-profile-avatar-action,
    .np-author-socials,
    .np-post-author-socials,
    .np-avatar-upload input[type="file"],
    .np-avatar-skeleton::after {
        display: none !important;
    }

    .np-avatar-card,
    .np-author-box,
    .np-author-card,
    .np-post-author-box,
    .wp-block-post-author {
        break-inside: avoid;
    }
}