/* IransiteAuth - profile photo box (loaded for every template; the template's style.css loads later and can override it) */
.ia .ia-avatar-box { margin-top: 10px; }
.ia .ia-avatar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 10px; }
.ia .ia-avatar-drop {
    position: relative; flex: 0 0 auto; width: 128px; height: 128px; border-radius: 50%;
    overflow: hidden; cursor: pointer; background: var(--ia-soft, #f3f4f6);
    border: 2px dashed var(--ia-border, #d1d5db); outline: none;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s, box-shadow .15s;
}
.ia .ia-avatar-drop:focus-visible, .ia .ia-avatar-drop.ia-drag {
    border-color: var(--ia-primary, #0f766e); box-shadow: 0 0 0 4px rgba(15, 118, 110, .15);
}
.ia .ia-has-photo .ia-avatar-drop { border-style: solid; border-color: transparent; }
.ia .ia-avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ia .ia-no-photo .ia-avatar-img { display: none; }
.ia .ia-avatar-placeholder {
    display: none; width: 100%; height: 100%; align-items: center; justify-content: center;
    font-size: 44px; font-weight: 700; color: var(--ia-muted, #6b7280);
}
.ia .ia-no-photo .ia-avatar-placeholder { display: flex; }
.ia .ia-avatar-overlay {
    position: absolute; inset: auto 0 0 0; padding: 6px 0 10px; text-align: center;
    background: rgba(17, 24, 39, .55); color: #fff; font-size: 12px;
    opacity: 0; transition: opacity .15s;
}
.ia .ia-avatar-drop:hover .ia-avatar-overlay, .ia .ia-avatar-drop:focus-visible .ia-avatar-overlay, .ia .ia-avatar-drop.ia-drag .ia-avatar-overlay { opacity: 1; }
.ia .ia-avatar-side { flex: 1 1 200px; min-width: 0; }
.ia .ia-avatar-hint { margin-top: 0; }
.ia .ia-avatar-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ia .ia-avatar-actions .ia-btn { margin: 0; width: auto; flex: 0 0 auto; height: 40px; padding: 0 16px; font-size: 14px; }
.ia .ia-no-photo .ia-avatar-remove { display: none; }
.ia .ia-avatar-progress { height: 6px; margin-top: 10px; border-radius: 3px; overflow: hidden; background: var(--ia-soft, #f3f4f6); }
.ia .ia-avatar-bar { display: block; height: 100%; width: 0; background: var(--ia-primary, #0f766e); transition: width .2s; }
.ia .ia-avatar-box.ia-uploading .ia-avatar-drop { opacity: .6; pointer-events: none; }
.ia .ia-card.ia-avatar-view { max-width: 760px; }
.ia .ia-avatar-view .ia-who { margin: 0 0 4px; text-align: start; }
.ia .ia-avatar-view .ia-avatar-box { margin-top: 0; }
@media (max-width: 480px) {
    .ia .ia-avatar-row { flex-direction: column; text-align: center; }
    .ia .ia-avatar-actions { justify-content: center; }
}

/* "My profile" view: photo + name + password on one card. Selectors are more specific than the template's style.css
   (e.g. the narrow, transparent sign-in card of a custom template), so the card keeps a profile layout everywhere. */
.ia .ia-card.ia-profile { max-width: 760px; margin: 0 auto; padding: 24px; border: 1px solid #e5e7eb; border-radius: 14px; background: var(--ia-bg, #fff); box-shadow: 0 6px 20px rgba(17, 24, 39, .05); }
.ia .ia-profile .ia-profile-title { font-size: 19px; font-weight: 700; text-align: start; margin: 0 0 4px; }
.ia .ia-profile .ia-who { text-align: start; margin: 0 0 6px; }
.ia .ia-profile .ia-profile-user { color: var(--ia-muted, #6b7280); font-size: 13px; margin-inline-start: 6px; }
.ia .ia-profile .ia-section { border-top: 1px solid #e5e7eb; padding-top: 18px; margin-top: 18px; }
.ia .ia-profile .ia-avatar-box { border-top: 0; padding-top: 0; }
.ia .ia-profile .ia-subtitle { font-size: 16px; font-weight: 700; margin: 0 0 6px; text-align: start; }
.ia .ia-profile .ia-input { height: 46px; }
.ia .ia-profile .ia-btn.ia-primary { width: auto; min-width: 180px; height: 44px; margin-top: 14px; padding: 0 22px; }
.ia .ia-profile .ia-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* the password form sits inside the card: no second card around it */
.ia .ia-profile .ia-card.ia-password { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.ia .ia-profile .ia-password .ia-title { font-size: 16px; font-weight: 700; text-align: start; margin: 0 0 10px; }
.ia .ia-profile .ia-password .ia-head .ia-title { padding: 0 36px; }
.ia .ia-profile .ia-password .ia-group { max-width: 420px; }
@media (max-width: 600px) {
    .ia .ia-card.ia-profile { padding: 18px 14px; border-radius: 10px; }
    .ia .ia-profile .ia-row { grid-template-columns: 1fr; }
    .ia .ia-profile .ia-btn.ia-primary { width: 100%; }
}
/* hidden username for password managers: never visible, whatever the template styles */
.ia .ia-hidden-user { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; opacity: 0 !important; overflow: hidden; clip: rect(0 0 0 0); pointer-events: none; }
.ia .ia-profile .ia-password { position: relative; }
/* in-page confirmation before the photo is removed */
.ia .ia-avatar-confirm { margin-top: 12px; padding: 12px 14px; border: 1px solid #fecaca; border-radius: 10px; background: var(--ia-danger-soft, #fef2f2); }
.ia .ia-avatar-confirm-text { margin: 0 0 10px; font-weight: 600; color: var(--ia-danger, #b91c1c); }
.ia .ia-avatar-confirm-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ia .ia-avatar-confirm .ia-btn { margin: 0; width: auto; height: 38px; padding: 0 16px; font-size: 14px; }
.ia .ia-avatar-confirm .ia-danger { background: var(--ia-danger, #b91c1c); border: 1px solid var(--ia-danger, #b91c1c); color: #fff; }
.ia .ia-avatar-confirm .ia-danger:hover { filter: brightness(.92); }
.ia .ia-avatar-confirm .ia-ghost { background: #fff; border: 1px solid #d1d5db; color: var(--ia-text, #111827); }
