/* Detail components only; dedicated canvas architecture remains unchanged. */
/* Divi may inject Global Preset heading colours after plugin assets.
 * Divi's selector includes #et-boc and can also be !important, so the
 * automatic Speaker/Session detail UI needs a narrowly-scoped selector with
 * greater specificity. This does not affect Programme or ordinary Divi pages. */
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h1,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h2,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h3,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h4,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h5,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_speaker_page"] h6,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h1,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h2,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h3,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h4,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h5,
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="iftcc_session_page"] h6 {
	color: var(--cp-text) !important;
}

.cp-programme.cp-detail-component { --cp-detail-pathway: var(--cp-blue); max-width: none; margin: 0; padding: 0; font-family: inherit; }
.cp-detail-component p { padding-bottom: 0; }
.cp-detail-component a { color: var(--cp-text); text-underline-offset: 4px; text-decoration: none; }
.cp-detail-component .cp-detail__icon { width: 22px; height: 22px; flex: 0 0 22px; vertical-align: middle; }
.cp-detail-component .cp-detail__portrait-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; aspect-ratio: 1; border-radius: inherit; background: var(--cp-surface-soft); color: var(--cp-muted); }
.cp-detail-component .cp-detail__portrait-placeholder .cp-detail__icon { width: 40%; height: 40%; flex-basis: 40%; opacity: .6; }
.cp-detail-component .cp-detail__country { display: flex; align-items: center; gap: 7px; margin: 8px 0 0; color: var(--cp-muted); font-size: 14px; }
.cp-detail-component .cp-detail__country .cp-detail__icon { width: 17px; height: 17px; flex-basis: 17px; }
.cp-detail-component .cp-detail__pathway { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--cp-line); border-radius: 12px; font-size: 12px; line-height: 1.3; font-weight: 750; }
.cp-detail-component .cp-detail__pathway { border-color: color-mix(in srgb, var(--cp-detail-pathway) 45%, var(--cp-line)); background: color-mix(in srgb, var(--cp-detail-pathway) 10%, var(--cp-surface)); }
.cp-detail-component .cp-detail__pathway:not(.cp-detail__pathway--artwork)::before { content: ""; flex: 0 0 7px; height: 7px; border-radius: 50%; background: var(--cp-detail-pathway); }
.cp-detail-component .cp-detail__topics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cp-detail-component .cp-detail__topic { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border: 1px solid var(--cp-line); border-radius: 12px; color: var(--cp-muted); background: var(--cp-surface-soft); font-size: 12px; line-height: 1.4; max-width: 100%; overflow-wrap: anywhere; }
.cp-detail-component .cp-detail__topic-icon { width: 16px; height: 16px; flex: 0 0 16px; object-fit: contain; }
.cp-detail-component[data-theme="dark"] .cp-detail__topic-icon { filter: brightness(0) invert(.9); }
.cp-detail-component .cp-detail__topic > span { min-width: 0; overflow-wrap: anywhere; }
.cp-detail-component .cp-detail__pathway-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cp-detail-component .cp-detail__pathway-logo { display: block; width: 20px; height: 20px; flex: 0 0 20px; object-fit: contain; }
.cp-detail-component .cp-detail__attendee-panel { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; justify-self: start; max-width: 100%; padding: 9px 12px; border: 1px solid var(--cp-line); border-radius: 12px; background: var(--cp-surface-soft); }
.cp-detail-component .cp-detail__attendee-icon { display: flex; color: var(--cp-muted); }
.cp-detail-component .cp-detail__attendee-icon .cp-detail__icon { width: 18px; height: 18px; flex-basis: 18px; }
.cp-detail-component .cp-detail__start-time { margin: 0; font-size: 14px; line-height: 1.4; font-weight: 750; }
.cp-detail-component .cp-detail__time-note { margin: 0; font-size: 12px; line-height: 1.5; color: var(--cp-muted); }
.cp-detail-component ul.cp-detail__session-grid, .cp-detail-component ul.cp-detail__speaker-grid, .cp-detail-component ul.cp-detail__resource-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.cp-detail-component .cp-detail__session-grid, .cp-detail-component .cp-detail__resource-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.cp-detail-component .cp-detail__speaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cp-detail-component .cp-detail__session-grid > li, .cp-detail-component .cp-detail__speaker-grid > li, .cp-detail-component .cp-detail__resource-grid > li { min-width: 0; }
.cp-detail-component .cp-detail__session-card, .cp-detail-component .cp-detail__speaker-card, .cp-detail-component .cp-detail__resource-card { border: 1px solid var(--cp-line); border-radius: 14px; background: var(--cp-surface); box-shadow: var(--cp-shadow); text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.cp-detail-component .cp-detail__session-card:hover, .cp-detail-component .cp-detail__speaker-card:hover, .cp-detail-component .cp-detail__resource-card:hover { border-color: var(--cp-detail-pathway); box-shadow: var(--cp-shadow-raised); transform: translateY(-2px); }
.cp-detail-component .cp-detail__session-card { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 16px; border-top: 4px solid var(--cp-detail-pathway); }
.cp-detail-component .cp-detail__card-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.cp-detail-component .cp-detail__code { color: var(--cp-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .055em; font-weight: 800; }
.cp-detail-component .cp-detail__card-top .cp-detail__pathway { font-size: 11px; }
.cp-detail-component .cp-detail__card-schedule { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.cp-detail-component .cp-detail__card-schedule .cp-detail__icon { width: 18px; height: 18px; flex-basis: 18px; }
.cp-detail-component .cp-detail__card-level { margin: 0; font-size: 12px; }
.cp-detail-component .cp-detail__card-level > span { color: var(--cp-muted); margin-right: 6px; }
.cp-detail-component .cp-detail__session-card .cp-detail__topics { margin-top: 0; }
.cp-detail-component .cp-detail__session-card .cp-detail__topic { font-size: 11px; padding: 3px 7px; }
.cp-detail-component .cp-detail__card-route { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--cp-line); font-size: 12px; font-weight: 800; }
.cp-detail-component .cp-detail__card-route .cp-detail__icon { width: 18px; height: 18px; flex-basis: 18px; }
.cp-detail-component .cp-detail__speaker-card { display: flex; align-items: flex-start; gap: 14px; padding: 16px; height: 100%; }
.cp-detail-component .cp-detail__speaker-photo { width: 88px; aspect-ratio: 1; flex: 0 0 88px; border-radius: 12px; }
.cp-detail-component .cp-detail__speaker-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.cp-detail-component .cp-detail__speaker-copy { min-width: 0; flex: 1; }
.cp-detail-component .cp-detail__speaker-copy > p { margin: 7px 0 0; color: var(--cp-muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.cp-detail-component .cp-detail__speaker-copy p.cp-detail__speaker-role { color: var(--cp-text); font-weight: 700; }
.cp-detail-component .cp-detail__speaker-copy .cp-detail__card-route { margin-top: 12px; }
.cp-detail-component .cp-detail__resource-card { display: flex; align-items: center; gap: 14px; padding: 16px; min-height: 88px; height: 100%; }
.cp-detail-component .cp-detail__resource-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; height: 48px; border-radius: 12px; background: var(--cp-surface-soft); }
.cp-detail-component .cp-detail__resource-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 6px; }
.cp-detail-component .cp-detail__resource-copy strong { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.cp-detail-component .cp-detail__resource-copy > span { font-size: 12px; color: var(--cp-muted); }
.cp-detail-component .cp-detail__resource-card > .cp-detail__icon { width: 18px; height: 18px; flex-basis: 18px; }
.cp-detail-component .cp-detail__empty { padding: 24px; margin: 0; border: 1px dashed var(--cp-line-strong); border-radius: 18px; color: var(--cp-muted); }
.cp-detail-component h3 { overflow-wrap: anywhere; letter-spacing: -.015em; margin: 0; padding: 0; color: var(--cp-text); font-family: inherit; font-size: 20px; line-height: 1.3; font-weight: 800; }
.cp-detail-component a:focus-visible, .cp-detail-component button:focus-visible { outline: 3px solid var(--cp-blue); outline-offset: 5px; }
.cp-detail-component .cp-detail__card-schedule p { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 13px; line-height: 1.5; }
.cp-detail-component .cp-my-conference-heart { position: static; width: 48px; height: 48px; border: 1px solid var(--cp-line-strong); border-radius: 15px; background: var(--cp-surface-raised); }
.cp-detail-component .cp-my-conference-heart[aria-pressed="true"] { color: var(--cp-detail-pathway); }
.cp-detail-component .cp-component__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1000px) {
 .cp-detail-component .cp-detail__speaker-card { flex-direction: column; }
 .cp-detail-component .cp-detail__speaker-photo { width: 88px; height: 88px; flex-basis: auto; }
}
@media (max-width: 767px) {
 .cp-detail-component .cp-detail__session-grid, .cp-detail-component .cp-detail__speaker-grid, .cp-detail-component .cp-detail__resource-grid { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-component .cp-detail__speaker-card { flex-direction: row; gap: 12px; padding: 16px; }
 .cp-detail-component .cp-detail__speaker-photo { width: 68px; height: 68px; flex: 0 0 68px; }
 .cp-detail-component .cp-detail__speaker-copy h3, .cp-detail-component .cp-detail__session-card h3 { font-size: 18px; }
}
@media (max-width: 400px) {
 .cp-detail-component .cp-detail__speaker-card { flex-direction: row; }
 .cp-detail-component .cp-detail__resource-card { padding: 18px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
 .cp-detail-component a { transition: none; }
 .cp-detail-component .cp-detail__session-card:hover, .cp-detail-component .cp-detail__speaker-card:hover, .cp-detail-component .cp-detail__resource-card:hover { transform: none; }
}

/* Shared detail UI used by the dedicated singles and page shortcodes. */
.cp-programme.cp-detail-component.cp-detail-page { width: 100%; max-width: 1200px; margin: 0 auto; padding: clamp(14px, 2.4vw, 28px); background: var(--cp-page); border-radius: 14px; color: var(--cp-text); }
.cp-detail-page h1, .cp-detail-page h1.cp-session-card__title { margin: 0; padding: 0; color: var(--cp-text); font-family: inherit; font-size: clamp(28px, 3.6vw, 44px); line-height: 1.15; font-weight: 800; letter-spacing: -.03em; overflow-wrap: anywhere; }
.cp-detail-page h2 { margin: 0; padding: 0; color: var(--cp-text); font-family: inherit; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.3; font-weight: 800; }
.cp-detail-page .cp-detail__appearance { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.cp-detail-page .cp-detail__appearance button { min-height: 44px; padding: 8px 13px; border: 1px solid transparent; border-radius: 12px; font: inherit; font-size: 12px; font-weight: 700; color: var(--cp-muted); background: transparent; cursor: pointer; }
.cp-detail-page .cp-detail__appearance button[aria-pressed="true"] { color: var(--cp-text); background: var(--cp-surface); border-color: var(--cp-line-strong); }
.cp-detail-page .cp-detail__appearance button:hover { color: var(--cp-text); border-color: var(--cp-line-strong); }
.cp-detail-page .cp-detail__hero { padding: clamp(16px, 2vw, 22px); border: 1px solid var(--cp-line); border-radius: 18px; background: var(--cp-surface); box-shadow: var(--cp-shadow); }
.cp-detail-page .cp-detail__profile-hero { width: fit-content; max-width: min(100%, 800px); display: grid; grid-template-columns: 200px minmax(0, 1fr); align-items: center; gap: 20px; padding: 18px; }
.cp-detail-page .cp-detail__portrait-frame { padding: 4px; border: 1px solid var(--cp-line-strong); border-radius: 16px; background: var(--cp-surface-soft); }
.cp-detail-page .cp-detail__portrait { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 18px; }
.cp-detail-page .cp-detail__portrait-frame .cp-detail__portrait-placeholder { border-radius: 18px; }
.cp-detail-page .cp-detail__profile-copy { min-width: 0; max-width: 65ch; }
.cp-detail-page .cp-detail__profile-copy h1 { font-size: clamp(28px, 3vw, 38px); }
.cp-detail-page .cp-detail__eyebrow { margin: 0 0 8px; font-size: 11px; line-height: 1.4; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--cp-muted); }
.cp-detail-page .cp-detail__role { margin: 6px 0 0; font-size: 16px; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.cp-detail-page .cp-detail__organisation { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--cp-muted); overflow-wrap: anywhere; }
.cp-detail-page ul.cp-detail__socials { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 8px 0 0; list-style: none; }
.cp-detail-page .cp-detail__socials a { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 10px; border: 1px solid var(--cp-line-strong); border-radius: 13px; background: var(--cp-surface-raised); color: var(--cp-text); font-size: 13px; font-weight: 700; }
.cp-detail-page .cp-detail__socials a:hover { background: var(--cp-surface-soft); border-color: var(--cp-blue); }
.cp-detail-page .cp-detail__session-hero { border-top: 6px solid var(--cp-detail-pathway); }
.cp-detail-page .cp-detail__hero-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.cp-detail-page .cp-detail__hero-top .cp-detail__eyebrow { margin: 0; }
.cp-detail-page .cp-detail__hero-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.cp-detail-page .cp-detail__hero-tags:empty { display: none; }
.cp-detail-page .cp-detail__level { padding: 6px 10px; font-size: 12px; border: 1px solid var(--cp-line); border-radius: 12px; color: var(--cp-muted); background: var(--cp-surface-soft); }
.cp-detail-page .cp-detail__schedule { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
.cp-detail-page .cp-detail__schedule p { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; line-height: 1.5; }
.cp-detail-page .cp-detail__programme-block { color: var(--cp-muted); font-size: 12px; margin: 12px 0 0; }
.cp-detail-page .cp-detail__delivery { margin-top: 12px; }
.cp-detail-page .cp-detail__attendee-panel { width: fit-content; }
.cp-detail-page .cp-detail__section { margin-top: 26px; }
.cp-detail-page .cp-detail__section-heading { margin-bottom: 16px; }
.cp-detail-page .cp-detail__reading-panel { padding: 18px 0 0; border: 0; border-top: 1px solid var(--cp-line); border-radius: 0; background: transparent; }
.cp-detail-page .cp-detail__content { max-width: 70ch; margin-top: 12px; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.cp-detail-page .cp-detail__content p { margin: 0 0 14px; }
.cp-detail-page .cp-detail__content > :last-child { margin-bottom: 0; }
.cp-detail-page .cp-detail__content h2, .cp-detail-page .cp-detail__content h3 { margin: 22px 0 12px; }
.cp-detail-page .cp-detail__content img { max-width: 100%; height: auto; border-radius: 12px; }
.cp-detail-page .cp-detail__content ul, .cp-detail-page .cp-detail__content ol { padding-left: 24px; margin-bottom: 10px; }
.cp-detail-page .cp-detail__content table { display: block; max-width: 100%; overflow-x: auto; }
.cp-detail-page .cp-detail__content a { color: var(--cp-text); text-decoration: underline; text-underline-offset: 3px; }
.cp-detail-component .cp-detail__materials-locked { display: flex; align-items: center; gap: 10px; padding: 16px; border: 1px solid var(--cp-line); border-radius: 16px; background: var(--cp-surface-soft); color: var(--cp-text); }
.cp-detail-component .cp-detail__materials-locked p { margin: 0; font-size: 14px; line-height: 1.6; }
@media (max-width: 767px) {
 .cp-programme.cp-detail-component.cp-detail-page { padding: 14px; border-radius: 14px; }
 .cp-detail-page .cp-detail__profile-hero { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; }
 .cp-detail-page .cp-detail__portrait-frame { width: 120px; max-width: 100%; }
 .cp-detail-page .cp-detail__session-hero { padding: 16px; }
 .cp-detail-page .cp-detail__reading-panel { padding: 16px 0 0; }
 .cp-detail-page .cp-detail__content { font-size: 15px; line-height: 1.6; }
 .cp-detail-page .cp-detail__profile-copy h1 { font-size: 26px; }
 .cp-detail-page .cp-detail__section-heading { margin-bottom: 12px; }
 .cp-detail-page .cp-detail__section { margin-top: 22px; }
}
@media (min-width: 540px) and (max-width: 767px) {
 .cp-detail-page .cp-detail__profile-hero { grid-template-columns: 120px minmax(0, 1fr); gap: 14px; }
}

.cp-detail-page .cp-detail__hero-tags .cp-detail__pathway-logo { width: 26px; height: 26px; flex-basis: 26px; }

/* Only selected Speaker/Session singles receive this body marker. Preserve header/footer. */
body.cp-detail-single #et-main-area { margin: 0 !important; padding: 0 !important; width: 100%; max-width: none; background: transparent !important; }
body.cp-detail-single #main-content.cp-detail-canvas { display: block; float: none; clear: both; box-sizing: border-box; width: var(--cp-detail-viewport-width, 100%) !important; max-width: none !important; margin: 0 !important; margin-left: var(--cp-detail-offset, 0px) !important; padding: 0 !important; border: 0; border-radius: 0; background: var(--cp-page) !important; color: var(--cp-text); min-height: calc(100vh - var(--cp-detail-top, 0px)); min-height: calc(100svh - var(--cp-detail-top, 0px)); }
body.cp-detail-single #main-content.cp-detail-canvas::before, body.cp-detail-single #main-content.cp-detail-canvas::after { display: none; }
body.cp-detail-single .cp-detail-canvas > .cp-detail-shell { display: block; float: none; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; border: 0; background: transparent; }
body.cp-detail-single .cp-detail-shell > .cp-detail-page { width: 100%; max-width: none; margin: 0; border-radius: 0; background: transparent; color: var(--cp-text); }
/* The controls and every section heading are inside the shell, on the themed canvas. */
body.cp-detail-single .cp-detail-canvas .cp-detail__section-heading { color: var(--cp-text); }
body.cp-detail-single .cp-detail-canvas[data-theme="light"], body.cp-detail-single .cp-detail-canvas .cp-detail-component[data-theme="light"] { --cp-muted: #636b70; }
body.cp-detail-single .cp-detail-canvas[data-theme="reading"], body.cp-detail-single .cp-detail-canvas .cp-detail-component[data-theme="reading"] { --cp-muted: #696257; }

/* Speaker phone density only; desktop and Session detail presentation are frozen. */
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__profile-hero { width: 100%; max-width: none; padding: 0 0 14px; gap: 10px; border: 0; border-bottom: 1px solid var(--cp-line); border-radius: 0; background: transparent; box-shadow: none; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__portrait-frame { width: 112px; padding: 0; border: 0; border-radius: 12px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__portrait { border-radius: 12px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__eyebrow { margin-bottom: 4px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__profile-copy h1 { font-size: 24px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__role { margin-top: 4px; font-size: 15px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__organisation,
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__country { margin-top: 3px; font-size: 13px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__socials { margin-top: 6px; gap: 6px; }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__section { margin-top: 18px; }
 .cp-detail-component .cp-detail__session-card { padding: 12px; gap: 6px; border-radius: 10px; border-top-width: 3px; box-shadow: none; }
 .cp-detail-component .cp-detail__session-card h3 { font-size: 17px; line-height: 1.25; }
 .cp-detail-component .cp-detail__session-card .cp-detail__pathway { padding: 3px 6px; font-size: 10px; border-radius: 8px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__pathway-logo { width: 18px; height: 18px; flex-basis: 18px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__card-schedule { gap: 3px 10px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__card-schedule p { font-size: 12px; gap: 5px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__topics { gap: 4px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__topic { padding: 2px 5px; font-size: 10px; border-radius: 7px; gap: 4px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__topic-icon { width: 14px; height: 14px; flex-basis: 14px; }
 .cp-detail-component .cp-detail__session-card .cp-detail__card-route { padding-top: 6px; font-size: 11px; }
 .cp-detail-component ul.cp-detail__session-grid { gap: 10px; }
}
@media (min-width: 400px) and (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] .cp-detail__profile-hero { grid-template-columns: 112px minmax(0, 1fr); align-items: start; gap: 12px; }
}

/* Desktop composition; single-template routing and mobile content order unchanged. */
.cp-detail-page .cp-detail__speaker-composition, .cp-detail-page .cp-detail__session-composition, .cp-detail-page .cp-detail__session-sidebar { min-width: 0; }
@media (min-width: 1024px) {
 .cp-detail-page .cp-detail__speaker-composition { display: grid; grid-template-columns: minmax(0, 35fr) minmax(0, 65fr); gap: 28px; padding: 24px; border: 1px solid var(--cp-line); border-top: 3px solid #ff5000; border-radius: 18px; background: var(--cp-surface); }
 .cp-detail-page .cp-detail__speaker-composition:not(:has(.cp-detail__reading-panel)) { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page .cp-detail__speaker-composition .cp-detail__profile-hero { width: 100%; max-width: none; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
 .cp-detail-page .cp-detail__speaker-composition .cp-detail__portrait-frame { width: 160px; max-width: 100%; }
 .cp-detail-page .cp-detail__speaker-composition .cp-detail__profile-copy h1 { font-size: clamp(28px, 2.6vw, 36px); }
 .cp-detail-page .cp-detail__speaker-composition .cp-detail__reading-panel { min-width: 0; margin: 0; padding: 0 0 0 28px; border: 0; border-left: 1px solid var(--cp-line); }
 .cp-detail-page .cp-detail__session-composition { display: grid; grid-template-columns: minmax(0, 65fr) minmax(0, 35fr); gap: 28px; align-items: start; }
 .cp-detail-page .cp-detail__session-composition:not(:has(> .cp-detail__reading-panel)), .cp-detail-page .cp-detail__session-composition:not(:has(.cp-detail__session-sidebar > section)) { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page .cp-detail__session-sidebar { margin-top: 26px; padding-left: 20px; border-left: 3px solid color-mix(in srgb, var(--cp-detail-pathway) 60%, var(--cp-line)); }
 .cp-detail-page .cp-detail__session-sidebar:not(:has(> section)) { display: none; }
 .cp-detail-page .cp-detail__session-sidebar > .cp-detail__section:first-child { margin-top: 0; }
 .cp-detail-page .cp-detail__session-sidebar .cp-detail__speaker-grid { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page .cp-detail__session-sidebar .cp-detail__speaker-card { gap: 10px; padding: 14px; }
 .cp-detail-page .cp-detail__session-sidebar .cp-detail__speaker-photo { width: 64px; flex-basis: 64px; }
 .cp-detail-page .cp-detail__session-sidebar h3 { font-size: 18px; }
}
@media (max-width: 767px) {
 .cp-detail-page .cp-detail__speaker-composition { border-top: 2px solid #ff5000; padding-top: 10px; }
}

/* Public content utilities; no global page styles. */
.cp-detail-page .cp-detail__back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 12px; font-size: 14px; font-weight: 700; text-decoration: underline; }
.cp-detail-component .cp-detail__countdown { margin: 0; font-size: 14px; font-weight: 750; color: var(--cp-text); }
.cp-detail-component .cp-detail__attendee-panel:has(.cp-detail__countdown:not(:empty)) > .cp-detail__start-time,
.cp-detail-component .cp-detail__attendee-panel:has(.cp-detail__countdown:not(:empty)) > .cp-detail__time-note { display: none; }
.cp-detail-page .cp-detail__directory-search { display: grid; gap: 6px; margin: 18px 0; max-width: 480px; }
.cp-detail-page .cp-detail__directory-search[hidden], .cp-detail-page .cp-detail__directory > li[hidden] { display: none; }
.cp-detail-page .cp-detail__directory-search input { min-height: 44px; padding: 8px 12px; border: 1px solid var(--cp-line-strong); border-radius: 10px; background: var(--cp-surface); color: var(--cp-text); font: inherit; width: 100%; box-sizing: border-box; }
.cp-detail-page .cp-detail__directory { border-top: 2px solid #ff5000; padding-top: 18px; }
.cp-detail-page .cp-detail__directory-meta { display: block; margin-top: 4px; color: var(--cp-muted); font-size: 13px; }
.cp-detail-page .cp-detail__resource-card { min-height: 0; padding: 12px; border-left: 3px solid var(--cp-detail-pathway); box-shadow: none; }
@media (min-width: 1200px) {
 .cp-detail-page .cp-detail__directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .cp-detail-page .cp-detail__session-hero { border: 0; border-top: 2px solid var(--cp-detail-pathway); border-radius: 8px; box-shadow: none; background: color-mix(in srgb, var(--cp-detail-pathway) 5%, var(--cp-surface)); }
 .cp-detail-page .cp-detail__materials-locked { border: 0; border-left: 2px solid var(--cp-detail-pathway); border-radius: 6px; background: color-mix(in srgb, var(--cp-detail-pathway) 5%, var(--cp-surface)); }
 .cp-detail-page .cp-detail__profile-hero { border-bottom-color: transparent; }
}

/* v1.4.14 Session hero and unified resources; Programme is frozen. */
.cp-detail-page .cp-detail__session-information { min-width: 0; }
.cp-detail-page .cp-detail__session-image { margin: 16px 0 0; min-width: 0; }
.cp-detail-page .cp-detail__session-image img { display: block; width: 100%; height: auto; object-fit: contain; max-height: 480px; border-radius: 10px; }
.cp-detail-page .cp-detail__resources { margin-top: 22px; padding: 18px; border: 0; border-radius: 10px; background: color-mix(in srgb, var(--cp-detail-pathway) 4%, var(--cp-surface)); }
.cp-detail-page .cp-detail__resources > .cp-detail__section { margin-top: 16px; }
.cp-detail-page .cp-detail__resources > .cp-detail__section + .cp-detail__section { padding-top: 16px; border-top: 1px solid var(--cp-line); }
.cp-detail-page .cp-detail__session-composition > .cp-detail__reading-panel > h2::after,
.cp-detail-page .cp-detail__resources > h2::after,
.cp-detail-page .cp-detail__resources .cp-detail__section-heading::after { content: ''; display: block; width: 32px; height: 2px; margin-top: 8px; background: var(--cp-detail-pathway); }
.cp-detail-page .cp-detail__resources .cp-detail__speaker-grid { grid-template-columns: minmax(0, 1fr); }
.cp-detail-page .cp-detail__resources .cp-detail__speaker-card,
.cp-detail-page .cp-detail__resources .cp-detail__resource-card,
.cp-detail-page .cp-detail__resources .cp-detail__materials-locked { padding: 10px 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.cp-detail-page .cp-detail__resources .cp-detail__speaker-card { flex-direction: row; gap: 10px; }
.cp-detail-page .cp-detail__resources .cp-detail__speaker-photo { width: 64px; height: 64px; flex: 0 0 64px; }
.cp-detail-page .cp-detail__resources .cp-detail__section-heading { font-size: 19px; }
@media (min-width: 1024px) {
 .cp-detail-page .cp-detail__session-hero--image { display: grid; grid-template-columns: minmax(0, 63fr) minmax(0, 37fr); gap: 24px; align-items: center; }
 .cp-detail-page .cp-detail__session-image { margin: 0; }
 .cp-detail-page .cp-detail__resources { margin-top: 26px; }
}
@media (max-width: 767px) {
 .cp-detail-page .cp-detail__session-image img { max-height: 300px; object-fit: contain; }
 .cp-detail-page .cp-detail__resources { padding: 14px; }
}

/* Directory-specific Conference branding; no pathway identity or Programme changes. */
/* Speakers directory is intentionally wider than individual detail pages so its
   three-column grid aligns visually with the shared Conference header. */
.cp-programme.cp-detail-component.cp-detail-page[data-cp-component="iftcc_speakers"] { max-width: 1500px; }

.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-intro { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; padding: 18px 0 22px; margin-bottom: 20px; border-bottom: 1px solid var(--cp-line); }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-intro h1::before { content: ''; display: block; width: 44px; height: 3px; margin-bottom: 14px; background: #FF5A2F; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-intro p:not(.cp-detail__eyebrow) { margin: 12px 0 0; color: var(--cp-muted); font-size: 15px; line-height: 1.5; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-search { flex: 0 1 320px; margin: 0; font-size: 13px; font-weight: 700; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory { padding-top: 0; border: 0; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card { flex-direction: row; align-items: flex-start; gap: 16px; padding: 18px; border: 1px solid var(--cp-line); border-top: 2px solid #7DB9E5; border-radius: 12px; box-shadow: none; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-photo { width: 104px; height: 104px; flex: 0 0 104px; border-radius: 10px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-copy strong { display: block; font-size: 19px; line-height: 1.3; overflow-wrap: anywhere; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-meta { line-height: 1.5; overflow-wrap: anywhere; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-action { display: block; margin-top: 12px; font-size: 12px; font-weight: 750; color: var(--cp-text); text-decoration: underline; text-decoration-color: #FF5A2F; text-underline-offset: 4px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card:hover { border-color: #FF5A2F; background: color-mix(in srgb, #7DB9E5 5%, var(--cp-surface)); }
.cp-detail-page[data-cp-component="iftcc_speakers"] a:focus-visible,
.cp-detail-page[data-cp-component="iftcc_speakers"] input:focus-visible { outline: 3px solid #FF5A2F; outline-offset: 3px; }
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-search { flex-basis: 100%; max-width: none; }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card { padding: 14px; gap: 12px; }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-photo { width: 90px; height: 90px; flex-basis: 90px; }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-copy strong { font-size: 18px; }
}

/* Directory information hierarchy and natural row alignment. */
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card { flex-direction: column; align-items: stretch; height: 100%; box-sizing: border-box; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-identity { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-action { margin-top: auto; padding-top: 12px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__at,
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__role-connector { color: var(--cp-muted); text-decoration: underline; text-decoration-color: #7DB9E5; text-underline-offset: 3px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-country { display: flex; align-items: center; gap: 5px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-country .cp-detail__icon { width: 15px; height: 15px; flex-basis: 15px; }

/* Stage 6A content-only Lobby foundation. */
.cp-detail-page .cp-detail__lobby-intro { padding: 16px 0; border-top: 3px solid #FF5A2F; }
.cp-detail-page .cp-detail__lobby-intro > p:not(.cp-detail__eyebrow), .cp-detail-page .cp-detail__lobby-empty { color: var(--cp-muted); line-height: 1.5; }
.cp-detail-page .cp-detail__lobby-section { padding-top: 16px; border-top: 1px solid var(--cp-line); }

/* Speakers application spacing only; no theme/header or generic Page overrides. */
.cp-detail-page[data-cp-component="iftcc_speakers"][data-cp-detail] { padding-top: 32px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 10px; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-toolbar .cp-detail__appearance { order: 2; margin: 0; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-toolbar .cp-detail__back { order: 1; margin: 0; }
.cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-intro { padding-top: 8px; }

/* Only ancestors containing the directory on the real Speakers Page. No header reset. */
body.cp-speakers-page #main-content > .container:has([data-cp-component="iftcc_speakers"]),
body.cp-speakers-page #main-content .entry-content:has([data-cp-component="iftcc_speakers"]),
body.cp-speakers-page #main-content .et_pb_section:has([data-cp-component="iftcc_speakers"]),
body.cp-speakers-page #main-content .et_pb_row:has([data-cp-component="iftcc_speakers"]),
body.cp-speakers-page #main-content .et_pb_code:has([data-cp-component="iftcc_speakers"]) { padding-top: 0 !important; margin-top: 0 !important; }
body.cp-speakers-page #main-content .et_builder_inner_content:has([data-cp-component="iftcc_speakers"]) { margin-top: 0 !important; padding-top: 0 !important; }

/* Logged-out account presentation only; WooCommerce retains authentication, notices and redirect logic. */
body.cp-conference-login-page #main-content > .container { width: min(1500px, calc(100% - 32px)); max-width: 1500px; padding-top: clamp(22px, 4vw, 52px); }
body.cp-conference-login-page #main-content > .container::before { display: none !important; }
body.cp-conference-login-page #left-area { width: 100% !important; float: none !important; padding: 0 !important; }
body.cp-conference-login-page #sidebar { display: none !important; }
body.cp-conference-login-page .entry-title { display: none; }
body.cp-conference-login-page article.page { margin-bottom: 0; }
body.cp-conference-login-page .entry-content { padding-top: 0; }

.cp-detail-page[data-cp-component="conference_login"][data-cp-detail] { max-width: 780px; margin: 0 auto clamp(28px, 5vw, 64px); padding: clamp(10px, 2vw, 18px); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__appearance { margin-bottom: 12px; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__appearance button[aria-pressed="true"] { border-color: #7DB9E5; box-shadow: inset 0 0 0 1px color-mix(in srgb, #7DB9E5 32%, transparent); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-card { position: relative; overflow: hidden; padding: clamp(22px, 4vw, 36px); border: 1px solid var(--cp-line-strong); border-top: 5px solid #FF5A2F; border-radius: 22px; background: var(--cp-surface); box-shadow: 0 22px 60px rgba(12, 24, 31, .18); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-card::after { content: ''; position: absolute; inset: 0 0 auto auto; width: 180px; height: 180px; border-radius: 0 0 0 100%; background: radial-gradient(circle at 100% 0%, color-mix(in srgb, #7DB9E5 24%, transparent), transparent 68%); pointer-events: none; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-hero { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px 16px; padding-bottom: 22px; margin-bottom: 20px; border-bottom: 1px solid var(--cp-line); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-mark { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: #FF5A2F; box-shadow: 0 8px 24px rgba(255, 90, 47, .24); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-mark > span { position: relative; width: 28px; height: 28px; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-mark > span::before {
 content: ''; position: absolute; top: 1px; left: 8px; width: 8px; height: 8px;
 border: 3px solid #fff; border-radius: 50%; background: transparent;
}
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-mark > span::after {
 content: ''; position: absolute; left: 3px; bottom: 1px; width: 20px; height: 11px;
 border: 3px solid #fff; border-bottom: 0; border-radius: 14px 14px 0 0; background: transparent;
}
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-copy { min-width: 0; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-copy .cp-detail__eyebrow { margin-bottom: 4px; color: #7DB9E5; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-copy h1 { font-size: clamp(30px, 5vw, 42px); }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-copy > p:last-child { max-width: 48ch; margin: 8px 0 0; color: var(--cp-muted); line-height: 1.55; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-badge { align-self: start; display: inline-flex; align-items: center; min-height: 34px; padding: 6px 11px; border: 1px solid color-mix(in srgb, #7DB9E5 55%, var(--cp-line)); border-radius: 999px; background: color-mix(in srgb, #7DB9E5 12%, var(--cp-surface)); color: var(--cp-text); font-size: 11px; line-height: 1; font-weight: 800; white-space: nowrap; }
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-form { position: relative; z-index: 1; }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce { color: var(--cp-text); }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce > h2,
.cp-detail-page[data-cp-component="conference_login"] .u-column1 > h2,
.cp-detail-page[data-cp-component="conference_login"] .u-column2 > h2 { margin: 0 0 8px; padding: 0; color: #FF5A2F !important; font-size: 22px; line-height: 1.3; font-weight: 800; }
.cp-detail-page[data-cp-component="conference_login"] .col2-set { display: flex; flex-direction: column; gap: 22px; }
.cp-detail-page[data-cp-component="conference_login"] .col2-set > .col-1,
.cp-detail-page[data-cp-component="conference_login"] .col2-set > .col-2 { width: 100%; float: none; padding: 0; }
.cp-detail-page[data-cp-component="conference_login"] form { padding: 0; margin: 14px 0 0; border: 0; color: var(--cp-text); }
.cp-detail-page[data-cp-component="conference_login"] form p { margin-bottom: 14px; }
.cp-detail-page[data-cp-component="conference_login"] label { color: var(--cp-text); font-size: 13px; font-weight: 750; }
.cp-detail-page[data-cp-component="conference_login"] input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) { width: 100%; min-height: 50px; box-sizing: border-box; padding: 11px 46px 11px 14px; border: 1px solid var(--cp-line-strong); border-radius: 11px; background: var(--cp-surface-soft); color: var(--cp-text); font: inherit; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.cp-detail-page[data-cp-component="conference_login"] input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):hover { border-color: color-mix(in srgb, #7DB9E5 72%, var(--cp-line-strong)); }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-form-login__submit,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-button,
.cp-detail-page[data-cp-component="conference_login"] button[type="submit"] { min-height: 48px; padding: 10px 24px; background: #FF5A2F !important; color: #fff !important; border: 1px solid #FF5A2F !important; border-radius: 11px; box-shadow: 0 8px 22px rgba(255, 90, 47, .20); font: inherit; font-weight: 850; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-form-login__submit:hover,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-button:hover,
.cp-detail-page[data-cp-component="conference_login"] button[type="submit"]:hover { filter: brightness(1.04); transform: translateY(-1px); box-shadow: 0 11px 26px rgba(255, 90, 47, .28); }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; margin-right: 14px; }
.cp-detail-page[data-cp-component="conference_login"] input[type="checkbox"] { accent-color: #FF5A2F; }
.cp-detail-page[data-cp-component="conference_login"] .lost_password { margin-top: 2px; }
.cp-detail-page[data-cp-component="conference_login"] .lost_password a { display: inline-flex; align-items: center; min-height: 40px; color: #7DB9E5; font-weight: 750; text-decoration: underline; text-decoration-color: color-mix(in srgb, #7DB9E5 75%, transparent); text-underline-offset: 4px; }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-error,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-info { border: 1px solid var(--cp-line); border-left: 4px solid #FF5A2F; border-top: 1px solid var(--cp-line); border-radius: 11px; background: var(--cp-surface-soft); color: var(--cp-text); padding: 14px 16px 14px 42px; margin: 0 0 18px; overflow-wrap: anywhere; }
.cp-detail-page[data-cp-component="conference_login"] .show-password-input { color: var(--cp-text); }
.cp-detail-page[data-cp-component="conference_login"] input:focus-visible { outline: none; border-color: #7DB9E5; box-shadow: 0 0 0 3px color-mix(in srgb, #7DB9E5 24%, transparent); }
.cp-detail-page[data-cp-component="conference_login"] a:focus-visible,
.cp-detail-page[data-cp-component="conference_login"] button:focus-visible { outline-color: #7DB9E5; }
@media (max-width: 767px) {
 body.cp-conference-login-page #main-content > .container { width: min(100% - 18px, 1500px); padding-top: 18px; }
 .cp-detail-page[data-cp-component="conference_login"][data-cp-detail] { padding: 0; }
 .cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-card { padding: 20px 16px; border-radius: 16px; }
 .cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-hero { grid-template-columns: auto minmax(0, 1fr); }
 .cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-badge { grid-column: 1 / -1; justify-self: start; }
 .cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-mark { width: 48px; height: 48px; border-radius: 14px; }
 .cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-copy h1 { font-size: 30px; }
}

.cp-detail-page[data-cp-component="iftcc_conference_lobby"] .cp-detail__session-grid > li { display: flex; flex-direction: column; }
.cp-detail-page[data-cp-component="iftcc_conference_lobby"] .cp-detail__session-card { flex: 1; height: auto; }
.cp-detail-page .cp-detail__lobby-status { margin: 0 0 6px; font-size: 13px; font-weight: 750; color: var(--cp-text); }

/* v1.4.21 — complete WooCommerce My Account conference presentation. */
body.cp-conference-account-page #main-content > .container {
 width: min(1500px, calc(100% - 32px));
 max-width: 1500px;
 padding-top: clamp(22px, 4vw, 52px);
}
body.cp-conference-account-page #main-content > .container::before { display: none !important; }
body.cp-conference-account-page #left-area { width: 100% !important; float: none !important; padding: 0 !important; }
body.cp-conference-account-page #sidebar { display: none !important; }
body.cp-conference-account-page .entry-title { display: none; }
body.cp-conference-account-page article.page { margin-bottom: 0; }
body.cp-conference-account-page .entry-content { padding-top: 0; }

.cp-detail-page[data-cp-component="conference_account"][data-cp-detail] {
 max-width: 1120px;
 margin: 0 auto clamp(30px, 5vw, 72px);
 padding: clamp(10px, 2vw, 18px);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__appearance { margin-bottom: 12px; }
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__appearance button[aria-pressed="true"] {
 border-color: #7DB9E5;
 box-shadow: inset 0 0 0 1px color-mix(in srgb, #7DB9E5 32%, transparent);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-card {
 position: relative;
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-top: 5px solid #FF5A2F;
 border-radius: 22px;
 background: var(--cp-surface);
 box-shadow: 0 22px 60px rgba(12, 24, 31, .16);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-card::after {
 content: '';
 position: absolute;
 inset: 0 0 auto auto;
 width: 220px;
 height: 220px;
 border-radius: 0 0 0 100%;
 background: radial-gradient(circle at 100% 0%, color-mix(in srgb, #7DB9E5 22%, transparent), transparent 68%);
 pointer-events: none;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-hero {
 position: relative;
 z-index: 1;
 display: grid;
 grid-template-columns: auto minmax(0, 1fr) auto;
 align-items: center;
 gap: 14px 18px;
 padding-bottom: 24px;
 margin-bottom: 24px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-mark {
 position: relative;
 display: block;
 width: 58px;
 height: 58px;
 border-radius: 17px;
 background: #FF5A2F;
 box-shadow: 0 9px 25px rgba(255, 90, 47, .24);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-head {
 position: absolute;
 left: 50%;
 top: 13px;
 width: 14px;
 height: 14px;
 transform: translateX(-50%);
 border: 3px solid #fff;
 border-radius: 50%;
 box-sizing: border-box;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shoulders {
 position: absolute;
 left: 50%;
 bottom: 11px;
 width: 27px;
 height: 16px;
 transform: translateX(-50%);
 border: 3px solid #fff;
 border-bottom: 0;
 border-radius: 18px 18px 0 0;
 box-sizing: border-box;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy { min-width: 0; }
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy .cp-detail__eyebrow {
 margin: 0 0 4px;
 color: #7DB9E5;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy h1 {
 margin: 0;
 padding: 0;
 color: var(--cp-text);
 font: inherit;
 font-size: clamp(30px, 4.5vw, 42px);
 line-height: 1.08;
 font-weight: 850;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy > p:last-child {
 max-width: 62ch;
 margin: 8px 0 0;
 color: var(--cp-muted);
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-badge {
 align-self: start;
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid color-mix(in srgb, #7DB9E5 62%, var(--cp-line));
 border-radius: 999px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 line-height: 1;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-body {
 position: relative;
 z-index: 1;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce { color: var(--cp-text); }

/* WooCommerce account navigation becomes the conference account rail. */
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content {
 float: none !important;
 width: auto !important;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:has(.woocommerce-MyAccount-navigation) {
 display: grid;
 grid-template-columns: minmax(205px, 240px) minmax(0, 1fr);
 gap: 22px;
 align-items: start;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation {
 padding: 12px;
 border: 1px solid var(--cp-line);
 border-radius: 16px;
 background: var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul {
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li {
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li + li { margin-top: 5px !important; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a {
 position: relative;
 display: flex;
 align-items: center;
 min-height: 44px;
 padding: 9px 12px 9px 16px;
 border: 1px solid transparent;
 border-radius: 10px;
 color: var(--cp-muted);
 font-weight: 750;
 line-height: 1.25;
 text-decoration: none;
 transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a::before {
 content: '';
 position: absolute;
 left: 7px;
 width: 3px;
 height: 0;
 border-radius: 999px;
 background: #FF5A2F;
 transition: height .15s ease;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a:hover {
 color: var(--cp-text);
 border-color: color-mix(in srgb, #7DB9E5 35%, var(--cp-line));
 background: color-mix(in srgb, #7DB9E5 8%, var(--cp-surface));
 transform: translateX(2px);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation .is-active > a {
 color: var(--cp-text);
 border-color: color-mix(in srgb, #7DB9E5 55%, var(--cp-line));
 background: color-mix(in srgb, #7DB9E5 13%, var(--cp-surface));
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation .is-active > a::before { height: 22px; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout {
 margin-top: 10px !important;
 padding-top: 10px !important;
 border-top: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout a { color: #FF5A2F; }

/* Main account content card. */
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
 min-width: 0;
 padding: clamp(18px, 2.5vw, 26px);
 border: 1px solid var(--cp-line);
 border-radius: 16px;
 background: var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content p,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) p {
 color: var(--cp-muted);
 line-height: 1.65;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content a:not(.button),
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) a:not(.button) {
 color: #7DB9E5;
 font-weight: 700;
 text-decoration: underline;
 text-decoration-color: color-mix(in srgb, #7DB9E5 68%, transparent);
 text-underline-offset: 4px;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce h2,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce h3,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce legend {
 color: var(--cp-text) !important;
 font-family: inherit;
 font-weight: 850;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce h2 {
 margin: 0 0 16px;
 font-size: clamp(22px, 3vw, 28px);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce h2::after,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce h3::after {
 content: '';
 display: block;
 width: 34px;
 height: 2px;
 margin-top: 8px;
 background: #FF5A2F;
}

/* Forms and account details. */
.cp-detail-page[data-cp-component="conference_account"] form { color: var(--cp-text); }
.cp-detail-page[data-cp-component="conference_account"] form p { margin-bottom: 14px; }
.cp-detail-page[data-cp-component="conference_account"] label { color: var(--cp-text); font-size: 13px; font-weight: 750; }
.cp-detail-page[data-cp-component="conference_account"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.cp-detail-page[data-cp-component="conference_account"] select,
.cp-detail-page[data-cp-component="conference_account"] textarea {
 width: 100%;
 min-height: 48px;
 box-sizing: border-box;
 padding: 10px 13px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 10px;
 background: var(--cp-surface);
 color: var(--cp-text);
 font: inherit;
}
.cp-detail-page[data-cp-component="conference_account"] textarea { min-height: 110px; resize: vertical; }
.cp-detail-page[data-cp-component="conference_account"] input:focus-visible,
.cp-detail-page[data-cp-component="conference_account"] select:focus-visible,
.cp-detail-page[data-cp-component="conference_account"] textarea:focus-visible {
 outline: none;
 border-color: #7DB9E5;
 box-shadow: 0 0 0 3px color-mix(in srgb, #7DB9E5 24%, transparent);
}
.cp-detail-page[data-cp-component="conference_account"] input[type="checkbox"],
.cp-detail-page[data-cp-component="conference_account"] input[type="radio"] { accent-color: #FF5A2F; }
.cp-detail-page[data-cp-component="conference_account"] fieldset {
 margin: 20px 0;
 padding: 18px;
 border: 1px solid var(--cp-line);
 border-radius: 12px;
 background: color-mix(in srgb, #7DB9E5 4%, var(--cp-surface));
}

/* Buttons use the conference orange; secondary Woo actions remain clear. */
.cp-detail-page[data-cp-component="conference_account"] .button,
.cp-detail-page[data-cp-component="conference_account"] button[type="submit"],
.cp-detail-page[data-cp-component="conference_account"] input[type="submit"] {
 display: inline-flex !important;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 9px 18px !important;
 border: 1px solid #FF5A2F !important;
 border-radius: 10px !important;
 background: #FF5A2F !important;
 color: #fff !important;
 box-shadow: 0 7px 18px rgba(255, 90, 47, .18);
 font: inherit !important;
 font-weight: 825 !important;
 line-height: 1.2 !important;
 text-decoration: none !important;
 cursor: pointer;
 transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.cp-detail-page[data-cp-component="conference_account"] .button:hover,
.cp-detail-page[data-cp-component="conference_account"] button[type="submit"]:hover,
.cp-detail-page[data-cp-component="conference_account"] input[type="submit"]:hover {
 filter: brightness(1.04);
 transform: translateY(-1px);
 box-shadow: 0 10px 23px rgba(255, 90, 47, .25);
}

/* Orders, downloads and account tables. */
.cp-detail-page[data-cp-component="conference_account"] table.shop_table,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-table {
 width: 100%;
 margin: 0 0 20px !important;
 border: 1px solid var(--cp-line) !important;
 border-collapse: separate !important;
 border-spacing: 0;
 border-radius: 12px;
 overflow: hidden;
 background: var(--cp-surface);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_account"] table.shop_table th,
.cp-detail-page[data-cp-component="conference_account"] table.shop_table td,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table th,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table td,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-table th,
.cp-detail-page[data-cp-component="conference_account"] table.woocommerce-table td {
 padding: 13px 14px !important;
 border: 0 !important;
 border-bottom: 1px solid var(--cp-line) !important;
 color: var(--cp-text);
 vertical-align: middle;
}
.cp-detail-page[data-cp-component="conference_account"] table th {
 background: color-mix(in srgb, #7DB9E5 10%, var(--cp-surface));
 font-size: 12px;
 text-transform: uppercase;
 letter-spacing: .045em;
 font-weight: 850;
}
.cp-detail-page[data-cp-component="conference_account"] table tr:last-child > * { border-bottom: 0 !important; }

/* Addresses and two-column Woo sections. */
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-Addresses,
.cp-detail-page[data-cp-component="conference_account"] .u-columns {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 16px;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-Address,
.cp-detail-page[data-cp-component="conference_account"] .u-column1,
.cp-detail-page[data-cp-component="conference_account"] .u-column2 {
 width: auto !important;
 float: none !important;
 padding: 18px !important;
 border: 1px solid var(--cp-line);
 border-radius: 12px;
 background: var(--cp-surface);
}
.cp-detail-page[data-cp-component="conference_account"] address {
 margin-top: 12px;
 color: var(--cp-muted);
 font-style: normal;
 line-height: 1.65;
}

/* Notices and empty states. */
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-error,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-message,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-info {
 border: 1px solid var(--cp-line) !important;
 border-left: 4px solid #FF5A2F !important;
 border-top: 1px solid var(--cp-line) !important;
 border-radius: 11px;
 background: var(--cp-surface) !important;
 color: var(--cp-text) !important;
 padding: 14px 16px 14px 42px !important;
 margin: 0 0 18px !important;
 overflow-wrap: anywhere;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-info::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-message::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-error::before { color: #FF5A2F !important; }

/* Payment methods and order details. */
.cp-detail-page[data-cp-component="conference_account"] ul.woocommerce-PaymentMethods,
.cp-detail-page[data-cp-component="conference_account"] ul.wc_payment_methods,
.cp-detail-page[data-cp-component="conference_account"] ul.order_details {
 list-style: none !important;
 margin: 0 0 20px !important;
 padding: 0 !important;
}
.cp-detail-page[data-cp-component="conference_account"] ul.order_details {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
 gap: 10px;
}
.cp-detail-page[data-cp-component="conference_account"] ul.order_details li {
 float: none !important;
 width: auto !important;
 margin: 0 !important;
 padding: 14px !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 10px;
 background: var(--cp-surface);
 color: var(--cp-muted);
}
.cp-detail-page[data-cp-component="conference_account"] ul.order_details li strong { color: var(--cp-text); }

/* Login refinements requested after the live v1.4.20 check. */
.cp-detail-page[data-cp-component="conference_login"] .cp-detail__login-badge {
 border-color: #7DB9E5;
 background: color-mix(in srgb, #7DB9E5 18%, var(--cp-surface));
 box-shadow: 0 5px 15px color-mix(in srgb, #7DB9E5 13%, transparent);
}
.cp-detail-page[data-cp-component="conference_login"] .lost_password { margin-top: 12px; }

@media (max-width: 900px) {
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce:has(.woocommerce-MyAccount-navigation) {
  grid-template-columns: minmax(0, 1fr);
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li,
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li + li {
  flex: 1 1 150px;
  margin: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 0;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a { justify-content: center; padding-left: 12px; text-align: center; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a::before { display: none; }
}

@media (max-width: 767px) {
 body.cp-conference-account-page #main-content > .container { width: min(100% - 18px, 1500px); padding-top: 18px; }
 .cp-detail-page[data-cp-component="conference_account"][data-cp-detail] { padding: 0; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-card { padding: 20px 14px; border-radius: 16px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-hero { grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-badge { grid-column: 1 / -1; justify-self: start; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-mark { width: 48px; height: 48px; border-radius: 14px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-head { top: 10px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shoulders { bottom: 8px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy h1 { font-size: 29px; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation { padding: 8px; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 3px !important; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li,
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li + li { flex: 0 0 auto; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a { min-height: 40px; white-space: nowrap; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content,
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { padding: 16px 12px; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-Addresses,
 .cp-detail-page[data-cp-component="conference_account"] .u-columns { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page[data-cp-component="conference_account"] table.shop_table,
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table,
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* v1.4.22 — attendee-focused My Account navigation and dashboard vitality. */
.cp-detail-page[data-cp-component="conference_account"][data-cp-detail] {
 max-width: 1240px;
}

.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcuts {
 position: relative;
 z-index: 1;
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
 margin: 0 0 20px;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr) auto;
 align-items: center;
 gap: 12px;
 min-height: 92px;
 padding: 16px;
 border: 1px solid var(--cp-line);
 border-top: 3px solid #7DB9E5;
 border-radius: 14px;
 background:
  linear-gradient(135deg, color-mix(in srgb, #7DB9E5 8%, var(--cp-surface)), var(--cp-surface-soft));
 color: var(--cp-text) !important;
 text-decoration: none !important;
 box-shadow: 0 10px 26px rgba(12, 24, 31, .08);
 transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut--schedule {
 border-top-color: #FF5A2F;
 background:
  radial-gradient(circle at 0 0, color-mix(in srgb, #FF5A2F 15%, transparent), transparent 52%),
  var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut--orders {
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 15%, transparent), transparent 55%),
  var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut:hover {
 transform: translateY(-2px);
 border-color: color-mix(in srgb, #7DB9E5 68%, var(--cp-line));
 box-shadow: 0 14px 32px rgba(12, 24, 31, .13);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut-icon {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 42px;
 height: 42px;
 border-radius: 12px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: #7DB9E5;
 font-size: 20px;
 font-weight: 900;
 box-shadow: inset 0 0 0 1px color-mix(in srgb, #7DB9E5 28%, transparent);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut--schedule .cp-detail__account-shortcut-icon {
 background: #FF5A2F;
 color: #fff;
 box-shadow: 0 7px 18px rgba(255, 90, 47, .20);
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut strong {
 display: block;
 margin: 0 0 4px;
 color: var(--cp-text);
 font-size: 15px;
 line-height: 1.2;
 font-weight: 850;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut small {
 display: block;
 color: var(--cp-muted);
 font-size: 12px;
 line-height: 1.4;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut-arrow {
 color: #FF5A2F;
 font-size: 20px;
 font-weight: 900;
 transition: transform .16s ease;
}
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut:hover .cp-detail__account-shortcut-arrow {
 transform: translateX(3px);
}

/* Force a stable tab-above-content account layout regardless of Woo/theme float order. */
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-body > .woocommerce,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:has(.woocommerce-MyAccount-navigation) {
 display: block !important;
 width: 100% !important;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation {
 float: none !important;
 width: 100% !important;
 margin: 0 0 16px !important;
 padding: 0;
 border: 0;
 background: transparent;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 9px;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li + li {
 margin: 0 !important;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 align-items: center;
 justify-content: start;
 gap: 9px;
 min-height: 58px;
 padding: 10px 13px !important;
 border: 1px solid var(--cp-line);
 border-radius: 12px;
 background: var(--cp-surface-soft);
 color: var(--cp-muted);
 font-size: 13px;
 font-weight: 800;
 text-align: left;
 transform: none;
 box-shadow: 0 6px 18px rgba(12, 24, 31, .05);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a::before {
 position: static;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 32px;
 height: 32px;
 border-radius: 9px;
 background: color-mix(in srgb, #7DB9E5 12%, var(--cp-surface));
 color: #7DB9E5;
 font-size: 15px;
 font-weight: 900;
 line-height: 1;
 transition: none;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--dashboard a::before { content: '⌂'; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--orders a::before { content: '✓'; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--edit-account a::before { content: '✎'; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout a::before { content: '→'; }
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a:hover {
 transform: translateY(-1px);
 border-color: color-mix(in srgb, #7DB9E5 50%, var(--cp-line));
 background: color-mix(in srgb, #7DB9E5 8%, var(--cp-surface));
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation .is-active > a {
 border-color: #7DB9E5;
 background: color-mix(in srgb, #7DB9E5 15%, var(--cp-surface));
 color: var(--cp-text);
 box-shadow: inset 0 3px 0 #FF5A2F, 0 8px 20px rgba(12, 24, 31, .08);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation .is-active > a::before {
 width: 32px;
 height: 32px;
 background: #FF5A2F;
 color: #fff;
 box-shadow: 0 5px 12px rgba(255, 90, 47, .20);
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout {
 margin: 0 !important;
 padding: 0 !important;
 border: 0;
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout a {
 color: #FF5A2F;
 border-color: color-mix(in srgb, #FF5A2F 30%, var(--cp-line));
}
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation-link--customer-logout a::before {
 background: color-mix(in srgb, #FF5A2F 10%, var(--cp-surface));
 color: #FF5A2F;
}

.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content {
 float: none !important;
 width: 100% !important;
 min-height: 190px;
 padding: clamp(20px, 2.8vw, 30px);
 border: 1px solid var(--cp-line);
 border-left: 4px solid #7DB9E5;
 border-radius: 15px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 10%, transparent), transparent 34%),
  var(--cp-surface-soft);
 box-shadow: 0 10px 28px rgba(12, 24, 31, .06);
}
body.cp-account-endpoint-dashboard .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content::before {
 content: 'Account overview';
 display: block;
 margin: 0 0 14px;
 color: #FF5A2F;
 font-size: 12px;
 line-height: 1;
 font-weight: 900;
 letter-spacing: .08em;
 text-transform: uppercase;
}
body.cp-account-endpoint-dashboard .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content > p:first-of-type {
 margin: 0 0 12px;
 color: var(--cp-text);
 font-size: 18px;
 line-height: 1.45;
 font-weight: 700;
}
body.cp-account-endpoint-dashboard .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content > p + p {
 max-width: 72ch;
 margin-bottom: 0;
 font-size: 14px;
}

@media (max-width: 980px) {
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcuts {
  grid-template-columns: minmax(0, 1fr);
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut { min-height: 76px; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcuts { gap: 8px; }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut {
  min-height: 70px;
  padding: 12px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 17px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  overflow: visible;
  padding-bottom: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li,
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation li + li {
  flex: none;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a {
  justify-content: start;
  min-height: 52px;
  padding: 8px 10px !important;
  white-space: normal;
  text-align: left;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a::before { display: inline-flex; }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content {
  min-height: 0;
  padding: 17px 14px;
 }
}


/* v1.4.23 — account cleanup: remove redundant dashboard overview and neutralize theme-injected button glyphs. */

/* The conference dashboard already provides its own shortcuts; the stock Woo dashboard copy is redundant. */
body.cp-account-endpoint-dashboard
.cp-detail-page[data-cp-component="conference_account"]
.woocommerce-MyAccount-content {
 display: none !important;
}

/* Divi/Woo theme button pseudo-icons can overlap labels such as “Save changes” and “Browse products”.
   Conference action buttons use plain text labels only. */
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content .button::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content .button::after,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content button[type="submit"]::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-content button[type="submit"]::after,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) .button::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) .button::after,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) button[type="submit"]::before,
.cp-detail-page[data-cp-component="conference_account"] .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) button[type="submit"]::after,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-button::before,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-button::after,
.cp-detail-page[data-cp-component="conference_login"] button[type="submit"]::before,
.cp-detail-page[data-cp-component="conference_login"] button[type="submit"]::after {
 content: none !important;
 display: none !important;
}

/* v1.4.24 — final mobile account polish + conference Shop presentation. */

/* Account home should read as the calm blue home state, not another orange CTA. */
.cp-detail-page[data-cp-component="conference_account"]
.woocommerce-MyAccount-navigation-link--dashboard.is-active > a {
 border-color: #7DB9E5;
 background: color-mix(in srgb, #7DB9E5 15%, var(--cp-surface));
 box-shadow: 0 8px 20px rgba(12, 24, 31, .08);
}
.cp-detail-page[data-cp-component="conference_account"]
.woocommerce-MyAccount-navigation-link--dashboard.is-active > a::before {
 background: color-mix(in srgb, #7DB9E5 18%, var(--cp-surface));
 color: #7DB9E5;
 box-shadow: none;
}

/* Small-screen account density: preserve the design, remove excess vertical travel. */
@media (max-width: 767px) {
 body.cp-conference-account-page #main-content > .container {
  padding-top: 8px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__appearance {
  margin-bottom: 6px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-card {
  padding: 18px 12px 16px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-hero {
  gap: 10px 12px;
  padding-bottom: 18px;
  margin-bottom: 18px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-mark {
  width: 44px;
  height: 44px;
  border-radius: 13px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-head {
  top: 9px;
  width: 12px;
  height: 12px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shoulders {
  bottom: 7px;
  width: 24px;
  height: 14px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy h1 {
  font-size: 27px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-copy > p:last-child {
  margin-top: 6px;
  line-height: 1.45;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-badge {
  min-height: 32px;
  padding: 6px 10px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcuts {
  gap: 7px;
  margin-bottom: 14px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut {
  min-height: 64px;
  padding: 10px;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation {
  margin-bottom: 12px !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] .woocommerce-MyAccount-navigation a {
  min-height: 50px;
  font-size: 12px;
  line-height: 1.2;
 }
}

/* --------------------------------------------------------------------------
   Conference Shop / registration archive
   -------------------------------------------------------------------------- */
body.cp-conference-shop-page #main-content > .container {
 width: min(1500px, calc(100% - 32px));
 max-width: 1500px;
 padding-top: clamp(20px, 3vw, 38px);
}
body.cp-conference-shop-page #main-content > .container::before { display: none !important; }
body.cp-conference-shop-page #left-area {
 width: 100% !important;
 float: none !important;
 padding: 0 !important;
}
body.cp-conference-shop-page #sidebar { display: none !important; }
body.cp-conference-shop-page .woocommerce-breadcrumb,
body.cp-conference-shop-page .woocommerce-result-count,
body.cp-conference-shop-page .woocommerce-ordering { display: none !important; }
body.cp-programme-page-light.cp-conference-shop-page #main-content { background: #f5f6f7 !important; }
body.cp-programme-page-reading.cp-conference-shop-page #main-content { background: #f1eadb !important; }
body.cp-programme-page-dark.cp-conference-shop-page #main-content { background: #20272c !important; }

.cp-detail-page[data-cp-component="conference_shop"][data-cp-detail] {
 max-width: 1180px;
 margin: 0 auto clamp(32px, 5vw, 72px);
 padding: clamp(10px, 2vw, 18px);
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__appearance {
 margin-bottom: 12px;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__appearance button[aria-pressed="true"] {
 border-color: #7DB9E5;
 box-shadow: inset 0 0 0 1px color-mix(in srgb, #7DB9E5 32%, transparent);
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-card {
 position: relative;
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-top: 5px solid #FF5A2F;
 border-radius: 22px;
 background: var(--cp-surface);
 box-shadow: 0 22px 60px rgba(12, 24, 31, .16);
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-card::after {
 content: '';
 position: absolute;
 inset: 0 0 auto auto;
 width: 220px;
 height: 220px;
 border-radius: 0 0 0 100%;
 background: radial-gradient(circle at 100% 0%, color-mix(in srgb, #7DB9E5 20%, transparent), transparent 68%);
 pointer-events: none;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-hero {
 position: relative;
 z-index: 1;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 18px;
 padding-bottom: 24px;
 margin-bottom: 24px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-copy {
 min-width: 0;
 max-width: 66ch;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-copy .cp-detail__eyebrow {
 margin-bottom: 5px;
 color: #7DB9E5;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-copy h1 {
 font-size: clamp(30px, 4.2vw, 44px);
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-copy > p:last-child {
 margin: 9px 0 0;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-badge {
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid #7DB9E5;
 border-radius: 999px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 line-height: 1;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-products {
 position: relative;
 z-index: 1;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products {
 display: grid !important;
 grid-template-columns: minmax(0, 760px) !important;
 justify-content: center;
 gap: 18px !important;
 margin: 0 !important;
 padding: 0 !important;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products::before,
.cp-detail-page[data-cp-component="conference_shop"] ul.products::after { display: none !important; }
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product {
 position: relative;
 width: 100% !important;
 float: none !important;
 clear: none !important;
 margin: 0 !important;
 padding: clamp(22px, 3vw, 30px) !important;
 border: 1px solid var(--cp-line);
 border-top: 3px solid #7DB9E5;
 border-radius: 16px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 12%, transparent), transparent 42%),
  var(--cp-surface-soft);
 box-shadow: 0 12px 30px rgba(12, 24, 31, .08);
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product::before {
 content: 'ONLINE CONFERENCE ACCESS';
 display: inline-flex;
 margin: 0 0 14px;
 padding: 6px 9px;
 border-radius: 999px;
 background: color-mix(in srgb, #FF5A2F 12%, var(--cp-surface));
 color: #FF5A2F;
 font-size: 10px;
 line-height: 1;
 font-weight: 900;
 letter-spacing: .08em;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product a {
 color: var(--cp-text);
 text-decoration: none;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product img {
 max-width: 260px;
 height: auto !important;
 margin: 0 auto 18px !important;
 border-radius: 14px;
 object-fit: contain;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product img.woocommerce-placeholder {
 display: none !important;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .woocommerce-loop-product__title {
 margin: 0 0 10px !important;
 padding: 0 !important;
 color: var(--cp-text) !important;
 font-family: inherit;
 font-size: clamp(22px, 3vw, 30px) !important;
 line-height: 1.2;
 font-weight: 850;
 letter-spacing: -.02em;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .price {
 display: block;
 margin: 0 0 18px !important;
 color: #FF5A2F !important;
 font-size: clamp(22px, 2.6vw, 28px) !important;
 line-height: 1.2;
 font-weight: 850 !important;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .button {
 display: inline-flex !important;
 align-items: center;
 justify-content: center;
 min-height: 48px;
 margin: 0 !important;
 padding: 10px 22px !important;
 border: 1px solid #FF5A2F !important;
 border-radius: 11px !important;
 background: #FF5A2F !important;
 color: #fff !important;
 box-shadow: 0 8px 22px rgba(255, 90, 47, .20);
 font: inherit !important;
 font-weight: 850 !important;
 line-height: 1.2 !important;
 text-decoration: none !important;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .button::before,
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .button::after {
 content: none !important;
 display: none !important;
}
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .button:hover {
 filter: brightness(1.04);
 transform: translateY(-1px);
 box-shadow: 0 11px 26px rgba(255, 90, 47, .26);
}
.cp-detail-page[data-cp-component="conference_shop"] .woocommerce-message,
.cp-detail-page[data-cp-component="conference_shop"] .woocommerce-info,
.cp-detail-page[data-cp-component="conference_shop"] .woocommerce-error {
 border: 1px solid var(--cp-line) !important;
 border-left: 4px solid #FF5A2F !important;
 border-top: 1px solid var(--cp-line) !important;
 border-radius: 11px;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-text) !important;
}

@media (max-width: 767px) {
 body.cp-conference-shop-page #main-content > .container {
  width: min(100% - 18px, 1500px);
  padding-top: 8px;
 }
 .cp-detail-page[data-cp-component="conference_shop"][data-cp-detail] {
  padding: 0;
 }
 .cp-detail-page[data-cp-component="conference_shop"] .cp-detail__appearance {
  margin-bottom: 6px;
 }
 .cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-card {
  padding: 18px 14px;
  border-radius: 16px;
 }
 .cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-hero {
  display: grid;
  gap: 12px;
  padding-bottom: 18px;
  margin-bottom: 18px;
 }
 .cp-detail-page[data-cp-component="conference_shop"] .cp-detail__shop-badge {
  justify-self: start;
 }
 .cp-detail-page[data-cp-component="conference_shop"] ul.products li.product {
  padding: 18px !important;
 }
 .cp-detail-page[data-cp-component="conference_shop"] ul.products li.product .woocommerce-loop-product__title {
  font-size: 23px !important;
 }
}

/* --------------------------------------------------------------------------
   Single conference registration product
   -------------------------------------------------------------------------- */
body.cp-conference-registration-product #main-content > .container {
 width: min(1500px, calc(100% - 32px));
 max-width: 1500px;
 padding-top: clamp(20px, 3vw, 38px);
}
body.cp-conference-registration-product #main-content > .container::before { display: none !important; }
body.cp-conference-registration-product #left-area {
 width: 100% !important;
 float: none !important;
 padding: 0 !important;
}
body.cp-conference-registration-product #sidebar { display: none !important; }
body.cp-conference-registration-product .woocommerce-breadcrumb { display: none !important; }
body.cp-programme-page-light.cp-conference-registration-product #main-content { background: #f5f6f7 !important; }
body.cp-programme-page-reading.cp-conference-registration-product #main-content { background: #f1eadb !important; }
body.cp-programme-page-dark.cp-conference-registration-product #main-content { background: #20272c !important; }

.cp-detail-page[data-cp-component="conference_registration"][data-cp-detail] {
 max-width: 1180px;
 margin: 0 auto clamp(32px, 5vw, 72px);
 padding: clamp(10px, 2vw, 18px);
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__appearance { margin-bottom: 12px; }
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__appearance button[aria-pressed="true"] {
 border-color: #7DB9E5;
 box-shadow: inset 0 0 0 1px color-mix(in srgb, #7DB9E5 32%, transparent);
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-card {
 position: relative;
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-top: 5px solid #FF5A2F;
 border-radius: 22px;
 background: var(--cp-surface);
 box-shadow: 0 22px 60px rgba(12, 24, 31, .16);
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-card::after {
 content: '';
 position: absolute;
 inset: 0 0 auto auto;
 width: 220px;
 height: 220px;
 border-radius: 0 0 0 100%;
 background: radial-gradient(circle at 100% 0%, color-mix(in srgb, #7DB9E5 20%, transparent), transparent 68%);
 pointer-events: none;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero {
 position: relative;
 z-index: 1;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 18px;
 padding-bottom: 24px;
 margin-bottom: 24px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero > div { min-width: 0; max-width: 68ch; }
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero .cp-detail__eyebrow { color: #7DB9E5; }
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero h1 {
 margin: 0;
 color: var(--cp-text);
 font-family: inherit;
 font-size: clamp(30px, 4.2vw, 44px);
 line-height: 1.1;
 font-weight: 850;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero p:last-child {
 margin: 9px 0 0;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-badge {
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid #7DB9E5;
 border-radius: 999px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 line-height: 1;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-product {
 position: relative;
 z-index: 1;
}
.cp-detail-page[data-cp-component="conference_registration"] .product {
 display: grid;
 grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
 gap: clamp(24px, 4vw, 44px);
 margin: 0 !important;
 padding: clamp(22px, 3vw, 30px) !important;
 border: 1px solid var(--cp-line);
 border-top: 3px solid #7DB9E5;
 border-radius: 18px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 12%, transparent), transparent 42%),
  var(--cp-surface-soft);
 box-shadow: 0 12px 30px rgba(12, 24, 31, .08);
}
body.cp-conference-registration-no-image .cp-detail-page[data-cp-component="conference_registration"] .product {
 grid-template-columns: minmax(0, 760px);
 justify-content: center;
}
body.cp-conference-registration-no-image .cp-detail-page[data-cp-component="conference_registration"] .woocommerce-product-gallery {
 display: none !important;
}
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-product-gallery,
.cp-detail-page[data-cp-component="conference_registration"] .summary {
 float: none !important;
 width: 100% !important;
 margin: 0 !important;
 min-width: 0;
}
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-product-gallery img {
 display: block;
 width: 100%;
 height: auto;
 border-radius: 14px;
 object-fit: contain;
}
.cp-detail-page[data-cp-component="conference_registration"] .summary::before {
 content: 'ONLINE CONFERENCE ACCESS';
 display: inline-flex;
 margin: 0 0 14px;
 padding: 6px 9px;
 border-radius: 999px;
 background: color-mix(in srgb, #FF5A2F 12%, var(--cp-surface));
 color: #FF5A2F;
 font-size: 10px;
 line-height: 1;
 font-weight: 900;
 letter-spacing: .08em;
}
.cp-detail-page[data-cp-component="conference_registration"] .product_title {
 margin: 0 0 12px !important;
 padding: 0 !important;
 color: var(--cp-text) !important;
 font-family: inherit !important;
 font-size: clamp(28px, 3.8vw, 38px) !important;
 line-height: 1.15 !important;
 font-weight: 850 !important;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_registration"] .price {
 display: block;
 margin: 0 0 16px !important;
 color: #FF5A2F !important;
 font-size: clamp(28px, 3.2vw, 36px) !important;
 line-height: 1.2;
 font-weight: 900 !important;
}
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-product-details__short-description {
 margin: 0 0 18px;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.6;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-assurance {
 display: grid;
 gap: 9px;
 margin: 0 0 20px !important;
 padding: 0 !important;
 list-style: none !important;
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-assurance li {
 display: flex;
 align-items: flex-start;
 gap: 9px;
 margin: 0;
 font-size: 13px;
 line-height: 1.45;
}
.cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-assurance li > span {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 22px;
 width: 22px;
 height: 22px;
 border-radius: 50%;
 background: color-mix(in srgb, #7DB9E5 18%, var(--cp-surface));
 color: #7DB9E5;
 font-size: 12px;
 font-weight: 900;
}
.cp-detail-page[data-cp-component="conference_registration"] form.cart,
.cp-detail-page[data-cp-component="conference_registration"] .cart {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 10px;
 margin: 0 !important;
}
.cp-detail-page[data-cp-component="conference_registration"] .quantity input.qty {
 min-height: 50px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 10px;
 background: var(--cp-surface);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_registration"] .button,
.cp-detail-page[data-cp-component="conference_registration"] .single_add_to_cart_button {
 display: inline-flex !important;
 align-items: center;
 justify-content: center;
 min-height: 50px;
 padding: 11px 24px !important;
 border: 1px solid #FF5A2F !important;
 border-radius: 11px !important;
 background: #FF5A2F !important;
 color: #fff !important;
 box-shadow: 0 9px 24px rgba(255, 90, 47, .22);
 font: inherit !important;
 font-size: 15px !important;
 font-weight: 850 !important;
 line-height: 1.2 !important;
 text-decoration: none !important;
}
.cp-detail-page[data-cp-component="conference_registration"] .button::before,
.cp-detail-page[data-cp-component="conference_registration"] .button::after,
.cp-detail-page[data-cp-component="conference_registration"] .single_add_to_cart_button::before,
.cp-detail-page[data-cp-component="conference_registration"] .single_add_to_cart_button::after {
 content: none !important;
 display: none !important;
}
.cp-detail-page[data-cp-component="conference_registration"] .button:hover,
.cp-detail-page[data-cp-component="conference_registration"] .single_add_to_cart_button:hover {
 filter: brightness(1.04);
 transform: translateY(-1px);
 box-shadow: 0 12px 28px rgba(255, 90, 47, .28);
}
.cp-detail-page[data-cp-component="conference_registration"] .product_meta,
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-tabs,
.cp-detail-page[data-cp-component="conference_registration"] .related,
.cp-detail-page[data-cp-component="conference_registration"] .upsells { display: none !important; }
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-message,
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-info,
.cp-detail-page[data-cp-component="conference_registration"] .woocommerce-error {
 border: 1px solid var(--cp-line) !important;
 border-left: 4px solid #FF5A2F !important;
 border-top: 1px solid var(--cp-line) !important;
 border-radius: 11px;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-text) !important;
}

@media (max-width: 767px) {
 body.cp-conference-registration-product #main-content > .container {
  width: min(100% - 18px, 1500px);
  padding-top: 8px;
 }
 .cp-detail-page[data-cp-component="conference_registration"][data-cp-detail] { padding: 0; }
 .cp-detail-page[data-cp-component="conference_registration"] .cp-detail__appearance { margin-bottom: 6px; }
 .cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-card {
  padding: 18px 14px;
  border-radius: 16px;
 }
 .cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-hero {
  display: grid;
  gap: 12px;
  padding-bottom: 18px;
  margin-bottom: 18px;
 }
 .cp-detail-page[data-cp-component="conference_registration"] .cp-detail__registration-badge { justify-self: start; }
 .cp-detail-page[data-cp-component="conference_registration"] .product,
 body.cp-conference-registration-no-image .cp-detail-page[data-cp-component="conference_registration"] .product {
  grid-template-columns: minmax(0, 1fr);
  padding: 18px !important;
 }
 .cp-detail-page[data-cp-component="conference_registration"] .product_title { font-size: 26px !important; }
 .cp-detail-page[data-cp-component="conference_registration"] form.cart,
 .cp-detail-page[data-cp-component="conference_registration"] .cart { align-items: stretch; }
 .cp-detail-page[data-cp-component="conference_registration"] .button,
 .cp-detail-page[data-cp-component="conference_registration"] .single_add_to_cart_button { width: 100%; }
}

/* --------------------------------------------------------------------------
   Conference Help — explicit [iftcc_conference_help] Page component
   -------------------------------------------------------------------------- */
body.cp-programme-page-light.cp-conference-help-page #main-content { background: #f5f6f7 !important; }
body.cp-programme-page-reading.cp-conference-help-page #main-content { background: #f1eadb !important; }
body.cp-programme-page-dark.cp-conference-help-page #main-content { background: #20272c !important; }
.cp-detail-page[data-cp-component="conference_help"][data-cp-detail] {
 width: 100%;
 max-width: 1180px;
 margin: 0 auto;
 padding: clamp(10px, 2vw, 18px);
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__appearance { margin-bottom: 12px; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-card {
 position: relative;
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-top: 5px solid #FF5A2F;
 border-radius: 22px;
 background: var(--cp-surface);
 box-shadow: 0 22px 60px rgba(12, 24, 31, .14);
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-card::after {
 content: '';
 position: absolute;
 inset: 0 0 auto auto;
 width: 220px;
 height: 220px;
 border-radius: 0 0 0 100%;
 background: radial-gradient(circle at 100% 0%, color-mix(in srgb, #7DB9E5 20%, transparent), transparent 68%);
 pointer-events: none;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-hero {
 position: relative;
 z-index: 1;
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 18px;
 padding-bottom: 24px;
 margin-bottom: 22px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading {
 display: flex;
 align-items: center;
 gap: 16px;
 min-width: 0;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-mark {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 58px;
 width: 58px;
 height: 58px;
 border-radius: 15px;
 background: #FF5A2F;
 color: #fff;
 box-shadow: 0 12px 25px rgba(255, 90, 47, .22);
 font-size: 28px;
 font-weight: 900;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading .cp-detail__eyebrow { color: #7DB9E5; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading h1 {
 margin: 0;
 color: var(--cp-text);
 font-family: inherit;
 font-size: clamp(30px, 4.2vw, 44px);
 line-height: 1.1;
 font-weight: 850;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading p:last-child {
 margin: 7px 0 0;
 max-width: 66ch;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-badge {
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid #7DB9E5;
 border-radius: 999px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links {
 position: relative;
 z-index: 1;
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 12px;
 margin-bottom: 28px;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a {
 display: grid;
 grid-template-columns: 42px minmax(0, 1fr);
 gap: 10px;
 align-items: center;
 min-height: 86px;
 padding: 14px;
 border: 1px solid var(--cp-line);
 border-top: 3px solid #7DB9E5;
 border-radius: 14px;
 background: var(--cp-surface-soft);
 color: var(--cp-text);
 box-shadow: 0 8px 20px rgba(12, 24, 31, .06);
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a:first-child { border-top-color: #FF5A2F; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a > span {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 42px;
 height: 42px;
 border: 1px solid color-mix(in srgb, #7DB9E5 48%, var(--cp-line));
 border-radius: 11px;
 background: color-mix(in srgb, #7DB9E5 10%, var(--cp-surface));
 color: #7DB9E5;
 font-size: 18px;
 font-weight: 900;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a:first-child > span {
 border-color: color-mix(in srgb, #FF5A2F 50%, var(--cp-line));
 background: color-mix(in srgb, #FF5A2F 12%, var(--cp-surface));
 color: #FF5A2F;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links strong,
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links small { display: block; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links strong { font-size: 14px; line-height: 1.25; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links small { margin-top: 3px; color: var(--cp-muted); font-size: 11px; line-height: 1.35; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-section-heading { margin-bottom: 14px; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-section-heading .cp-detail__eyebrow { color: #FF5A2F; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-section-heading h2,
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support h2 {
 margin: 0;
 color: var(--cp-text);
 font-family: inherit;
 font-size: clamp(24px, 3vw, 32px);
 line-height: 1.2;
 font-weight: 850;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions {
 display: grid;
 gap: 9px;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions details {
 border: 1px solid var(--cp-line);
 border-radius: 13px;
 background: var(--cp-surface-soft);
 overflow: hidden;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions details[open] {
 border-color: color-mix(in srgb, #7DB9E5 54%, var(--cp-line));
 background: color-mix(in srgb, #7DB9E5 6%, var(--cp-surface-soft));
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions summary {
 position: relative;
 display: flex;
 align-items: center;
 min-height: 54px;
 padding: 13px 46px 13px 16px;
 color: var(--cp-text);
 cursor: pointer;
 font-size: 14px;
 line-height: 1.4;
 font-weight: 800;
 list-style: none;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions summary::-webkit-details-marker { display: none; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions summary::after {
 content: '+';
 position: absolute;
 right: 16px;
 top: 50%;
 transform: translateY(-50%);
 color: #7DB9E5;
 font-size: 22px;
 line-height: 1;
 font-weight: 700;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions details[open] summary::after { content: '–'; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions details > p {
 margin: 0;
 padding: 0 16px 16px;
 color: var(--cp-muted);
 font-size: 14px;
 line-height: 1.6;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-questions details a {
 color: #7DB9E5;
 text-decoration: underline;
 text-underline-offset: 3px;
 font-weight: 750;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 18px;
 margin-top: 26px;
 padding: 20px;
 border: 1px solid var(--cp-line);
 border-left: 4px solid #FF5A2F;
 border-radius: 15px;
 background: var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support .cp-detail__eyebrow { color: #FF5A2F; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support p:last-child {
 margin: 7px 0 0;
 max-width: 68ch;
 color: var(--cp-muted);
 font-size: 13px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-account-link {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 min-height: 46px;
 padding: 10px 16px;
 border: 1px solid #FF5A2F;
 border-radius: 10px;
 background: #FF5A2F;
 color: #fff;
 font-size: 13px;
 font-weight: 850;
 white-space: nowrap;
}

@media (max-width: 900px) {
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_help"][data-cp-detail] { padding: 0; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__appearance { margin-bottom: 6px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-card { padding: 18px 14px; border-radius: 16px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-hero { display: grid; gap: 12px; padding-bottom: 18px; margin-bottom: 18px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading { align-items: flex-start; gap: 12px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-mark { flex-basis: 48px; width: 48px; height: 48px; border-radius: 13px; font-size: 24px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-heading h1 { font-size: 29px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-badge { justify-self: start; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-bottom: 22px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a { min-height: 72px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support { display: grid; padding: 16px; }
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-account-link { justify-self: start; }
}

/* v1.4.26 — tablet/mobile density corrections only.
   Remove responsive dead space without changing approved desktop layouts or Programme. */

/* The Speakers shortcode can sit inside a Divi row with a narrower responsive width.
   On tablet/phone the application should use the available canvas, not inherit an 80% row. */
@media (max-width: 1024px) {
 body.cp-speakers-page .cp-programme-host-section > .et_pb_row:has([data-cp-component="iftcc_speakers"]) {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(10px, 2.4vw, 18px) !important;
  padding-right: clamp(10px, 2.4vw, 18px) !important;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-grid {
  align-items: start;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-grid > li,
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card {
  height: auto !important;
  min-height: 0 !important;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-action {
  margin-top: 12px !important;
  padding-top: 0 !important;
 }
}

@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speakers"][data-cp-detail] {
  padding: 14px 4px 18px;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-toolbar {
  margin-bottom: 4px;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-intro {
  gap: 12px;
  padding: 6px 0 16px;
  margin-bottom: 14px;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__speaker-card {
  padding: 12px;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-identity {
  gap: 12px;
 }
 .cp-detail-page[data-cp-component="iftcc_speakers"] .cp-detail__directory-action {
  margin-top: 10px !important;
 }
}

/* Woo's responsive table rules reserve roughly half of each order row for labels,
   which produced the large blank area seen on phones. Render each order as a compact card. */
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table thead {
  display: none !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody {
  display: grid !important;
  gap: 12px;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody tr {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 12px !important;
  border: 1px solid var(--cp-line) !important;
  border-radius: 12px;
  background: var(--cp-surface);
  overflow: hidden;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td {
  display: grid !important;
  grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100% !important;
  min-height: 0 !important;
  padding: 11px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cp-line) !important;
  text-align: left !important;
  float: none !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td:last-child {
  border-bottom: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td::before {
  content: attr(data-title) ":" !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--cp-text);
  font-weight: 850;
  text-align: left;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number::before {
  content: "Order:" !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  align-items: center;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
  justify-self: start;
  min-width: 88px;
 }
}

/* Tablet account pages should not inherit desktop-like empty gutters. */
@media (min-width: 768px) and (max-width: 1024px) {
 body.cp-conference-account-page #main-content > .container {
  width: calc(100% - 28px);
  max-width: none;
 }
 .cp-detail-page[data-cp-component="conference_account"][data-cp-detail] {
  max-width: none;
  padding-left: 8px;
  padding-right: 8px;
 }
}

/* v1.4.27 — finish responsive detail-page shell, Help contact and public Conference Home. */

/* Individual Speaker/Session pages: keep View Programme + appearance controls in one compact toolbar.
   This removes the large responsive dead band beneath the shared header without changing directories. */
body.cp-detail-single .cp-detail__page-toolbar {
 display: flex;
 align-items: center;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 4px 14px;
 margin: 0 0 14px;
}
body.cp-detail-single .cp-detail__page-toolbar .cp-detail__back,
body.cp-detail-single .cp-detail__page-toolbar .cp-detail__appearance {
 margin: 0;
}
body.cp-detail-single .cp-detail__page-toolbar .cp-detail__back { order: 1; }
body.cp-detail-single .cp-detail__page-toolbar .cp-detail__appearance { order: 2; }
body.cp-detail-single { overflow-x: hidden; }

@media (max-width: 1024px) {
 body.cp-detail-single .cp-detail-shell > .cp-detail-page {
  padding-top: 8px;
 }
 body.cp-detail-single .cp-detail__page-toolbar {
  margin-bottom: 10px;
 }
}
@media (max-width: 520px) {
 body.cp-detail-single .cp-detail__page-toolbar {
  gap: 4px 8px;
 }
 body.cp-detail-single .cp-detail__page-toolbar .cp-detail__appearance {
  gap: 2px;
 }
 body.cp-detail-single .cp-detail__page-toolbar .cp-detail__appearance button {
  min-height: 40px;
  padding: 6px 8px;
 }
 body.cp-detail-single .cp-detail__page-toolbar .cp-detail__back {
  min-height: 40px;
  font-size: 13px;
 }
}

/* Mobile Orders: WooCommerce uses a TH for Order number and TDs for the remaining fields.
   Treat both consistently so the order number is not lost and labels do not collide with values. */
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell,
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell {
  display: grid !important;
  grid-template-columns: minmax(88px, 32%) minmax(0, 1fr) !important;
  align-items: center;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 11px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cp-line) !important;
  text-align: left !important;
  float: none !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell:last-child,
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell:last-child {
  border-bottom: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell::before,
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell::before {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--cp-text);
  font-weight: 850;
  text-align: left;
 }
 .cp-detail-page[data-cp-component="conference_account"] table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before {
  content: "Order:" !important;
 }
}

/* Help — explicit Conference support address. */
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-email { margin-top: 8px !important; }
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-email a {
 color: #7DB9E5;
 font-weight: 850;
 text-decoration: underline;
 text-underline-offset: 3px;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support-actions {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 flex-wrap: wrap;
 gap: 10px;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-secondary-link {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 9px 14px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 10px;
 color: var(--cp-text);
 font-size: 13px;
 font-weight: 800;
}
@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-support-actions {
  justify-content: flex-start;
 }
}

/* Public Conference Home — explicitly placed shortcode on a normal WordPress/Divi Page. */
.cp-programme.cp-detail-component.cp-detail-page[data-cp-component="conference_home"] {
 max-width: 1500px;
 padding: clamp(16px, 2.6vw, 34px);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-detail__appearance {
 margin: 0 0 12px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero {
 position: relative;
 overflow: hidden;
 display: grid;
 grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
 gap: clamp(24px, 4vw, 54px);
 align-items: center;
 padding: clamp(28px, 5vw, 66px);
 border: 1px solid var(--cp-line);
 border-top: 6px solid #FF5A2F;
 border-radius: 24px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 20%, transparent), transparent 38%),
  var(--cp-surface);
 box-shadow: 0 22px 60px rgba(12, 24, 31, .12);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero-copy { position: relative; z-index: 1; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__date {
 margin: 0 0 10px;
 color: #7DB9E5;
 font-size: 16px;
 font-weight: 850;
 letter-spacing: .02em;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero h1 {
 max-width: 820px;
 font-size: clamp(38px, 6vw, 78px);
 line-height: 1.02;
 letter-spacing: -.045em;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__lead {
 max-width: 760px;
 margin: 18px 0 0;
 color: var(--cp-muted);
 font-size: clamp(17px, 1.6vw, 21px);
 line-height: 1.6;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__actions {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 24px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 min-height: 50px;
 padding: 11px 18px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 12px;
 background: var(--cp-surface-soft);
 color: var(--cp-text);
 font-size: 14px;
 font-weight: 850;
 text-decoration: none;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button--primary {
 border-color: #FF5A2F;
 background: #FF5A2F;
 color: #fff;
 box-shadow: 0 10px 26px rgba(255, 90, 47, .22);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__signin {
 margin: 15px 0 0;
 color: var(--cp-muted);
 font-size: 13px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__signin a,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading a {
 color: #7DB9E5;
 font-weight: 850;
 text-decoration: underline;
 text-underline-offset: 4px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card {
 position: relative;
 z-index: 1;
 padding: 24px;
 border: 1px solid color-mix(in srgb, #7DB9E5 52%, var(--cp-line));
 border-radius: 18px;
 background: color-mix(in srgb, #7DB9E5 7%, var(--cp-surface-raised));
 box-shadow: 0 16px 34px rgba(12, 24, 31, .11);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-kicker {
 display: inline-block;
 margin-bottom: 10px;
 color: #FF5A2F;
 font-size: 11px;
 line-height: 1.3;
 font-weight: 900;
 letter-spacing: .09em;
 text-transform: uppercase;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price .amount {
 color: var(--cp-text);
 font-size: clamp(34px, 4vw, 48px);
 line-height: 1.1;
 font-weight: 900;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price del { opacity: .58; margin-right: 8px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price ins { text-decoration: none; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card p {
 margin: 14px 0 18px;
 color: var(--cp-muted);
 font-size: 13px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card > a {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 color: #FF5A2F;
 font-size: 14px;
 font-weight: 900;
 text-decoration: underline;
 text-underline-offset: 4px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
 margin: 18px 0 0;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits > div {
 padding: 18px;
 border: 1px solid var(--cp-line);
 border-radius: 14px;
 background: var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits strong,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits span { display: block; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits strong { margin-bottom: 5px; font-size: 15px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits span { color: var(--cp-muted); font-size: 13px; line-height: 1.5; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section {
 margin-top: clamp(38px, 6vw, 72px);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading {
 margin-bottom: 18px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading h2 { font-size: clamp(28px, 3vw, 40px); }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading--split {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 16px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading--split > a { flex: 0 0 auto; font-size: 13px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathways {
 display: grid;
 grid-template-columns: repeat(5, minmax(0, 1fr));
 gap: 10px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway {
 --cp-home-pathway: #7DB9E5;
 display: flex;
 align-items: center;
 gap: 10px;
 min-height: 82px;
 padding: 14px;
 border: 1px solid var(--cp-line);
 border-top: 4px solid var(--cp-home-pathway);
 border-radius: 14px;
 background: var(--cp-surface);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway img { width: 42px; height: 42px; object-fit: contain; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway strong { font-size: 15px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speakers {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker {
 display: flex;
 align-items: center;
 gap: 13px;
 min-width: 0;
 padding: 14px;
 border: 1px solid var(--cp-line);
 border-top: 3px solid #7DB9E5;
 border-radius: 14px;
 background: var(--cp-surface);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker img {
 width: 78px;
 height: 78px;
 flex: 0 0 78px;
 border-radius: 12px;
 object-fit: cover;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker > span { min-width: 0; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker strong,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker small { display: block; overflow-wrap: anywhere; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker strong { font-size: 16px; line-height: 1.3; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker small { margin-top: 5px; color: var(--cp-muted); font-size: 12px; line-height: 1.45; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker .cp-detail__role-connector { color: var(--cp-muted); text-decoration: underline; text-decoration-color: #7DB9E5; text-underline-offset: 3px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__sessions {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session {
 --cp-home-session: #7DB9E5;
 display: flex;
 flex-direction: column;
 min-height: 190px;
 padding: 18px;
 border: 1px solid var(--cp-line);
 border-top: 5px solid var(--cp-home-session);
 border-radius: 15px;
 background: var(--cp-surface);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session-code {
 color: var(--cp-muted);
 font-size: 11px;
 font-weight: 900;
 letter-spacing: .07em;
 text-transform: uppercase;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session > strong { margin-top: 10px; font-size: 18px; line-height: 1.35; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session-meta { margin-top: 10px; color: var(--cp-muted); font-size: 13px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session-route {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 margin-top: auto;
 padding-top: 12px;
 border-top: 1px solid var(--cp-line);
 font-size: 13px;
 font-weight: 850;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__materials {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: 18px;
 align-items: center;
 margin-top: clamp(38px, 6vw, 72px);
 padding: clamp(22px, 4vw, 38px);
 border: 1px solid var(--cp-line);
 border-left: 5px solid #FF5A2F;
 border-radius: 18px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 14%, transparent), transparent 38%),
  var(--cp-surface-soft);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__materials-mark {
 display: grid;
 place-items: center;
 width: 58px;
 height: 58px;
 border-radius: 16px;
 background: #FF5A2F;
 color: #fff;
 font-size: 28px;
 font-weight: 900;
 box-shadow: 0 8px 22px rgba(255, 90, 47, .22);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__materials h2 { font-size: clamp(25px, 3vw, 36px); }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__materials p:last-child {
 max-width: 84ch;
 margin: 10px 0 0;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.65;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 24px;
 margin-top: 18px;
 padding: clamp(22px, 4vw, 36px);
 border-radius: 18px;
 background: #1c272d;
 color: #fff;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final h2 { color: #fff; font-size: clamp(28px, 3vw, 38px); }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final p:last-child { margin: 8px 0 0; max-width: 62ch; color: #cbd3d7; line-height: 1.55; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final .cp-detail__eyebrow { color: #7DB9E5; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final-action { display: flex; align-items: flex-end; flex-direction: column; gap: 10px; flex: 0 0 auto; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final-price,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final-price .amount { color: #fff; font-size: 30px; font-weight: 900; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final-price del { opacity: .65; margin-right: 6px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__final-price ins { text-decoration: none; }

/* Divi host rows for the public landing page should not recreate the historical blank-gutter issue. */
.cp-programme-host-section > .et_pb_row:has([data-cp-component="conference_home"]) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 auto !important;
 padding: 0 !important;
}

@media (max-width: 1024px) {
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card { max-width: 620px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__pathways { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speakers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__sessions { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
 .cp-programme.cp-detail-component.cp-detail-page[data-cp-component="conference_home"] { padding: 12px 6px 18px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-detail__appearance { margin-bottom: 8px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero { padding: 22px 16px; border-radius: 18px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero h1 { font-size: 42px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__lead { font-size: 17px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__actions { align-items: stretch; flex-direction: column; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__button { width: 100%; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card { padding: 18px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__benefits,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__pathways,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speakers { grid-template-columns: minmax(0, 1fr); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__section { margin-top: 34px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading--split { align-items: flex-start; flex-direction: column; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker img { width: 72px; height: 72px; flex-basis: 72px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__materials { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__final { align-items: stretch; flex-direction: column; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__final-action { align-items: stretch; }
}

/* v1.4.28 — final single Speaker/Session shell cleanup.
   Browser title/favicon behaviour is intentionally untouched. */

/* Let the dedicated single template follow the document width naturally.
   Avoid 100vw / negative-left corrections that can create a white gutter after rotation. */
body.cp-detail-single,
body.cp-detail-single #page-container,
body.cp-detail-single #et-main-area,
body.cp-detail-single #main-content.cp-detail-canvas {
 max-width: none !important;
 min-width: 0 !important;
}
body.cp-detail-single #page-container,
body.cp-detail-single #et-main-area {
 width: 100% !important;
 margin-left: 0 !important;
 margin-right: 0 !important;
}
body.cp-detail-single #main-content.cp-detail-canvas {
 width: 100% !important;
 margin: 0 !important;
 margin-left: 0 !important;
 left: auto !important;
 right: auto !important;
 transform: none !important;
 overflow-x: clip;
}
@supports not (overflow: clip) {
 body.cp-detail-single #main-content.cp-detail-canvas { overflow-x: hidden; }
}

/* Begin immediately below the shared header. These selectors do not depend on
   the body marker, so theme/body-class timing cannot recreate the old dead band. */
.cp-detail-page[data-cp-component="iftcc_speaker_page"],
.cp-detail-page[data-cp-component="iftcc_session_page"] {
 padding-top: 14px !important;
}
.cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar,
.cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar {
 display: grid !important;
 grid-template-columns: minmax(0, 1fr) auto;
 align-items: center;
 column-gap: 14px;
 row-gap: 4px;
 width: 100%;
 min-height: 44px;
 margin: 0 0 14px !important;
 padding: 0 !important;
}
.cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar .cp-detail__back,
.cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar .cp-detail__back {
 order: initial !important;
 justify-self: start;
 margin: 0 !important;
 min-height: 40px;
}
.cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar .cp-detail__appearance,
.cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar .cp-detail__appearance {
 order: initial !important;
 justify-self: end;
 flex-wrap: nowrap;
 margin: 0 !important;
}
.cp-detail-page[data-cp-component="iftcc_speaker_page"] > article,
.cp-detail-page[data-cp-component="iftcc_session_page"] > article {
 margin-top: 0 !important;
 padding-top: 0 !important;
}

@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speaker_page"],
 .cp-detail-page[data-cp-component="iftcc_session_page"] {
  padding-top: 8px !important;
 }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar {
  column-gap: 8px;
  margin-bottom: 10px !important;
 }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar .cp-detail__appearance button,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar .cp-detail__appearance button {
  min-height: 38px;
  padding: 5px 7px;
  font-size: 11px;
 }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar .cp-detail__back,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar .cp-detail__back {
  min-height: 38px;
  font-size: 13px;
 }
}

@media (max-width: 360px) {
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar {
  grid-template-columns: 1fr;
 }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar .cp-detail__appearance,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar .cp-detail__appearance {
  justify-self: start;
 }
}



/* v1.4.29 — interaction polish + compact single-page flow.
   Browser tab/title/favicon behaviour intentionally remains WordPress-owned. */

/* Collapse unused card-grid tracks so one or two cards do not leave large dead columns. */
.cp-detail-component .cp-detail__session-grid,
.cp-detail-component .cp-detail__resource-grid {
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

/* Single Speaker / Session pages: remove the remaining dead band below the shared header. */
.cp-detail-page[data-cp-component="iftcc_speaker_page"],
.cp-detail-page[data-cp-component="iftcc_session_page"] {
 padding-top: 2px !important;
}
.cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar,
.cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar {
 min-height: 40px;
 margin-bottom: 8px !important;
}

/* Homepage pathway tiles: visual response without implying a link where none exists. */
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway {
 transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway:hover {
 transform: translateY(-3px);
 border-color: color-mix(in srgb, var(--cp-home-pathway) 72%, var(--cp-line));
 background: color-mix(in srgb, var(--cp-home-pathway) 7%, var(--cp-surface));
 box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-home-pathway) 15%, transparent);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway:hover img {
 transform: scale(1.07);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway img {
 transition: transform .18s ease;
}

/* Homepage links/cards: make clickability obvious but keep the interface restrained. */
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card > a,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__signin a,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading a {
 transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, background-color .18s ease, opacity .18s ease;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker:hover,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session:hover {
 transform: translateY(-3px);
 border-color: #7DB9E5;
 box-shadow: 0 14px 30px rgba(12, 24, 31, .16);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session:hover {
 border-top-color: var(--cp-home-session);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker:hover img {
 transform: scale(1.035);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker img {
 transition: transform .18s ease;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__session:hover .cp-home__session-route,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker:hover strong {
 color: #7DB9E5;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button:hover {
 transform: translateY(-2px);
 border-color: #7DB9E5;
 box-shadow: 0 10px 24px rgba(12, 24, 31, .14);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button--primary:hover {
 border-color: #FF5A2F;
 background: #ff6a45;
 box-shadow: 0 14px 30px rgba(255, 90, 47, .28);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card > a:hover,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__signin a:hover,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading a:hover {
 color: #FF5A2F;
 text-decoration-thickness: 2px;
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card > a:hover span,
.cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading a:hover {
 transform: translateX(2px);
}

/* Existing clickable cards throughout Conference Platform get a consistent raised state. */
.cp-detail-component a.cp-detail__speaker-card,
.cp-detail-component a.cp-detail__session-card,
.cp-detail-component a.cp-detail__resource-card,
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a,
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut,
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product {
 will-change: transform;
}
.cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a:hover,
.cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut:hover,
.cp-detail-page[data-cp-component="conference_shop"] ul.products li.product:hover {
 transform: translateY(-3px);
 box-shadow: 0 14px 30px rgba(12, 24, 31, .15);
}

@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="iftcc_speaker_page"],
 .cp-detail-page[data-cp-component="iftcc_session_page"] {
  padding-top: 0 !important;
 }
 .cp-detail-page[data-cp-component="iftcc_speaker_page"] > .cp-detail__page-toolbar,
 .cp-detail-page[data-cp-component="iftcc_session_page"] > .cp-detail__page-toolbar {
  margin-bottom: 6px !important;
 }
}

@media (hover: none) {
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway:hover,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker:hover,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__session:hover,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__button:hover,
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a:hover,
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut:hover,
 .cp-detail-page[data-cp-component="conference_shop"] ul.products li.product:hover {
  transform: none;
 }
}

@media (prefers-reduced-motion: reduce) {
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__pathway img,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__speaker img,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__session,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__button,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__price-card > a,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__signin a,
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__section-heading a,
 .cp-detail-page[data-cp-component="conference_help"] .cp-detail__help-links a,
 .cp-detail-page[data-cp-component="conference_account"] .cp-detail__account-shortcut,
 .cp-detail-page[data-cp-component="conference_shop"] ul.products li.product {
  transition: none !important;
 }
}


/* v1.4.30 — Speaker/Session single pages now live inside normal Divi Theme Builder bodies.
   Do not take over template_include. This mirrors the already-stable Speakers/Programme page shell
   and removes the persistent layout/dead-space fight caused by a parallel custom document canvas. */
.cp-programme-host-section:has([data-cp-component="iftcc_speaker_page"]),
.cp-programme-host-section:has([data-cp-component="iftcc_session_page"]) {
 padding-top: 0 !important;
 padding-bottom: 0 !important;
 background: var(--cp-page, #F4F5F5) !important;
}
.cp-programme-host-section > .et_pb_row:has([data-cp-component="iftcc_speaker_page"]),
.cp-programme-host-section > .et_pb_row:has([data-cp-component="iftcc_session_page"]) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 auto !important;
 padding: 0 !important;
}
.cp-programme-host-section .et_pb_column:has([data-cp-component="iftcc_speaker_page"]),
.cp-programme-host-section .et_pb_column:has([data-cp-component="iftcc_session_page"]),
.cp-programme-host-section .et_pb_code:has([data-cp-component="iftcc_speaker_page"]),
.cp-programme-host-section .et_pb_code:has([data-cp-component="iftcc_session_page"]),
.cp-programme-host-section .et_pb_code_inner:has([data-cp-component="iftcc_speaker_page"]),
.cp-programme-host-section .et_pb_code_inner:has([data-cp-component="iftcc_session_page"]) {
 margin-top: 0 !important;
 margin-bottom: 0 !important;
 padding-top: 0 !important;
 padding-bottom: 0 !important;
}
.cp-programme-host-section [data-cp-component="iftcc_speaker_page"],
.cp-programme-host-section [data-cp-component="iftcc_session_page"] {
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 border-radius: 0;
}

/* --------------------------------------------------------------------------
   Conference checkout — WooCommerce Checkout Block inside the conference UI
   WooCommerce remains authoritative for totals, fields, validation and payment.
   -------------------------------------------------------------------------- */
body.cp-conference-checkout-page #main-content {
 background: #f5f6f7 !important;
}
body.cp-programme-page-reading.cp-conference-checkout-page #main-content { background: #f1eadb !important; }
body.cp-programme-page-dark.cp-conference-checkout-page #main-content { background: #20272c !important; }
body.cp-conference-checkout-page #main-content > .container {
 width: 100% !important;
 max-width: none !important;
 padding: 0 !important;
}
body.cp-conference-checkout-page #main-content > .container::before { display: none !important; }
body.cp-conference-checkout-page #left-area {
 width: 100% !important;
 float: none !important;
 padding: 0 !important;
}
body.cp-conference-checkout-page #sidebar { display: none !important; }
body.cp-conference-checkout-page .entry-title,
body.cp-conference-checkout-page h1.entry-title,
body.cp-conference-checkout-page .et_post_meta_wrapper { display: none !important; }
body.cp-conference-checkout-page article,
body.cp-conference-checkout-page .entry-content { margin: 0 !important; padding: 0 !important; }

.cp-detail-page[data-cp-component="conference_checkout"][data-cp-detail] {
 width: min(1180px, calc(100% - 32px));
 max-width: 1180px;
 margin: 0 auto;
 padding: clamp(14px, 2vw, 24px) 0 clamp(34px, 5vw, 64px);
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__appearance {
 margin: 0 0 12px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-card {
 position: relative;
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-top: 5px solid #FF5A2F;
 border-radius: 20px;
 background:
  radial-gradient(circle at 100% 0, color-mix(in srgb, #7DB9E5 13%, transparent), transparent 34%),
  var(--cp-surface);
 box-shadow: var(--cp-shadow-raised);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 20px;
 padding-bottom: 22px;
 margin-bottom: 16px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero > div {
 min-width: 0;
 max-width: 720px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero .cp-detail__eyebrow {
 margin: 0 0 8px;
 color: var(--cp-text);
 font-size: 11px;
 font-weight: 900;
 letter-spacing: .1em;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero h1 {
 margin: 0;
 padding: 0;
 color: var(--cp-text);
 font-family: inherit;
 font-size: clamp(30px, 4vw, 44px);
 line-height: 1.08;
 font-weight: 850;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero p:last-child {
 margin: 10px 0 0;
 color: var(--cp-muted);
 font-size: 15px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-badge {
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid #7DB9E5;
 border-radius: 999px;
 background: color-mix(in srgb, #7DB9E5 14%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 line-height: 1;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-assurance {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 10px;
 margin: 0 0 24px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-assurance > span {
 display: flex;
 align-items: center;
 gap: 8px;
 min-width: 0;
 padding: 10px 12px;
 border: 1px solid var(--cp-line);
 border-radius: 11px;
 background: var(--cp-surface-soft);
 color: var(--cp-muted);
 font-size: 12px;
 line-height: 1.35;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-assurance b {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 20px;
 width: 20px;
 height: 20px;
 border-radius: 50%;
 background: color-mix(in srgb, #10C875 16%, var(--cp-surface));
 color: #10C875;
 font-size: 11px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-block {
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_checkout"] .wp-block-woocommerce-checkout,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-checkout,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar-layout {
 width: 100% !important;
 max-width: none !important;
 margin: 0 !important;
 color: var(--cp-text) !important;
 font-family: inherit !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-main,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar {
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-main {
 padding-right: clamp(18px, 3vw, 30px) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar {
 padding-left: clamp(18px, 3vw, 30px) !important;
 border-left: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-checkout-step,
 .wc-block-components-express-payment,
 .wc-block-components-address-card,
 .wc-block-components-radio-control,
 .wc-block-components-order-summary,
 .wc-block-components-totals-wrapper,
 .wc-block-components-panel
) {
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step {
 margin: 0 0 14px !important;
 padding: 18px !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 14px !important;
 background: var(--cp-surface-soft) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step__heading {
 margin-bottom: 14px !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-checkout-step__title,
 .wc-block-components-title,
 .wc-block-components-totals-item__label,
 .wc-block-components-order-summary-item__description,
 .wc-block-components-product-name
) {
 color: var(--cp-text) !important;
 font-family: inherit !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step__title,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-title {
 font-weight: 800 !important;
 letter-spacing: -.01em;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-checkout-step__description,
 .wc-block-components-product-metadata,
 .wc-block-components-order-summary-item__individual-prices,
 .wc-block-components-totals-item__description,
 .wc-block-components-radio-control__description,
 .wc-block-components-checkbox__label
) {
 color: var(--cp-muted) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-text-input input,
 .wc-block-components-combobox-control input,
 .wc-block-components-textarea,
 .wc-block-components-country-input select,
 .wc-block-components-state-input select,
 select
) {
 border: 1px solid var(--cp-line-strong) !important;
 border-radius: 9px !important;
 background: var(--cp-surface) !important;
 color: var(--cp-text) !important;
 box-shadow: none !important;
 font-family: inherit !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-text-input label,
 .wc-block-components-combobox-control label,
 .wc-block-components-form .wc-block-components-text-input label
) {
 color: var(--cp-muted) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(input, textarea, select):focus {
 border-color: #7DB9E5 !important;
 outline: 2px solid color-mix(in srgb, #7DB9E5 28%, transparent) !important;
 outline-offset: 1px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-address-card {
 border: 1px solid var(--cp-line) !important;
 border-radius: 11px !important;
 background: var(--cp-surface) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-radio-control {
 border: 1px solid var(--cp-line) !important;
 border-radius: 11px !important;
 background: var(--cp-surface) !important;
 overflow: hidden;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-radio-control__option {
 border-color: var(--cp-line) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-radio-control__option-checked {
 background: color-mix(in srgb, #7DB9E5 9%, var(--cp-surface)) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment {
 margin: 0 0 18px !important;
 padding: 16px !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 13px !important;
 background: var(--cp-surface) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment__title-container::before,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment__title-container::after,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment-continue-rule::before,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment-continue-rule::after {
 background: var(--cp-line) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment__title,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-express-payment-continue-rule {
 color: var(--cp-muted) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-order-summary,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-totals-wrapper,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-panel {
 border-color: var(--cp-line) !important;
 background: var(--cp-surface) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar > :first-child,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-child {
 border-radius: 14px 14px 0 0;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-totals-item__value,
 .wc-block-components-order-summary-item__total-price,
 .wc-block-components-formatted-money-amount,
 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value
) {
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-totals-footer-item {
 border-top: 1px solid var(--cp-line) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-place-order-button {
 min-height: 52px !important;
 border: 1px solid #FF5A2F !important;
 border-radius: 11px !important;
 background: #FF5A2F !important;
 color: #171717 !important;
 box-shadow: 0 9px 24px rgba(255, 90, 47, .22) !important;
 font-family: inherit !important;
 font-size: 15px !important;
 font-weight: 850 !important;
 transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-place-order-button:hover:not(:disabled) {
 transform: translateY(-1px);
 filter: brightness(1.04);
 box-shadow: 0 12px 28px rgba(255, 90, 47, .28) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-panel__button,
 .wc-block-components-totals-coupon-link,
 .wc-block-components-address-card__edit
) {
 color: var(--cp-text) !important;
 font-weight: 750 !important;
 text-underline-offset: 3px;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkbox .wc-block-components-checkbox__input {
 accent-color: #FF5A2F;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-validation-error,
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-notice-banner {
 border-radius: 10px !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-notice-banner {
 border: 1px solid var(--cp-line) !important;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_checkout"] a:not(.wc-block-components-button) {
 color: var(--cp-text);
 text-decoration: underline;
 text-underline-offset: 3px;
}

@media (max-width: 900px) {
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-assurance {
  grid-template-columns: minmax(0, 1fr);
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-main,
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-left: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-sidebar {
  margin-top: 18px !important;
 }
}

@media (max-width: 767px) {
 .cp-detail-page[data-cp-component="conference_checkout"][data-cp-detail] {
  width: min(100% - 18px, 1180px);
  padding-top: 8px;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__appearance { margin-bottom: 6px; }
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-card {
  padding: 18px 12px;
  border-radius: 16px;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero {
  display: grid;
  gap: 12px;
  padding-bottom: 16px;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-badge { justify-self: start; }
 .cp-detail-page[data-cp-component="conference_checkout"] .cp-detail__checkout-hero h1 { font-size: 30px; }
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step {
  padding: 14px !important;
  border-radius: 11px !important;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step__container {
  margin-left: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_checkout"] .wc-block-components-checkout-step__heading {
  padding-left: 0 !important;
 }
}

/* ========================================================================== 
   CONFERENCE LOBBY — dashboard composition
   ========================================================================== */
.cp-programme-host-section > .et_pb_row:has([data-cp-component="iftcc_conference_lobby"]) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 auto !important;
 padding: 0 !important;
}
.cp-programme-host-section .et_pb_column:has([data-cp-component="iftcc_conference_lobby"]),
.cp-programme-host-section .et_pb_code:has([data-cp-component="iftcc_conference_lobby"]),
.cp-programme-host-section .et_pb_code_inner:has([data-cp-component="iftcc_conference_lobby"]) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 !important;
 padding: 0 !important;
}
.cp-programme.cp-detail-component.cp-detail-page.cp-lobby {
 width: min(1500px, calc(100% - 36px));
 max-width: 1500px;
 margin: 0 auto;
 padding: clamp(20px, 2.6vw, 38px) 0 clamp(42px, 5vw, 72px);
 background: transparent;
 border-radius: 0;
}
.cp-lobby .cp-detail__appearance { margin-bottom: 10px; }
.cp-lobby__hero {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr);
 gap: clamp(24px, 3vw, 48px);
 align-items: stretch;
 overflow: hidden;
 padding: clamp(28px, 4vw, 52px);
 border: 1px solid var(--cp-line);
 border-top: 4px solid var(--cp-orange);
 border-radius: 24px;
 background:
  radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--cp-blue) 22%, transparent), transparent 34%),
  linear-gradient(135deg, color-mix(in srgb, var(--cp-orange) 8%, var(--cp-surface)) 0%, var(--cp-surface) 46%, color-mix(in srgb, var(--cp-blue) 8%, var(--cp-surface)) 100%);
 box-shadow: var(--cp-shadow-raised);
}
.cp-lobby__hero::after {
 content: "";
 position: absolute;
 right: -70px;
 bottom: -110px;
 width: 300px;
 height: 300px;
 border: 54px solid color-mix(in srgb, var(--cp-orange) 10%, transparent);
 border-radius: 50%;
 pointer-events: none;
}
.cp-lobby__hero-copy, .cp-lobby__hero-side { position: relative; z-index: 1; min-width: 0; }
.cp-lobby__hero h1 {
 margin: 5px 0 0;
 padding: 0;
 color: var(--cp-text);
 font-size: clamp(38px, 4.8vw, 70px);
 line-height: .98;
 letter-spacing: -.045em;
 font-weight: 900;
}
.cp-lobby__lead {
 max-width: 72ch;
 margin: 16px 0 0;
 color: var(--cp-muted);
 font-size: clamp(15px, 1.2vw, 18px);
 line-height: 1.58;
}
.cp-lobby__hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.cp-lobby__button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 min-height: 44px;
 padding: 11px 16px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 12px;
 background: var(--cp-surface-raised);
 color: var(--cp-text) !important;
 font-size: 13px;
 line-height: 1;
 font-weight: 850;
 transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.cp-lobby__button:hover { transform: translateY(-1px); border-color: var(--cp-blue); box-shadow: var(--cp-shadow); }
.cp-lobby__button--primary { border-color: var(--cp-orange); background: var(--cp-orange); color: #fff !important; }
.cp-lobby__button--primary:hover { background: #e94a22; border-color: #e94a22; color: #fff !important; }
.cp-lobby__hero-side { display: flex; flex-direction: column; gap: 12px; }
.cp-lobby__status-card {
 display: flex;
 flex-direction: column;
 justify-content: center;
 min-height: 128px;
 padding: 20px;
 border: 1px solid var(--cp-line);
 border-radius: 18px;
 background: color-mix(in srgb, var(--cp-blue) 7%, var(--cp-surface-raised));
}
.cp-lobby__status-card.is-live { border-color: color-mix(in srgb, var(--cp-live, #10c875) 55%, var(--cp-line)); background: color-mix(in srgb, #10c875 10%, var(--cp-surface-raised)); }
.cp-lobby__status-kicker, .cp-lobby__section-kicker { margin: 0 0 4px; color: var(--cp-muted); font-size: 10px; line-height: 1.2; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cp-lobby__status-card strong { display: block; color: var(--cp-text); font-size: clamp(24px, 2.3vw, 34px); line-height: 1.05; letter-spacing: -.025em; }
.cp-lobby__status-card > span:last-child { margin-top: 6px; color: var(--cp-muted); font-size: 13px; }
.cp-lobby__stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cp-lobby__stat-grid > div { min-width: 0; padding: 14px 10px; border: 1px solid var(--cp-line); border-radius: 14px; background: var(--cp-surface-soft); text-align: center; }
.cp-lobby__stat-grid strong { display: block; color: var(--cp-text); font-size: 24px; line-height: 1; }
.cp-lobby__stat-grid span { display: block; margin-top: 6px; color: var(--cp-muted); font-size: 10px; line-height: 1.25; }
.cp-lobby__dashboard { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 380px); gap: clamp(24px, 3vw, 38px); align-items: start; margin-top: 28px; }
.cp-lobby__main, .cp-lobby__aside { min-width: 0; }
.cp-lobby__main { display: flex; flex-direction: column; gap: 26px; }
.cp-lobby__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 110px; }
.cp-lobby__section, .cp-lobby__panel {
 padding: clamp(20px, 2.4vw, 28px);
 border: 1px solid var(--cp-line);
 border-radius: 20px;
 background: var(--cp-surface);
 box-shadow: var(--cp-shadow);
}
.cp-lobby__section--live { border-top: 3px solid #10c875; }
.cp-lobby__section-head, .cp-lobby__panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.cp-lobby__section-head h2, .cp-lobby__panel h2 { margin: 0; padding: 0; color: var(--cp-text); font-size: clamp(24px, 2.2vw, 31px); line-height: 1.05; letter-spacing: -.025em; font-weight: 900; }
.cp-lobby__section-head > a { color: var(--cp-blue) !important; font-size: 12px; font-weight: 850; white-space: nowrap; }
.cp-lobby__section-head > a:hover { color: var(--cp-orange) !important; }
.cp-lobby__session-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cp-lobby__session-grid--live { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cp-lobby-session {
 position: relative;
 display: flex;
 flex-direction: column;
 min-width: 0;
 min-height: 188px;
 padding: 17px;
 overflow: hidden;
 border: 1px solid var(--cp-line);
 border-top: 4px solid var(--cp-lobby-pathway, var(--cp-blue));
 border-radius: 15px;
 background: var(--cp-surface-raised);
 transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.cp-lobby-session:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--cp-lobby-pathway) 60%, var(--cp-line)); box-shadow: var(--cp-shadow-raised); }
.cp-lobby-session__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cp-lobby-session__room { display: inline-flex; align-items: center; gap: 6px; color: var(--cp-lobby-pathway); font-size: 10px; line-height: 1.2; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.cp-lobby-session__room img { width: 19px; height: 19px; object-fit: contain; }
.cp-lobby-session__saved { color: var(--cp-orange); font-size: 10px; font-weight: 850; }
.cp-lobby-session h3 { margin: 12px 0 0; font-size: 18px; line-height: 1.25; }
.cp-lobby-session__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 9px; color: var(--cp-muted); font-size: 11px; font-weight: 700; }
.cp-lobby-session__speaker { margin: 7px 0 0; color: var(--cp-muted); font-size: 12px; line-height: 1.4; }
.cp-lobby-session__actions { margin-top: auto; padding-top: 13px; }
.cp-lobby-session__primary { display: inline-flex; align-items: center; color: var(--cp-blue) !important; font-size: 12px; font-weight: 900; }
.cp-lobby-session__primary:hover { color: var(--cp-orange) !important; }
.cp-lobby-session__primary.is-live { padding: 8px 11px; border-radius: 9px; background: #10c875; color: #0c241a !important; }
.cp-lobby-session__primary.is-live:hover { background: var(--cp-orange); color: #fff !important; }
.cp-lobby__empty-live { display: flex; align-items: center; gap: 14px; min-height: 96px; padding: 18px; border: 1px dashed var(--cp-line-strong); border-radius: 14px; background: var(--cp-surface-soft); }
.cp-lobby__empty-live strong { display: block; color: var(--cp-text); font-size: 15px; }
.cp-lobby__empty-live p, .cp-lobby__empty { margin: 5px 0 0; color: var(--cp-muted); font-size: 13px; line-height: 1.45; }
.cp-lobby__pulse { width: 13px; height: 13px; flex: 0 0 13px; border-radius: 50%; background: #10c875; box-shadow: 0 0 0 7px color-mix(in srgb, #10c875 18%, transparent); }
.cp-lobby__panel { padding: 20px; }
.cp-lobby__my-conference { border-top: 3px solid var(--cp-orange); }
.cp-lobby__heart { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: color-mix(in srgb, var(--cp-orange) 12%, var(--cp-surface-soft)); color: var(--cp-orange); font-size: 18px; }
.cp-lobby__saved-list { display: flex; flex-direction: column; }
.cp-lobby__saved-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--cp-line); }
.cp-lobby__saved-row:first-child { border-top: 0; padding-top: 0; }
.cp-lobby__saved-time { color: var(--cp-lobby-pathway); font-size: 11px; font-weight: 900; }
.cp-lobby__saved-copy { min-width: 0; }
.cp-lobby__saved-copy strong, .cp-lobby__saved-copy small { display: block; overflow: hidden; text-overflow: ellipsis; }
.cp-lobby__saved-copy strong { color: var(--cp-text); font-size: 12px; line-height: 1.35; }
.cp-lobby__saved-copy small { margin-top: 3px; color: var(--cp-muted); font-size: 10px; }
.cp-lobby__saved-row > span:last-child { color: var(--cp-muted); }
.cp-lobby__saved-row:hover .cp-lobby__saved-copy strong, .cp-lobby__saved-row:hover > span:last-child { color: var(--cp-orange); }
.cp-lobby__saved-empty { padding: 18px; border: 1px dashed var(--cp-line-strong); border-radius: 14px; background: var(--cp-surface-soft); text-align: center; }
.cp-lobby__saved-empty > span { display: block; color: var(--cp-orange); font-size: 28px; }
.cp-lobby__saved-empty strong { display: block; margin-top: 5px; color: var(--cp-text); }
.cp-lobby__saved-empty p { margin: 5px 0 0; color: var(--cp-muted); font-size: 12px; line-height: 1.45; }
.cp-lobby__panel-link { display: block; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--cp-line); color: var(--cp-blue) !important; font-size: 12px; font-weight: 900; }
.cp-lobby__panel-link:hover { color: var(--cp-orange) !important; }
.cp-lobby__quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
.cp-lobby__quick-grid a { display: flex; flex-direction: column; min-height: 104px; padding: 13px; border: 1px solid var(--cp-line); border-radius: 13px; background: var(--cp-surface-soft); }
.cp-lobby__quick-grid a:hover { border-color: var(--cp-blue); transform: translateY(-1px); }
.cp-lobby__quick-icon { color: var(--cp-orange); font-size: 18px; line-height: 1; }
.cp-lobby__quick-grid strong { margin-top: auto; color: var(--cp-text); font-size: 12px; }
.cp-lobby__quick-grid small { margin-top: 3px; color: var(--cp-muted); font-size: 9px; }
.cp-lobby__later-list { display: flex; flex-direction: column; }
.cp-lobby__later-row { display: grid; grid-template-columns: 52px 9px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 58px; padding: 8px 2px; border-top: 1px solid var(--cp-line); }
.cp-lobby__later-row:first-child { border-top: 0; }
.cp-lobby__later-time { color: var(--cp-text); font-size: 11px; font-weight: 900; }
.cp-lobby__later-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cp-lobby-pathway); }
.cp-lobby__later-copy { min-width: 0; }
.cp-lobby__later-copy strong, .cp-lobby__later-copy small { display: block; }
.cp-lobby__later-copy strong { color: var(--cp-text); font-size: 12px; line-height: 1.35; }
.cp-lobby__later-copy small { margin-top: 2px; color: var(--cp-muted); font-size: 10px; }
.cp-lobby__later-row > span:last-child { color: var(--cp-muted); }
.cp-lobby__later-row:hover .cp-lobby__later-copy strong, .cp-lobby__later-row:hover > span:last-child { color: var(--cp-orange); }

@media (max-width: 1100px) {
 .cp-lobby__hero { grid-template-columns: minmax(0, 1fr); }
 .cp-lobby__hero-side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .cp-lobby__stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .cp-lobby__dashboard { grid-template-columns: minmax(0, 1fr); }
 .cp-lobby__aside { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .cp-programme.cp-detail-component.cp-detail-page.cp-lobby { width: min(100% - 16px, 1500px); padding: 12px 0 30px; }
 .cp-lobby .cp-detail__appearance { margin: 0 4px 8px; }
 .cp-lobby__hero { gap: 20px; padding: 22px 16px; border-radius: 18px; }
 .cp-lobby__hero h1 { font-size: clamp(34px, 11vw, 48px); }
 .cp-lobby__hero-actions { flex-direction: column; }
 .cp-lobby__button { width: 100%; }
 .cp-lobby__hero-side { display: flex; }
 .cp-lobby__stat-grid { gap: 6px; }
 .cp-lobby__stat-grid > div { padding: 12px 6px; }
 .cp-lobby__stat-grid strong { font-size: 20px; }
 .cp-lobby__dashboard { margin-top: 16px; gap: 16px; }
 .cp-lobby__main, .cp-lobby__aside { gap: 16px; }
 .cp-lobby__aside { display: flex; }
 .cp-lobby__section, .cp-lobby__panel { padding: 16px; border-radius: 16px; }
 .cp-lobby__section-head { align-items: flex-start; }
 .cp-lobby__section-head h2, .cp-lobby__panel h2 { font-size: 24px; }
 .cp-lobby__session-grid, .cp-lobby__session-grid--live { grid-template-columns: minmax(0, 1fr); }
 .cp-lobby-session { min-height: 0; }
 .cp-lobby__quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .cp-lobby__later-row { grid-template-columns: 46px 8px minmax(0, 1fr) auto; }
}

/* ========================================================================== */
/* v1.4.36 — annual conference homepage                                      */
/* ========================================================================== */
.cp-detail-page[data-cp-component="conference_home"].cp-home { --cp-home-art: var(--cp-home-hero-art, none); }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual {
 position: relative;
 display: block;
 min-height: clamp(410px, 48vw, 610px);
 overflow: hidden;
 padding: clamp(40px, 6vw, 78px);
 border: 1px solid var(--cp-line);
 border-top: 5px solid var(--cp-orange);
 border-radius: 26px;
 background:
  linear-gradient(90deg, color-mix(in srgb, var(--cp-surface) 96%, transparent) 0%, color-mix(in srgb, var(--cp-surface) 91%, transparent) 44%, color-mix(in srgb, var(--cp-surface) 35%, transparent) 100%),
  var(--cp-home-hero-art, none) center / cover no-repeat,
  var(--cp-surface);
 box-shadow: var(--cp-shadow-raised);
}
.cp-detail-page[data-cp-component="conference_home"][data-theme="dark"] .cp-home__hero--annual {
 background:
  linear-gradient(90deg, rgba(24,32,37,.98) 0%, rgba(24,32,37,.92) 44%, rgba(24,32,37,.38) 100%),
  var(--cp-home-hero-art, none) center / cover no-repeat,
  var(--cp-surface);
}
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual .cp-home__hero-copy { max-width: 770px; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual h1 { max-width: 12ch; font-size: clamp(54px, 7vw, 92px); line-height: .93; letter-spacing: -.055em; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual .cp-home__lead { max-width: 38ch; font-size: clamp(19px, 2vw, 28px); font-weight: 730; line-height: 1.28; }
.cp-home__facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.cp-home__facts > span { display:flex; flex-direction:column; min-width:170px; padding:11px 14px; border:1px solid var(--cp-line); border-radius:12px; background:color-mix(in srgb, var(--cp-surface-raised) 86%, transparent); color:var(--cp-text); font-size:13px; }
.cp-home__facts strong { margin-bottom:3px; color:var(--cp-muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.cp-home__location-note { margin:12px 0 0; color:var(--cp-muted); font-size:12px; font-weight:650; }
.cp-detail-page[data-cp-component="conference_home"] .cp-home__button--quiet { background:color-mix(in srgb, var(--cp-surface) 82%, transparent); }

.cp-home__countdown { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr); gap:28px; align-items:center; margin-top:24px; padding:24px 28px; border-radius:20px; background:linear-gradient(135deg, #f34f26, #ff6c39); color:#fff; box-shadow:var(--cp-shadow); }
.cp-home__countdown .cp-detail__eyebrow,.cp-home__countdown h2 { color:#fff!important; }
.cp-home__countdown h2 { margin:5px 0 0; font-size:clamp(23px,2.4vw,34px); }
.cp-home__countdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.cp-home__countdown-grid span { display:block; padding:12px 8px; border:1px solid rgba(255,255,255,.26); border-radius:13px; background:rgba(0,0,0,.08); text-align:center; }
.cp-home__countdown-grid strong { display:block; color:#fff; font-variant-numeric:tabular-nums; font-size:clamp(28px,3.7vw,48px); line-height:1; }
.cp-home__countdown-grid small { display:block; margin-top:6px; color:rgba(255,255,255,.86); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }

.cp-home__story-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:18px; margin-top:28px; }
.cp-home__story { padding:clamp(22px,3vw,34px); border:1px solid var(--cp-line); border-radius:20px; background:var(--cp-surface); box-shadow:var(--cp-shadow); }
.cp-home__story--objectives { border-top:4px solid var(--cp-orange); }
.cp-home__story h2 { margin:5px 0 15px; font-size:clamp(25px,2.8vw,36px); }
.cp-home__rich { color:var(--cp-muted); font-size:14px; line-height:1.65; }
.cp-home__rich p { margin:0 0 14px; }
.cp-home__rich p:last-child { margin-bottom:0; }
.cp-home__heading-actions { display:flex; flex-wrap:wrap; gap:12px; }

.cp-home__registration { margin-top:clamp(42px,5vw,68px); }
.cp-home__registration-intro { max-width:1000px; margin:0 0 18px; padding:18px 20px; border-left:4px solid var(--cp-blue); border-radius:0 14px 14px 0; background:color-mix(in srgb, var(--cp-blue) 7%, var(--cp-surface)); color:var(--cp-muted); line-height:1.6; }
.cp-home__registration-intro p { margin:0 0 11px; }
.cp-home__registration-intro p:last-child { margin-bottom:0; }
.cp-home__registration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cp-home__registration-card { display:flex; flex-direction:column; padding:clamp(22px,3vw,32px); border:1px solid var(--cp-line); border-radius:20px; background:var(--cp-surface); box-shadow:var(--cp-shadow); }
.cp-home__registration-card--onsite { border-top:5px solid var(--cp-orange); }
.cp-home__registration-card--online { border-top:5px solid var(--cp-blue); }
.cp-home__registration-badge { align-self:flex-start; padding:5px 8px; border-radius:999px; background:var(--cp-surface-soft); color:var(--cp-muted); font-size:9px; font-weight:900; letter-spacing:.09em; }
.cp-home__registration-card h3 { margin:12px 0 8px; color:var(--cp-text); font-size:clamp(24px,2.4vw,32px); }
.cp-home__registration-card > p { color:var(--cp-muted); line-height:1.55; }
.cp-home__registration-card .cp-home__button { align-self:flex-start; margin-top:auto; }
.cp-home__online-price,.cp-home__online-price .amount { margin:7px 0 10px; color:var(--cp-text); font-size:clamp(29px,3vw,40px); font-weight:900; }
.cp-home__price-table { display:grid; gap:6px; margin:14px 0; }
.cp-home__price-table > div { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:10px 12px; border:1px solid var(--cp-line); border-radius:11px; background:var(--cp-surface-soft); }
.cp-home__price-table span strong,.cp-home__price-table span small { display:block; }
.cp-home__price-table span strong { font-size:12px; }
.cp-home__price-table span small { margin-top:2px; color:var(--cp-muted); font-size:10px; }
.cp-home__price-table b,.cp-home__price-table b .amount { color:var(--cp-text); font-size:16px; }
.cp-home__rate-note { font-size:11px!important; }
.cp-home__privacy { display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; margin-top:24px; padding:22px; border:1px solid color-mix(in srgb, var(--cp-orange) 30%, var(--cp-line)); border-radius:18px; background:color-mix(in srgb, var(--cp-orange) 5%, var(--cp-surface)); }
.cp-home__privacy > span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:color-mix(in srgb, var(--cp-orange) 12%, var(--cp-surface)); }
.cp-home__signin-link { color:#cbd3d7!important; font-size:12px; font-weight:800; }

/* ========================================================================== */
/* v1.4.36 — native annual onsite application                                */
/* ========================================================================== */
.cp-programme.cp-detail-component.cp-detail-page.cp-application { width:min(980px,calc(100% - 28px)); margin:0 auto; padding:24px 0 60px; }
.cp-application__hero { padding:clamp(24px,4vw,40px); border:1px solid var(--cp-line); border-top:5px solid var(--cp-orange); border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--cp-orange) 8%,var(--cp-surface)),var(--cp-surface)); box-shadow:var(--cp-shadow); }
.cp-application__hero h1 { margin:5px 0 10px; font-size:clamp(34px,4vw,54px); letter-spacing:-.04em; }
.cp-application__hero p:last-child { max-width:75ch; margin:0; color:var(--cp-muted); line-height:1.6; }
.cp-application__success,.cp-application__closed { margin-top:18px; padding:20px; border:1px solid var(--cp-line); border-radius:15px; background:var(--cp-surface); }
.cp-application__success { border-left:5px solid #1aa768; }
.cp-application__form { display:grid; gap:14px; margin-top:20px; }
.cp-application__section { margin-top:8px; padding:18px 20px; border-radius:15px; background:color-mix(in srgb,var(--cp-blue) 7%,var(--cp-surface)); }
.cp-application__section--section { border-left:5px solid var(--cp-blue); }
.cp-application__section--notice { border-left:5px solid var(--cp-orange); background:color-mix(in srgb,var(--cp-orange) 6%,var(--cp-surface)); }
.cp-application__section h2 { margin:0; font-size:22px; }
.cp-application__section p { margin:7px 0 0; color:var(--cp-muted); line-height:1.55; }
.cp-application__field { padding:18px 20px; border:1px solid var(--cp-line); border-radius:15px; background:var(--cp-surface); box-shadow:0 5px 18px rgba(20,35,45,.04); }
.cp-application__field fieldset { min-width:0; margin:0; padding:0; border:0; }
.cp-application__field label,.cp-application__field legend { display:block; margin:0 0 8px; color:var(--cp-text); font-size:13px; font-weight:850; }
.cp-application__help { margin:-3px 0 10px; color:var(--cp-muted); font-size:12px; line-height:1.45; }
.cp-application__field input[type="text"],.cp-application__field input[type="email"],.cp-application__field input[type="tel"],.cp-application__field input[type="date"],.cp-application__field textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--cp-line-strong); border-radius:10px; background:var(--cp-surface-raised); color:var(--cp-text); font:inherit; }
.cp-application__field textarea { min-height:120px; resize:vertical; }
.cp-application__field input:focus,.cp-application__field textarea:focus { outline:3px solid color-mix(in srgb,var(--cp-blue) 18%,transparent); border-color:var(--cp-blue); }
.cp-application__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cp-application__choices label,.cp-application__declaration { display:flex; align-items:flex-start; gap:9px; margin:0; padding:11px 12px; border:1px solid var(--cp-line); border-radius:10px; background:var(--cp-surface-soft); font-weight:650; cursor:pointer; }
.cp-application__choices label:has(input:checked),.cp-application__declaration:has(input:checked) { border-color:var(--cp-blue); background:color-mix(in srgb,var(--cp-blue) 8%,var(--cp-surface)); }
.cp-application__declaration { border-color:color-mix(in srgb,var(--cp-orange) 38%,var(--cp-line)); background:color-mix(in srgb,var(--cp-orange) 6%,var(--cp-surface)); line-height:1.5; }
.cp-application__submit { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 2px 0; }
.cp-application__submit p { margin:0; color:var(--cp-muted); font-size:12px; }
.cp-application__trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media(max-width:767px){
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual { min-height:500px; padding:28px 18px; background:linear-gradient(180deg,color-mix(in srgb,var(--cp-surface) 92%,transparent) 0%,color-mix(in srgb,var(--cp-surface) 79%,transparent) 62%,color-mix(in srgb,var(--cp-surface) 93%,transparent) 100%),var(--cp-home-mobile-art,var(--cp-home-hero-art,none)) center / cover no-repeat,var(--cp-surface); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual h1 { font-size:clamp(48px,15vw,66px); }
 .cp-home__facts { display:grid; grid-template-columns:1fr; }
 .cp-home__countdown,.cp-home__story-grid,.cp-home__registration-grid { grid-template-columns:1fr; }
 .cp-home__countdown { padding:20px 16px; }
 .cp-home__countdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cp-home__privacy { grid-template-columns:1fr; }
 .cp-application__choices { grid-template-columns:1fr; }
 .cp-application__submit { align-items:stretch; flex-direction:column; }
}

/* ========================================================================== */
/* v1.4.36 — Lobby: annual identity, red live state, list-led programme       */
/* ========================================================================== */
.cp-lobby__hero--annual {
 background:
  linear-gradient(90deg, color-mix(in srgb,var(--cp-surface) 96%,transparent) 0%, color-mix(in srgb,var(--cp-surface) 90%,transparent) 52%, color-mix(in srgb,var(--cp-surface) 72%,transparent) 100%),
  var(--cp-lobby-art, none) right center / min(58%, 760px) auto no-repeat,
  linear-gradient(135deg,color-mix(in srgb,var(--cp-orange) 7%,var(--cp-surface)),var(--cp-surface));
}
.cp-lobby[data-theme="dark"] .cp-lobby__hero--annual {
 background:
  linear-gradient(90deg,rgba(29,39,44,.99) 0%,rgba(29,39,44,.92) 52%,rgba(29,39,44,.70) 100%),
  var(--cp-lobby-art, none) right center / min(58%, 760px) auto no-repeat,
  var(--cp-surface);
}
.cp-lobby__status-card.is-live { border-color:color-mix(in srgb,#e34232 60%,var(--cp-line)); background:color-mix(in srgb,#e34232 9%,var(--cp-surface-raised)); }
.cp-lobby__status-card.is-live .cp-lobby__status-kicker { color:#e34232; }
.cp-lobby-live-dot,.cp-lobby-live-badge i { display:inline-block; width:8px; height:8px; border-radius:50%; background:#e34232; box-shadow:0 0 0 4px color-mix(in srgb,#e34232 15%,transparent); animation:cp-lobby-live-pulse 1.35s ease-in-out infinite; }
.cp-lobby__button--primary .cp-lobby-live-dot { background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.16); }
@keyframes cp-lobby-live-pulse { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.46;transform:scale(.8)} }

.cp-lobby__stat-grid { position:relative; }
.cp-lobby__stat { position:relative; min-width:0; padding:14px 10px; border:1px solid var(--cp-line); border-radius:14px; background:var(--cp-surface-soft); text-align:center; }
.cp-lobby__stat summary { display:block; cursor:pointer; list-style:none; }
.cp-lobby__stat summary::-webkit-details-marker { display:none; }
.cp-lobby__stat strong { display:block; color:var(--cp-text); font-size:24px; line-height:1; }
.cp-lobby__stat > span,.cp-lobby__stat summary span { display:block; margin-top:6px; color:var(--cp-muted); font-size:10px; line-height:1.25; }
.cp-lobby__stat--interactive { cursor:pointer; transition:border-color .15s ease,transform .15s ease; }
.cp-lobby__stat--interactive:hover,.cp-lobby__stat--interactive:focus-within { border-color:var(--cp-blue); transform:translateY(-1px); z-index:20; }
.cp-lobby__stat-preview { position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:min(360px,78vw); padding:8px; border:1px solid var(--cp-line); border-radius:14px; background:var(--cp-surface); box-shadow:var(--cp-shadow-raised); text-align:left; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-4px); transition:.15s ease; }
.cp-lobby__stat--interactive[open] .cp-lobby__stat-preview,.cp-lobby__stat--interactive:hover .cp-lobby__stat-preview,.cp-lobby__stat--interactive:focus-within .cp-lobby__stat-preview { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.cp-lobby__stat-preview > a:not(.cp-lobby__stat-all) { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px; padding:8px; border-radius:9px; color:var(--cp-text)!important; }
.cp-lobby__stat-preview > a:not(.cp-lobby__stat-all):hover { background:var(--cp-surface-soft); }
.cp-lobby__stat-preview time { color:var(--cp-orange); font-size:10px; font-weight:900; }
.cp-lobby__stat-preview b,.cp-lobby__stat-preview small { display:block; }
.cp-lobby__stat-preview b { font-size:11px; line-height:1.3; }
.cp-lobby__stat-preview small { margin-top:2px; color:var(--cp-muted); font-size:9px; }
.cp-lobby__stat-all { display:block; margin-top:4px; padding:8px; border-top:1px solid var(--cp-line); color:var(--cp-blue)!important; font-size:10px; font-weight:850; }

.cp-lobby__section--live { border-top-color:#e34232; }
.cp-lobby__live-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cp-lobby-live-card { display:flex; flex-direction:column; min-width:0; min-height:190px; padding:17px; border:1px solid var(--cp-line); border-top:4px solid #e34232; border-radius:15px; background:var(--cp-surface-raised); box-shadow:inset 4px 0 0 var(--cp-lobby-pathway),0 7px 22px rgba(20,35,45,.06); }
.cp-lobby-live-card__top { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.cp-lobby-live-badge { display:inline-flex; align-items:center; gap:7px; padding:5px 8px; border-radius:999px; background:color-mix(in srgb,#e34232 11%,var(--cp-surface-soft)); color:#e34232; font-size:9px; font-weight:900; letter-spacing:.08em; }
.cp-lobby-live-card h3 { margin:14px 0 0; color:var(--cp-text); font-size:18px; line-height:1.3; }
.cp-lobby-live-card .cp-lobby-session__primary { align-self:flex-start; margin-top:auto; padding-top:12px; }
.cp-lobby-session__primary.is-live { padding:8px 11px; border-radius:9px; background:#e34232; color:#fff!important; }
.cp-lobby-session__primary.is-live:hover { background:#c83225; }
.cp-lobby__pulse { background:#e34232; box-shadow:0 0 0 7px color-mix(in srgb,#e34232 16%,transparent); animation:cp-lobby-live-pulse 1.35s ease-in-out infinite; }
.cp-lobby-session__speaker { display:flex; align-items:center; gap:7px; }
.cp-lobby-speaker-icon { position:relative; display:inline-block; width:14px; height:14px; flex:0 0 14px; color:currentColor; }
.cp-lobby-speaker-icon::before { content:""; position:absolute; left:4px; top:0; width:6px; height:6px; border-radius:50%; background:currentColor; }
.cp-lobby-speaker-icon::after { content:""; position:absolute; left:2px; bottom:0; width:10px; height:6px; border-radius:7px 7px 3px 3px; background:currentColor; }
.cp-lobby-speaker-icon--large { width:18px; height:18px; color:var(--cp-orange); }
.cp-lobby-speaker-icon--large::before { left:5px; width:8px; height:8px; }
.cp-lobby-speaker-icon--large::after { width:14px; height:8px; }

.cp-lobby__section--soon { border-top:3px solid var(--cp-blue); }
.cp-lobby__section--next { background:color-mix(in srgb,var(--cp-blue) 3%,var(--cp-surface)); }
.cp-lobby__next-list { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--cp-line); border-radius:15px; background:var(--cp-surface-raised); }
.cp-lobby-next-row { display:grid; grid-template-columns:74px minmax(130px,.55fr) minmax(0,1.7fr) 28px auto; gap:12px; align-items:center; min-height:70px; padding:11px 14px; border-top:1px solid var(--cp-line); box-shadow:inset 4px 0 0 var(--cp-lobby-pathway); color:var(--cp-text)!important; }
.cp-lobby-next-row:first-child { border-top:0; }
.cp-lobby-next-row:hover,.cp-lobby-next-row:focus-visible { background:color-mix(in srgb,var(--cp-blue) 7%,var(--cp-surface-raised)); }
.cp-lobby-next-row.is-soon { background:color-mix(in srgb,var(--cp-orange) 4%,var(--cp-surface-raised)); }
.cp-lobby-next-row__time { font-size:11px; font-weight:900; }
.cp-lobby-next-row__room { display:flex; align-items:center; gap:7px; color:var(--cp-lobby-pathway); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.cp-lobby-next-row__room img { width:22px; height:22px; object-fit:contain; }
.cp-lobby-next-row__copy { min-width:0; }
.cp-lobby-next-row__copy strong,.cp-lobby-next-row__copy small { display:block; }
.cp-lobby-next-row__copy strong { font-size:13px; line-height:1.35; }
.cp-lobby-next-row__copy small { display:flex; align-items:center; gap:6px; margin-top:3px; color:var(--cp-muted); font-size:10px; }
.cp-lobby-next-row__saved { color:var(--cp-orange); }
.cp-lobby-next-row__action { color:var(--cp-blue); font-size:11px; font-weight:850; white-space:nowrap; }

.cp-lobby__saved-row { position:relative; display:block; padding:10px 40px 10px 8px; border-top:1px solid var(--cp-line); border-left:3px solid var(--cp-lobby-pathway); }
.cp-lobby__saved-row:first-child { border-top:0; }
.cp-lobby__saved-row.is-live { margin:7px 0; padding:10px 40px 10px 10px; border:1px solid #e34232; border-left:4px solid #e34232; border-radius:11px; background:color-mix(in srgb,#e34232 6%,var(--cp-surface)); box-shadow:0 0 0 1px color-mix(in srgb,#e34232 6%,transparent); }
.cp-lobby__saved-link { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:9px; align-items:center; color:var(--cp-text)!important; }
.cp-lobby__saved-row.is-live .cp-lobby__saved-link { grid-template-columns:52px minmax(0,1fr) auto; }
.cp-lobby-live-badge--tiny { padding:4px 6px; font-size:8px; }
.cp-lobby-live-badge--tiny i { width:6px; height:6px; box-shadow:none; }
.cp-lobby__saved-route { color:var(--cp-blue); font-size:10px; font-weight:900; }
.cp-lobby__saved-row.is-live .cp-lobby__saved-route { color:#e34232; }
.cp-lobby__unheart.cp-my-conference-heart { position:absolute; top:50%; right:4px; width:34px; height:34px; transform:translateY(-50%); border-radius:9px; color:var(--cp-orange); }
.cp-lobby__unheart.cp-my-conference-heart [data-cp-heart-icon] { font-size:22px; }
.cp-lobby__my-conference [data-cp-session][data-cp-my-conference-saved="false"] { display:none!important; }
.cp-lobby__my-conference[data-cp-my-conference-empty-state="true"] .cp-lobby__saved-list { display:none; }
.cp-lobby__quick-location { border-color:color-mix(in srgb,var(--cp-orange) 40%,var(--cp-line))!important; background:color-mix(in srgb,var(--cp-orange) 6%,var(--cp-surface-soft))!important; }

@media(max-width:1100px){
 .cp-lobby__hero--annual { background-size:700px auto; }
 .cp-lobby__live-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px){
 .cp-lobby__hero--annual { background:linear-gradient(180deg,color-mix(in srgb,var(--cp-surface) 94%,transparent),color-mix(in srgb,var(--cp-surface) 85%,transparent)),var(--cp-lobby-art,none) center / cover no-repeat,var(--cp-surface); }
 .cp-lobby__stat-preview { position:fixed; z-index:100002; top:auto; right:10px; bottom:14px; left:10px; width:auto; max-height:52vh; overflow:auto; }
 .cp-lobby__live-grid { grid-template-columns:1fr; }
 .cp-lobby-next-row { grid-template-columns:58px minmax(0,1fr) auto; gap:7px 9px; }
 .cp-lobby-next-row__time { grid-column:1; grid-row:1 / 3; align-self:start; padding-top:4px; }
 .cp-lobby-next-row__room { grid-column:2 / 4; }
 .cp-lobby-next-row__copy { grid-column:2 / 4; }
 .cp-lobby-next-row__saved { grid-column:2; }
 .cp-lobby-next-row__action { grid-column:3; }
}
@media(prefers-reduced-motion:reduce){.cp-lobby-live-dot,.cp-lobby-live-badge i,.cp-lobby__pulse{animation:none!important}.cp-lobby__stat--interactive{transition:none}}

/* ========================================================================== */
/* v1.4.36.1 — dark-first polish, atmospheric depth and annual UX refinement */
/* ========================================================================== */

/* Dark components stay neutral; the atmosphere is painted on the page canvas below. */
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] {
 background: var(--cp-page);
 animation: none !important;
}

/* Annual pathway cards are navigation, not decoration. */
.cp-detail-page[data-cp-component="conference_home"] a.cp-home__pathway {
 cursor: pointer;
 text-decoration: none;
 transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.cp-detail-page[data-cp-component="conference_home"] a.cp-home__pathway:hover,
.cp-detail-page[data-cp-component="conference_home"] a.cp-home__pathway:focus-visible {
 transform: translateY(-2px);
 border-color: var(--cp-home-pathway, var(--cp-blue));
 background: color-mix(in srgb, var(--cp-home-pathway, var(--cp-blue)) 8%, var(--cp-surface));
 box-shadow: 0 12px 26px rgba(12,24,31,.12);
}
.cp-home__pathway-route { margin-left:auto; color:var(--cp-home-pathway,var(--cp-blue)); font-size:18px; font-weight:900; }

/* Explain the two rates first, then compare them within each attendance package. */
.cp-home__rate-explainer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:16px 0 12px; }
.cp-home__rate-explainer > div { padding:12px 13px; border:1px solid var(--cp-line); border-radius:12px; background:color-mix(in srgb,var(--cp-blue) 4%,var(--cp-surface-soft)); }
.cp-home__rate-explainer strong { display:block; color:var(--cp-text); font-size:12px; }
.cp-home__rate-explainer p { margin:5px 0 0!important; color:var(--cp-muted)!important; font-size:10.5px!important; line-height:1.45!important; }
.cp-home__price-packages { display:grid; gap:7px; margin:0 0 12px; }
.cp-home__price-package { display:grid; grid-template-columns:minmax(150px,1fr) minmax(210px,1.05fr); gap:12px; align-items:center; padding:11px 12px; border:1px solid var(--cp-line); border-radius:12px; background:var(--cp-surface-soft); }
.cp-home__price-package > strong { color:var(--cp-text); font-size:12px; line-height:1.35; }
.cp-home__price-package-rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.cp-home__price-package-rates > span { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 9px; border-radius:9px; background:var(--cp-surface); }
.cp-home__price-package-rates small { color:var(--cp-muted); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
.cp-home__price-package-rates b,.cp-home__price-package-rates b .amount { color:var(--cp-text); font-size:15px; white-space:nowrap; }
.cp-home__rate-note { margin:0 0 14px!important; color:var(--cp-muted)!important; font-size:11px!important; line-height:1.5!important; }

/* Actual speaker portraits replace generic person glyphs in Lobby rows. */
.cp-lobby-speaker-avatars { display:inline-flex; align-items:center; flex:0 0 auto; margin-right:2px; }
.cp-lobby-speaker-avatars img { display:block; width:24px; height:24px; margin-left:-6px; border:2px solid var(--cp-surface-raised); border-radius:50%; object-fit:cover; background:var(--cp-surface); }
.cp-lobby-speaker-avatars img:first-child { margin-left:0; }
.cp-lobby-live-card .cp-lobby-speaker-avatars img { width:28px; height:28px; }
.cp-lobby-session__speaker > span:last-child,
.cp-lobby-next-row__copy small > span:last-child { min-width:0; }

/* Application form: larger canvas, calmer card rhythm and useful two-column desktop flow. */
.cp-programme.cp-detail-component.cp-detail-page.cp-application { width:min(1180px,calc(100% - 34px)); padding:22px 0 68px; }
.cp-application > .cp-detail__appearance { margin:2px 4px 14px; }
.cp-application__hero { padding:clamp(28px,4.2vw,48px); border-radius:22px; }
.cp-application__hero h1 { font-size:clamp(38px,4.8vw,60px); }
.cp-application__form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; margin-top:22px; }
.cp-application__section,
.cp-application__field,
.cp-application__submit { grid-column:1 / -1; }
.cp-application__field--compact { grid-column:auto; }
.cp-application__section { margin-top:10px; padding:18px 20px; border:1px solid var(--cp-line); }
.cp-application__field { padding:16px 18px; border-color:color-mix(in srgb,var(--cp-line) 82%,transparent); box-shadow:none; background:color-mix(in srgb,var(--cp-surface) 92%,transparent); }
.cp-application__field:focus-within { border-color:color-mix(in srgb,var(--cp-blue) 55%,var(--cp-line)); background:var(--cp-surface); }
.cp-application__field--declaration { padding:20px; border-color:color-mix(in srgb,var(--cp-orange) 32%,var(--cp-line)); background:color-mix(in srgb,var(--cp-orange) 4%,var(--cp-surface)); }
.cp-application__field--declaration legend { font-size:18px; }
.cp-application__field--declaration .cp-application__help { margin:0 0 14px; max-width:82ch; font-size:13px; line-height:1.6; }
.cp-application__declaration { padding:13px 14px; }
.cp-application__submit { margin-top:2px; padding:18px 2px 0; border-top:1px solid var(--cp-line); }
.cp-application__submit .cp-home__button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:11px 20px; border:1px solid var(--cp-orange); border-radius:12px; background:var(--cp-orange); color:#fff!important; font:inherit; font-size:14px; font-weight:850; cursor:pointer; box-shadow:0 10px 24px rgba(255,90,47,.22); }
.cp-application__submit .cp-home__button:hover { background:#ff6a45; transform:translateY(-1px); }

/* Checkout notices must remain readable in every appearance mode, including custom pre-express warnings. */
.cp-detail-page[data-cp-component="conference_checkout"] :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner,[role="alert"],[role="status"]) {
 color:var(--cp-text)!important;
 border-color:var(--cp-line)!important;
 background:var(--cp-surface-soft)!important;
}
.cp-detail-page[data-cp-component="conference_checkout"] :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner,[role="alert"],[role="status"]) * { color:inherit!important; }

@media(max-width:767px){
 .cp-programme.cp-detail-component.cp-detail-page[data-cp-component="conference_home"] { padding:18px 10px 30px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-detail__appearance { margin:6px 4px 18px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual { min-height:0; padding:30px 20px 34px; border-radius:20px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__hero--annual h1 { font-size:clamp(44px,14vw,62px); }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__lead { margin-top:14px; line-height:1.42; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__actions { gap:12px; margin-top:26px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__button { min-height:54px; padding:12px 15px; }
 .cp-detail-page[data-cp-component="conference_home"] .cp-home__section { margin-top:44px; }
 .cp-home__countdown { margin-top:30px; padding:22px 18px; gap:18px; }
 .cp-home__story-grid { margin-top:34px; gap:16px; }
 .cp-home__registration { margin-top:50px; }
 .cp-home__rate-explainer { grid-template-columns:1fr; }
 .cp-home__price-package { grid-template-columns:1fr; gap:8px; }
 .cp-home__price-package-rates { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cp-programme.cp-detail-component.cp-detail-page.cp-application { width:min(100% - 20px,1180px); padding:16px 0 44px; }
 .cp-application > .cp-detail__appearance { margin:8px 2px 16px; }
 .cp-application__hero { padding:24px 18px 26px; }
 .cp-application__hero h1 { font-size:clamp(34px,10vw,48px); line-height:1.04; }
 .cp-application__form { grid-template-columns:1fr; gap:11px; margin-top:16px; }
 .cp-application__section,.cp-application__field,.cp-application__field--compact,.cp-application__submit { grid-column:1; }
 .cp-application__field,.cp-application__section { padding:15px 14px; border-radius:13px; }
 .cp-application__choices { gap:7px; }
 .cp-application__submit { gap:10px; padding-top:16px; }
 .cp-application__submit .cp-home__button { width:100%; min-height:52px; }
 .cp-lobby-speaker-avatars img { width:22px; height:22px; }
}

@media(prefers-reduced-motion:reduce){
 .cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] { animation:none!important; }
 .cp-application__submit .cp-home__button { transition:none!important; }
}
.cp-home__story-grid { align-items:start; }
.cp-detail-page[data-cp-component="conference_checkout"] .cp-checkout-prereq-note {
 display:block!important;
 margin:0 0 16px!important;
 padding:13px 15px!important;
 border:1px solid color-mix(in srgb,var(--cp-orange) 34%,var(--cp-line))!important;
 border-left:4px solid var(--cp-orange)!important;
 border-radius:10px!important;
 background:color-mix(in srgb,var(--cp-orange) 6%,var(--cp-surface-soft))!important;
 color:var(--cp-text)!important;
 font-size:12px!important;
 line-height:1.55!important;
 opacity:1!important;
}
.cp-detail-page[data-cp-component="conference_checkout"] .cp-checkout-prereq-note * { color:inherit!important; opacity:1!important; }

/* The native application owns the page canvas; remove Divi's inherited sidebar shell. */
body.cp-conference-application-page #main-content > .container {
 width:100%!important;
 max-width:none!important;
 padding-top:0!important;
}
body.cp-conference-application-page #main-content #content-area { width:100%!important; max-width:none!important; }
body.cp-conference-application-page #main-content #left-area {
 float:none!important;
 width:100%!important;
 max-width:none!important;
 padding:0!important;
}
body.cp-conference-application-page #main-content #sidebar { display:none!important; }
body.cp-conference-application-page #main-content .container::before { display:none!important; }
body.cp-conference-application-page article.page > .entry-title,
body.cp-conference-application-page .et_post_meta_wrapper > h1.entry-title { display:none!important; }
body.cp-conference-application-page article.page,
body.cp-conference-application-page .entry-content { margin:0!important; padding:0!important; }

/* ========================================================================== */
/* v1.4.36.3 — soft dissipating orange atmosphere + application shell         */
/* ========================================================================== */

/*
 * Paint the orange atmosphere on the full page canvas, not inside the
 * 1200px component. Oversized blurred pools have no rectangular start/end
 * edge, so the glow disappears naturally into the charcoal background.
 */
body.cp-programme-page-dark #main-content.cp-programme-page-surface {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 background: #20272c !important;
}
body.cp-programme-page-dark #main-content.cp-programme-page-surface::before {
 content: "";
 position: fixed;
 inset: -28vh -24vw;
 z-index: 0;
 pointer-events: none;
 background:
  radial-gradient(ellipse 34vw 30vh at 7% 24%, rgba(255,90,47,.095) 0%, rgba(255,90,47,.050) 24%, rgba(255,90,47,.018) 46%, transparent 72%),
  radial-gradient(ellipse 30vw 28vh at 93% 67%, rgba(255,90,47,.070) 0%, rgba(255,90,47,.030) 28%, rgba(255,90,47,.010) 49%, transparent 74%),
  radial-gradient(ellipse 24vw 20vh at 49% 104%, rgba(255,126,73,.045) 0%, rgba(255,126,73,.014) 45%, transparent 76%);
 filter: blur(78px);
 opacity: .72;
 transform: translate3d(0,0,0) scale(1.06);
 animation: cp-orange-fog-drift 36s ease-in-out infinite alternate;
}
body.cp-programme-page-dark #main-content.cp-programme-page-surface > * {
 position: relative;
 z-index: 1;
}
@keyframes cp-orange-fog-drift {
 from { transform: translate3d(-1.2vw,-.7vh,0) scale(1.06); }
 to   { transform: translate3d(1.4vw,.9vh,0) scale(1.09); }
}
@media (prefers-reduced-motion: reduce) {
 body.cp-programme-page-dark #main-content.cp-programme-page-surface::before { animation: none !important; }
}

/* Keep the component itself free of orange bands/edges. */
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] {
 position: relative;
 background: var(--cp-page) !important;
 animation: none !important;
}
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::before,
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::after {
 content: none !important;
}

/* Conference Application owns the full Divi body canvas. */
body.cp-conference-application-page,
body.cp-conference-application-page #page-container,
body.cp-conference-application-page #et-main-area,
body.cp-conference-application-page #main-content {
 background: #20272c !important;
}
body.cp-programme-page-light.cp-conference-application-page,
body.cp-programme-page-light.cp-conference-application-page #page-container,
body.cp-programme-page-light.cp-conference-application-page #et-main-area,
body.cp-programme-page-light.cp-conference-application-page #main-content {
 background: #f5f6f7 !important;
}
body.cp-programme-page-reading.cp-conference-application-page,
body.cp-programme-page-reading.cp-conference-application-page #page-container,
body.cp-programme-page-reading.cp-conference-application-page #et-main-area,
body.cp-programme-page-reading.cp-conference-application-page #main-content {
 background: #f1eadb !important;
}
body.cp-programme-page-dark.cp-conference-application-page .cp-programme-host-section:has([data-cp-component="conference_application"]),
body.cp-programme-page-dark.cp-conference-application-page .cp-programme-host-section > .et_pb_row:has([data-cp-component="conference_application"]),
body.cp-programme-page-dark.cp-conference-application-page .cp-programme-host-section :is(.et_pb_column,.et_pb_code,.et_pb_code_inner,.et_pb_text,.et_pb_text_inner):has([data-cp-component="conference_application"]) {
 background: transparent !important;
}
body.cp-conference-application-page .cp-programme-host-section:has([data-cp-component="conference_application"]) {
 padding-top: 20px !important;
 padding-bottom: 52px !important;
}
body.cp-conference-application-page .cp-programme-host-section > .et_pb_row:has([data-cp-component="conference_application"]) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 auto !important;
 padding: 0 !important;
}
body.cp-conference-application-page .cp-programme-host-section :is(.et_pb_column,.et_pb_code,.et_pb_code_inner,.et_pb_text,.et_pb_text_inner):has([data-cp-component="conference_application"]) {
 width: 100% !important;
 max-width: none !important;
 margin-top: 0 !important;
 margin-bottom: 0 !important;
 padding-top: 0 !important;
 padding-bottom: 0 !important;
}
body.cp-conference-application-page .cp-programme.cp-detail-component.cp-detail-page.cp-application {
 margin-top: 0;
 margin-bottom: 0;
}
@media (max-width: 767px) {
 body.cp-conference-application-page .cp-programme-host-section:has([data-cp-component="conference_application"]) {
  padding-top: 10px !important;
  padding-bottom: 34px !important;
 }
}


/* ========================================================================== */
/* v1.4.36.4 — visible diffuse orange atmosphere; no rectangular orange bands */
/* ========================================================================== */

/* The previous canvas pseudo-element sat behind opaque component backgrounds.
 * Keep the page canvas clean and paint the atmosphere into the actual dark
 * conference component so the warm haze is visible without a hard start/end. */
body.cp-programme-page-dark #main-content.cp-programme-page-surface::before {
 content: none !important;
}

.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] {
 position: relative;
 isolation: isolate;
 background:
  radial-gradient(ellipse 66% 44% at -8% 18%, rgba(255,90,47,.115) 0%, rgba(255,90,47,.060) 23%, rgba(255,90,47,.022) 45%, rgba(255,90,47,.006) 60%, transparent 74%),
  radial-gradient(ellipse 58% 42% at 108% 66%, rgba(255,90,47,.085) 0%, rgba(255,90,47,.038) 26%, rgba(255,90,47,.013) 48%, transparent 73%),
  radial-gradient(ellipse 46% 30% at 48% 104%, rgba(255,126,73,.055) 0%, rgba(255,126,73,.018) 43%, transparent 76%),
  #20272c !important;
}

/* A second, very soft mist layer prevents the radial pools from reading as
 * circles. It is deliberately oversized and blurred far beyond the component. */
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::before {
 content: "" !important;
 position: absolute;
 inset: -11% -9%;
 z-index: 0;
 pointer-events: none;
 background:
  radial-gradient(ellipse 42% 34% at 18% 26%, rgba(255,90,47,.055) 0%, rgba(255,90,47,.020) 40%, transparent 72%),
  radial-gradient(ellipse 38% 31% at 82% 56%, rgba(255,90,47,.045) 0%, rgba(255,90,47,.014) 42%, transparent 74%);
 filter: blur(54px);
 opacity: .78;
 transform: translate3d(0,0,0) scale(1.04);
 animation: cp-orange-mist-drift 42s ease-in-out infinite alternate;
}
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] > * {
 position: relative;
 z-index: 1;
}
@keyframes cp-orange-mist-drift {
 from { transform: translate3d(-1.2%, -.5%, 0) scale(1.04); }
 to   { transform: translate3d(1.4%, .7%, 0) scale(1.07); }
}
@media (prefers-reduced-motion: reduce) {
 .cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::before { animation: none !important; }
}

/* The application hero no longer uses a hard orange rail. Orange remains in
 * the atmosphere and primary action, while the card edge stays neutral. */
.cp-application__hero {
 border-top: 1px solid var(--cp-line) !important;
 background:
  radial-gradient(ellipse 70% 100% at 0% 50%, color-mix(in srgb, var(--cp-orange) 8%, transparent), transparent 72%),
  var(--cp-surface) !important;
}

@media (max-width: 767px) {
 .cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] {
  background:
   radial-gradient(ellipse 86% 30% at -24% 12%, rgba(255,90,47,.080) 0%, rgba(255,90,47,.030) 36%, transparent 73%),
   radial-gradient(ellipse 78% 28% at 124% 72%, rgba(255,90,47,.055) 0%, rgba(255,90,47,.018) 40%, transparent 74%),
   #20272c !important;
 }
 .cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::before {
  opacity: .5;
  filter: blur(64px);
 }
}

/* ========================================================================== */
/* v1.4.36.5 — true page fog, cart shell, calm Woo notices                  */
/* ========================================================================== */

/*
 * DARK ATMOSPHERE
 * The glow now lives on two oversized, blurred page-level blobs. The blobs
 * fade to fully transparent long before their own edges, so there is no
 * rectangular start/end line around a component or Divi row.
 */
body.cp-programme-page-dark {
 position: relative;
 background: #20272c !important;
 isolation: isolate;
}
body.cp-programme-page-dark::before,
body.cp-programme-page-dark::after {
 content: "";
 position: fixed;
 z-index: 0;
 pointer-events: none;
 border-radius: 46% 54% 61% 39% / 43% 39% 61% 57%;
 transform: translate3d(0,0,0);
 will-change: transform;
}
body.cp-programme-page-dark::before {
 width: min(900px, 72vw);
 height: min(760px, 70vh);
 left: max(-430px, -31vw);
 top: 8vh;
 background:
  radial-gradient(ellipse 58% 48% at 31% 42%, rgba(255,90,47,.18) 0%, rgba(255,90,47,.085) 34%, rgba(255,90,47,.018) 62%, transparent 78%),
  radial-gradient(ellipse 48% 42% at 67% 35%, rgba(255,119,72,.13) 0%, rgba(255,90,47,.050) 38%, rgba(255,90,47,.010) 64%, transparent 80%),
  radial-gradient(ellipse 54% 46% at 56% 68%, rgba(255,90,47,.105) 0%, rgba(255,90,47,.032) 42%, transparent 77%);
 filter: blur(78px);
 opacity: .80;
 animation: cp-page-smoke-left 32s ease-in-out infinite alternate;
}
body.cp-programme-page-dark::after {
 width: min(820px, 66vw);
 height: min(700px, 64vh);
 right: max(-390px, -28vw);
 top: 48vh;
 background:
  radial-gradient(ellipse 54% 46% at 34% 39%, rgba(255,112,62,.135) 0%, rgba(255,90,47,.058) 38%, rgba(255,90,47,.012) 63%, transparent 79%),
  radial-gradient(ellipse 47% 39% at 69% 47%, rgba(255,90,47,.105) 0%, rgba(255,90,47,.036) 41%, transparent 77%),
  radial-gradient(ellipse 51% 43% at 48% 71%, rgba(255,126,73,.085) 0%, rgba(255,90,47,.024) 45%, transparent 78%);
 filter: blur(92px);
 opacity: .72;
 animation: cp-page-smoke-right 38s ease-in-out infinite alternate;
}
@keyframes cp-page-smoke-left {
 from { transform: translate3d(-2vw,-1.2vh,0) scale(1.00); }
 to   { transform: translate3d(4vw,2.2vh,0) scale(1.13); }
}
@keyframes cp-page-smoke-right {
 from { transform: translate3d(2vw,1.5vh,0) scale(1.03); }
 to   { transform: translate3d(-4vw,-2vh,0) scale(1.15); }
}

/* Divi's outer canvases must not cover the atmospheric layer. */
body.cp-programme-page-dark #page-container,
body.cp-programme-page-dark #et-main-area,
body.cp-programme-page-dark #main-content,
body.cp-programme-page-dark #main-content.cp-programme-page-surface {
 background: transparent !important;
}
body.cp-programme-page-dark #page-container {
 position: relative;
 z-index: 1;
}
body.cp-programme-page-dark #main-content.cp-programme-page-surface::before,
body.cp-programme-page-dark #main-content.cp-programme-page-surface::after {
 content: none !important;
}
body.cp-programme-page-dark .cp-programme-host-section,
body.cp-programme-page-dark .cp-programme-host-section > .et_pb_row,
body.cp-programme-page-dark .cp-programme-host-section > .et_pb_row > .et_pb_column {
 background-color: transparent !important;
}

/* Do not paint fog inside a rectangular shortcode/component root. */
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"] {
 background: transparent !important;
 isolation: auto !important;
}
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::before,
.cp-programme.cp-detail-component.cp-detail-page[data-theme="dark"]::after {
 content: none !important;
}

/* Light/Reading intentionally have no orange atmospheric smoke. */
body.cp-programme-page-light::before,
body.cp-programme-page-light::after,
body.cp-programme-page-reading::before,
body.cp-programme-page-reading::after { content: none !important; }
body.cp-programme-page-light { background: #f5f6f7 !important; }
body.cp-programme-page-reading { background: #f1eadb !important; }
body.cp-programme-page-light #page-container,
body.cp-programme-page-light #et-main-area,
body.cp-programme-page-light #main-content { background: #f5f6f7 !important; }
body.cp-programme-page-reading #page-container,
body.cp-programme-page-reading #et-main-area,
body.cp-programme-page-reading #main-content { background: #f1eadb !important; }

/* Keep the application itself calm: atmosphere outside, content inside. */
.cp-application__hero {
 border-top: 1px solid color-mix(in srgb, var(--cp-orange) 24%, var(--cp-line)) !important;
 background: color-mix(in srgb, var(--cp-surface) 96%, transparent) !important;
}

/* Login/add-to-cart notice: no generic white/blue Woo button. */
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message {
 display: flex !important;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 15px 16px !important;
 border: 1px solid color-mix(in srgb, var(--cp-orange) 30%, var(--cp-line)) !important;
 border-left: 4px solid var(--cp-orange) !important;
 background: color-mix(in srgb, var(--cp-orange) 6%, var(--cp-surface-soft)) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message::before { display: none !important; }
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.button,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.wc-forward,
.cp-detail-page[data-cp-component="conference_login"] .cp-conference-cart-forward {
 order: 2;
 flex: 0 0 auto;
 float: none !important;
 display: inline-flex !important;
 align-items: center;
 justify-content: center;
 min-height: 42px;
 margin: 0 !important;
 padding: 9px 14px !important;
 border: 1px solid var(--cp-orange) !important;
 border-radius: 10px !important;
 background: var(--cp-orange) !important;
 color: #fff !important;
 box-shadow: 0 8px 20px rgba(255,90,47,.20) !important;
 font-size: 12px !important;
 font-weight: 850 !important;
 line-height: 1.15 !important;
 text-decoration: none !important;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.button:hover,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.wc-forward:hover {
 background: #ff6a45 !important;
 color: #fff !important;
 transform: translateY(-1px);
}

/* -------------------------------------------------------------------------- */
/* Conference Cart — same visual system as registration and checkout.         */
/* -------------------------------------------------------------------------- */
body.cp-conference-cart-page,
body.cp-conference-cart-page #page-container,
body.cp-conference-cart-page #et-main-area,
body.cp-conference-cart-page #main-content {
 background: #20272c !important;
}
body.cp-programme-page-light.cp-conference-cart-page,
body.cp-programme-page-light.cp-conference-cart-page #page-container,
body.cp-programme-page-light.cp-conference-cart-page #et-main-area,
body.cp-programme-page-light.cp-conference-cart-page #main-content { background: #f5f6f7 !important; }
body.cp-programme-page-reading.cp-conference-cart-page,
body.cp-programme-page-reading.cp-conference-cart-page #page-container,
body.cp-programme-page-reading.cp-conference-cart-page #et-main-area,
body.cp-programme-page-reading.cp-conference-cart-page #main-content { background: #f1eadb !important; }
body.cp-programme-page-dark.cp-conference-cart-page #page-container,
body.cp-programme-page-dark.cp-conference-cart-page #et-main-area,
body.cp-programme-page-dark.cp-conference-cart-page #main-content { background: transparent !important; }
body.cp-conference-cart-page #main-content > .container {
 width: 100% !important;
 max-width: none !important;
 padding: 0 !important;
}
body.cp-conference-cart-page #main-content > .container::before { display: none !important; }
body.cp-conference-cart-page #left-area { width: 100% !important; float: none !important; padding: 0 !important; }
body.cp-conference-cart-page #sidebar { display: none !important; }
body.cp-conference-cart-page .entry-title,
body.cp-conference-cart-page h1.entry-title,
body.cp-conference-cart-page .et_post_meta_wrapper { display: none !important; }
body.cp-conference-cart-page article,
body.cp-conference-cart-page .entry-content { margin: 0 !important; padding: 0 !important; }

.cp-detail-page[data-cp-component="conference_cart"][data-cp-detail] {
 width: min(1120px, calc(100% - 32px));
 max-width: 1120px;
 margin: 0 auto;
 padding: clamp(14px, 2vw, 24px) 0 clamp(40px, 6vw, 72px);
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__appearance { margin: 0 0 12px; }
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-card {
 overflow: hidden;
 padding: clamp(22px, 3vw, 34px);
 border: 1px solid var(--cp-line-strong);
 border-radius: 20px;
 background: color-mix(in srgb, var(--cp-surface) 97%, transparent);
 box-shadow: var(--cp-shadow-raised);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 20px;
 padding-bottom: 22px;
 margin-bottom: 20px;
 border-bottom: 1px solid var(--cp-line);
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero > div { max-width: 700px; min-width: 0; }
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero h1 {
 margin: 0;
 color: var(--cp-text);
 font-size: clamp(30px, 4vw, 44px);
 line-height: 1.08;
 font-weight: 850;
 letter-spacing: -.025em;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero p:last-child {
 margin: 9px 0 0;
 color: var(--cp-muted);
 font-size: 14px;
 line-height: 1.55;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-badge {
 display: inline-flex;
 align-items: center;
 min-height: 36px;
 padding: 7px 12px;
 border: 1px solid var(--cp-blue);
 border-radius: 999px;
 background: color-mix(in srgb, var(--cp-blue) 10%, var(--cp-surface));
 color: var(--cp-text);
 font-size: 11px;
 font-weight: 850;
 white-space: nowrap;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-block,
.cp-detail-page[data-cp-component="conference_cart"] :is(.wp-block-woocommerce-cart,.wc-block-cart,.wc-block-components-sidebar-layout) {
 width: 100% !important;
 max-width: none !important;
 margin: 0 !important;
 color: var(--cp-text) !important;
 font-family: inherit !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__main,.wc-block-components-main) {
 padding-right: clamp(18px,3vw,30px) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__sidebar,.wc-block-components-sidebar) {
 padding-left: clamp(18px,3vw,30px) !important;
 border-left: 1px solid var(--cp-line) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-cart-items,
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-cart-items th,
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-cart-items td {
 border-color: var(--cp-line) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-cart-items {
 border: 1px solid var(--cp-line) !important;
 border-radius: 14px !important;
 background: var(--cp-surface-soft) !important;
 overflow: hidden;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-cart-items__row { background: transparent !important; }
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-components-product-name,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-formatted-money-amount,.wc-block-cart-item__prices) {
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-components-product-metadata,.wc-block-cart-item__quantity,.wc-block-cart-item__remove-link) {
 color: var(--cp-muted) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-components-product-image img { border-radius: 9px !important; }
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-components-totals-wrapper,.wc-block-components-panel,.wp-block-woocommerce-cart-order-summary-block) {
 border-color: var(--cp-line) !important;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-components-panel__button,.wc-block-components-totals-coupon-link,.wc-block-cart-item__remove-link) {
 color: var(--cp-blue) !important;
 font-weight: 750 !important;
 text-underline-offset: 3px;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-components-text-input input,.wc-block-components-combobox-control input,input[type="text"],input[type="email"]) {
 border-color: var(--cp-line-strong) !important;
 border-radius: 9px !important;
 background: var(--cp-surface) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__submit-button,.wc-block-components-button,.wp-element-button) {
 min-height: 50px !important;
 border: 1px solid var(--cp-orange) !important;
 border-radius: 11px !important;
 background: var(--cp-orange) !important;
 color: #fff !important;
 box-shadow: 0 9px 24px rgba(255,90,47,.22) !important;
 font-family: inherit !important;
 font-weight: 850 !important;
 text-decoration: none !important;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__submit-button,.wc-block-components-button,.wp-element-button):hover {
 background: #ff6a45 !important;
 color: #fff !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-components-quantity-selector {
 border-color: var(--cp-line) !important;
 background: var(--cp-surface) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-components-quantity-selector input,
.cp-detail-page[data-cp-component="conference_cart"] .wc-block-components-quantity-selector button { color: var(--cp-text) !important; }

@media (max-width: 900px) {
 .cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__main,.wc-block-components-main,.wc-block-cart__sidebar,.wc-block-components-sidebar) {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-left: 0 !important;
 }
 .cp-detail-page[data-cp-component="conference_cart"] :is(.wc-block-cart__sidebar,.wc-block-components-sidebar) { margin-top: 18px !important; }
}
@media (max-width: 767px) {
 body.cp-programme-page-dark::before {
  width: 112vw;
  height: 58vh;
  left: -74vw;
  top: 14vh;
  filter: blur(66px);
  opacity: .72;
 }
 body.cp-programme-page-dark::after {
  width: 108vw;
  height: 56vh;
  right: -72vw;
  top: 60vh;
  filter: blur(72px);
  opacity: .58;
 }
 .cp-detail-page[data-cp-component="conference_login"] .woocommerce-message {
  align-items: stretch;
  flex-direction: column;
 }
 .cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.button,
 .cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.wc-forward { order: 2; width: 100%; }
 .cp-detail-page[data-cp-component="conference_cart"][data-cp-detail] { width: min(100% - 18px,1120px); padding-top: 8px; }
 .cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-card { padding: 18px 12px; border-radius: 16px; }
 .cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero { display: grid; gap: 12px; padding-bottom: 16px; }
 .cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-badge { justify-self: start; }
 .cp-detail-page[data-cp-component="conference_cart"] .cp-detail__cart-hero h1 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
 body.cp-programme-page-dark::before,
 body.cp-programme-page-dark::after { animation: none !important; }
}


/* -------------------------------------------------------------------------- */
/* v1.4.36.6 — annual feature video + clean conference cart notice button      */
/* -------------------------------------------------------------------------- */

.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.button::before,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.button::after,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.wc-forward::before,
.cp-detail-page[data-cp-component="conference_login"] .woocommerce-message a.wc-forward::after,
.cp-detail-page[data-cp-component="conference_login"] .cp-conference-cart-forward::before,
.cp-detail-page[data-cp-component="conference_login"] .cp-conference-cart-forward::after {
 content: none !important;
 display: none !important;
 width: 0 !important;
 margin: 0 !important;
}

.cp-home__feature-video {
 display: grid;
 grid-template-columns: minmax(220px,.56fr) minmax(0,1.44fr);
 gap: 22px;
 align-items: center;
 margin-top: 28px;
 padding: clamp(20px,3vw,30px);
 border: 1px solid var(--cp-line);
 border-top: 4px solid var(--cp-orange);
 border-radius: 20px;
 background:
  radial-gradient(circle at 9% 14%, rgba(255,90,47,.10), transparent 34%),
  var(--cp-surface);
 box-shadow: var(--cp-shadow);
 overflow: hidden;
}
.cp-home__feature-video-copy h2 {
 margin: 5px 0 10px;
 color: var(--cp-text);
 font-size: clamp(25px,2.8vw,38px);
 line-height: 1.08;
}
.cp-home__feature-video-copy > p:not(.cp-detail__eyebrow) {
 margin: 0;
 color: var(--cp-muted);
 font-size: 14px;
 line-height: 1.6;
}
.cp-home__feature-video-link {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 margin-top: 16px;
 color: var(--cp-blue) !important;
 font-size: 12px;
 font-weight: 850;
 text-decoration: none !important;
}
.cp-home__feature-video-link:hover { text-decoration: underline !important; }

.cp-home__feature-video-media { min-width: 0; }
.cp-home__feature-video-frame {
 position: relative;
 aspect-ratio: 16 / 9;
 overflow: hidden;
 border: 1px solid color-mix(in srgb,var(--cp-orange) 18%,var(--cp-line));
 border-radius: 16px;
 background: #0f1417;
 box-shadow: 0 18px 46px rgba(0,0,0,.24);
}
.cp-home__feature-video-frame iframe {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 border: 0;
}
.cp-home__feature-video-fallback {
 display: grid;
 place-items: center;
 min-height: 280px;
 padding: 28px;
 border: 1px solid var(--cp-line);
 border-radius: 16px;
 background: color-mix(in srgb,var(--cp-surface-soft) 90%,transparent);
 color: var(--cp-text) !important;
 text-align: center;
 text-decoration: none !important;
}
.cp-home__feature-video-fallback span {
 display: grid;
 place-items: center;
 width: 64px;
 height: 64px;
 margin-bottom: 14px;
 border-radius: 999px;
 background: var(--cp-orange);
 color: #fff;
 font-size: 24px;
 box-shadow: 0 12px 30px rgba(255,90,47,.22);
}

@media (max-width: 760px) {
 .cp-home__feature-video {
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 34px;
  padding: 18px 14px;
  border-radius: 18px;
 }
 .cp-home__feature-video-copy h2 { font-size: clamp(28px,9vw,38px); }
 .cp-home__feature-video-fallback { min-height: 190px; }
}

/* -------------------------------------------------------------------------- */
/* v1.4.36.7 — live access gate uses the same dark conference canvas           */
/* -------------------------------------------------------------------------- */
body.cp-conference-live-page,
body.cp-conference-live-page #page-container,
body.cp-conference-live-page #et-main-area,
body.cp-conference-live-page #main-content {
 background: #20272c !important;
}
/* Live Conference is a locked dark surface. A saved Programme Light/Reading
 * preference must never turn /live/ white or fight the approved v1.4.39.35 design. */
body.cp-programme-page-light.cp-conference-live-page,
body.cp-programme-page-light.cp-conference-live-page #page-container,
body.cp-programme-page-light.cp-conference-live-page #et-main-area,
body.cp-programme-page-light.cp-conference-live-page #main-content,
body.cp-programme-page-reading.cp-conference-live-page,
body.cp-programme-page-reading.cp-conference-live-page #page-container,
body.cp-programme-page-reading.cp-conference-live-page #et-main-area,
body.cp-programme-page-reading.cp-conference-live-page #main-content,
body.cp-programme-page-dark.cp-conference-live-page,
body.cp-programme-page-dark.cp-conference-live-page #page-container,
body.cp-programme-page-dark.cp-conference-live-page #et-main-area,
body.cp-programme-page-dark.cp-conference-live-page #main-content { background: #20272c !important; }
body.cp-conference-live-page #main-content > .container {
 width: 100% !important;
 max-width: none !important;
 padding: 0 !important;
}
body.cp-conference-live-page #main-content > .container::before { display: none !important; }
body.cp-conference-live-page #left-area { width: 100% !important; float: none !important; padding: 0 !important; }
body.cp-conference-live-page #sidebar,
body.cp-conference-live-page .entry-title,
body.cp-conference-live-page .et_post_meta_wrapper { display: none !important; }
body.cp-conference-live-page article,
body.cp-conference-live-page .entry-content { margin: 0 !important; padding: 0 !important; }
.cp-live-page[data-cp-live-gate] {
 width: min(1120px, calc(100% - 32px));
 max-width: 1120px;
 margin: 0 auto;
 padding: clamp(36px, 6vw, 78px) 0 clamp(46px, 7vw, 90px);
}
.cp-live-page[data-cp-live-gate] .cp-detail__appearance { margin-bottom: 14px; }
.cp-live-page[data-cp-live-gate] .cp-live-gate {
 border-top: 4px solid var(--cp-orange);
 box-shadow: var(--cp-shadow-raised);
}

/* -------------------------------------------------------------------------- */
/* v1.4.36.9 — deliberate empty conference cart                              */
/* -------------------------------------------------------------------------- */
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-panel {
 display: grid;
 gap: 12px;
 padding: clamp(22px, 4vw, 34px);
 border: 1px solid var(--cp-line);
 border-left: 4px solid var(--cp-orange);
 border-radius: 15px;
 background: var(--cp-surface-soft);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-panel > strong {
 color: var(--cp-text);
 font-size: clamp(20px, 2.8vw, 28px);
 line-height: 1.2;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-panel > p {
 max-width: 68ch;
 margin: 0;
 color: var(--cp-muted);
 line-height: 1.65;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 4px;
}
.cp-detail-page[data-cp-component="conference_cart"] :is(.cp-detail__empty-cart-primary,.cp-detail__empty-cart-secondary) {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 10px 16px;
 border-radius: 10px;
 font-weight: 850;
 text-decoration: none !important;
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-primary {
 border: 1px solid var(--cp-orange);
 background: var(--cp-orange);
 color: #fff !important;
 box-shadow: 0 8px 22px rgba(255,90,47,.2);
}
.cp-detail-page[data-cp-component="conference_cart"] .cp-detail__empty-cart-secondary {
 border: 1px solid var(--cp-blue);
 background: transparent;
 color: var(--cp-blue) !important;
}

/* -------------------------------------------------------------------------- */
/* v1.4.37.0 — private onsite details page                                   */
/* -------------------------------------------------------------------------- */
body.cp-conference-private-location-page,
body.cp-conference-private-location-page #page-container,
body.cp-conference-private-location-page #et-main-area,
body.cp-conference-private-location-page #main-content {
 background: #20272c !important;
}
body.cp-conference-private-location-page .cp-live-gate {
 width: min(760px, calc(100% - 32px));
 margin: clamp(34px, 6vw, 78px) auto;
 padding: clamp(24px, 4vw, 38px);
 border: 1px solid var(--cp-line-strong);
 border-top: 4px solid var(--cp-orange);
 border-radius: 18px;
 background: var(--cp-surface);
 color: var(--cp-text);
 box-shadow: var(--cp-shadow-raised);
}
body.cp-conference-private-location-page .cp-live-gate h1 { color: var(--cp-text); }
body.cp-conference-private-location-page .cp-live-gate p { color: var(--cp-muted); }

/* v1.4.37.0 — private onsite redirect notice on My Account. */
.cp-detail__account-notice{
  display:flex;
  gap:10px 18px;
  align-items:flex-start;
  margin:18px 0 4px;
  padding:14px 16px;
  border:1px solid rgba(125,185,229,.32);
  border-left:4px solid #7db9e5;
  border-radius:13px;
  background:rgba(30,42,49,.72);
  color:#c5d0d5;
  line-height:1.5;
}
.cp-detail__account-notice strong{color:#f5f7f8;white-space:nowrap}
@media(max-width:680px){.cp-detail__account-notice{display:block}.cp-detail__account-notice strong{display:block;margin-bottom:5px;white-space:normal}}

/* -------------------------------------------------------------------------- */
/* v1.4.37.0 — reusable active-year private onsite attendee details           */
/* -------------------------------------------------------------------------- */
body.cp-conference-private-location-page #main-content > .container {
 width: 100% !important;
 max-width: none !important;
 padding: 0 !important;
}
body.cp-conference-private-location-page #main-content > .container::before { display: none !important; }
body.cp-conference-private-location-page #left-area {
 width: 100% !important;
 float: none !important;
 padding: 0 !important;
}
body.cp-conference-private-location-page #sidebar,
body.cp-conference-private-location-page .entry-title,
body.cp-conference-private-location-page .et_post_meta_wrapper { display: none !important; }
body.cp-conference-private-location-page article,
body.cp-conference-private-location-page .entry-content { margin: 0 !important; padding: 0 !important; }
body.cp-conference-private-location-page #main-content .et_pb_section,
body.cp-conference-private-location-page #main-content .et_pb_row,
body.cp-conference-private-location-page #main-content .et_pb_column,
body.cp-conference-private-location-page #main-content .et_pb_module,
body.cp-conference-private-location-page #main-content .et_pb_code,
body.cp-conference-private-location-page #main-content .et_pb_code_inner {
 background: transparent !important;
}
body.cp-conference-private-location-page #main-content .et_pb_row {
 width: min(1240px, calc(100% - 32px)) !important;
 max-width: 1240px !important;
}

.cp-detail-page[data-cp-component="private_onsite_details"] {
 width: min(1200px, calc(100% - 32px));
 max-width: 1200px;
 margin: 0 auto;
 padding: clamp(30px, 5vw, 68px) 0 clamp(46px, 7vw, 92px);
 background: transparent;
 border-radius: 0;
 color: var(--cp-text);
}
body.et-db #et-boc .et-l .cp-detail-page[data-cp-component="private_onsite_details"] :is(h1,h2,h3,h4,h5,h6) {
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="private_onsite_details"] .cp-detail__appearance {
 margin: 0 0 16px;
}

.cp-private__hero {
 position: relative;
 isolation: isolate;
 display: grid;
 grid-template-columns: minmax(0,1fr) auto;
 align-items: center;
 gap: clamp(22px, 4vw, 54px);
 overflow: hidden;
 padding: clamp(28px, 5vw, 58px);
 border: 1px solid var(--cp-line-strong);
 border-radius: 24px;
 background:
  radial-gradient(circle at 7% 12%, rgba(255,90,47,.10), transparent 31%),
  radial-gradient(circle at 94% 8%, rgba(125,185,229,.09), transparent 34%),
  color-mix(in srgb, var(--cp-surface) 92%, transparent);
 box-shadow: var(--cp-shadow-raised);
}
.cp-private__hero::after {
 content: "";
 position: absolute;
 z-index: -1;
 width: 360px;
 height: 360px;
 right: -170px;
 bottom: -250px;
 border-radius: 50%;
 background: rgba(255,90,47,.09);
 filter: blur(34px);
 pointer-events: none;
}
.cp-private__hero-copy { min-width: 0; max-width: 760px; }
.cp-private__hero-copy h1 {
 font-size: clamp(36px, 5.4vw, 68px);
 line-height: 1.02;
 letter-spacing: -.045em;
}
.cp-private__hero-copy > p:last-child {
 max-width: 66ch;
 margin: 16px 0 0;
 color: var(--cp-muted);
 font-size: clamp(15px, 1.6vw, 18px);
 line-height: 1.65;
}
.cp-private__verified {
 display: grid;
 grid-template-columns: 42px auto;
 gap: 2px 12px;
 align-items: center;
 min-width: 210px;
 padding: 16px 18px;
 border: 1px solid color-mix(in srgb, #26c281 45%, var(--cp-line));
 border-radius: 16px;
 background: color-mix(in srgb, #26c281 8%, var(--cp-surface-soft));
}
.cp-private__verified > span {
 grid-row: 1 / span 2;
 display: grid;
 place-items: center;
 width: 42px;
 height: 42px;
 border-radius: 50%;
 background: rgba(38,194,129,.16);
 color: #5be2aa;
 font-size: 20px;
 font-weight: 900;
}
.cp-private__verified strong { color: var(--cp-text); font-size: 13px; }
.cp-private__verified small { color: var(--cp-muted); font-size: 12px; }

.cp-private__confidential {
 position: relative;
 display: grid;
 grid-template-columns: 58px minmax(0,1fr);
 gap: 18px;
 align-items: flex-start;
 overflow: hidden;
 margin: 22px 0;
 padding: clamp(22px, 3.5vw, 34px);
 border: 2px solid rgba(255,90,47,.72);
 border-left-width: 7px;
 border-radius: 20px;
 background:
  radial-gradient(circle at 0 50%, rgba(255,90,47,.18), transparent 34%),
  linear-gradient(135deg, rgba(255,90,47,.095), rgba(255,90,47,.025) 58%),
  color-mix(in srgb, var(--cp-surface) 96%, transparent);
 box-shadow: 0 16px 42px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.02);
}
.cp-private__confidential::after {
 content: "";
 position: absolute;
 inset: auto -80px -110px auto;
 width: 220px;
 height: 220px;
 border-radius: 50%;
 background: rgba(255,90,47,.11);
 filter: blur(28px);
 pointer-events: none;
}
.cp-private__confidential .cp-private__lock {
 display: grid;
 place-items: center;
 width: 58px;
 height: 58px;
 border: 1px solid rgba(255,129,95,.48);
 border-radius: 16px;
 background: rgba(255,90,47,.17);
 color: #ff815f;
 font-size: 0;
 box-shadow: 0 9px 24px rgba(255,90,47,.14);
}
.cp-private__confidential .cp-private__lock::before { content: "🔒"; font-size: 24px; }
.cp-private__confidential-copy { min-width: 0; }
.cp-private__warning-kicker {
 margin: 0 0 5px !important;
 color: #ff815f !important;
 font-size: 11px;
 font-weight: 900;
 letter-spacing: .15em;
 text-transform: uppercase;
}
.cp-private__confidential h2 {
 max-width: 880px;
 margin: 0 0 12px;
 color: var(--cp-text) !important;
 font-size: clamp(23px, 3vw, 34px);
 line-height: 1.1;
 letter-spacing: -.025em;
}
.cp-private__confidential p:not(.cp-private__warning-kicker) {
 max-width: 92ch;
 margin: 7px 0 0;
 color: color-mix(in srgb, var(--cp-text) 78%, var(--cp-muted));
 font-size: 14px;
 line-height: 1.68;
}
.cp-private__confidential p strong { color: var(--cp-text); }

.cp-private__venue {
 display: grid;
 grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
 gap: clamp(24px, 4vw, 52px);
 align-items: stretch;
 margin-top: 20px;
 padding: clamp(20px, 3vw, 30px);
 border: 1px solid var(--cp-line-strong);
 border-radius: 22px;
 background: color-mix(in srgb, var(--cp-surface) 94%, transparent);
 box-shadow: var(--cp-shadow);
}
.cp-private__venue-media {
 overflow: hidden;
 min-height: 280px;
 border-radius: 17px;
 background: var(--cp-surface-soft);
}
.cp-private__venue-image {
 display: block;
 width: 100%;
 height: 100%;
 min-height: 280px;
 max-height: 430px;
 object-fit: cover;
}
.cp-private__venue-copy {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 justify-content: center;
 min-width: 0;
 padding: clamp(4px, 2vw, 18px) 0;
}
.cp-private__venue-copy h2 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -.035em; }
.cp-private__address {
 margin: 16px 0 22px;
 color: var(--cp-muted);
 font-size: 16px;
 line-height: 1.7;
}
.cp-private__button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 46px;
 padding: 11px 18px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 12px;
 font-weight: 850;
 line-height: 1.2;
 text-decoration: none !important;
 transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.cp-private__button:hover { transform: translateY(-1px); box-shadow: var(--cp-shadow); }
.cp-private__button--primary {
 border-color: #ff5a2f;
 background: #ff5a2f;
 color: #fff !important;
 box-shadow: 0 9px 24px rgba(255,90,47,.18);
}

.cp-private__info-grid {
 display: grid;
 grid-template-columns: repeat(2,minmax(0,1fr));
 gap: 16px;
 margin-top: 16px;
}
.cp-private__panel {
 display: grid;
 grid-template-columns: 46px minmax(0,1fr);
 gap: 15px;
 min-width: 0;
 padding: clamp(20px, 3vw, 28px);
 border: 1px solid var(--cp-line);
 border-radius: 18px;
 background: color-mix(in srgb, var(--cp-surface) 91%, transparent);
}
.cp-private__panel-icon {
 display: grid;
 place-items: center;
 width: 46px;
 height: 46px;
 border: 1px solid color-mix(in srgb, #7db9e5 35%, var(--cp-line));
 border-radius: 13px;
 background: color-mix(in srgb, #7db9e5 9%, var(--cp-surface-soft));
 color: #7db9e5;
 font-size: 19px;
 font-weight: 900;
}
/* Quiet category colour cues — enough to scan quickly without turning the page into a dashboard. */
.cp-private__panel[data-private-kind="arrival"] { border-top: 3px solid #ff5a2f; }
.cp-private__panel[data-private-kind="arrival"] .cp-private__panel-icon { border-color: rgba(255,90,47,.42); background: rgba(255,90,47,.11); color: #ff815f; }
.cp-private__panel[data-private-kind="checkin"] { border-top: 3px solid #5be2aa; }
.cp-private__panel[data-private-kind="checkin"] .cp-private__panel-icon { border-color: rgba(91,226,170,.38); background: rgba(91,226,170,.09); color: #5be2aa; }
.cp-private__panel[data-private-kind="travel"] { border-top: 3px solid #7db9e5; }
.cp-private__panel[data-private-kind="travel"] .cp-private__panel-icon { border-color: rgba(125,185,229,.44); background: rgba(125,185,229,.11); color: #7db9e5; font-family: Arial, sans-serif; }
.cp-private__panel[data-private-kind="stay"] { border-top: 3px solid #b69af5; }
.cp-private__panel[data-private-kind="stay"] .cp-private__panel-icon { border-color: rgba(182,154,245,.42); background: rgba(182,154,245,.10); color: #c3adf7; }
.cp-private__panel h2 { font-size: clamp(20px,2.4vw,26px); }
.cp-private__rich { margin-top: 12px; color: var(--cp-muted); line-height: 1.68; overflow-wrap: anywhere; }
.cp-private__rich :is(p,ul,ol) { margin: 0 0 10px; }
.cp-private__rich :is(ul,ol) { padding-left: 1.25em; }
.cp-private__rich a { color: var(--cp-blue) !important; text-decoration: underline; }

.cp-private__wide-stack { display: grid; gap: 16px; margin-top: 16px; }
.cp-private__wide,
.cp-private__status,
.cp-private__downloads,
.cp-private__gate {
 padding: clamp(22px, 3.8vw, 36px);
 border: 1px solid var(--cp-line);
 border-radius: 20px;
 background: color-mix(in srgb, var(--cp-surface) 92%, transparent);
 box-shadow: var(--cp-shadow);
}
.cp-private__wide--important {
 border-color: color-mix(in srgb, #ff5a2f 32%, var(--cp-line));
 background: color-mix(in srgb, #ff5a2f 5%, var(--cp-surface));
}
.cp-private__status { margin-top: 18px; }
.cp-private__status h2,
.cp-private__wide h2,
.cp-private__downloads h2 { font-size: clamp(24px, 3vw, 32px); }
.cp-private__status > p:last-child { max-width: 70ch; margin: 10px 0 0; color: var(--cp-muted); line-height: 1.65; }

.cp-private__downloads { margin-top: 16px; }
.cp-private__downloads-grid {
 display: grid;
 grid-template-columns: repeat(2,minmax(0,1fr));
 gap: 12px;
 margin-top: 18px;
}
.cp-private__download {
 display: grid;
 grid-template-columns: 44px minmax(0,1fr) auto;
 align-items: center;
 gap: 13px;
 min-width: 0;
 padding: 15px;
 border: 1px solid var(--cp-line-strong);
 border-radius: 14px;
 background: var(--cp-surface-soft);
 color: var(--cp-text) !important;
 text-decoration: none !important;
 transition: border-color .16s ease, transform .16s ease, background-color .16s ease;
}
.cp-private__download:hover {
 transform: translateY(-1px);
 border-color: color-mix(in srgb, #7db9e5 70%, var(--cp-line));
 background: color-mix(in srgb, #7db9e5 7%, var(--cp-surface-soft));
}
.cp-private__download-mark {
 display: grid;
 place-items: center;
 width: 44px;
 height: 44px;
 border-radius: 12px;
 background: color-mix(in srgb, #7db9e5 12%, var(--cp-surface));
 color: var(--cp-blue);
 font-size: 20px;
 font-weight: 900;
}
.cp-private__download > span:nth-child(2) { min-width: 0; }
.cp-private__download strong { display: block; overflow-wrap: anywhere; }
.cp-private__download small { display: block; margin-top: 4px; color: var(--cp-muted); font-size: 11px; letter-spacing: .03em; text-transform: uppercase; }
.cp-private__download-arrow { color: var(--cp-blue); font-size: 18px; }

.cp-private__gate {
 width: min(760px,100%);
 margin: 0 auto;
}
.cp-private__gate h1 { font-size: clamp(32px,4.5vw,52px); }
.cp-private__gate > p:not(.cp-detail__eyebrow) { max-width: 65ch; margin: 12px 0 22px; color: var(--cp-muted); line-height: 1.7; }

@media (max-width: 820px) {
 .cp-private__hero { grid-template-columns: 1fr; }
 .cp-private__verified { width: 100%; min-width: 0; }
 .cp-private__venue { grid-template-columns: 1fr; }
 .cp-private__venue-media,
 .cp-private__venue-image { min-height: 220px; max-height: 340px; }
 .cp-private__info-grid,
 .cp-private__downloads-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 body.cp-conference-private-location-page #main-content .et_pb_row { width: calc(100% - 20px) !important; }
 .cp-detail-page[data-cp-component="private_onsite_details"] {
  width: calc(100% - 20px);
  padding-top: 24px;
  padding-bottom: 56px;
 }
 .cp-private__hero,
 .cp-private__venue,
 .cp-private__wide,
 .cp-private__status,
 .cp-private__downloads,
 .cp-private__gate { border-radius: 18px; padding: 20px; }
 .cp-private__hero-copy h1 { font-size: clamp(34px,11.5vw,48px); }
 .cp-private__confidential { grid-template-columns: 46px minmax(0,1fr); gap: 13px; margin: 14px 0; padding: 18px 16px; border-left-width: 5px; }
 .cp-private__confidential .cp-private__lock { width: 46px; height: 46px; border-radius: 13px; }
 .cp-private__confidential .cp-private__lock::before { font-size: 20px; }
 .cp-private__panel { grid-template-columns: 40px minmax(0,1fr); padding: 18px; }
 .cp-private__panel-icon { width: 40px; height: 40px; }
 .cp-private__download { grid-template-columns: 40px minmax(0,1fr) auto; padding: 13px; }
 .cp-private__download-mark { width: 40px; height: 40px; }
}

/* -------------------------------------------------------------------------- */
/* v1.4.37.3 — private onsite atmosphere, lobby CTA and checkout polish       */
/* -------------------------------------------------------------------------- */

/* Keep the orange "smoke" in the page atmosphere, not repeated inside every
   content card. This keeps the private information readable while retaining
   the conference identity around it. */
body.cp-conference-private-location-page #main-content {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 background: #20272c !important;
}
body.cp-conference-private-location-page #main-content::before,
body.cp-conference-private-location-page #main-content::after {
 content: "";
 position: absolute;
 z-index: 0;
 pointer-events: none;
 border-radius: 50%;
 filter: blur(74px);
}
body.cp-conference-private-location-page #main-content::before {
 width: min(760px, 62vw);
 height: min(760px, 62vw);
 left: -26vw;
 top: 8%;
 background: radial-gradient(circle, rgba(255,90,47,.22) 0%, rgba(255,90,47,.10) 34%, rgba(255,90,47,0) 72%);
}
body.cp-conference-private-location-page #main-content::after {
 width: min(620px, 52vw);
 height: min(620px, 52vw);
 right: -24vw;
 top: 45%;
 background: radial-gradient(circle, rgba(255,90,47,.15) 0%, rgba(255,90,47,.065) 38%, rgba(255,90,47,0) 72%);
}
body.cp-conference-private-location-page #main-content > * {
 position: relative;
 z-index: 1;
}
.cp-private__hero {
 background:
  radial-gradient(circle at 94% 8%, rgba(125,185,229,.09), transparent 34%),
  color-mix(in srgb, var(--cp-surface) 94%, transparent);
}
.cp-private__hero::after { display: none; }

.cp-lobby__button--onsite {
 border-color: rgba(125,185,229,.55) !important;
 background: color-mix(in srgb, #7db9e5 9%, var(--cp-surface-soft)) !important;
 color: var(--cp-text) !important;
}
.cp-lobby__button--onsite > span {
 margin-right: 6px;
 color: #7db9e5;
 font-weight: 900;
}

/* The small circle sitting over the product image is WooCommerce's quantity
   badge. Keep it, but make it intentional and on-brand rather than grey. */
.cp-detail-page[data-cp-component="conference_checkout"] :is(
 .wc-block-components-product-badge,
 .wc-block-components-order-summary-item__quantity
) {
 display: inline-grid !important;
 place-items: center !important;
 min-width: 24px !important;
 height: 24px !important;
 padding: 0 6px !important;
 border: 2px solid var(--cp-surface) !important;
 border-radius: 999px !important;
 background: #ff5a2f !important;
 color: #fff !important;
 font-size: 11px !important;
 font-weight: 900 !important;
 line-height: 1 !important;
 box-shadow: 0 5px 13px rgba(0,0,0,.24) !important;
}

/* -------------------------------------------------------------------------- */
/* v1.4.37.3 — conference order-received / thank-you page                     */
/* -------------------------------------------------------------------------- */
body.cp-conference-order-received-page #main-content {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 background: #20272c !important;
}
body.cp-conference-order-received-page #main-content::before,
body.cp-conference-order-received-page #main-content::after {
 content: "";
 position: absolute;
 z-index: 0;
 pointer-events: none;
 border-radius: 50%;
 filter: blur(76px);
}
body.cp-conference-order-received-page #main-content::before {
 width: min(720px,58vw);
 height: min(720px,58vw);
 left: -25vw;
 top: 6%;
 background: radial-gradient(circle, rgba(255,90,47,.20), rgba(255,90,47,.07) 42%, transparent 72%);
}
body.cp-conference-order-received-page #main-content::after {
 width: min(560px,46vw);
 height: min(560px,46vw);
 right: -20vw;
 bottom: 2%;
 background: radial-gradient(circle, rgba(125,185,229,.11), rgba(125,185,229,.035) 42%, transparent 72%);
}
body.cp-conference-order-received-page #main-content > * { position: relative; z-index: 1; }
body.cp-conference-order-received-page #main-content > .container {
 width: 100% !important;
 max-width: none !important;
 padding: 0 !important;
}
body.cp-conference-order-received-page #main-content > .container::before { display: none !important; }
body.cp-conference-order-received-page #left-area {
 width: 100% !important;
 float: none !important;
 padding: 0 !important;
}
body.cp-conference-order-received-page #sidebar,
body.cp-conference-order-received-page .entry-title,
body.cp-conference-order-received-page .et_post_meta_wrapper { display: none !important; }
body.cp-conference-order-received-page article,
body.cp-conference-order-received-page .entry-content { margin: 0 !important; padding: 0 !important; }

.cp-detail-page[data-cp-component="conference_order_received"] {
 width: min(1200px, calc(100% - 32px));
 max-width: 1200px;
 margin: 0 auto;
 padding: clamp(28px,5vw,64px) 0 clamp(52px,7vw,90px);
 background: transparent;
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_order_received"] .cp-detail__appearance { margin-bottom: 16px; }
.cp-detail__order-received-card {
 overflow: hidden;
 border: 1px solid var(--cp-line-strong);
 border-radius: 24px;
 background: color-mix(in srgb, var(--cp-surface) 94%, transparent);
 box-shadow: var(--cp-shadow-raised);
}
.cp-detail__order-received-hero {
 display: grid;
 grid-template-columns: minmax(0,1fr) auto;
 gap: 24px;
 align-items: center;
 padding: clamp(26px,4vw,46px);
 border-bottom: 1px solid var(--cp-line);
 background:
  radial-gradient(circle at 0 40%, rgba(255,90,47,.13), transparent 37%),
  radial-gradient(circle at 100% 0, rgba(125,185,229,.09), transparent 35%),
  var(--cp-surface-soft);
}
.cp-detail__order-received-hero h1 {
 margin: 4px 0 10px;
 color: var(--cp-text) !important;
 font-size: clamp(34px,5vw,58px);
 line-height: 1.03;
 letter-spacing: -.04em;
}
.cp-detail__order-received-hero > div > p:last-child {
 max-width: 70ch;
 margin: 0;
 color: var(--cp-muted);
 font-size: 16px;
 line-height: 1.65;
}
.cp-detail__order-received-badge {
 display: inline-flex;
 align-items: center;
 gap: 9px;
 min-height: 48px;
 padding: 10px 15px;
 border: 1px solid rgba(91,226,170,.38);
 border-radius: 14px;
 background: rgba(38,194,129,.08);
 color: var(--cp-text);
 font-weight: 800;
 white-space: nowrap;
}
.cp-detail__order-received-badge b {
 display: grid;
 place-items: center;
 width: 28px;
 height: 28px;
 border-radius: 50%;
 background: rgba(38,194,129,.16);
 color: #5be2aa;
}
.cp-detail__order-received-content {
 padding: clamp(22px,4vw,42px);
 color: var(--cp-text);
}
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-order { color: var(--cp-text); }
.cp-detail-page[data-cp-component="conference_order_received"] :is(h2,h3,h4,.woocommerce-order-details__title,.woocommerce-column__title) {
 color: var(--cp-text) !important;
 font-family: inherit !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-notice--success,
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-thankyou-order-received {
 margin: 0 0 22px !important;
 padding: 15px 17px !important;
 border: 1px solid rgba(91,226,170,.34) !important;
 border-left: 4px solid #5be2aa !important;
 border-radius: 13px !important;
 background: rgba(38,194,129,.075) !important;
 color: var(--cp-text) !important;
 font-weight: 750;
}
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-order-overview {
 display: grid !important;
 grid-template-columns: repeat(auto-fit,minmax(145px,1fr));
 gap: 10px;
 margin: 0 0 24px !important;
 padding: 0 !important;
 list-style: none !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-order-overview li {
 float: none !important;
 margin: 0 !important;
 padding: 13px 14px !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 12px !important;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-muted) !important;
 font-size: 10px !important;
 letter-spacing: .08em;
 text-transform: uppercase;
}
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-order-overview li strong {
 display: block;
 margin-top: 5px;
 color: var(--cp-text) !important;
 font-size: 14px !important;
 letter-spacing: 0;
 text-transform: none;
}
.cp-detail-page[data-cp-component="conference_order_received"] :is(
 .woocommerce-order-details,
 .woocommerce-customer-details,
 .woocommerce-additional-fields,
 .woocommerce-order-downloads
) {
 margin: 20px 0 0 !important;
 padding: clamp(18px,3vw,26px) !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 16px !important;
 background: var(--cp-surface-soft) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] table.shop_table {
 width: 100% !important;
 margin: 12px 0 0 !important;
 border: 1px solid var(--cp-line) !important;
 border-collapse: separate !important;
 border-spacing: 0 !important;
 border-radius: 12px !important;
 overflow: hidden;
 background: var(--cp-surface) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] table.shop_table :is(th,td) {
 padding: 13px 14px !important;
 border-color: var(--cp-line) !important;
 background: transparent !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] table.shop_table tfoot th,
.cp-detail-page[data-cp-component="conference_order_received"] table.shop_table tfoot td { font-weight: 800 !important; }
.cp-detail-page[data-cp-component="conference_order_received"] .woocommerce-customer-details address {
 padding: 16px !important;
 border: 1px solid var(--cp-line) !important;
 border-radius: 12px !important;
 background: var(--cp-surface) !important;
 color: var(--cp-muted) !important;
 line-height: 1.65 !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] a:not(.button) { color: var(--cp-blue) !important; }

/* Successful onsite payment: make the private-details route unmistakable. */
.cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation {
 display: flex !important;
 align-items: center;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 14px 18px;
 margin: 24px 0 0 !important;
 padding: 18px 20px !important;
 border: 1px solid rgba(255,90,47,.58) !important;
 border-left: 5px solid #ff5a2f !important;
 border-radius: 14px !important;
 background: color-mix(in srgb, #ff5a2f 8%, var(--cp-surface-soft)) !important;
 color: var(--cp-text) !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation .button {
 float: none !important;
 margin: 0 0 0 auto !important;
 min-height: 44px !important;
 padding: 11px 17px !important;
 border: 1px solid #ff5a2f !important;
 border-radius: 11px !important;
 background: #ff5a2f !important;
 color: #fff !important;
 font-weight: 850 !important;
 text-decoration: none !important;
 box-shadow: 0 8px 22px rgba(255,90,47,.20) !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation .button::before,
.cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation .button::after {
 display: none !important;
 content: none !important;
 opacity: 0 !important;
 width: 0 !important;
 margin: 0 !important;
}
.cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation .button:hover {
 transform: translateY(-1px);
 background: #ef4f27 !important;
 padding-right: 17px !important;
}

@media (max-width: 760px) {
 .cp-detail__order-received-hero { grid-template-columns: 1fr; }
 .cp-detail__order-received-badge { justify-self: start; }
 .cp-detail-page[data-cp-component="conference_order_received"] .cp-onsite-paid-confirmation .button { width: 100%; margin-left: 0 !important; text-align: center; }
}
@media (max-width: 600px) {
 .cp-detail-page[data-cp-component="conference_order_received"] { width: calc(100% - 20px); padding-top: 24px; }
 .cp-detail__order-received-card { border-radius: 18px; }
 .cp-detail__order-received-hero,
 .cp-detail__order-received-content { padding: 20px; }
}


/* 1.4.39.2 — compact live video preview inside Lobby live cards. */
.cp-lobby-live-card__main { display:grid; grid-template-columns:132px minmax(0,1fr); gap:13px; align-items:start; margin-top:13px; }
.cp-lobby-live-card__preview { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:10px; background:#10171b; border:1px solid var(--cp-line); }
.cp-lobby-live-card__preview img { width:100%; height:100%; object-fit:cover; display:block; }
.cp-lobby-live-card__preview > span { position:absolute; inset:50% auto auto 50%; translate:-50% -50%; display:grid; place-items:center; width:34px; height:34px; border-radius:999px; background:rgba(0,0,0,.68); color:#fff; font-size:14px; padding-left:2px; }
.cp-lobby-live-card__copy { min-width:0; }
.cp-lobby-live-card__copy h3 { margin:0; }
.cp-lobby-live-card__copy .cp-lobby-session__speaker { margin-bottom:0; }
@media (max-width:620px) {
  .cp-lobby-live-card__main { grid-template-columns:108px minmax(0,1fr); }
}


/* 1.4.39.9 — consistent Live Now cards + compact scrollable Later Today. */
.cp-lobby-live-card {
 border: 2px solid color-mix(in srgb, var(--cp-lobby-pathway) 78%, var(--cp-line)) !important;
 border-top-width: 5px !important;
 overflow: hidden;
}
.cp-lobby-live-card__title {
 margin: 14px 0 12px !important;
 color: var(--cp-text) !important;
 font-size: clamp(20px, 2vw, 28px) !important;
 line-height: 1.17 !important;
 overflow-wrap: anywhere;
}
.cp-lobby-live-card__main { display: contents !important; }
.cp-lobby-live-card__preview {
 position: relative;
 display: block;
 width: 100%;
 aspect-ratio: 16 / 9;
 overflow: hidden;
 border: 1px solid color-mix(in srgb, var(--cp-lobby-pathway) 40%, var(--cp-line));
 border-radius: 12px;
 background: #10171b;
}
.cp-lobby-live-card__preview.is-placeholder {
 display: grid;
 place-items: center;
 background:
   radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--cp-lobby-pathway) 24%, transparent), transparent 48%),
   #11191e;
}
.cp-lobby-live-card__preview img { width: 100%; height: 100%; display: block; object-fit: cover; }
.cp-lobby-live-card__play {
 position: absolute;
 inset: 50% auto auto 50%;
 translate: -50% -50%;
 display: grid;
 place-items: center;
 width: 52px;
 height: 52px;
 border-radius: 50%;
 background: rgba(0,0,0,.72);
 color: #fff;
 font-size: 20px;
 padding-left: 3px;
}
.cp-lobby-live-card__preview-label {
 color: color-mix(in srgb, var(--cp-text) 76%, transparent);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .05em;
 text-transform: uppercase;
 transform: translateY(42px);
}
.cp-lobby-live-card__meta { margin-top: 11px; min-width: 0; }
.cp-lobby-live-card__meta .cp-lobby-session__speaker { margin-bottom: 0; }
.cp-lobby-live-card > .cp-lobby-session__primary { margin-top: 13px; }

.cp-lobby__later-list {
 max-height: 390px;
 overflow-y: auto;
 overscroll-behavior: contain;
 scrollbar-gutter: stable;
 padding-right: 5px;
}
.cp-lobby__later-row {
 position: relative;
 display: grid !important;
 grid-template-columns: minmax(0,1fr) 34px !important;
 gap: 8px;
 align-items: center;
 min-height: 58px;
 padding: 0 !important;
 border-top: 1px solid var(--cp-line);
}
.cp-lobby__later-row:first-child { border-top: 0; }
.cp-lobby__later-link {
 display: grid;
 grid-template-columns: 52px 9px minmax(0,1fr) auto;
 gap: 10px;
 align-items: center;
 min-width: 0;
 min-height: 58px;
 padding: 8px 2px;
 color: inherit !important;
}
.cp-lobby__later-row .cp-lobby__later-heart {
 position: static !important;
 width: 30px !important;
 height: 30px !important;
 min-width: 30px !important;
 padding: 0 !important;
 color: var(--cp-muted) !important;
 border-color: var(--cp-line) !important;
 background: transparent !important;
}
.cp-lobby__later-row .cp-lobby__later-heart [data-cp-heart-icon] { font-size: 19px !important; }
.cp-lobby__later-row .cp-lobby__later-heart[aria-pressed="true"] { color: var(--cp-orange) !important; }
.cp-lobby__later-link:hover .cp-lobby__later-copy strong,
.cp-lobby__later-link:hover .cp-lobby__later-arrow { color: var(--cp-orange); }
@media(max-width:620px){
 .cp-lobby__later-link { grid-template-columns: 44px 8px minmax(0,1fr) auto; }
 .cp-lobby__later-list { max-height: 330px; }
}
/* 1.4.39.9 specificity repair for legacy compact-preview selector. */
.cp-lobby-live-card__preview > .cp-lobby-live-card__preview-label {
 position: static;
 inset: auto;
 translate: none;
 display: block;
 width: auto;
 height: auto;
 padding: 0;
 border-radius: 0;
 background: transparent;
 color: color-mix(in srgb, var(--cp-text) 76%, transparent);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .05em;
 text-transform: uppercase;
 transform: translateY(42px);
}
.cp-lobby-live-card__preview > .cp-lobby-live-card__play {
 position: absolute;
 inset: 50% auto auto 50%;
 translate: -50% -50%;
 display: grid;
 place-items: center;
 width: 52px;
 height: 52px;
 padding: 0 0 0 3px;
 border-radius: 50%;
 background: rgba(0,0,0,.72);
 color: #fff;
 font-size: 20px;
}

/* ========================================================================== */
/* 1.4.39.10 — compact live cards, room hover states, scrollable dashboard UI */
/* ========================================================================== */
.cp-lobby-live-card {
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.cp-lobby-live-card:hover,
.cp-lobby-live-card:focus-within {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--cp-lobby-pathway) 9%, var(--cp-surface-raised));
  box-shadow: 0 16px 34px rgba(10,22,30,.15);
}
.cp-lobby-live-card__title {
  font-size: clamp(18px,1.55vw,24px) !important;
  line-height: 1.18 !important;
  margin: 12px 0 10px !important;
}
.cp-lobby-live-card__preview {
  height: clamp(150px, 15vw, 205px);
  aspect-ratio: auto !important;
  border-color: color-mix(in srgb,var(--cp-lobby-pathway) 58%,var(--cp-line));
  background:#0d1519;
}
.cp-lobby-live-card__preview .cp-live-embed,
.cp-lobby-live-card__preview .cp-live-embed iframe {
  width:100%;
  height:100%;
  min-height:0 !important;
  display:block;
  border:0;
}
.cp-lobby-live-card__preview.has-player { pointer-events:none; }
.cp-lobby-live-card__preview-label { transform:none !important; }
.cp-lobby-live-card__play { display:none !important; }

.cp-lobby__next-list {
  max-height: 350px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.cp-lobby-next-row {
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 36px !important;
  gap:8px;
  padding:0 !important;
  min-height:72px;
  transition:background-color .16s ease, box-shadow .16s ease;
}
.cp-lobby-next-row__link {
  display:grid;
  grid-template-columns:74px minmax(120px,.55fr) minmax(0,1.7fr) auto;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:11px 10px 11px 14px;
  color:var(--cp-text)!important;
}
.cp-lobby-next-row:hover,
.cp-lobby-next-row:focus-within {
  background:color-mix(in srgb,var(--cp-lobby-pathway) 9%,var(--cp-surface-raised));
}
.cp-lobby-next-row__heart {
  position:static !important;
  align-self:center;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  margin-right:4px;
  border:1px solid var(--cp-line) !important;
  border-radius:9px !important;
  background:transparent !important;
  color:var(--cp-muted) !important;
}
.cp-lobby-next-row__heart:hover,
.cp-lobby-next-row__heart:focus-visible,
.cp-lobby-next-row__heart[aria-pressed="true"] { color:var(--cp-orange)!important; border-color:var(--cp-orange)!important; background:color-mix(in srgb,var(--cp-orange) 8%,transparent)!important; }
.cp-lobby-next-row__heart [data-cp-heart-icon] { font-size:19px!important; }

.cp-lobby__saved-list {
  max-height: 360px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:4px;
}
.cp-lobby__saved-row {
  border-radius:10px;
  padding:4px !important;
  transition:background-color .16s ease, transform .16s ease;
  border-top:0 !important;
  margin-bottom:4px;
}
.cp-lobby__saved-row:hover,
.cp-lobby__saved-row:focus-within {
  background:color-mix(in srgb,var(--cp-lobby-pathway) 10%,var(--cp-surface-soft));
  transform:translateX(2px);
}
.cp-lobby__saved-link { padding:7px 38px 7px 7px; border-radius:8px; }
.cp-lobby__later-row { border-radius:9px; transition:background-color .16s ease; }
.cp-lobby__later-row:hover,
.cp-lobby__later-row:focus-within { background:color-mix(in srgb,var(--cp-lobby-pathway) 8%,var(--cp-surface-soft)); }

@media (max-width:1100px) {
  .cp-lobby-live-card__preview { height:clamp(155px,24vw,210px); }
  .cp-lobby__saved-list { max-height:320px; }
}
@media (max-width:820px) {
  .cp-lobby__live-grid { grid-template-columns:1fr !important; }
  .cp-lobby-live-card__preview { height:clamp(165px,42vw,245px); }
  .cp-lobby-next-row__link { grid-template-columns:58px minmax(0,1fr) auto; gap:7px 9px; }
  .cp-lobby-next-row__time { grid-column:1; grid-row:1 / 3; align-self:start; padding-top:4px; }
  .cp-lobby-next-row__room { grid-column:2 / 4; }
  .cp-lobby-next-row__copy { grid-column:2 / 4; }
  .cp-lobby-next-row__action { grid-column:2 / 4; }
}
@media (max-width:600px) {
  .cp-lobby-live-card { padding:14px; border-radius:14px; }
  .cp-lobby-live-card__title { font-size:19px !important; }
  .cp-lobby-live-card__preview { height:clamp(155px,50vw,215px); }
  .cp-lobby__next-list,.cp-lobby__later-list,.cp-lobby__saved-list { max-height:300px; }
  .cp-lobby-next-row { grid-template-columns:minmax(0,1fr) 34px !important; }
  .cp-lobby-next-row__link { padding:10px 6px 10px 10px; }
  .cp-lobby__aside { width:100%; }
  .cp-lobby__panel { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .cp-lobby-live-card,.cp-lobby-next-row,.cp-lobby__saved-row,.cp-lobby__later-row { transition:none!important; transform:none!important; }
}

/* 1.4.39.10 final compact Lobby viewer geometry. */
.cp-lobby-live-card__preview { height:clamp(118px,11vw,158px)!important; }
@media(max-width:1100px){.cp-lobby-live-card__preview{height:clamp(135px,20vw,178px)!important}}
@media(max-width:820px){.cp-lobby-live-card__preview{height:clamp(150px,36vw,195px)!important}}
@media(max-width:600px){.cp-lobby-live-card__preview{height:clamp(145px,46vw,190px)!important}}
/* 1.4.39.10 force compact scroll regions even with four conference rows. */
.cp-lobby__next-list{max-height:255px!important;overflow-y:auto!important}
.cp-lobby__later-list{max-height:310px!important;overflow-y:auto!important}
.cp-lobby__saved-list{max-height:300px!important;overflow-y:auto!important}
@media(max-width:820px){.cp-lobby__next-list,.cp-lobby__later-list,.cp-lobby__saved-list{max-height:280px!important}}

/* 1.4.39.10 — tablet/phone finishing pass. */
@media (min-width:681px) and (max-width:1024px) {
  .cp-lobby__live-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .cp-lobby-live-card { min-width:0; }
  .cp-lobby-live-card__title {
    min-height:calc(3 * 1.18em);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .cp-lobby-live-card__preview { height:clamp(125px,17vw,165px)!important; }
  .cp-lobby__aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-lobby__panel { min-width:0; }
}
@media (max-width:680px) {
  .cp-lobby__live-grid { grid-template-columns:1fr!important; }
  .cp-lobby-live-card__title { min-height:0; display:block; overflow:visible; }
  .cp-lobby-live-card__preview { height:clamp(145px,48vw,190px)!important; }
  .cp-lobby-next-row__link,.cp-lobby__later-link { min-width:0; }
  .cp-lobby__next-list,.cp-lobby__later-list,.cp-lobby__saved-list { scrollbar-gutter:auto; }
}
@media (hover:none) {
  .cp-lobby-live-card:active,
  .cp-lobby-next-row:active,
  .cp-lobby__later-row:active,
  .cp-lobby__saved-row:active {
    background:color-mix(in srgb,var(--cp-lobby-pathway) 12%,var(--cp-surface-raised));
  }
}

/* 1.4.39.11 — stronger desktop/tablet symmetry for Lobby live cards. */
@media (min-width:681px) {
  .cp-lobby-live-card {
    display: flex;
    flex-direction: column;
  }
  .cp-lobby-live-card__title {
    min-height: calc(3 * 1.18em);
  }
  .cp-lobby-live-card__meta {
    min-height: 42px;
  }
}


/* 1.4.39.17 — Lobby live preview aspect-ratio reset.
 * Keep the moving preview genuinely 16:9 instead of forcing it into a shallow
 * fixed-height slot. This prevents the iframe/video from looking stretched.
 * Some archival YouTube sources contain their own pillar-boxing; we do not crop
 * that footage because doing so would cut off true 16:9 sources. */
.cp-lobby-live-card__preview {
  width: min(100%, 440px) !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  margin-inline: auto !important;
  position: relative !important;
}
.cp-lobby-live-card__preview .cp-live-embed,
.cp-lobby-live-card__preview .cp-live-embed iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
@media (min-width: 681px) and (max-width: 1024px) {
  .cp-lobby-live-card__preview { width: min(100%, 420px) !important; }
}
@media (max-width: 680px) {
  .cp-lobby-live-card__preview {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 16 / 9 !important;
  }
}


/* 1.4.39.18 — Lobby preview width refinement.
 * Keep the real video aspect ratio while reducing the visual width of the
 * preview inside each Lobby card. This avoids the oversized panoramic look
 * without touching the card title/meta geometry or the Live Conference page. */
@media (min-width: 1025px) {
  .cp-lobby-live-card__preview {
    width: min(76%, 360px) !important;
    max-width: 360px !important;
    margin-inline: auto !important;
  }
}
@media (min-width: 681px) and (max-width: 1024px) {
  .cp-lobby-live-card__preview {
    width: min(82%, 340px) !important;
    max-width: 340px !important;
    margin-inline: auto !important;
  }
}
@media (max-width: 680px) {
  .cp-lobby-live-card__preview {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    margin-inline: auto !important;
  }
}


/* 1.4.39.19 — Lobby de-boxing / softened room identity.
 * Keep the correct-ratio moving preview from 1.4.39.18, but remove the heavy
 * framed-card treatment. Room identity is a hairline tint rather than a thick
 * top/left stripe, with softer corners and a lighter hover wash. */
.cp-lobby-live-card {
  border: 1px solid color-mix(in srgb, var(--cp-lobby-pathway) 48%, var(--cp-line)) !important;
  border-top-width: 1px !important;
  border-radius: 19px !important;
  box-shadow: 0 12px 28px rgba(4, 13, 18, .10) !important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cp-lobby-pathway) 2.5%, var(--cp-surface-raised)),
      var(--cp-surface-raised)) !important;
  overflow: hidden;
}
.cp-lobby-live-card::before,
.cp-lobby-live-card::after {
  box-shadow: none !important;
}
.cp-lobby-live-card:hover,
.cp-lobby-live-card:focus-within {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--cp-lobby-pathway) 72%, var(--cp-line)) !important;
  background: color-mix(in srgb, var(--cp-lobby-pathway) 7%, var(--cp-surface-raised)) !important;
  box-shadow: 0 16px 34px rgba(4,13,18,.14) !important;
}
.cp-lobby-live-card__preview {
  border-width: 1px !important;
  border-color: color-mix(in srgb, var(--cp-lobby-pathway) 34%, var(--cp-line)) !important;
  border-radius: 13px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
@media (min-width: 1025px) {
  .cp-lobby-live-card {
    padding: 15px 16px 16px !important;
  }
  .cp-lobby-live-card__preview {
    width: min(72%, 350px) !important;
    max-width: 350px !important;
  }
}
@media (min-width: 681px) and (max-width: 1024px) {
  .cp-lobby-live-card {
    padding: 14px 15px 15px !important;
    border-radius: 17px !important;
  }
  .cp-lobby-live-card__preview {
    width: min(80%, 330px) !important;
    max-width: 330px !important;
  }
}
@media (max-width: 680px) {
  .cp-lobby-live-card {
    border-radius: 16px !important;
    padding: 13px !important;
  }
  .cp-lobby-live-card__preview {
    width: 100% !important;
    max-width: 360px !important;
    border-radius: 12px !important;
  }
}

/* 1.4.39.20 — Lobby Live Now wide-strip layout.
 * Live Now spans the full lobby width on desktop so the normal four pathway
 * rooms can sit in one balanced row. The rest of the dashboard keeps the
 * main + sidebar layout below it. */
.cp-lobby__section--live-wide {
  margin-top: 28px;
}
.cp-lobby__section--live-wide + .cp-lobby__dashboard {
  margin-top: 22px;
}
@media (min-width: 1181px) {
  .cp-lobby__section--live-wide .cp-lobby__live-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card {
    padding: 14px 14px 15px !important;
    border-radius: 17px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__title {
    font-size: clamp(16px, 1.12vw, 18px) !important;
    line-height: 1.22 !important;
    min-height: calc(3 * 1.22em) !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__meta {
    min-height: 46px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card > .cp-lobby-session__primary {
    width: 100%;
  }
}
@media (min-width: 821px) and (max-width: 1180px) {
  .cp-lobby__section--live-wide .cp-lobby__live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    margin-inline: auto !important;
  }
}
@media (max-width: 820px) {
  .cp-lobby__section--live-wide {
    margin-top: 20px;
  }
  .cp-lobby__section--live-wide + .cp-lobby__dashboard {
    margin-top: 18px;
  }
  .cp-lobby__section--live-wide .cp-lobby__live-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================================== */
/* 1.4.39.25 — rebased from approved 1.4.39.20 Lobby                         */
/* Modern IFTCC-orange scrollers + mobile list breakpoint repair.             */
/* Desktop geometry is intentionally left unchanged.                          */
/* ========================================================================== */

/* Coming Next and Later Today use the same compact orange scrollbar. */
.cp-lobby__next-list,
.cp-lobby__later-list {
  scrollbar-width: thin;
  scrollbar-color: var(--cp-orange) color-mix(in srgb, var(--cp-surface-soft) 78%, transparent);
  scrollbar-gutter: stable;
}
.cp-lobby__next-list::-webkit-scrollbar,
.cp-lobby__later-list::-webkit-scrollbar {
  width: 9px;
}
.cp-lobby__next-list::-webkit-scrollbar-track,
.cp-lobby__later-list::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--cp-surface-soft) 72%, transparent);
  border-radius: 999px;
}
.cp-lobby__next-list::-webkit-scrollbar-thumb,
.cp-lobby__later-list::-webkit-scrollbar-thumb {
  min-height: 42px;
  border: 2px solid color-mix(in srgb, var(--cp-surface-soft) 72%, transparent);
  border-radius: 999px;
  background: var(--cp-orange);
}
.cp-lobby__next-list::-webkit-scrollbar-thumb:hover,
.cp-lobby__later-list::-webkit-scrollbar-thumb:hover {
  background: #ff6a45;
}

/* Phone layout: rows become deliberate mini-cards rather than shrinking the
 * desktop grid until labels, pathway marks and titles collide. */
@media (max-width: 680px) {
  .cp-lobby__section--next,
  .cp-lobby__main > .cp-lobby__section:not(.cp-lobby__section--live) {
    overflow: hidden;
  }

  .cp-lobby__section-head {
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }
  .cp-lobby__section-head h2 {
    font-size: 25px !important;
    line-height: 1.05 !important;
  }
  .cp-lobby__section-head > a {
    font-size: 10.5px !important;
  }

  .cp-lobby__next-list,
  .cp-lobby__later-list {
    width: 100%;
    max-height: 330px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-right: 3px;
    scrollbar-gutter: auto;
  }

  /* Coming Next / Starting Soon. */
  .cp-lobby-next-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
  }
  .cp-lobby-next-row__link {
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "time room"
      "copy copy" !important;
    gap: 7px 11px !important;
    min-width: 0 !important;
    padding: 12px 8px 12px 13px !important;
    align-content: center !important;
  }
  .cp-lobby-next-row__time {
    grid-area: time !important;
    align-self: center !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
  .cp-lobby-next-row__room {
    grid-area: room !important;
    justify-self: end !important;
    min-width: 0 !important;
    gap: 5px !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap;
  }
  .cp-lobby-next-row__room img {
    width: 18px !important;
    height: 18px !important;
  }
  .cp-lobby-next-row__copy {
    grid-area: copy !important;
    min-width: 0 !important;
  }
  .cp-lobby-next-row__copy strong {
    display: block !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere;
  }
  .cp-lobby-next-row__copy small {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
  .cp-lobby-next-row__copy .cp-lobby-speaker-avatars img {
    width: 20px !important;
    height: 20px !important;
  }
  /* The whole left side is already the session link; hiding the duplicate
   * View/Get ready label gives the title and speaker enough breathing room. */
  .cp-lobby-next-row__action {
    display: none !important;
  }
  .cp-lobby-next-row__heart {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }

  /* Later Today. */
  .cp-lobby__later-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
  }
  .cp-lobby__later-link {
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: auto 9px minmax(0, 1fr) !important;
    grid-template-areas: "time dot copy" !important;
    gap: 9px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 11px 7px 11px 12px !important;
    align-items: start !important;
  }
  .cp-lobby__later-time {
    grid-area: time !important;
    padding-top: 2px;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
  .cp-lobby__later-dot {
    grid-area: dot !important;
    align-self: start !important;
    margin-top: 4px;
    width: 8px !important;
    height: 8px !important;
  }
  .cp-lobby__later-copy {
    grid-area: copy !important;
    min-width: 0 !important;
  }
  .cp-lobby__later-copy strong {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }
  .cp-lobby__later-copy small {
    display: block !important;
    margin-top: 4px !important;
    font-size: 9.8px !important;
    line-height: 1.25 !important;
  }
  .cp-lobby__later-arrow {
    display: none !important;
  }
  .cp-lobby__later-row .cp-lobby__later-heart {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }
}

/* Extra-narrow phones: keep pathway labels and hearts readable without any
 * cross-column collision. */
@media (max-width: 430px) {
  .cp-lobby__section,
  .cp-lobby__panel {
    padding: 14px !important;
  }
  .cp-lobby-next-row__link {
    padding-left: 11px !important;
  }
  .cp-lobby-next-row__copy strong,
  .cp-lobby__later-copy strong {
    font-size: 12.5px !important;
  }
  .cp-lobby-next-row__room {
    font-size: 9px !important;
  }
}


/* ========================================================================== */
/* 1.4.39.26 — mobile list structure hardening.                               */
/* Desktop stays visually identical to the approved v20/v25 layout.          */
/* ========================================================================== */
.cp-lobby-next-row__meta,
.cp-lobby__later-meta { display: contents; }

@media (max-width: 680px) {
  .cp-lobby__next-list,
  .cp-lobby__later-list {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
  }

  .cp-lobby-next-row,
  .cp-lobby__later-row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 46px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  .cp-lobby-next-row__link,
  .cp-lobby__later-link {
    grid-column: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 13px 8px 13px 16px !important;
    align-items: stretch !important;
  }

  .cp-lobby-next-row__meta,
  .cp-lobby__later-meta {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
  }

  .cp-lobby-next-row__meta {
    justify-content: space-between !important;
  }
  .cp-lobby__later-meta {
    justify-content: flex-start !important;
  }

  .cp-lobby-next-row__time,
  .cp-lobby__later-time {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .cp-lobby-next-row__room {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
  .cp-lobby-next-row__room img {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  .cp-lobby-next-row__copy,
  .cp-lobby__later-copy {
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .cp-lobby-next-row__copy strong,
  .cp-lobby__later-copy strong {
    display: block !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.32 !important;
    overflow-wrap: anywhere !important;
  }
  .cp-lobby-next-row__copy small,
  .cp-lobby__later-copy small {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    color: var(--cp-muted) !important;
  }
  .cp-lobby__later-copy small { display:block !important; }

  .cp-lobby-next-row__copy .cp-lobby-speaker-avatars,
  .cp-lobby-next-row__copy .cp-lobby-speaker-avatars img {
    position: static !important;
  }
  .cp-lobby-next-row__copy .cp-lobby-speaker-avatars img {
    width: 22px !important;
    height: 22px !important;
  }

  .cp-lobby-next-row__action,
  .cp-lobby__later-arrow {
    display: none !important;
  }

  .cp-lobby-next-row__heart,
  .cp-lobby__later-row .cp-lobby__later-heart {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    position: static !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cp-lobby__later-dot {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 !important;
  }
}

@media (max-width: 430px) {
  .cp-lobby-next-row__link,
  .cp-lobby__later-link { padding: 12px 7px 12px 13px !important; }
  .cp-lobby-next-row__copy strong,
  .cp-lobby__later-copy strong { font-size: 13px !important; }
  .cp-lobby-next-row__room { font-size: 9.5px !important; }
}


/* 1.4.39.27 — My Conference compact panel uses the same IFTCC-orange scroller. */
.cp-lobby__saved-list {
  scrollbar-width: thin;
  scrollbar-color: var(--cp-orange) color-mix(in srgb, var(--cp-surface-soft) 78%, transparent);
  scrollbar-gutter: stable;
}
.cp-lobby__saved-list::-webkit-scrollbar { width: 9px; }
.cp-lobby__saved-list::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--cp-surface-soft) 72%, transparent);
  border-radius: 999px;
}
.cp-lobby__saved-list::-webkit-scrollbar-thumb {
  min-height: 42px;
  border: 2px solid color-mix(in srgb, var(--cp-surface-soft) 72%, transparent);
  border-radius: 999px;
  background: var(--cp-orange);
}
.cp-lobby__saved-list::-webkit-scrollbar-thumb:hover { background: #ff6a45; }
@media (max-width:680px) {
  .cp-lobby__saved-list { scrollbar-gutter: auto; }
}


/* ========================================================================== */
/* 1.4.39.28 — definitive phone breakpoint for Coming Next / Later Today.     */
/* Keeps desktop/tablet geometry untouched; phone rows are allowed to grow     */
/* naturally so titles, speaker meta, room artwork and hearts never overlap.  */
/* ========================================================================== */
@media (max-width: 680px) {
  .cp-lobby__section--next .cp-lobby__next-list,
  .cp-lobby__section--later .cp-lobby__later-list,
  .cp-lobby__section--soon .cp-lobby__next-list {
    display: block !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row,
  .cp-lobby__section--soon .cp-lobby-next-row,
  .cp-lobby__section--later .cp-lobby__later-row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__link,
  .cp-lobby__section--soon .cp-lobby-next-row__link,
  .cp-lobby__section--later .cp-lobby__later-link {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 13px 10px 13px 16px !important;
    overflow: visible !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__meta,
  .cp-lobby__section--soon .cp-lobby-next-row__meta,
  .cp-lobby__section--later .cp-lobby__later-meta {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    line-height: 1.2 !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__meta,
  .cp-lobby__section--soon .cp-lobby-next-row__meta {
    justify-content: space-between !important;
  }
  .cp-lobby__section--later .cp-lobby__later-meta {
    justify-content: flex-start !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__time,
  .cp-lobby__section--soon .cp-lobby-next-row__time,
  .cp-lobby__section--later .cp-lobby__later-time {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__room,
  .cp-lobby__section--soon .cp-lobby-next-row__room {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 1 auto !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__room img,
  .cp-lobby__section--soon .cp-lobby-next-row__room img {
    position: static !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__copy,
  .cp-lobby__section--soon .cp-lobby-next-row__copy,
  .cp-lobby__section--later .cp-lobby__later-copy {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  /* These titles also carry .cp-session-card__title, whose Programme rules
   * use !important margins. Reset them here so dashboard rows cannot collide. */
  .cp-lobby__section--next .cp-lobby-next-row__copy > strong.cp-lobby-list-title,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > strong.cp-lobby-list-title,
  .cp-lobby__section--later .cp-lobby__later-copy > strong.cp-lobby-list-title {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--cp-text) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    transform: none !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__copy > small,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > small,
  .cp-lobby__section--later .cp-lobby__later-copy > small {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    color: var(--cp-muted) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    transform: none !important;
  }
  .cp-lobby__section--later .cp-lobby__later-copy > small {
    display: block !important;
  }

  .cp-lobby__section--next .cp-lobby-speaker-avatars,
  .cp-lobby__section--soon .cp-lobby-speaker-avatars {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    transform: none !important;
  }
  .cp-lobby__section--next .cp-lobby-speaker-avatars img,
  .cp-lobby__section--soon .cp-lobby-speaker-avatars img {
    position: static !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__action,
  .cp-lobby__section--soon .cp-lobby-next-row__action,
  .cp-lobby__section--later .cp-lobby__later-arrow {
    display: none !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__heart,
  .cp-lobby__section--soon .cp-lobby-next-row__heart,
  .cp-lobby__section--later .cp-lobby__later-row .cp-lobby__later-heart {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    box-sizing: border-box !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .cp-lobby__section--later .cp-lobby__later-dot {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  .cp-lobby__section--next .cp-lobby-next-row__link,
  .cp-lobby__section--soon .cp-lobby-next-row__link,
  .cp-lobby__section--later .cp-lobby__later-link {
    min-height: 84px !important;
    padding: 12px 8px 12px 13px !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__copy > strong.cp-lobby-list-title,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > strong.cp-lobby-list-title,
  .cp-lobby__section--later .cp-lobby__later-copy > strong.cp-lobby-list-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__room,
  .cp-lobby__section--soon .cp-lobby-next-row__room {
    font-size: 9.5px !important;
  }
}

/* 1.4.39.28 final phone flow: block layout with a reserved heart gutter. */
@media (max-width: 680px) {
  .cp-lobby__section--next .cp-lobby-next-row,
  .cp-lobby__section--soon .cp-lobby-next-row,
  .cp-lobby__section--later .cp-lobby__later-row {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__link,
  .cp-lobby__section--soon .cp-lobby-next-row__link,
  .cp-lobby__section--later .cp-lobby__later-link {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 13px 58px 13px 16px !important;
    overflow: visible !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__meta,
  .cp-lobby__section--soon .cp-lobby-next-row__meta,
  .cp-lobby__section--later .cp-lobby__later-meta {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 20px !important;
    height: auto !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    gap: 8px !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__meta,
  .cp-lobby__section--soon .cp-lobby-next-row__meta {
    justify-content: space-between !important;
  }
  .cp-lobby__section--later .cp-lobby__later-meta {
    justify-content: flex-start !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__time,
  .cp-lobby__section--soon .cp-lobby-next-row__time,
  .cp-lobby__section--later .cp-lobby__later-time,
  .cp-lobby__section--next .cp-lobby-next-row__room,
  .cp-lobby__section--soon .cp-lobby-next-row__room {
    position: static !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__room,
  .cp-lobby__section--soon .cp-lobby-next-row__room {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__copy,
  .cp-lobby__section--soon .cp-lobby-next-row__copy,
  .cp-lobby__section--later .cp-lobby__later-copy {
    position: static !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__copy > .cp-lobby-list-title,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > .cp-lobby-list-title,
  .cp-lobby__section--later .cp-lobby__later-copy > .cp-lobby-list-title {
    position: static !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__copy > small,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > small,
  .cp-lobby__section--later .cp-lobby__later-copy > small {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .cp-lobby__section--later .cp-lobby__later-copy > small {
    display: block !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__heart,
  .cp-lobby__section--soon .cp-lobby-next-row__heart,
  .cp-lobby__section--later .cp-lobby__later-row .cp-lobby__later-heart {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
  }

  .cp-lobby__section--next .cp-lobby-next-row__action,
  .cp-lobby__section--soon .cp-lobby-next-row__action,
  .cp-lobby__section--later .cp-lobby__later-arrow {
    display: none !important;
  }
}

@media (max-width: 430px) {
  .cp-lobby__section--next .cp-lobby-next-row__link,
  .cp-lobby__section--soon .cp-lobby-next-row__link,
  .cp-lobby__section--later .cp-lobby__later-link {
    min-height: 84px !important;
    padding: 12px 54px 12px 13px !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__copy > .cp-lobby-list-title,
  .cp-lobby__section--soon .cp-lobby-next-row__copy > .cp-lobby-list-title,
  .cp-lobby__section--later .cp-lobby__later-copy > .cp-lobby-list-title {
    font-size: 13px !important;
  }
  .cp-lobby__section--next .cp-lobby-next-row__heart,
  .cp-lobby__section--soon .cp-lobby-next-row__heart,
  .cp-lobby__section--later .cp-lobby__later-row .cp-lobby__later-heart {
    right: 8px !important;
  }
}

/* ========================================================================== */
/* 1.4.39.30 — Lobby live-card tablet/phone proportion refinement.            */
/* Desktop (>1024px) is intentionally untouched. On smaller screens the       */
/* entire card becomes a tighter, centred viewing unit: title and metadata      */
/* align to the player width, and the Watch live action becomes a compact       */
/* bottom-right control instead of a full-width bar.                           */
/* ========================================================================== */
@media (max-width: 1024px) {
  .cp-lobby__section--live-wide .cp-lobby-live-card {
    box-sizing: border-box;
    width: min(100%, 520px) !important;
    justify-self: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "live-top live-top"
      "live-title live-title"
      "live-preview live-preview"
      "live-meta live-action" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    align-items: end !important;
    padding: 13px 14px 14px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__top {
    grid-area: live-top !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__title {
    grid-area: live-title !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 1px 0 0 !important;
    font-size: clamp(17px, 2.1vw, 20px) !important;
    line-height: 1.24 !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    grid-area: live-preview !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    justify-self: stretch !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__meta {
    grid-area: live-meta !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: center !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card > .cp-lobby-session__primary {
    grid-area: live-action !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    align-self: end !important;
    justify-self: end !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 680px) {
  .cp-lobby__section--live-wide .cp-lobby-live-card {
    width: min(calc(100% - 18px), 440px) !important;
    padding: 12px !important;
    row-gap: 9px !important;
    border-radius: 15px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__title {
    font-size: 18px !important;
    line-height: 1.23 !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    border-radius: 10px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__meta {
    font-size: 11px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card > .cp-lobby-session__primary {
    min-height: 32px !important;
    padding: 7px 11px !important;
    font-size: 11px !important;
    border-radius: 9px !important;
  }
}

/* ========================================================================== */
/* 1.4.39.30 — responsive Live Now card polish.                               */
/* Tablet/large-mobile gets a tidy two-card row. True phone portrait stays    */
/* one-across because two 170px-wide video cards become unreadable.           */
/* Desktop >1024px is intentionally untouched.                                */
/* ========================================================================== */
@media (min-width: 600px) and (max-width: 1024px) {
  .cp-lobby__section--live-wide .cp-lobby__live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card {
    width: 100% !important;
    max-width: none !important;
    padding: 11px !important;
    row-gap: 8px !important;
    border-radius: 14px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__title {
    font-size: 15px !important;
    line-height: 1.22 !important;
    min-height: calc(2.44em) !important;
    max-height: calc(2.44em) !important;
    -webkit-line-clamp: 2 !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    border-radius: 9px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__meta {
    min-height: 37px !important;
    font-size: 10px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card > .cp-lobby-session__primary {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 599px) {
  .cp-lobby__section--live-wide .cp-lobby__live-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card {
    width: min(calc(100% - 12px), 360px) !important;
    max-width: 360px !important;
    padding: 10px !important;
    row-gap: 8px !important;
    border-radius: 14px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__title {
    font-size: 15.5px !important;
    line-height: 1.24 !important;
    margin-top: 0 !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__preview {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 9px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card__meta {
    font-size: 10px !important;
  }
  .cp-lobby__section--live-wide .cp-lobby-live-card > .cp-lobby-session__primary {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
  }
}


/* 1.4.39.173 — attendee delivery-mode badges across session/lobby/speaker views. */
.cp-detail-component .cp-delivery-badges { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.cp-detail-component .cp-delivery-badge { display:inline-flex; align-items:center; min-height:23px; padding:4px 8px; border:1px solid var(--cp-line-strong); border-radius:999px; background:var(--cp-surface-soft); color:var(--cp-text); font-size:9px; line-height:1.15; font-weight:900; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.cp-detail-component .cp-delivery-badge--online { border-color:color-mix(in srgb,#2f80ed 42%,var(--cp-line)); background:color-mix(in srgb,#2f80ed 9%,var(--cp-surface-soft)); }
.cp-detail-component .cp-delivery-badge--pre-recorded { border-color:color-mix(in srgb,#8c5bb3 42%,var(--cp-line)); background:color-mix(in srgb,#8c5bb3 9%,var(--cp-surface-soft)); }
.cp-detail-component .cp-delivery-badge--live-qa { border-color:color-mix(in srgb,#f29f38 48%,var(--cp-line)); background:color-mix(in srgb,#f29f38 10%,var(--cp-surface-soft)); }
.cp-detail__delivery-badges { display:inline-flex!important; }
.cp-detail__card-delivery { margin:8px 0 0; }
.cp-lobby-delivery { margin-top:8px; }
.cp-lobby-delivery--compact { margin-top:5px; }
.cp-lobby-delivery--micro { margin-top:3px; }
.cp-lobby-delivery--micro .cp-delivery-badge { min-height:18px; padding:2px 5px; font-size:7px; }
.cp-lobby-live-card .cp-lobby-delivery { margin-top:9px; }

.cp-home__session-delivery { margin-top:8px; }

/* 1.4.39.191 — exact Lobby Live-now delivery badges. Keep FORMAT / LIVE Q&A
 * pills physically separated from the preview player below. */
.cp-lobby-live-card > .cp-lobby-delivery--live {
  margin: 9px 0 12px !important;
}
