.group-cards { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin-top:30px; }
.group-card { flex:0 0 calc((100% - 40px) / 3); min-width:0; display:flex; flex-direction:column; background:var(--ink-soft); border:1px solid var(--line-light); border-radius:var(--radius); padding:24px; }
.group-card.is-selected { border-color:var(--orange); }
.group-card h3 { font-size:1.1rem; line-height:1.4; margin:16px 0 4px; }
.group-card-top { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.group-card-top span { font-size:.78rem; color:var(--muted-light); }
.group-card-top strong { color:var(--orange); }
.group-card-time { font-size:1.35rem; }
.group-card-info { font-size:.9rem; color:var(--muted-light); margin:18px 0; flex:1; }
.group-card-info p + p { margin-top:6px; }
.group-card .btn { margin-top:8px; }
.group-card .btn:disabled { opacity:.55; cursor:not-allowed; }
.group-list-status { margin-top:22px; color:var(--muted-light); }
.group-request-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; padding-top:36px; margin-top:36px; border-top:1px solid var(--line-light); }
.group-request-layout[hidden] { display:none; }
.group-selection h3 { font-size:1.5rem; margin:14px 0; }
.group-selection p { margin-top:8px; }
.group-selection .group-selection-time { color:var(--orange); font-weight:700; }
.group-selection .group-selection-note { color:var(--muted-light); font-size:.9rem; margin-top:22px; }
.group-fallback { margin-top:32px; color:var(--muted-light); font-size:.9rem; }
.group-fallback a { color:var(--paper); text-underline-offset:4px; }
.booking-demo-banner { padding:12px 16px; background:rgba(255,90,31,.12); border:1px solid var(--orange); color:var(--paper); border-radius:8px; margin-top:18px; }
#bookingBotCheck { margin-bottom:16px; }
@media (min-width:751px) {
  #group-session > .container > .eyebrow,
  #sessionHeading,
  #group-session > .container > .section-sub,
  .group-list-status,
  .group-fallback { text-align:center; }
  #group-session > .container > .eyebrow { display:flex; justify-content:center; }
  #group-session > .container > .section-sub { margin-left:auto; margin-right:auto; }
}
@media (min-width:751px) and (max-width:1000px) { .group-card { flex-basis:calc((100% - 20px) / 2); } }
@media (max-width:750px) { .group-card { flex-basis:100%; } .group-request-layout { grid-template-columns:1fr; gap:24px; } }
