/* My Account (profile) module — themed cards + masthead. Unlayered,
   .ac-plugin-scoped, tokens only (survives the active theme's global styles). */

.ac-plugin .ac-profile { display: block; }

/* ---- Masthead: avatar + name + email ---- */
.ac-plugin .ac-profile__masthead {
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1.4rem;
}
.ac-plugin .ac-profile__avatar {
  flex: 0 0 auto; width: 72px; height: 72px; border-radius: 50%;
  overflow: hidden; background: var(--ac-soft);
  box-shadow: 0 0 0 3px var(--ac-surface), 0 0 0 4px var(--ac-line);
}
.ac-plugin .ac-profile__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ac-plugin .ac-profile__id { display: grid; gap: .1rem; min-width: 0; }
.ac-plugin .ac-profile__name { font-family: var(--ac-font-display); color: var(--ac-ink); margin: 0; line-height: 1.15; }
.ac-plugin .ac-profile__email { color: var(--ac-muted); font-size: .9rem; }

/* ---- Form: stacked cards ---- */
.ac-plugin .ac-profile__form { display: grid; gap: 1.1rem; }
.ac-plugin .ac-profile__card { padding: 1.3rem 1.4rem; }
.ac-plugin .ac-profile__card-title {
  font-size: 1.05rem; color: var(--ac-ink); margin: 0 0 1.1rem;
  padding-bottom: .6rem; border-bottom: 1px solid var(--ac-line);
}
.ac-plugin .ac-profile__hint { color: var(--ac-muted); font-size: .82rem; margin: .3rem 0 0; }

/* ---- Photo row ---- */
.ac-plugin .ac-profile__photo { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; }
.ac-plugin .ac-profile__photo-preview {
  flex: 0 0 auto; width: 72px; height: 72px; border-radius: 50%;
  object-fit: cover; background: var(--ac-soft); border: 1px solid var(--ac-line);
}
.ac-plugin .ac-profile__photo-control { min-width: 0; }
.ac-plugin .ac-profile__photo-label { display: block; font-weight: 600; color: var(--ac-ink); font-size: .9rem; margin-bottom: .35rem; }
.ac-plugin .ac-profile__photo-control input[type="file"] { font-size: .85rem; color: var(--ac-muted); max-width: 100%; }

/* ---- Field grid (2-col, responsive) ---- */
.ac-plugin .ac-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ac-plugin .ac-form-grid .ac-form-field--wide { grid-column: 1 / -1; }
.ac-plugin .ac-profile .ac-form-field { display: grid; gap: .35rem; margin: 0 0 1rem; }
.ac-plugin .ac-form-grid .ac-form-field { margin: 0; }
.ac-plugin .ac-profile .ac-form-field > label { font-weight: 600; color: var(--ac-ink); font-size: .88rem; }
.ac-plugin .ac-profile .ac-field-required { color: var(--ac-accent); }
.ac-plugin .ac-profile .ac-form-address { display: grid; grid-template-columns: 2fr 1.4fr .8fr .8fr; gap: .6rem; }

/* ---- Notification preferences ---- */
.ac-plugin .ac-profile__prefs { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .55rem; }
.ac-plugin .ac-profile__pref { display: flex; align-items: center; gap: .55rem; cursor: pointer; color: var(--ac-ink); }
.ac-plugin .ac-profile__pref input { width: 17px; height: 17px; accent-color: var(--ac-primary); }

/* ---- Actions ---- */
.ac-plugin .ac-profile__actions { display: flex; justify-content: flex-end; }

@media (max-width: 640px) {
  .ac-plugin .ac-form-grid { grid-template-columns: 1fr; }
  .ac-plugin .ac-profile .ac-form-address { grid-template-columns: 1fr 1fr; }
}
