/* ===== AAM Front My Page Styles ===== */
.aam-wrap{margin:24px auto;max-width:960px;padding:0 16px;box-sizing:border-box;font-size:16px;line-height:1.6}

/* Card & grid */
.aam-card{background:#c7c7c7;border:1px solid #b9b9b9;border-radius:12px;padding:16px;margin:16px 0;box-shadow:0 1px 0 rgba(16,24,40,.04)}
.aam-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media (max-width:768px){.aam-grid-two{grid-template-columns:1fr}}

/* Tabs */
.aam-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px;border-bottom:1px solid #b9b9b9;padding-bottom:6px}
.aam-tab-btn{appearance:none;border:1px solid #000;background:#000;color:#fff;border-radius:8px;padding:.5em .9em;font-size:1em;cursor:pointer}
.aam-tab-btn.is-active{background:#222;border-color:#222}
.aam-tab-btn:hover{background:#111;border-color:#111}
.aam-tab-panel{display:none}
.aam-tab-panel.is-active{display:block}

/* Notices */
.aam-note{padding:12px;border-radius:8px;margin:8px 0;border:1px solid #b9b9b9;background:#f6f6f6}
.aam-note.-ok{background:#e8f8ff;border-color:#9ad7ff}
.aam-note.-error{background:#ffecec;border-color:#ffb7b7}
.aam-note.-warn{background:#fff2dd;border-color:#ffd393}

/* Table */
.aam-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #b9b9b9;border-radius:8px;overflow:hidden;background:#fff}
.aam-table th{background:#f1f1f1;text-align:left;font-weight:600;padding:8px;border-bottom:1px solid #e1e1e1;width:10em}
.aam-table td{padding:8px;border-bottom:1px solid #efefef}
.aam-table tbody tr:nth-child(even) td{background:#fafafa}

/* ===== プロフィール：ヘッダ（ユーザー名） ===== */
.aam-userhead{
  width:100%;
  background:#fff;
  border:none;                  /* ご指定：ボーダー無し */
  border-radius:8px;
  padding:10px 12px;            /* ご指定：パディング維持 */
  margin-bottom:3px;            /* ご指定：下に 3px 余白 */
  box-sizing:border-box;
  font-weight:700;
}

/* ===== プロフィール：アイコン＆操作行 ===== */
.aam-flex{display:flex;gap:16px;align-items:flex-start} /* アイコン上寄せ */
.aam-avatar-col{display:flex;flex-direction:column;align-items:stretch;gap:8px;--aam-avatar-w:140px;width:var(--aam-avatar-w);max-width:100%}
@media (max-width:640px){.aam-avatar-col{width:100%}}

.aam-avatar-box{background:#fff;border:1px solid #9aa0a6;border-radius:8px;padding:8px;box-sizing:border-box;width:100%}
.aam-avatar{width:100%;height:auto;display:block;object-fit:contain;border:1px solid #9aa0a6;border-radius:8px}

/* 参照ボタン（アイコン下・列幅いっぱい・薄い藍色・0.8em・パディング控えめ） */
.aam-ref-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;height:34px;padding:0 10px;border-radius:8px;
  font-size:.8em;line-height:1;
  background:#4962a8;border:1px solid #4962a8;color:#fff;
  cursor:pointer;text-decoration:none;transition:opacity .15s ease
}
.aam-ref-btn:hover{opacity:.9}
.aam-ref-btn input[type="file"]{display:none}

/* 削除・保存ボタン（デフォルト／黒） */
.aam-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}

/* 下部のボタン行はカード下に“張り付かない”よう下余白だけ持たせる */
.aam-actions.-bottom{width:100%;justify-content:flex-end;margin:10px 0 12px 0;padding:0;border:0;background:transparent}

/* ボタン共通 */
.aam-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:38px;padding:0 14px;border-radius:8px;font-size:1em;line-height:1;
  border:1px solid #000;background:#000;color:#fff;cursor:pointer;text-decoration:none;transition:opacity .15s ease
}
.aam-btn:hover{opacity:.9}

/* ===== プロフィール：フィールド（ニックネーム・メール）をフォーム下に配置 ===== */
.aam-fields{margin-top:0}
.aam-fields p{margin:0}
.aam-fields p + p{margin-top:0}
.aam-input{width:260px;max-width:100%;padding:.8em .6em;border:1px solid #9aa0a6;border-radius:6px;background:#fff;}

/* 余白の最適化（テーマの block-gap 対策） */
.aam-wrap{--wp--style--block-gap:0}
.aam-wrap :where(.wp-block,.is-layout-flow,.is-layout-constrained){gap:0}
.aam-card form{margin:0}

/* プロフィールカード専用（内側パディングは0で、外側の .aam-card の margin で余白管理） */
.aam-card.-profile{padding-bottom:0}

/* ==== アプリ作成カード（2列） ==== */
.aam-apps-grid.-alt{ align-items:stretch }
.aam-app-card{
  background:#fff;
  border:1px solid #b9b9b9;
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.aam-app-head .ttl{ font-weight:700; font-size:1.05rem; }
.aam-app-head .need{ font-size:.85rem; color:#333; }
.aam-app-desc{ font-size:.92rem; color:#222; line-height:1.6; }
.aam-btn.-disabled{
  background:#bbb; border-color:#bbb; color:#fff; cursor:not-allowed; opacity:.9;
}

/* ==== モーダル（課金ポップアップ） ==== */
.aam-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.aam-modal[aria-hidden="false"]{ display:block; }
.aam-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.4); }
.aam-modal__dialog{
  position:relative; margin:8vh auto 0; max-width:560px; width:92%;
  background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.aam-modal__header{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #eee; }
.aam-modal__title{ font-weight:700; font-size:1.05rem; }
.aam-modal__close{ background:transparent; border:0; font-size:20px; line-height:1; cursor:pointer; }
.aam-modal__body{ padding:14px 16px; }
.aam-modal__lead{ margin-bottom:8px; }
.aam-modal__list{ margin:0; padding-left:18px; }
.aam-modal__list li{ margin:4px 0; }
.aam-modal__footnote{ margin-top:8px; font-size:.85rem; color:#555; }
.aam-modal__footer{ padding:12px 16px; border-top:1px solid #eee; display:flex; justify-content:flex-end; gap:8px; }

/* モーダル表示時のスクロール抑止（任意） */
.aam-modal-open{ overflow:hidden; }





/* ===== My Page: Hub Cards ===== */

.aam-hub-card{ border:1px solid #e5e5e5; border-radius:12px; padding:14px; margin:12px 0; background:#fff; }
.aam-hub-card__title{ font-weight:700; margin:0 0 10px; }
.aam-hub-card__banner img{ display:block; width:100%; height:auto; border-radius:10px; }
.aam-hub-card__banner{ margin:0 0 10px; }
.aam-hub-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
@media (max-width: 640px){ .aam-hub-grid{ grid-template-columns:1fr; } }
.aam-hub-grid .aam-hub-card{ margin:0; }
.aam-hub-card__row{ display:flex; gap:12px; align-items:flex-start; }
.aam-hub-card__btn{ flex:0 0 auto; display:flex; justify-content:flex-start; }
.aam-hub-card__desc{ flex:1 1 auto; margin:0; color:#333; white-space:pre-wrap; }
