/* Gold rim light for headings; the purple accent keeps its own violet glow. */
.brand,h1,.section-head h2,.card h3,.feature-copy h3,
.profile-modal .modal-info h3,.admin-panel h3 {
  text-shadow:0 0 1px #ffe3a8,0 0 4px #ffc96b99,0 0 13px #efb24b66,0 0 28px #e5a03933;
}
.card .role,.card .meta,.profile-modal .modal-info .modal-role {
  color:#f2e8dc;
  text-shadow:0 0 2px #d3a7ff,0 0 6px #b65cffcc,0 0 14px #9539ffa6,0 0 24px #7d2bea66;
}
h1 span {
  color:#bd95ff; -webkit-text-fill-color:#bd95ff; background:none;
  text-shadow:0 0 3px #ba91ff80,0 0 17px #a76cff66,0 0 36px #8750f033;
}
.feature-copy { min-width:0; gap:20px; }
.banner-carousel { width:100%; min-width:0; }
.banner-track {
  overflow:hidden; width:100%; padding:2px 0 8px;
  touch-action:pan-y;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
}
.banner-belt { display:flex; width:max-content; will-change:transform; }
.banner-run { display:flex; flex:0 0 auto; gap:12px; padding-right:12px; width:max-content; align-items:center; }
.banner-track img {
  flex:0 0 auto; width:auto; max-width:none; height:190px;
  object-fit:contain; border-radius:12px;
}
.banner-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:8px; }
.banner-controls button,.banner-setup {
  color:#efe0ff; background:#2d1d3b; border:1px solid #816199;
  min-height:36px; min-width:36px; border-radius:9px; padding:5px 12px; font-size:14px;
}
.banner-controls button:hover,.banner-setup:hover { background:#4e3064; }
.banner-controls button:disabled { opacity:.45; cursor:default; }
.banner-total { margin-right:auto; color:#cfc1dd; font-size:14px; }
.banner-empty { color:#cfc1dd; margin:0 0 12px; font-size:16px; }
.banner-editor { margin:0 0 24px; border:1px solid #725484; border-radius:12px; padding:14px; background:#23182e; }
.banner-editor summary { color:#eee1ff; font-size:17px; font-weight:600; cursor:pointer; }
.banner-editor summary:focus-visible { outline:2px solid #d4b0f7; outline-offset:3px; }
.banner-editor > p { margin:10px 0; }
.banner-editor-grid,.banner-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:12px 0; }
.banner-editor .image-slot img { width:100%; height:130px; object-fit:contain; display:block; }
.banner-editor .image-slot-actions { flex-wrap:wrap; }
.banner-editor .image-slot-actions button { flex:1 1 40%; min-height:32px; }
.banner-library { margin:8px 0; }
.banner-library summary { font-size:15px; font-weight:400; }
.banner-library-choice { padding:6px; background:#362443; border:1px solid #725484; border-radius:8px; color:#f3e8ff; min-width:0; }
.banner-library-choice img { width:100%; height:100px; object-fit:contain; }
.banner-library-choice span { display:block; font-size:14px; overflow-wrap:anywhere; }
.banner-library-choice:disabled { opacity:.6; cursor:default; }
.banner-editor .banner-storage-note { color:#bfb0cb; font-size:14px; margin-bottom:0; }
.banner-editor-status { min-height:22px; }
@media(max-width:760px) {
  .banner-track img { height:170px; }
  .feature-copy { padding:22px; }
  .banner-editor-grid,.banner-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  nav .admin-btn { display:inline-flex; font-size:12px; padding:8px; }
  nav a { display:none; }
}
@media(prefers-reduced-motion:reduce) { .banner-belt { will-change:auto; } }
