/* GOODBADGIRL — AI Design Studio styles */
.gbg-studio { max-width: 1040px; margin: 0 auto; padding: 24px 16px 80px; }
.gst-hero { text-align: center; margin-bottom: 28px; }
.gst-hero h1 { font-size: 2.4rem; margin: 0 0 8px; letter-spacing: -0.02em; }
.gst-hero p { color: #666; max-width: 560px; margin: 0 auto; }

.gst-note { display: none; margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: #f4f4f6; color: #333; font-size: .95rem; }
.gst-note.warn { background: #ffe1ef; color: #b01457; }

.gst-panel { background: #fff; border: 1px solid #eee; border-radius: 18px; padding: 20px; box-shadow: 0 8px 30px rgba(0,0,0,.05); }
.gst-prompt { width: 100%; border: 1px solid #e3e3e8; border-radius: 12px; padding: 14px; font-size: 1.05rem; resize: vertical; box-sizing: border-box; font-family: inherit; }
.gst-prompt:focus { outline: none; border-color: #ff2e93; }

.gst-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.gst-chip { border: 1px solid #e3e3e8; background: #fafafa; border-radius: 999px; padding: 7px 16px; cursor: pointer; font-size: .9rem; transition: .15s; }
.gst-chip:hover { border-color: #ff2e93; }
.gst-chip.on { background: #ff2e93; border-color: #ff2e93; color: #fff; }

.gst-btn { background: #15151a; color: #fff; border: 0; border-radius: 999px; padding: 13px 26px; font-weight: 700; cursor: pointer; font-size: 1rem; transition: .15s; }
.gst-btn:hover { transform: translateY(-1px); }
.gst-btn[disabled] { opacity: .6; cursor: default; transform: none; }
.gst-btn.gst-gen { background: #ff2e93; }
.gst-btn.gst-ghost { background: #fff; color: #15151a; border: 1px solid #d9d9e0; }

.gst-gate { text-align: center; padding: 50px 20px; color: #555; }
.gst-gate .gst-btn { display: inline-block; margin-top: 16px; text-decoration: none; }

.gst-result { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 28px; }
@media (max-width: 760px) { .gst-result { grid-template-columns: 1fr; } }
.gst-art { background: repeating-conic-gradient(#f3f3f5 0% 25%, #fff 0% 50%) 0 / 28px 28px; border-radius: 18px; min-height: 320px; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #eee; }
.gst-art img { max-width: 100%; max-height: 520px; }

.gst-buy h3 { margin: 0 0 14px; }
.gst-blanks { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
.gst-blank { border: 2px solid #eee; background: #fff; border-radius: 14px; padding: 8px; cursor: pointer; text-align: center; font-size: .72rem; color: #444; transition: .15s; }
.gst-blank:hover { border-color: #ff9ccb; }
.gst-blank.on { border-color: #ff2e93; }
.gst-blank img { width: 100%; aspect-ratio: 1/1; object-fit: contain; display: block; margin-bottom: 6px; }

.gst-vari { margin: 16px 0; }
.gst-select { width: 100%; padding: 12px; border-radius: 12px; border: 1px solid #e3e3e8; font-size: .95rem; }
.gst-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Floating launcher (sits above the Bestie FAB) */
.gbg-studio-fab {
  position: fixed; right: 22px; bottom: 92px; z-index: 9998;
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #ff2e93, #a05cf0);
  color: #fff; text-decoration: none; padding: 11px 18px; border-radius: 999px;
  box-shadow: 0 10px 26px rgba(160,92,240,.35); font-weight: 700; font-size: .9rem;
  transition: transform .15s;
}
.gbg-studio-fab:hover { transform: translateY(-2px); color: #fff; }
.gbg-studio-fab .gsf-spark { font-size: 1.05rem; }
@media (max-width: 540px) { .gbg-studio-fab .gsf-label { display: none; } .gbg-studio-fab { padding: 13px; } }
