/*
Theme Name: immortal nightbody
Theme URI: https://example.com/
Author: OpenAI for immortal nightbody
Description: A narrow black-and-purple Y2K/MySpace/Tumblr-inspired artist theme with editable shows, music, videos, rotating profile photos, social links, blog previews, gallery and inline guestbook.
Version: 1.5.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: immortal-nightbody
*/

:root {
  --inb-bg: #000;
  --inb-panel: #07030b;
  --inb-panel-2: #100619;
  --inb-purple: #b88cff;
  --inb-purple-2: #7a38d0;
  --inb-purple-3: #32124f;
  --inb-text: #f5efff;
  --inb-muted: #baa6cd;
  --inb-line: rgba(184, 140, 255, .62);
  --inb-width: 860px;
}

* { box-sizing: border-box; }
html { background:#000; }
body {
  margin:0;
  background:#000;
  color:var(--inb-text);
  font-family: "Courier New", Courier, monospace;
  font-size:13px;
  line-height:1.35;
  image-rendering:auto;
}
a { color:var(--inb-purple); text-decoration:none; }
a:hover { color:#fff; text-decoration:underline; }
img { max-width:100%; height:auto; }
button,input,textarea { font:inherit; }

.inb-site {
  width:min(var(--inb-width), calc(100% - 34px));
  margin:38px auto 70px;
}
.inb-logo-wrap { text-align:center; margin:0 auto 17px; min-height:96px; }
.inb-logo { width:224px; height:224px; object-fit:contain; display:inline-block; }
.inb-nav {
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  border-top:1px solid var(--inb-line);
  border-bottom:1px solid var(--inb-line);
  padding:8px 10px;
  margin-bottom:16px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.inb-nav a::before { content:"["; margin-right:3px; color:var(--inb-muted); }
.inb-nav a::after { content:"]"; margin-left:3px; color:var(--inb-muted); }

.inb-grid { display:grid; grid-template-columns:235px 1fr; gap:13px; align-items:start; }
.inb-sidebar,.inb-main { min-width:0; }
.inb-box {
  border:1px solid var(--inb-line);
  background:linear-gradient(180deg, rgba(39,10,62,.34), rgba(7,3,11,.94));
  box-shadow:0 0 0 1px rgba(90,41,145,.15) inset;
  margin:0 0 12px;
  overflow:hidden;
}
.inb-box-title {
  padding:5px 8px;
  border-bottom:1px solid var(--inb-line);
  color:#d9c3ff;
  background:rgba(39,10,62,.62);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.08em;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.inb-box-body { padding:9px; }

.inb-profile-photo {
  width:100%;
  aspect-ratio:1/1.08;
  object-fit:cover;
  display:block;
  background:#080808;
  border:1px solid #1d1028;
}
.inb-profile-name { font-size:16px; margin:8px 0 1px; color:#fff; }
.inb-profile-status { color:var(--inb-purple); font-size:11px; margin-bottom:7px; }
.inb-profile-actions { display:grid; gap:2px; margin-top:7px; }
.inb-profile-actions a { display:block; padding:2px 0; }
.inb-online { font-size:10px; color:#d9c7f4; opacity:.9; margin-top:8px; }
.inb-online::before { content:"●"; color:#7cf0a2; margin-right:5px; }

.inb-show { padding:5px 0 7px; border-bottom:1px dotted rgba(184,140,255,.28); }
.inb-show:last-child { border-bottom:0; }
.inb-show-date { color:#fff; font-size:11px; }
.inb-show-place { color:#d7c5ea; }
.inb-show-venue { color:var(--inb-purple); font-size:11px; }
.inb-show a { display:block; }

.inb-socials { display:grid; grid-template-columns:repeat(5, 1fr); gap:6px; padding:7px; }
.inb-social {
  height:34px;
  border:1px solid rgba(184,140,255,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0b0610;
  font-family:Arial, sans-serif;
  font-size:16px;
  font-weight:700;
  overflow:hidden;
}
.inb-social-icon { font-size:18px; line-height:1; color:#fff; text-shadow:0 0 7px rgba(184,140,255,.55); }
.inb-social[data-network="youtube"] .inb-social-icon { font-size:16px; }
.inb-social[data-network="gmail"] .inb-social-icon { font-family:Arial,sans-serif; font-size:17px; font-weight:800; }

/* old-profile-era player treatment */
.inb-player { background:#0d0712; }
.inb-player-screen {
  border:1px solid rgba(184,140,255,.35);
  background:#050307;
  padding:8px;
  margin-bottom:7px;
}
.inb-player-now { display:grid; grid-template-columns:52px 1fr; gap:8px; align-items:center; }
.inb-player-art { width:52px; height:52px; object-fit:cover; background:#12081d; border:1px solid #3b1a5c; }
.inb-player-track { color:#fff; font-size:12px; font-weight:bold; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.inb-player-artist { color:var(--inb-muted); font-size:10px; margin-top:2px; }
.inb-player-controls { display:grid; grid-template-columns:28px 28px 1fr 28px; gap:5px; align-items:center; margin-top:7px; }
.inb-player-btn {
  border:1px solid var(--inb-line);
  background:#1d0b2c;
  color:#fff;
  height:25px;
  cursor:pointer;
  padding:0;
}
.inb-player-btn:hover { background:#34104f; }
.inb-progress { height:6px; background:#1b1022; border:1px solid #3d2151; cursor:pointer; position:relative; }
.inb-progress > span { display:block; height:100%; width:0; background:var(--inb-purple); }
.inb-player-list { border-top:1px solid rgba(184,140,255,.3); }
.inb-track-row { display:grid; grid-template-columns:22px 1fr auto; gap:5px; padding:5px 3px; border-bottom:1px dotted rgba(184,140,255,.22); cursor:pointer; }
.inb-track-row:hover,.inb-track-row.is-active { background:rgba(122,56,208,.18); }
.inb-track-num { color:#8b72a2; }
.inb-track-duration { color:#8b72a2; font-size:10px; }

.inb-video-frame { aspect-ratio:16/9; background:#050307; border:1px solid rgba(184,140,255,.3); }
.inb-video-frame iframe { width:100%; height:100%; border:0; display:block; }
.inb-video-controls { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; gap:8px; margin-top:7px; }
.inb-video-title { text-align:center; color:#d7c4eb; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.inb-blog-post { padding:6px 0 9px; border-bottom:1px dotted rgba(184,140,255,.25); }
.inb-blog-post:last-child { border-bottom:0; padding-bottom:0; }
.inb-blog-date { color:#876e9e; font-size:10px; }
.inb-blog-title { margin:2px 0; font-weight:bold; }
.inb-blog-excerpt {
  color:#c9b7d8;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.7em;
}
.inb-read-more { font-size:10px; }

.inb-guest-form { display:grid; gap:6px; margin-bottom:10px; }
.inb-guest-form input,.inb-guest-form textarea {
  width:100%;
  color:#fff;
  background:#050307;
  border:1px solid rgba(184,140,255,.5);
  padding:6px 7px;
  outline:none;
}
.inb-guest-form textarea { min-height:64px; resize:vertical; }
.inb-guest-form button {
  justify-self:start;
  border:1px solid var(--inb-line);
  color:#fff;
  background:#261036;
  padding:5px 11px;
  cursor:pointer;
}
.inb-guest-form button:hover { background:#3b1655; }
.inb-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.inb-comment { padding:6px 0; border-top:1px dotted rgba(184,140,255,.23); }
.inb-comment-name { color:var(--inb-purple); }
.inb-comment-date { color:#77668b; font-size:9px; margin-left:6px; }
.inb-comment-text { color:#d2c2df; margin-top:2px; }
.inb-notice { border:1px solid var(--inb-line); padding:7px; margin-bottom:10px; color:#d8c4e8; background:#0d0712; }

.inb-footer { text-align:center; color:#574963; font-size:10px; padding:15px 0; }

/* internal tumblr-ish pages */
.inb-page-shell { border:1px solid var(--inb-line); background:#060308; }
.inb-page-header { padding:8px 11px; border-bottom:1px solid var(--inb-line); background:#160921; }
.inb-page-content { padding:14px; }
.inb-tumblr-post { max-width:620px; margin:0 auto 26px; border-bottom:1px solid rgba(184,140,255,.27); padding-bottom:20px; }
.inb-tumblr-post h2 { font-size:17px; margin:3px 0 8px; }
.inb-tumblr-meta { font-size:10px; color:#88749a; }
.inb-gallery { columns:2 260px; column-gap:12px; }
.inb-gallery-item { break-inside:avoid; margin:0 0 12px; border:1px solid rgba(184,140,255,.3); background:#050307; padding:5px; }
.inb-gallery-item img { width:100%; display:block; }

@media (max-width:720px) {
  .inb-site { width:min(100% - 18px, var(--inb-width)); margin-top:18px; }
  .inb-grid { grid-template-columns:1fr; }
  .inb-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .inb-sidebar .inb-box { margin-bottom:0; }
  .inb-sidebar .inb-box:first-child { grid-row:span 2; }
  .inb-logo { width:188px; height:188px; }
}
@media (max-width:520px) {
  .inb-sidebar { display:block; }
  .inb-sidebar .inb-box { margin-bottom:10px; }
  .inb-nav { gap:8px 12px; }
}

/* v1.1 simple Winamp/MySpace jukebox + looping logo video */
.inb-logo-video{background:#000;object-fit:contain}
.inb-player-display{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px inset rgba(255,255,255,.2);background:linear-gradient(180deg,#1b1120,#08050b);padding:7px 9px;color:#d9c3ff;text-shadow:0 0 5px rgba(184,140,255,.35)}
.inb-player-time{font-size:10px;color:#b99bd5;white-space:nowrap}
.inb-player-screen{background:linear-gradient(180deg,#13091b,#050307)}
.inb-player-controls{grid-template-columns:34px 34px 1fr 34px}
.inb-track-row{grid-template-columns:28px minmax(0,1fr) 46px}
.inb-track-row>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* v1.3 surgical patch: black ground, 2x top logo, smaller Bandsintown contents */
.inb-logo-video{display:inline-block;background:#000;object-fit:contain;pointer-events:none}
.inb-bandsintown-wrap{padding:4px 5px 6px;overflow:hidden}
.inb-bandsintown-wrap .bit-widget-initializer{font-size:8.25px;color:var(--inb-muted)}
#shows .bit-widget-container{font-family:"Courier New",Courier,monospace!important;font-size:8.25px!important}
#shows .bit-event{padding:5.25px 0!important}
#shows .bit-location,#shows .bit-venue{font-size:7.5px!important}
@media(max-width:520px){.inb-socials{grid-template-columns:repeat(5,1fr)}}


/* v1.5 surgical patch: centered/fitted Bandsintown + tighter header logo/nav spacing */
.inb-logo-wrap{
  text-align:center;
  margin:0 auto 3px!important;
  min-height:0!important;
  line-height:0!important;
}
.inb-logo-wrap>a{
  display:inline-block;
  line-height:0;
}
.inb-logo-wrap .inb-logo-video,
.inb-logo-wrap .inb-logo{
  display:block!important;
  height:auto!important;
  max-width:100%!important;
  margin:0 auto!important;
  vertical-align:bottom;
}

#shows .inb-bandsintown-wrap{
  position:relative;
  padding:0!important;
  overflow:hidden!important;
  text-align:center!important;
}
#shows .inb-bandsintown-wrap .bit-widget-container{
  width:148.387097%!important;
  max-width:none!important;
  margin-left:-24.193548%!important;
  margin-right:0!important;
  transform:scale(.62)!important;
  transform-origin:top center!important;
  text-align:center!important;
}
#shows .inb-bandsintown-wrap .bit-widget,
#shows .inb-bandsintown-wrap .bit-upcoming-events,
#shows .inb-bandsintown-wrap .bit-event,
#shows .inb-bandsintown-wrap .bit-no-dates-container{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
