/* Therapy Talks 2027 - alternative version (templates/therapy-talks-alt.php, 28 Sep 2026).
   Loaded AFTER css/therapy-talks.css and holds only the differences, so the two versions are easy to compare
   and to merge once the board picks one. */

/* Buttons: outline variant for light backgrounds */
.tt-page a.tt-btn--line { background:transparent; color:var(--tt-navy); border:1.5px solid var(--tt-navy); }
.tt-page a.tt-btn--line:hover, .tt-page a.tt-btn--line:focus-visible { background:var(--tt-navy); color:#fff; }

/* Hero: Add to calendar chip + menu */
.tt-hero__meta li.tt-hero__cal { padding:0; background:none; border:0; }
.tt-cal { position:relative; }
.tt-cal__btn { display:inline-flex; align-items:center; gap:8px; padding:6px 13px; border-radius:999px; background:rgba(255,255,255,.14);
  border:1px dashed rgba(255,255,255,.6); font-size:14px; font-weight:500; color:#fff; cursor:pointer; list-style:none; transition:background .2s ease; }
.tt-cal__btn::-webkit-details-marker { display:none; }
.tt-cal__btn:hover, .tt-cal__btn:focus-visible, .tt-cal[open] .tt-cal__btn { background:rgba(255,255,255,.26); }
.tt-cal[open] .tt-cal__btn .tt-i:last-child { transform:rotate(180deg); }
.tt-cal__menu { position:absolute; top:calc(100% + 8px); left:0; z-index:5; display:grid; gap:2px; min-width:280px; padding:8px; background:#fff;
  border-radius:12px; box-shadow:0 16px 40px rgba(2,12,22,.28); }
.tt-page .tt-cal__menu a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; color:var(--tt-navy); font-size:14.5px;
  font-weight:500; text-decoration:none; }
.tt-page .tt-cal__menu a:hover, .tt-page .tt-cal__menu a:focus-visible { background:var(--tt-blue-soft); }
.tt-cal__menu .tt-i { color:var(--tt-blue); }

/* Keynote: "more speakers" card under the grid */
.tt-more { display:flex; gap:16px; align-items:center; margin-top:56px; padding:20px 24px; border:1.5px dashed #bcd3ea; border-radius:16px; background:var(--tt-ground); }
.tt-more__i { flex:none; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:#fff; color:var(--tt-blue); }
.tt-page .tt-more__h { margin:0 0 2px; font:700 17px/1.35 'Heebo', sans-serif; color:var(--tt-navy); }
.tt-page .tt-more__p { margin:0; font-size:15px; color:var(--tt-muted); }

/* What the day will explore: numbered instead of ticks */
.tt-cards--num { list-style:none; margin:0; padding:0; counter-reset:none; }
.tt-cards--num .tt-card { position:relative; gap:10px; padding-top:22px; }
.tt-page .tt-card__num { font:800 34px/1 'Heebo', sans-serif; color:var(--tt-blue); letter-spacing:-.01em; }

/* Tickets: filled "on sale soon" panel */
.tt-soon--full { padding:30px 28px 28px; text-align:left; }
.tt-soon--full .tt-soon__h { margin-bottom:18px; }
.tt-types { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:10px; }
.tt-types li { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; justify-content:space-between; padding:16px 18px; background:#fff;
  border:1px solid var(--tt-border); border-radius:12px; }
.tt-types__n { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; font:700 16px/1.3 'Heebo', sans-serif; color:var(--tt-navy); }
.tt-page .tt-types__tag { padding:3px 9px; border-radius:999px; background:#e0f7ea; color:#0a6a35; font:600 12px/1.3 'Heebo', sans-serif; font-style:normal; }
.tt-types__p { font-size:14.5px; color:var(--tt-muted); }
.tt-save { padding-top:18px; border-top:1px solid var(--tt-border); }
.tt-page .tt-save__h { display:flex; align-items:center; gap:8px; margin:0 0 10px; font:700 15px 'Heebo', sans-serif; color:var(--tt-navy); }
.tt-save__h .tt-i { color:var(--tt-blue); }
.tt-save__links { display:flex; flex-wrap:wrap; gap:10px; }
.tt-page .tt-save__links a { display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--tt-border); border-radius:8px; background:#fff;
  color:var(--tt-navy); font-size:14.5px; font-weight:500; text-decoration:none; }
.tt-page .tt-save__links a:hover, .tt-page .tt-save__links a:focus-visible { border-color:var(--tt-blue); background:var(--tt-blue-soft); }
.tt-save__links .tt-i { color:var(--tt-blue); }

/* Venue: details + Google map */
.tt-venue { padding:84px 0; }
.tt-venue__grid { display:grid; grid-template-columns:5fr 7fr; gap:48px; align-items:center; }
.tt-page .tt-venue__name { margin:0 0 6px; font:700 20px/1.35 'Heebo', sans-serif; color:var(--tt-navy); }
.tt-page .tt-venue__addr { display:flex; align-items:center; gap:8px; margin:0 0 22px; color:var(--tt-muted); }
.tt-venue__addr .tt-i { color:var(--tt-blue); }
.tt-venue__list { list-style:none; margin:0 0 26px; padding:0; display:grid; gap:14px; }
.tt-venue__list li { display:flex; gap:14px; align-items:flex-start; }
.tt-venue__list strong { display:block; font-weight:700; color:var(--tt-navy); }
.tt-venue__i { flex:none; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--tt-blue-soft); color:var(--tt-blue); }
.tt-venue__cta { display:flex; flex-wrap:wrap; gap:12px; }
.tt-venue__map { position:relative; }
.tt-venue__map iframe { display:block; width:100%; height:380px; border:1px solid var(--tt-border); border-radius:18px; background:#e8eef4; box-shadow:0 14px 34px rgba(4,26,46,.08); }
.tt-page .tt-venue__large { display:inline-block; margin-top:10px; font-size:14px; color:var(--tt-blue); }

/* FAQ sits on white now that the venue takes the tinted ground */
.tt-page--alt .tt-faq { background:#fff; }
.tt-page--alt .tt-faq .tt-h2 { margin-bottom:32px; } /* room between the heading and the first question */

/* Closing band: busy-room frame, desaturated, under the homepage hero's blue gradient (no muddy skin tones) */
.tt-page--alt .tt-final { background:linear-gradient(135deg, rgba(5,31,56,.88) 0%, rgba(10,53,96,.80) 50%, rgba(18,102,168,.74) 100%),
  url('/media/ASLTIP_Highlight_Video-band-crowd.jpg') center 40% / cover no-repeat; }

/* Sticky Book bar: phones only (see the script for when it shows) */
.tt-sticky { display:none; }
@media (max-width: 699px) {
  .tt-sticky { position:fixed; left:0; right:0; bottom:0; z-index:90; display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--tt-navy); color:#fff; box-shadow:0 -8px 24px rgba(2,12,22,.22);
    transform:translateY(110%); visibility:hidden; transition:transform .25s ease, visibility 0s linear .25s; }
  .tt-sticky.is-on { transform:none; visibility:visible; transition:transform .25s ease; }
  .tt-page .tt-sticky__t { display:flex; flex-direction:column; margin:0; font-size:13px; line-height:1.35; color:rgba(255,255,255,.8); }
  .tt-sticky__t strong { font:700 15px/1.3 'Heebo', sans-serif; color:#fff; }
  .tt-page .tt-sticky a.tt-btn { flex:none; padding:12px 18px; }
}
@media (max-width: 699px) and (prefers-reduced-motion: reduce) { .tt-sticky, .tt-sticky.is-on { transition:none; } }

/* Small screens */
@media (max-width: 960px) {
  .tt-venue__grid { grid-template-columns:1fr; gap:32px; }
  .tt-cards--num .tt-card:nth-child(4) { grid-column:auto; }
}
@media (max-width: 699px) {
  .tt-hero__cta { flex-direction:column; }
  .tt-hero__cta a.tt-btn { width:100%; } /* equal, full-width buttons on phones */
  .tt-venue { padding:60px 0 56px; }
  .tt-venue__map iframe { height:300px; }
  .tt-venue__cta a.tt-btn { flex:1 1 100%; }
  .tt-more { margin-top:40px; align-items:flex-start; }
  .tt-soon--full { padding:24px 18px 20px; }
  .tt-cal__menu { min-width:260px; }
}
