/* Microsite2026 Speaking Opportunities */
.speaking .so-section { position: relative; }
/* The Edit button is centred below the introduction (pulled up into its bottom margin). */
.speaking .so-edit-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: -1.75rem 0 2.5rem; }
.speaking .so-intro { font-size: 1.05rem; line-height: 1.65; color: #495057; }
.speaking .so-intro p:last-child { margin-bottom: 0; }
.speaking .so-subtitle { font-size: 1.35rem; }

/* Why Speak: icon beside a short heading and text */
.speaking .so-reason { display: flex; align-items: flex-start; gap: .85rem; }
.speaking .so-reason > i { color: var(--secondary, #f24e21); font-size: 1.35rem; line-height: 1.2; flex: none; }
.speaking .so-reason h4 { font-size: 1.05rem; font-weight: 700; margin-bottom: .35rem; }
.speaking .so-reason p { font-size: .9rem; color: #6c757d; line-height: 1.55; margin-bottom: 0; }

/* Interested in Speaking?: light grey box with the organiser and a Contact button */
.speaking .so-contact { background: #f8f9fa; border-radius: .75rem; padding: 2.5rem; }
.speaking .so-contact h3 { font-size: 1.25rem; }
.speaking .so-contact p { font-size: .9rem; }
.speaking .so-contact__icon { font-size: 1.6rem; line-height: 1; }
.speaking .so-contact a:not(.btn) { color: var(--secondary, #f24e21); font-size: .9rem; }
.speaking a.so-contact__btn,
.speaking a.so-contact__btn:link,
.speaking a.so-contact__btn:visited { background: #212529; border-color: #212529; color: #fff; padding: .6rem 1.4rem; font-size: 1.05rem; border-radius: .4rem; text-decoration: none; }
.speaking a.so-contact__btn:hover,
.speaking a.so-contact__btn:focus { background: #000; color: #fff; }

/* Edit panel (moved to the end of the <form>, outside .speaking) */
.so-panel .so-panel__title { font-weight: 700; color: var(--secondary, #f24e21); margin-bottom: .75rem; }
.so-panel .so-panel__footer { background: #fff; }

@media (max-width: 767.98px) {
  .speaking .so-contact { padding: 1.5rem; }
}
