/* ==========================================================================
   Global ADHD Conference 2026 — speakers page, schedule hero, speaker profiles
   Repo: ADHD-UK/globaladhd · public/gac-2026.css

   Loaded after gac-homepage.css, which supplies the design (design blocks
   3a-schedule-hero / 3b-speakers: .gac-page, .gac-kicker, .gac-speakers-list,
   .gac-spkr, .gac-note-pill, .gac-btn, .gac-sch-*). This file only adds the
   few things those pages need on top: linked names, initials tiles, the talk
   line, the profile card and the Divi page-title suppression on profiles.
   ========================================================================== */

/* Names and schedule titles link to the profile without looking like links. */
.gac-spkr-name a,.gac-sch-title a{ color:inherit; text-decoration:none; }
.gac-spkr-name a:hover,.gac-sch-title a:hover{ color:var(--gac-purple,#7A2384); text-decoration:underline; }

/* Speaker without a photo yet: initials on the same tile as "to be revealed". */
.gac-spkr-tile.gac26-initials .gac-spkr-tile-q{ font-size:40px; color:var(--gac-purple,#7A2384); }

/* Talk title line under the role, with the UK slot time. */
.gac-spkr-talk{ font-size:15px; font-weight:700; color:var(--gac-ink,#241B2E); margin-top:10px; line-height:1.35; }
.gac-spkr-when{ display:inline; margin-left:8px; font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--gac-amber-deep,#B8730B); }
.gac-spkr-when .local{ display:inline; margin-left:6px; font-weight:500; color:var(--gac-muted,#8A8092); letter-spacing:0; }

/* Profile page. Divi prints its own page title above the content; the hero is the title. */
body.gac26-profile .entry-title,body.gac26-profile h1.main_title{ display:none; }
body.gac26-profile #left-area{ width:100% !important; float:none; padding:0 0 40px !important; }
body.gac26-profile #sidebar{ display:none; }
body.gac26-profile #main-content .container::before{ display:none; }
.gac26-profilecard .gac-spkr-photo,.gac26-profilecard .gac-spkr-tile{ width:240px; height:240px; }
.gac26-profilecard .gac26-talk{ font-size:22px; margin-top:14px; }
.gac26-profilecard .gac26-about{ margin-top:22px; }
.gac-spkr-when-box{ display:inline-block; background:rgba(240,180,55,.13); border:1px solid rgba(224,160,40,.35); border-radius:12px; padding:10px 16px; font-size:14.5px; color:var(--gac-ink,#241B2E); }
.gac-spkr-when-box b{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gac-lav,#8A7396); margin-bottom:2px; }
.gac-spkr-when-box .local{ display:block; font-size:13px; color:var(--gac-text,#5C5266); }
.gac26-links{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.gac26-links a{ display:inline-block; border:1.5px solid var(--gac-bd-2,#E7DEEE); border-radius:999px; padding:5px 14px; font-size:13.5px; font-weight:600; color:var(--gac-purple,#7A2384); text-decoration:none; }
.gac26-links a:hover{ background:var(--gac-purple,#7A2384); color:#fff; }
.gac26-back{ text-align:center; margin-top:22px; font-size:14px; }
.gac26-back a{ color:var(--gac-purple,#7A2384); font-weight:600; text-decoration:none; }

@media (max-width:640px){
  .gac-spkr{ flex-direction:column; }
  .gac26-profilecard .gac-spkr-photo,.gac26-profilecard .gac-spkr-tile{ width:170px; height:170px; }
}

/* ==========================================================================
   Speaker-page Q&A (design spec, Henry 30 Sep 2026). New classes are gq-.
   The snippet prints the prompt, the panel shell and the bio card; gac-qa.js
   fills the panel (and injects the same panel rules for the Viewing Page).
   ========================================================================== */
:root{
  --gq-purple:var(--gac-purple,#7A2384); --gq-purple-dark:var(--gac-purple-dark,#4B1257);
  --gq-ink:var(--gac-ink,#241B2E); --gq-body:#4A3F50; --gq-muted:var(--gac-text,#5C5266); --gq-faint:#6B6070;
  --gq-line:var(--gac-bd-2,#E7DEEE); --gq-tint:#F8F3F9; --gq-tint-strong:#F6EEF7; --gq-tint-line:#E3D3E6;
  --gq-input-line:#CDB7D2; --gq-green:#1E9E5A; --gq-amber-bg:#FFF8EA; --gq-amber-line:#EACB86;
  --gq-radius-card:16px; --gq-radius-inner:12px; --gq-radius-pill:999px;
}
/* Page order: session card, Q&A panel, bio card, Register banner, back links - 24px apart. */
.gac26-profilecard.gq-layout{ gap:24px; }

/* R1: prompt inside the session card */
.gq-prompt{
  display:flex; align-items:center; gap:12px;
  margin:16px 0 20px; padding:12px 16px;
  background:var(--gq-tint-strong); border:1.5px solid var(--gq-purple); border-radius:var(--gq-radius-inner);
  color:var(--gq-ink); text-decoration:none; transition:background .15s ease, box-shadow .15s ease;
}
.gq-prompt[hidden]{ display:none !important; }
.gq-prompt + .gq-prompt{ margin-top:-8px; }
.gq-prompt:hover{ background:#EFE2F1; box-shadow:0 2px 10px rgba(122,35,132,.12); color:var(--gq-ink); }
.gq-prompt:focus-visible{ outline:3px solid var(--gq-purple); outline-offset:3px; }
.gq-prompt__dot{ flex:none; width:10px; height:10px; border-radius:50%; background:var(--gq-green); }
.gq-prompt[data-state="closed"] .gq-prompt__dot{ background:#9A90A0; }
.gq-prompt__text{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.gq-prompt__title{ font-size:15px; font-weight:700; line-height:1.3; color:var(--gq-ink); }
.gq-prompt__sub{ font-size:13px; color:var(--gq-muted); line-height:1.35; }
.gq-prompt__cta{
  flex:none; white-space:nowrap; background:var(--gq-purple); color:#fff;
  font-size:14px; font-weight:700; line-height:1; padding:10px 16px; border-radius:var(--gq-radius-pill);
}
.gq-prompt:hover .gq-prompt__cta{ background:var(--gq-purple-dark); }
@media (prefers-reduced-motion:no-preference){
  .gq-prompt[data-state="live"] .gq-prompt__dot{ animation:gq-pulse 1.6s ease-out infinite; }
}
@keyframes gq-pulse{ 0%{ box-shadow:0 0 0 0 rgba(30,158,90,.5); } 100%{ box-shadow:0 0 0 8px rgba(30,158,90,0); } }
@media (max-width:600px){
  .gq-prompt{ flex-wrap:wrap; }
  .gq-prompt__cta{ width:100%; text-align:center; padding:15px 16px; }
}

/* R3: the panel shell (the rest comes from gac-qa.js) */
.gq-panel{
  box-sizing:border-box; width:100%; max-width:880px; margin:0 auto; text-align:left;
  background:var(--gq-tint); border:1px solid var(--gq-tint-line); border-top:4px solid var(--gq-purple);
  border-radius:var(--gq-radius-card); padding:28px; display:flex; flex-direction:column; gap:20px;
  scroll-margin-top:calc(var(--header-h, 110px) + 16px); color:var(--gq-ink);
}
.gq-panel[hidden]{ display:none !important; }
.gq-panel p,.gq-panel h2{ padding:0; }
.gq-panel__head{ display:flex; flex-direction:column; gap:4px; }
.gq-panel__eyebrow{ margin:0; font-size:11px; line-height:1.3; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gq-purple); }
.gq-panel__title{ margin:0; font-family:inherit; font-size:24px; line-height:1.2; font-weight:700; color:var(--gq-ink); }
.gq-panel__title:focus{ outline:none; }
.gq-panel__session{ margin:0; font-size:15px; line-height:1.4; font-weight:600; color:var(--gq-ink); }
.gq-panel__help{ margin:0; font-size:14px; line-height:1.45; color:var(--gq-muted); }
.gq-panel__body:empty{ min-height:170px; }
@media (max-width:600px){ .gq-panel{ padding:20px; } .gq-panel__title{ font-size:20px; } }

/* R2: bio card, clamped to 4 lines */
.gq-bio{ background:#fff; border:1px solid var(--gac-bd-2,#E7DEEE); border-radius:18px; padding:26px; }
.gq-bio__heading{
  margin:0 0 12px; padding:0; font-family:inherit; font-size:12px; line-height:1.4; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:#7C6588; /* site eyebrow lavender, a shade darker for 4.5:1 */
}
.gq-bio__text{ font-size:15px; line-height:1.65; color:var(--gac-text,#5C5266); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.gq-bio.is-open .gq-bio__text{ -webkit-line-clamp:unset; display:block; }
.gq-bio__toggle{ margin-top:8px; background:none; border:0; padding:6px 0; font:inherit; font-size:15px; font-weight:700; color:var(--gq-purple); cursor:pointer; text-decoration:underline; text-underline-offset:3px; min-height:44px; }
.gq-bio__toggle[hidden]{ display:none; }
.gq-bio__toggle:focus-visible{ outline:3px solid var(--gq-purple); outline-offset:2px; border-radius:3px; }
@media (max-width:640px){ .gq-bio{ padding:20px; } }

/* Mobile sticky "Ask a question" pill (768px and narrower) */
.gq-sticky{
  position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); z-index:50;
  background:var(--gq-purple); color:#fff; text-decoration:none;
  font-size:15px; font-weight:700; line-height:1; padding:14px 20px; min-height:44px;
  border-radius:var(--gq-radius-pill); box-shadow:0 6px 20px rgba(35,26,43,.25);
  transition:opacity .2s, transform .2s;
}
.gq-sticky:hover,.gq-sticky:focus{ color:#fff; background:var(--gq-purple-dark); }
.gq-sticky:focus-visible{ outline:3px solid #fff; box-shadow:0 0 0 6px var(--gq-purple); }
.gq-sticky[hidden]{ display:block; opacity:0; transform:translateY(12px); pointer-events:none; }
@media (min-width:769px){ .gq-sticky{ display:none !important; } }
@media (prefers-reduced-motion:reduce){ .gq-sticky{ transition:none; } }

/* Schedule page: "Ask a question" on each session that is taking questions (spec §7) */
.gq-sch-ask{ font-size:14px; font-weight:700; color:var(--gq-purple); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.gq-sch-ask:hover{ color:var(--gq-purple-dark); }
.gq-sch-ask:focus-visible{ outline:3px solid var(--gq-purple); outline-offset:2px; border-radius:3px; }
