/* First-screen signup, scoped to the London trainer networking page. */
.trainer-event-hero .page-hero-inner { padding-block:1.5rem 2.5rem; }
.trainer-event-hero .breadcrumbs { margin-bottom:1.25rem; }
.trainer-event-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"intro host" "photo signup" "details signup"; column-gap:2.5rem; row-gap:1.2rem; align-items:start; }
.trainer-event-intro { grid-area:intro; min-width:0; }
.trainer-event-intro .eyebrow { margin-bottom:.7rem; color:var(--lime); }
.trainer-event-hero h1 { max-width:none; margin-bottom:.8rem; font-size:clamp(2rem,3vw,2.7rem); line-height:1.08; }
.trainer-event-intro .lead { font-size:1.05rem; line-height:1.55; }
.trainer-event-signup { grid-area:signup; min-width:0; scroll-margin-top:7rem; }
.trainer-event-signup .contact-form { margin-top:0; gap:.4rem; padding:1.25rem; border:1px solid #62732d; border-top:3px solid var(--lime); border-radius:1rem; background:var(--ink-900); }
.trainer-event-signup .contact-form h2 { margin:0; font-size:1.55rem; letter-spacing:-.025em; }
.trainer-event-signup .contact-form p { margin-bottom:0; font-size:.85rem; line-height:1.5; }
.trainer-event-signup .contact-form .trainer-form-intro { color:var(--text-secondary); }
.trainer-event-signup .contact-form .trainer-form-required { color:var(--text-muted); font-size:.78rem; }
.trainer-event-signup .contact-form label { margin-bottom:0; font-size:.9rem; line-height:1.4; }
.trainer-event-signup .form-grid { gap:.8rem; }
.trainer-event-signup .contact-form input[type="text"],
.trainer-event-signup .contact-form input[type="email"],
.trainer-event-signup .contact-form input[type="url"] { width:100%; min-height:44px; padding:.55rem .75rem; border:1px solid #718191; border-radius:.65rem; background:var(--ink-950); color:var(--text-primary); font:inherit; }
.trainer-event-signup .contact-form #linkedin-help { margin-top:-.35rem; font-size:.76rem; color:var(--text-muted); }
.trainer-event-signup .contact-form .form-consent { gap:.65rem; font-size:.8rem; line-height:1.5; }
.trainer-event-signup .contact-form .form-consent input { flex-shrink:0; }
.trainer-event-signup .contact-form .button { width:100%; min-height:44px; padding:.75rem 1rem; white-space:normal; }
.trainer-event-signup .contact-status:empty { display:none; }
.trainer-event-contact { margin:.75rem .25rem 0; font-size:.78rem; line-height:1.55; color:var(--text-muted); }
.trainer-event-photo { grid-area:photo; position:relative; min-width:0; margin:0; border:2px solid var(--lime); border-radius:1rem; overflow:hidden; background:var(--ink-900); }
.trainer-event-photo img { display:block; width:100%; height:auto; }
.trainer-event-photo figcaption { padding:.35rem .75rem; color:var(--text-muted); font-size:.72rem; }
.trainer-event-details { grid-area:details; min-width:0; }
.trainer-event-benefits { display:grid; gap:.55rem; margin:0; padding:0; list-style:none; color:var(--text-primary); }
.trainer-event-benefits li { position:relative; padding-left:1.6rem; font-size:.96rem; line-height:1.5; }
.trainer-event-benefits li::before { position:absolute; left:0; top:0; color:var(--lime); content:"✓"; font-weight:850; }
.trainer-event-careers { margin:1.15rem 0 0; padding:.9rem 1rem; border-left:3px solid var(--lime); border-radius:0 .65rem .65rem 0; background:rgba(200,240,0,.055); }
.trainer-event-careers h2 { margin:0 0 .4rem; color:var(--white); font-size:1rem; line-height:1.35; letter-spacing:normal; }
.trainer-event-careers p { margin:0; color:var(--text-secondary); font-size:.88rem; line-height:1.55; }
@media(max-width:56rem) {
  .trainer-event-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "host" "signup" "photo" "details"; gap:1.25rem; }
  .trainer-event-hero h1 { max-width:25ch; font-size:clamp(2rem,5.5vw,2.8rem); }
  .trainer-event-signup .contact-form { padding:1.25rem; }
  .trainer-event-photo { max-width:38rem; }
}
@media(max-width:36rem) {
  .trainer-event-hero .page-hero-inner { padding-top:1rem; }
  .trainer-event-hero .breadcrumbs { margin-bottom:1rem; }
  .trainer-event-signup .form-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .trainer-event-signup .contact-form { padding:1rem; }
}

/* Distinguish the audience from the social event without a wall of white type. */
.trainer-event-hero .trainer-event-heading { display:grid; gap:.12rem; margin-bottom:.85rem; font-size:inherit; }
.trainer-event-heading .trainer-heading-audience { display:block; color:var(--white); font-size:clamp(2.35rem,4.5vw,3.8rem); line-height:1.08; }
.trainer-event-heading .trainer-heading-social { display:flex; flex-wrap:wrap; align-items:baseline; gap:.08rem .65rem; }
.trainer-event-heading .trainer-heading-hour { display:block; color:var(--lime); font-size:clamp(1.7rem,2.8vw,2.35rem); line-height:1.02; }
.trainer-event-heading .trainer-heading-format { display:block; color:var(--lime); font-size:clamp(.95rem,1.4vw,1.1rem); font-weight:650; line-height:1.2; letter-spacing:.01em; }
@media(max-width:36rem) {
  .trainer-event-heading .trainer-heading-audience { font-size:clamp(2rem,9.6vw,3.3rem); }
  .trainer-event-heading .trainer-heading-hour { font-size:clamp(1.5rem,7vw,2.1rem); }
}

/* Shared grid rows align signup with the photo while the host sits above. */
.trainer-event-host { grid-area:host; min-width:0; display:grid; grid-template-columns:104px minmax(0,1fr); gap:1rem; align-items:start; margin:0; padding:1rem; border:1px solid var(--surface-border); border-radius:1rem; background:var(--ink-900); }
.trainer-host-portrait { display:block; width:104px; height:auto; border-radius:.6rem; }
.trainer-event-host .trainer-host-label { margin:0 0 .3rem; color:var(--lime); font-size:.7rem; font-weight:800; letter-spacing:.1em; line-height:1.3; text-transform:uppercase; }
.trainer-event-host h2 { margin:0 0 .6rem; color:var(--white); font-size:1.35rem; line-height:1.15; }
.trainer-event-host .trainer-host-welcome { margin:0; color:var(--text-secondary); font-size:.91rem; line-height:1.6; }
@media(max-width:36rem) {
  .trainer-event-host { grid-template-columns:76px minmax(0,1fr); gap:.8rem; }
  .trainer-host-portrait { width:76px; }
  .trainer-event-host .trainer-host-welcome { font-size:.87rem; }
}

/* Keep each social-heading phrase intact; the row may wrap on very narrow screens. */
.trainer-event-heading .trainer-heading-hour,
.trainer-event-heading .trainer-heading-format { white-space:nowrap; }

/* Match the SaaS event page's compact, wrapping event navigation. */
.trainer-event-shortcuts { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.25rem; }
.trainer-event-shortcuts .category-shortcut { display:block; min-width:0; padding:.55rem .85rem; border-radius:.6rem; font-size:.85rem; }
@media(max-width:36rem) {
  .trainer-event-shortcuts .category-shortcut { padding:.5rem .65rem; font-size:.8rem; }
}
