
/* AXE Member Gallery (Rescue) */
.axe-mg-wrap { max-width: 1100px; margin: 0 auto; }
.axe-mg-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:18px; margin:18px 0; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.axe-mg-head h3 { margin:0 0 6px 0; font-size:20px; }
.axe-mg-sub { color: rgba(0,0,0,.6); font-size:14px; }
.axe-mg-note { padding:12px; background:#fff3cd; border:1px solid #ffeeba; border-radius:12px; margin-top:12px; }

.axe-mg-form-row { margin-top:12px; }
.axe-mg-form-row label { display:block; font-weight:600; margin-bottom:6px; }
.axe-mg-form-row input[type="text"],
.axe-mg-form-row input[type="password"],
.axe-mg-form-row input[type="date"],
.axe-mg-form-row textarea,
.axe-mg-form-row select { width:100%; max-width:100%; padding:10px 12px; border:1px solid rgba(0,0,0,.18); border-radius:12px; background:#fff; }
.axe-mg-form-row textarea { min-height:88px; resize:vertical; }
.axe-mg-two { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media(max-width:720px){ .axe-mg-two{ grid-template-columns: 1fr; } }

.axe-mg-actions { display:flex; gap:10px; align-items:center; margin-top:14px; flex-wrap:wrap; }
.axe-mg-actions-tight { margin-top:10px; }
.axe-mg-spacer-flex { flex:1; }

.axe-mg-btn { border-radius:999px; padding:10px 14px; border:1px solid rgba(0,0,0,.18); background:#fff; cursor:pointer; }
.axe-mg-btn-primary { background:#111; color:#fff; border-color:#111; }
.axe-mg-btn-ghost { background:#fff; color:#111; }
.axe-mg-status { color: rgba(0,0,0,.75); font-size:14px; }
.axe-mg-hint { color: rgba(0,0,0,.55); font-size:12px; margin-top:6px; }
.axe-mg-hint-sub { color:#b45309; font-size:12px; margin-top:6px; }

.axe-mg-drop { position:relative; border:2px dashed rgba(0,0,0,.18); border-radius:16px; padding:18px; text-align:center; background:rgba(0,0,0,.02); }
.axe-mg-drop input[type="file"]{ position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.axe-mg-drop-text{ color:rgba(0,0,0,.55); font-weight:600; }

.axe-mg-upload-list { margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.axe-mg-upload-row { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:#fafafa; }
.axe-mg-upload-name small{ color:rgba(0,0,0,.55); }
.axe-mg-upload-state{ color:rgba(0,0,0,.7); }

.axe-mg-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.axe-mg-chip { border:1px solid rgba(0,0,0,.14); padding:8px 12px; border-radius:999px; background:#fff; cursor:pointer; }
.axe-mg-chip.is-active{ background:#111; color:#fff; border-color:#111; }
.axe-mg-chip small { opacity:.7; margin-left:6px; }

.axe-mg-empty { margin-top:14px; padding:12px; border:1px dashed rgba(0,0,0,.2); border-radius:12px; color:rgba(0,0,0,.7); background:rgba(0,0,0,.02); }

.axe-mg-grid { margin-top:14px; display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
@media(max-width:1020px){ .axe-mg-grid{ grid-template-columns: repeat(3, 1fr);} }
@media(max-width:720px){ .axe-mg-grid{ grid-template-columns: repeat(2, 1fr);} }
@media(max-width:420px){ .axe-mg-grid{ grid-template-columns: 1fr;} }

.axe-mg-tile { border-radius:16px; overflow:hidden; border:1px solid rgba(0,0,0,.10); background:#fff; cursor:pointer; display:flex; flex-direction:column; min-height: 0; }
.axe-mg-tile-media{ position:relative; width:100%; padding-top: 100%; background:#eee; overflow:hidden; }
.axe-mg-tile-media img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; object-position:center; display:block; }
.axe-mg-tile-meta{ padding:10px 12px; }
.axe-mg-tile-title{ font-weight:700; font-size:14px; line-height:1.2; margin-bottom:4px; }
.axe-mg-tile-date{ font-size:12px; color:rgba(0,0,0,.6); }
.axe-mg-badge{ display:inline-block; margin-top:8px; font-size:11px; padding:4px 8px; border-radius:999px; background:#fff3cd; border:1px solid #ffeeba; color:#8a5a00; }

.axe-mg-more { margin-top:14px; text-align:center; }
.axe-mg-pager { margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.axe-mg-page { border:1px solid rgba(0,0,0,.14); padding:8px 12px; border-radius:999px; text-decoration:none; color:#111; }
.axe-mg-page.is-active{ background:#111; color:#fff; border-color:#111; }

/* Modal */
.axe-mg-modal{ position:fixed; inset:0; z-index:99999; display:none; }
.axe-mg-modal[aria-hidden="false"]{ display:block; }
.axe-mg-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.axe-mg-modal-card{ position:relative; max-width:720px; margin:5vh auto; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 12px 32px rgba(0,0,0,.25); }
.axe-mg-modal-head{ display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.08); }
.axe-mg-x{ border:none; background:transparent; font-size:24px; cursor:pointer; line-height:1; }
.axe-mg-modal-body{ padding:14px; }
.axe-mg-modal-body img{ width:100%; height:auto; border-radius:14px; display:block; margin-bottom:12px; }

/* Lightbox */
.axe-mg-lightbox{ position:fixed; inset:0; z-index:99998; display:none; }
.axe-mg-lightbox[aria-hidden="false"]{ display:block; }
.axe-mg-lightbox-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.85); }
.axe-mg-lightbox-card{ position:relative; width:min(96vw, 1100px); margin:3vh auto; }
.axe-mg-lb-x{ position:absolute; top:-10px; right:-10px; width:44px; height:44px; border-radius:999px; border:none; background:#111; color:#fff; font-size:24px; cursor:pointer; }
.axe-mg-lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:999px; border:none; background:rgba(0,0,0,.55); color:#fff; font-size:28px; cursor:pointer; }
.axe-mg-lb-prev{ left:-10px; }
.axe-mg-lb-next{ right:-10px; }
.axe-mg-lb-media{ text-align:center; }
.axe-mg-lb-media img{ max-width:96vw; max-height:90vh; width:auto; height:auto; object-fit:contain; display:inline-block; border-radius:16px; }
.axe-mg-lb-caption{ margin-top:10px; border-radius:14px; }
.axe-mg-lb-caption.is-top{ order:-1; margin-bottom:10px; margin-top:0; }
.axe-mg-lb-title{ font-weight:800; margin-bottom:4px; }
.axe-mg-lb-meta{ opacity:.85; font-size:13px; margin-bottom:6px; }
.axe-mg-lb-desc{ opacity:.95; }
