/*
 Theme Name: Astra Child
 Template: astra
 Description: Child theme for Astra
 Author: You
 Version: 1.0
*/

/* --- TFTG Ghost App Styles --- */
/* --- TFTG RPG Ghost Generator --- */
.tftg-ghost-app { --gap: 1rem; --card-bg: #101114; --card-brd:#262833; --muted:#9aa0a6; }
.tftg-toolbar { display:flex; justify-content:space-between; gap:.75rem; flex-wrap:wrap; margin:1rem 0; }
.tftg-toolbar__left, .tftg-toolbar__right { display:flex; gap:.5rem; flex-wrap:wrap; }
.tftg-btn { border:1px solid var(--card-brd); background:#15161c; color:#fff; padding:.55rem .85rem; border-radius:.5rem; cursor:pointer; }
.tftg-btn:hover { background:#1b1d23; }

.tftg-sheet { background:var(--card-bg); border:1px solid var(--card-brd); border-radius:.85rem; padding:1rem; }
.tftg-sheet__header h2 { margin:.25rem 0 0; }
.tftg-sub { color:var(--muted); margin:.25rem 0 0; }

.tftg-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap: var(--gap); margin-top:.75rem; }
.tftg-card { background:#0f1014; border:1px solid var(--card-brd); border-radius:.75rem; padding:.8rem; }
.tftg-card.is-locked { outline:2px solid #3949ab; }
.tftg-card__head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; border-bottom:1px solid var(--card-brd); padding-bottom:.4rem; margin-bottom:.4rem; }
.tftg-card__head h4 { margin:0; font-size:1rem; }
.tftg-card__actions { display:flex; gap:.35rem; }
.tftg-iconbtn { background:#1a1c23; border:1px solid var(--card-brd); color:#fff; border-radius:.5rem; padding:.3rem .5rem; cursor:pointer; }
.tftg-iconbtn:hover { background:#202330; }
.tftg-card__body p { margin:0; color:#e7e9ee; line-height:1.4; }

.tftg-block { margin:1rem 0 0; }
.tftg-block textarea { width:100%; background:#0e0f13; color:#dfe3ea; border:1px solid var(--card-brd); border-radius:.5rem; padding:.75rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.tftg-notes { margin:.25rem 0 0 1rem; }

.tftg-muted { color: var(--muted); }

/* Modal */
.tftg-modal-open { overflow:hidden; }
.tftg-modal { position:relative; }
.tftg-modal[hidden] { display:none !important; }
.tftg-modal__backdrop { position:fixed; inset:0; background:rgba(0,0,0,.5); }
.tftg-modal__panel {
  position:fixed; inset:auto 0 0 0; margin:auto; top:8vh; max-width:900px; background:#12131a; border:1px solid var(--card-brd);
  border-radius:12px; padding:.5rem; box-shadow:0 10px 40px rgba(0,0,0,.5);
}
@media (min-width: 700px){ .tftg-modal__panel { inset:0; } }
.tftg-modal__head, .tftg-modal__foot { display:flex; align-items:center; gap:.5rem; padding:.5rem; border-bottom:1px solid var(--card-brd); }
.tftg-modal__foot { border-top:1px solid var(--card-brd); border-bottom:none; justify-content:flex-end; }
.tftg-modal__head h3 { margin:0; }
.tftg-modal__spacer { flex:1; }
.tftg-faves-list { max-height:60vh; overflow:auto; padding:.5rem; }
.tftg-fave { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border:1px solid var(--card-brd); border-radius:.75rem; padding:.6rem .7rem; background:#0f1014; margin-bottom:.5rem; }
.tftg-fave__main h4 { margin:.1rem 0; }
.tftg-fave__actions { display:flex; gap:.25rem; }

/* Toast */
.tftg-toast {
  position:fixed; left:50%; transform:translateX(-50%) translateY(20px);
  bottom:18px; background:#1b1d23; color:#fff; border:1px solid #2b2e3a;
  padding:.5rem .75rem; border-radius:.5rem; opacity:0; transition:all .2s ease;
}
.tftg-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* Print the current page (if someone uses browser print without popup) */
@media print {
  .tftg-toolbar, .tftg-iconbtn { display:none !important; }
  .site-header, .site-footer, .ast-breadcrumbs { display:none !important; }
  .tftg-sheet { border:0; background:#fff; color:#000; }
}
