.aoj-member-profile{max-width:1100px;margin:40px auto;padding:0 20px}.aoj-member-profile__card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.aoj-member-profile__header{display:flex;gap:24px;align-items:center}.aoj-member-profile__avatar{border-radius:50%;object-fit:cover}.aoj-member-profile__eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.aoj-member-profile h1{margin:0}.aoj-member-profile__name{margin:.35rem 0 1rem;color:#646970}.aoj-member-profile__section{margin-top:28px}.aoj-member-profile__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.aoj-member-profile__details div{padding:14px;background:#f6f7f7;border-radius:8px}.aoj-member-profile__details dt{font-weight:700}.aoj-member-profile__details dd{margin:4px 0 0}.aoj-member-profile__future-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.aoj-member-profile__form{display:grid;gap:18px}.aoj-member-profile__form>label{display:grid;gap:6px;font-weight:600}.aoj-member-profile__form input[type=text],.aoj-member-profile__form input:not([type]),.aoj-member-profile__form textarea{width:100%;max-width:100%;box-sizing:border-box}.aoj-member-profile__form fieldset{display:grid;gap:9px;border:1px solid #dcdcde;border-radius:8px;padding:16px}.aoj-member-profile__checkbox{font-weight:400}.aoj-member-profile__actions{display:flex;gap:10px;flex-wrap:wrap}.aoj-member-profile__system-note{padding:12px;background:#f0f6fc;border-left:4px solid #2271b1}.aoj-member-profile a:focus,.aoj-member-profile button:focus,.aoj-member-profile input:focus,.aoj-member-profile textarea:focus{outline:3px solid #2271b1;outline-offset:2px}@media(max-width:600px){.aoj-member-profile{margin:20px auto;padding:0 12px}.aoj-member-profile__card{padding:18px}.aoj-member-profile__header{align-items:flex-start;flex-direction:column}.aoj-member-profile__avatar{width:112px;height:112px}.aoj-member-profile__details,.aoj-member-profile__future-grid{grid-template-columns:minmax(0,1fr)}}
.aoj-member-profile__badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.aoj-member-profile__badge{display:grid;justify-items:center;gap:8px;text-align:center;padding:12px;background:#f6f7f7;border-radius:8px}.aoj-member-profile__badge img{border-radius:8px;object-fit:cover}.aoj-member-profile__events{margin:0;padding-left:20px}.aoj-member-profile__events li{margin-bottom:8px}.aoj-member-profile__events time{color:#646970;margin-left:6px}
.aoj-member-directory__header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.aoj-member-directory__header form label{display:block;font-weight:700}.aoj-member-directory__header form div{display:flex;gap:8px}.aoj-member-directory__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.aoj-member-directory__card{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px;text-align:center}.aoj-member-directory__card img,.aoj-profile-widget img{border-radius:50%;object-fit:cover}.aoj-member-directory__card h2{font-size:1.15rem}.aoj-member-directory__pagination{display:flex;justify-content:center;gap:16px;margin-top:24px}.aoj-profile-widget{display:flex;gap:12px;align-items:center}.aoj-profile-widget p{margin:.25rem 0 0}@media(max-width:600px){.aoj-member-directory__header{display:block}.aoj-member-directory__header form{margin-top:16px}.aoj-member-directory__header form div{align-items:stretch;flex-direction:column}.aoj-member-directory__grid{grid-template-columns:minmax(0,1fr)}}

/* Context-aware member sidebar */
.aoj-member-sidebar{overflow:hidden;border:1px solid #dcdcde;border-radius:12px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.aoj-member-sidebar__cover{height:74px;background:linear-gradient(135deg,#1d2327,#3c434a)}
.aoj-member-sidebar__identity{padding:0 18px 18px;text-align:center}
.aoj-member-sidebar__avatar{display:block;width:96px;height:96px;margin:-48px auto 10px;border:4px solid #fff;border-radius:50%;object-fit:cover;background:#fff}
.aoj-member-sidebar__identity h3{margin:0;font-size:1.25rem}.aoj-member-sidebar__real-name,.aoj-member-sidebar__style{margin:.25rem 0;color:#646970}
.aoj-member-sidebar__team{display:grid;gap:2px;padding:14px 18px;border-top:1px solid #f0f0f1;border-bottom:1px solid #f0f0f1}.aoj-member-sidebar__team span,.aoj-member-sidebar__team small{color:#646970}
.aoj-member-sidebar__links{display:grid}.aoj-member-sidebar__links a{padding:11px 18px;border-bottom:1px solid #f0f0f1;text-decoration:none}.aoj-member-sidebar__links a:last-child{border-bottom:0}.aoj-member-sidebar__links a:hover{background:#f6f7f7}
.aoj-member-profile__card--embedded{margin:0}.aoj-member-profile__unavailable{padding:16px;border-left:4px solid #d63638;background:#fcf0f1}

/* Fully composable My Page */
.aoj-my-page{max-width:1200px;margin:30px auto}.aoj-my-page__title{grid-column:1/-1}.aoj-my-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.aoj-my-page--columns-1 .aoj-my-page__grid{grid-template-columns:minmax(0,1fr)}.aoj-my-page--columns-3 .aoj-my-page__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.aoj-my-page__panel{min-width:0;padding:20px;border:1px solid #dcdcde;border-radius:12px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.05)}.aoj-my-page__panel h2{margin-top:0}.aoj-my-page__profile{display:flex;align-items:center;gap:16px}.aoj-my-page__profile img{border-radius:50%}.aoj-my-page__links{display:grid;align-content:start;gap:8px}.aoj-my-page__links a{padding:9px 0;border-bottom:1px solid #f0f0f1}.aoj-my-page__list{margin:0;padding-left:20px}.aoj-my-page__list li{margin-bottom:8px;overflow-wrap:anywhere}.aoj-my-page__list .is-unread{font-weight:700}.aoj-my-page__login{max-width:420px;margin:30px auto;padding:20px;border:1px solid #dcdcde;border-radius:12px;background:#fff}
@media(max-width:800px){.aoj-my-page__grid,.aoj-my-page--columns-3 .aoj-my-page__grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.aoj-my-page__profile{align-items:flex-start;flex-direction:column}.aoj-member-sidebar{max-width:100%}}

/* Member-managed profile image */
.aoj-member-profile__image-editor{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center;padding:18px;border:1px solid #dcdcde;border-radius:10px;background:#f6f7f7}
.aoj-member-profile__image-preview img{display:block;width:160px;height:160px;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 3px 14px rgba(0,0,0,.12)}
.aoj-member-profile__image-controls{min-width:0}.aoj-member-profile__image-controls h2{margin:0 0 6px}.aoj-member-profile__image-controls p{margin:0 0 12px;color:#50575e}
.aoj-member-profile__image-controls input[type=file]{display:block;max-width:100%;margin-bottom:12px}
.aoj-member-profile__image-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aoj-member-profile__image-actions .button-link-delete{color:#b32d2e}
@media(max-width:600px){.aoj-member-profile__image-editor{grid-template-columns:minmax(0,1fr)}.aoj-member-profile__image-preview img{width:128px;height:128px}}
.aoj-profile-widget__rank,.aoj-member-sidebar__rank,.aoj-member-profile__rank,.aoj-my-page__rank{display:block;color:#646970;font-size:.82rem;font-weight:700;margin:.2rem 0}.aoj-member-profile__rank{color:#3c4b35}

/* Wider responsive profile and member layouts */
.aoj-member-profile{width:min(100%,1320px);max-width:1320px;box-sizing:border-box}
.aoj-my-page{width:min(100%,1400px);max-width:1400px;padding:0 18px;box-sizing:border-box}
.aoj-member-directory{width:min(100%,1400px);max-width:1400px;margin-inline:auto;padding-inline:18px;box-sizing:border-box}

/* 1.5.2: use the active theme/container width instead of a separate AOJ width. */
.aoj-member-profile.grid-container,
.aoj-member-directory.grid-container,
.aoj-member-profile--edit.grid-container {
  width: 100%;
  box-sizing: border-box;
}
.aoj-my-page,
.aoj-member-directory {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

/* GeneratePress-compatible wrappers for AOJ-owned member routes. */
.aoj-site-content {
  display: flex;
  align-items: flex-start;
  gap: var(--aoj-layout-gap, 30px);
  padding-top: 30px;
  padding-bottom: 30px;
}
.aoj-site-content .aoj-content-area {
  flex: 1 1 auto;
  min-width: 0;
}
.aoj-site-content #right-sidebar,
.aoj-site-content #left-sidebar,
.aoj-site-content .widget-area {
  flex: 0 0 var(--aoj-sidebar-width, 300px);
  min-width: 0;
}
@media (max-width: 1024px) {
  .aoj-site-content { gap: 22px; }
  .aoj-site-content #right-sidebar,
  .aoj-site-content #left-sidebar,
  .aoj-site-content .widget-area { flex-basis: 270px; }
}
@media (max-width: 768px) {
  .aoj-site-content { display: block; padding-top: 18px; padding-bottom: 18px; }
  .aoj-site-content .widget-area { margin-top: 24px; }
}

/* 1.5.5: profile routes inherit the theme content column without a plugin container. */
.aoj-member-profile {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit;
  font: inherit;
}
.aoj-member-profile__card {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* 1.5.6 profile routes: full theme content width, no plugin sidebar or login widgets. */
.aoj-profile-route-content {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
}
.aoj-profile-route-content > .content-area,
.aoj-profile-route-content .aoj-member-profile {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.aoj-member-profile__card {
  width: 100%;
  max-width: none;
}
.aoj-member-profile__header {
  display: grid;
  grid-template-columns: 176px minmax(0,1fr);
  gap: clamp(1.25rem,3vw,2.5rem);
  align-items: center;
  padding: clamp(1rem,2.5vw,2rem) 0;
  border-bottom: 1px solid rgba(127,127,127,.25);
}
.aoj-member-profile__avatar {
  width: 176px;
  height: 176px;
  border-radius: 50%;
  object-fit: cover;
}
.aoj-member-profile__identity h1 { margin: .1rem 0 .35rem; }
.aoj-member-profile__name { margin: 0 0 .5rem; opacity: .72; }
.aoj-member-profile__meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1rem;
  margin: .65rem 0 1rem;
}
.aoj-member-profile__meta-line span { opacity: .78; }
.aoj-member-profile__meta-line span + span::before {
  content: "•";
  margin-right: 1rem;
  opacity: .45;
}
.aoj-member-profile__summary-grid {
  display: grid;
  grid-template-columns: minmax(0,2fr) repeat(2,minmax(180px,1fr));
  gap: clamp(1rem,2.5vw,2rem);
  padding: clamp(1rem,2.5vw,2rem) 0;
}
.aoj-member-profile__content-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(1rem,2.5vw,2rem);
  padding: 0 0 clamp(1rem,2.5vw,2rem);
}
.aoj-member-profile__section {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.aoj-member-profile__section h2 {
  margin-top: 0;
  padding-bottom: .45rem;
  border-bottom: 1px solid rgba(127,127,127,.22);
}
.aoj-member-profile__details {
  display: grid;
  gap: .65rem;
  margin: 0;
}
.aoj-member-profile__details > div {
  display: grid;
  grid-template-columns: minmax(90px,.8fr) minmax(0,1.2fr);
  gap: .75rem;
}
.aoj-member-profile__details dt { font-weight: 600; }
.aoj-member-profile__details dd { margin: 0; overflow-wrap: anywhere; }
.aoj-member-profile__events { margin: 0; padding: 0; list-style: none; }
.aoj-member-profile__events li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 0;
  border-bottom: 1px solid rgba(127,127,127,.18);
}
.aoj-member-profile__events time { white-space: nowrap; opacity: .72; }
.aoj-member-profile__badges {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(130px,1fr));
  gap: .75rem;
}
.aoj-member-profile__badge {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
}
.aoj-member-profile__activity { padding-bottom: 1rem; }
.aoj-member-profile__muted { margin-top: -.4rem; opacity: .7; }
.aoj-member-profile__form { display: grid; gap: 1.25rem; }
.aoj-member-profile__form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
.aoj-member-profile__form label { min-width: 0; }
.aoj-member-profile__form input[type=text],
.aoj-member-profile__form input:not([type]),
.aoj-member-profile__form select,
.aoj-member-profile__form textarea {
  width: 100%;
  box-sizing: border-box;
}
.aoj-member-profile__privacy-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .5rem 1rem;
  margin-bottom: 1rem;
}
.aoj-upcoming-events > ul { margin: 0; padding: 0; list-style: none; }
.aoj-upcoming-events > ul > li {
  padding: .8rem 0;
  border-bottom: 1px solid rgba(127,127,127,.22);
}
.aoj-upcoming-events__event {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.aoj-upcoming-events__event > span { white-space: nowrap; opacity: .72; }
.aoj-upcoming-events__tickets {
  margin: .5rem 0 0 1rem;
  padding: 0;
  list-style: none;
  font-size: .9em;
}
.aoj-upcoming-events__tickets li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .15rem 0;
  opacity: .82;
}
@media (max-width: 900px) {
  .aoj-member-profile__summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aoj-member-profile__section--about { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .aoj-member-profile__header { grid-template-columns: 1fr; text-align: center; }
  .aoj-member-profile__avatar { width: 144px; height: 144px; margin-inline: auto; }
  .aoj-member-profile__meta-line { justify-content: center; }
  .aoj-member-profile__summary-grid,
  .aoj-member-profile__content-grid,
  .aoj-member-profile__form-grid,
  .aoj-member-profile__privacy-grid { grid-template-columns: 1fr; }
  .aoj-member-profile__section--about { grid-column: auto; }
  .aoj-member-profile__events li,
  .aoj-upcoming-events__event { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .aoj-member-profile__meta-line span + span::before { content: none; margin: 0; }
}


/* 1.5.7: compact, theme-width profile and dashboard layouts. */
.aoj-profile-route-content .aoj-member-profile,
.aoj-profile-route-content .aoj-member-profile--edit {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.aoj-member-profile__card { padding: 0 !important; }
.aoj-member-profile__header {
  display: grid;
  grid-template-columns: minmax(120px, 176px) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}
.aoj-member-profile__summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}
.aoj-member-profile__section--about { grid-column: 1; }
.aoj-member-profile__content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}
.aoj-member-profile__section { min-width: 0; margin-top: 1.5rem; }
.aoj-member-profile__events li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}
.aoj-my-page__grid {
  align-items: start;
  grid-auto-rows: max-content;
}
.aoj-my-page__panel { align-self: start; height: auto; }
.aoj-upcoming-events > ul > li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr);
  align-items: start !important;
  gap: 1rem 2rem !important;
}
.aoj-upcoming-events__tickets { margin: 0 !important; }
@media (max-width: 900px) {
  .aoj-member-profile__summary-grid,
  .aoj-member-profile__content-grid { grid-template-columns: 1fr; }
  .aoj-member-profile__section--about { grid-column: auto; }
}
@media (max-width: 640px) {
  .aoj-member-profile__header { grid-template-columns: 1fr; text-align: center; }
  .aoj-upcoming-events > ul > li,
  .aoj-member-profile__events li { grid-template-columns: 1fr; }
}


/* 1.5.8 dashboard ordering and full-width bookings. */
.aoj-my-page__full-width { grid-column: 1 / -1; min-width: 0; width: 100%; }
.aoj-my-page__full-width .aoj-upcoming-events { width:100%; max-width:none; }
.aoj-my-page__full-width .aoj-upcoming-events > ul > li { grid-template-columns:minmax(260px,.9fr) minmax(360px,1.4fr); }
@media (max-width: 900px) { .aoj-my-page__full-width .aoj-upcoming-events > ul > li { grid-template-columns:1fr; } }
