/* WiMBG Events — speaker & session single pages.
   Inherits Spectra One typography; accent is easy to rebrand via --wimbg-accent. */

.wimbg-main{
  /* Map to the theme's semantic palette so we adapt to its (dark) brand. */
  --wimbg-accent:  var(--wp--preset--color--primary, #6431F6);
  --wimbg-ink:     var(--wp--preset--color--body, #4B5563);
  --wimbg-head:    var(--wp--preset--color--heading, #1F2937);
  --wimbg-bg:      var(--wp--preset--color--background, #ffffff);
  --wimbg-surface: var(--wp--preset--color--surface, #f8fafc);
  --wimbg-line:    var(--wp--preset--color--outline, #e6e9ef);
  --wimbg-muted:   color-mix(in srgb, var(--wimbg-ink) 78%, transparent);
  --wimbg-radius: 14px;

  max-width: var(--wp--style--global--content-size, 1100px);
  margin-inline: auto;
  padding: clamp(24px, 5vw, 56px) 20px 72px;
  color: var(--wimbg-ink);
}
/* Headings pick up the theme's heading colour (white on the dark brand). */
.wimbg-main :where(h1, h2, h3),
.wimbg-speaker__name, .wimbg-session__title,
.wimbg-talk__title, .wimbg-subhead,
.wimbg-speakercard__name, .wimbg-speaker__org,
.wimbg-chip--date{ color: var(--wimbg-head); }
.wimbg-main :where(a){ color: inherit; }

/* ---- shared bits ---- */
.wimbg-backlink{
  display:inline-block; margin-bottom:14px;
  font-size:.9rem; font-weight:600; text-decoration:none;
  color:var(--wimbg-muted);
}
.wimbg-backlink:hover{ color:var(--wimbg-accent); }

.wimbg-subhead{ font-size:1.05rem; margin:0 0 14px; }
.wimbg-sep{ opacity:.5; margin-inline:6px; }
.wimbg-empty{ color:var(--wimbg-muted); }

.wimbg-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px; border-radius:999px;
  background:var(--wimbg-surface);
  border:1px solid var(--wimbg-line);
  font-size:.82rem; line-height:1; text-decoration:none;
  color:var(--wimbg-muted);
}
a.wimbg-chip:hover{ border-color:var(--wimbg-accent); color:var(--wimbg-accent); }
.wimbg-chip--event{
  background:color-mix(in srgb, var(--wimbg-accent) 12%, transparent);
  border-color:color-mix(in srgb, var(--wimbg-accent) 30%, transparent);
  color:var(--wimbg-accent); font-weight:600;
}
.wimbg-chip--date{ font-weight:600; color:var(--wimbg-ink); }

/* ---- speaker hero ---- */
.wimbg-speaker__hero{
  display:grid; grid-template-columns:260px 1fr; gap:clamp(20px,4vw,44px);
  align-items:center; margin-bottom:36px;
}
.wimbg-speaker__photo{ width:260px; max-width:100%; }
/* Square crop, centred slightly high to keep the face in frame. Explicit
   height beats the theme's image sizing so it stays square. */
.wimbg-speaker .wimbg-speaker__photo img{
  width:260px; height:260px; max-width:100%;
  object-fit:cover; object-position:center 20%;
  border-radius:18px; display:block;
}
.wimbg-speaker__name{ margin:.1em 0 .15em; line-height:1.05; }
.wimbg-speaker__role{ margin:0 0 16px; color:var(--wimbg-muted); font-size:1.05rem; }
.wimbg-speaker__org{ font-weight:600; color:var(--wimbg-ink); }

.wimbg-socials{ list-style:none; display:flex; gap:10px; margin:0; padding:0; }
.wimbg-social{
  display:grid; place-items:center; width:40px; height:40px;
  border-radius:999px; border:1px solid var(--wimbg-line);
  color:var(--wimbg-muted); transition:all .15s ease;
}
.wimbg-social:hover{
  color:var(--wimbg-bg); background:var(--wimbg-accent); border-color:var(--wimbg-accent);
  transform:translateY(-1px);
}

/* ---- tabs ---- */
.wimbg-tablist{
  display:flex; gap:4px; border-bottom:1px solid var(--wimbg-line);
  margin-bottom:8px;
}
.wimbg-tab{
  appearance:none; background:none; border:0; cursor:pointer;
  padding:12px 18px; font:inherit; font-weight:600;
  color:var(--wimbg-muted);
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.wimbg-tab:hover{ color:var(--wimbg-ink); }
.wimbg-tab.is-active{ color:var(--wimbg-accent); border-bottom-color:var(--wimbg-accent); }
.wimbg-count{
  display:inline-block; min-width:20px; padding:1px 6px; margin-left:4px;
  border-radius:999px; background:var(--wimbg-surface);
  font-size:.75rem; color:var(--wimbg-muted);
}
.wimbg-tabpanel{ padding-top:24px; }
.wimbg-tabpanel[hidden]{ display:none; }

/* ---- talks list ---- */
.wimbg-talks{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.wimbg-talk{
  padding:18px 20px; border:1px solid var(--wimbg-line);
  border-radius:var(--wimbg-radius); background:var(--wimbg-surface);
}
.wimbg-talk__title{
  display:inline-block; font-weight:700; font-size:1.08rem;
  text-decoration:none; margin-bottom:10px;
}
.wimbg-talk__title:hover{ color:var(--wimbg-accent); }
.wimbg-talk__meta{ display:flex; flex-wrap:wrap; gap:8px; }

/* ---- prose ---- */
.wimbg-prose{ line-height:1.7; }
.wimbg-prose > :first-child{ margin-top:0; }

/* ---- session ---- */
.wimbg-session__title{ margin:.1em 0 .35em; line-height:1.1; }
.wimbg-session__meta{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.wimbg-session__speakers{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:32px; }
.wimbg-speakercard{
  display:flex; align-items:center; gap:12px;
  padding:10px 16px 10px 10px; border:1px solid var(--wimbg-line);
  border-radius:999px; text-decoration:none; background:var(--wimbg-surface);
}
.wimbg-speakercard:hover{ border-color:var(--wimbg-accent); }
.wimbg-speakercard__img{ width:44px; height:44px; border-radius:999px; object-fit:cover; }
.wimbg-speakercard__text{ display:flex; flex-direction:column; }
.wimbg-speakercard__name{ font-size:.98rem; }
.wimbg-speakercard__role{ font-size:.8rem; color:var(--wimbg-muted); }

.wimbg-session__sponsors{ margin-top:44px; padding-top:28px; border-top:1px solid var(--wimbg-line); }
.wimbg-sponsors{ display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.wimbg-sponsor img{ max-height:56px; width:auto; }
.wimbg-sponsor{ text-decoration:none; color:var(--wimbg-muted); }

/* ---- responsive ---- */
@media (max-width:640px){
  .wimbg-speaker__hero{ grid-template-columns:1fr; text-align:left; }
  .wimbg-speaker__photo{ width:200px; }
  .wimbg-speaker .wimbg-speaker__photo img{ width:200px; height:200px; }
}
