/* Programme layout */
#page .hp4u-sv-program {
    width: 100%;
    max-width: var(--hp4u-layout-narrow);
    margin-inline: auto;
    color: var(--hp4u-color-text);
    font-family: var(--hp4u-font-body);
    font-size: var(--hp4u-type-body);
    line-height: var(--hp4u-leading-body);
    text-align: start;
    overflow-wrap: break-word;
    hyphens: none;
}
#page .hp4u-sv-program *,
#page .hp4u-sv-program *::before,
#page .hp4u-sv-program *::after { box-sizing: border-box; }
#page .hp4u-sv-program__heading,
#page .hp4u-sv-program__day-title,
#page .hp4u-sv-program__title {
    margin: 0 !important;
    color: var(--hp4u-color-heading) !important;
    font-family: var(--hp4u-font-heading) !important;
    font-weight: var(--hp4u-font-weight-bold) !important;
}
#page .hp4u-sv-program__heading { font-size: var(--hp4u-type-h2) !important; line-height: var(--hp4u-leading-h2) !important; }
#page .hp4u-sv-program__day-title { font-size: var(--hp4u-type-h3) !important; line-height: var(--hp4u-leading-heading) !important; }
#page .hp4u-sv-program__title { font-size: var(--hp4u-type-h4) !important; line-height: var(--hp4u-leading-heading) !important; text-wrap: pretty; }
#page .hp4u-sv-program p { margin-block: 0 var(--hp4u-paragraph-gap); }
#page .hp4u-sv-program p:last-child { margin-bottom: 0; }
#page .hp4u-sv-program__header { margin-bottom: var(--hp4u-space-lg); }
#page .hp4u-sv-program__header--with-emma {
    display: grid;
    grid-template-columns: var(--hp4u-mascot-width) minmax(0, 1fr);
    align-items: center;
    gap: var(--hp4u-layout-column-gap);
}
#page .hp4u-sv-program__header-copy { min-width: 0; }
#page .hp4u-sv-program__emma { width: 100%; max-width: var(--hp4u-mascot-width); }
#page .hp4u-sv-program__emma-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
#page .hp4u-sv-program__intro,
#page .hp4u-sv-program__notice { max-width: var(--hp4u-layout-reading); margin-top: var(--hp4u-space-xs); }
#page .hp4u-sv-program .hp4u-sv-program__notice p {
    font-size: var(--hp4u-type-xs) !important;
    line-height: var(--hp4u-leading-body) !important;
}
#page .hp4u-sv-program__day + .hp4u-sv-program__day { margin-top: var(--hp4u-space-lg); }
#page .hp4u-sv-program__day-header { margin-bottom: var(--hp4u-space-sm); }
/* Programme lists */
#page .hp4u-sv-program ol.hp4u-sv-program__list,
#page .hp4u-sv-program ul.hp4u-sv-program__people {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#page .hp4u-sv-program li.hp4u-sv-program__item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#page .hp4u-sv-program li.hp4u-sv-program__item::marker,
#page .hp4u-sv-program .hp4u-sv-program__people li::marker { content: ''; }
#page .hp4u-sv-program li.hp4u-sv-program__item + li.hp4u-sv-program__item { margin-top: var(--hp4u-space-xs) !important; }
#page .hp4u-sv-program__card {
    --_time-track: 9em;
    --_card-padding: var(--hp4u-space-sm);
    position: relative;
    display: grid;
    grid-template-columns: var(--_time-track) minmax(0, 1fr);
    grid-template-areas: "time title" ". content";
    align-items: start;
    column-gap: var(--hp4u-layout-column-gap);
    row-gap: 0;
    padding: var(--_card-padding);
    border: var(--hp4u-line-width) solid var(--hp4u-color-card-border);
    border-radius: var(--hp4u-radius-card);
    background: var(--hp4u-color-surface);
}
#page .hp4u-sv-program__card--with-format {
    grid-template-areas: ". format" "time title" ". content";
}
/* Column divider */
#page .hp4u-sv-program__card::before {
    position: absolute;
    top: var(--_card-padding);
    bottom: var(--_card-padding);
    left: calc(var(--_card-padding) + var(--_time-track) + var(--hp4u-layout-column-gap) / 2);
    width: var(--hp4u-rule-width);
    background: var(--hp4u-color-program-divider);
    content: '';
    pointer-events: none;
}
#page .hp4u-sv-program__time {
    grid-area: time;
    align-self: start;
    /* Time alignment */
    margin-block-start: calc((var(--hp4u-type-h4) - var(--hp4u-type-xs)) * var(--hp4u-leading-heading) / 2 - 0.0625em);
    font-size: var(--hp4u-type-xs);
    line-height: var(--hp4u-leading-heading);
    font-weight: var(--hp4u-font-weight-bold);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
#page .hp4u-sv-program__title { grid-area: title; align-self: start; min-width: 0; }
#page .hp4u-sv-program__content {
    grid-area: content;
    align-self: start;
    min-width: 0;
    margin-top: var(--hp4u-space-xs);
}
#page .hp4u-sv-program p.hp4u-sv-program__format {
    grid-area: format;
    align-self: start;
    color: var(--hp4u-color-kicker) !important;
    font-size: var(--hp4u-type-kicker) !important;
    font-weight: var(--hp4u-weight-kicker) !important;
    line-height: var(--hp4u-leading-kicker) !important;
    margin: 0 !important;
    padding-bottom: var(--hp4u-space-2xs);
}
#page .hp4u-sv-program .hp4u-sv-program__people li {
    font-size: var(--hp4u-type-xs) !important;
    font-weight: var(--hp4u-weight-meta-secondary) !important;
    line-height: var(--hp4u-leading-body) !important;
    margin: 0 !important;
    padding: 0 !important;
}
#page .hp4u-sv-program ul.hp4u-sv-program__people:empty { display: none; }
#page .hp4u-sv-program .hp4u-sv-program__content > * + * { margin-top: var(--hp4u-space-xs); }
#page .hp4u-sv-program .hp4u-sv-program__content > ul.hp4u-sv-program__people { margin-top: var(--hp4u-space-2xs) !important; }
#page .hp4u-sv-program__summary,
#page .hp4u-sv-program__participation,
#page .hp4u-sv-program__details-body { max-width: var(--hp4u-layout-reading); }
#page .hp4u-sv-program .hp4u-sv-program__participation p { font-size: var(--hp4u-type-xs) !important; }
#page .hp4u-sv-program__label {
    display: block;
    font-size: var(--hp4u-type-xs);
    font-weight: var(--hp4u-font-weight-bold);
    margin-bottom: var(--hp4u-space-3xs);
}
#page .hp4u-sv-program .hp4u-sv-program__content a:not(.hp4u-button),
#page .hp4u-sv-program .hp4u-sv-program__content a:not(.hp4u-button):visited {
    color: var(--hp4u-color-link);
    text-decoration: underline;
    text-underline-offset: .18em;
    text-decoration-thickness: .08em;
}
#page .hp4u-sv-program .hp4u-sv-program__content a:not(.hp4u-button):hover {
    color: var(--hp4u-color-link);
    text-decoration: underline;
    text-decoration-thickness: .14em;
}
#page .hp4u-sv-program__details summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hp4u-space-xs);
    min-height: var(--hp4u-control-min-size);
    padding-block: var(--hp4u-space-2xs);
    width: 100%;
    list-style: none;
    /* Details toggle */
    color: var(--hp4u-kongress-teal-400);
    font-family: var(--hp4u-font-body);
    font-size: var(--hp4u-type-xs);
    font-weight: var(--hp4u-font-weight-bold);
    cursor: pointer;
    text-decoration: none;
    overflow-wrap: anywhere;
}
#page .hp4u-sv-program__details { border-top: var(--hp4u-line-width) solid var(--hp4u-color-card-border); }
#page .hp4u-sv-program__details summary::-webkit-details-marker { display: none; }
#page .hp4u-sv-program__details summary::marker { content: ''; }
#page .hp4u-sv-program__details-label { min-width: 0; }
#page .hp4u-sv-program__details-icon {
    position: relative;
    display: block;
    flex: 0 0 var(--hp4u-disclosure-icon-size);
    width: var(--hp4u-disclosure-icon-size);
    height: var(--hp4u-disclosure-icon-size);
    /* Toggle icons */
    color: var(--hp4u-kongress-coral-500);
}
#page .hp4u-sv-program__details-icon::before,
#page .hp4u-sv-program__details-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: currentColor;
    content: '';
}
#page .hp4u-sv-program__details-icon::before { width: 100%; height: var(--hp4u-border-width); }
#page .hp4u-sv-program__details-icon::after { width: var(--hp4u-border-width); height: 100%; }
#page .hp4u-sv-program__details[open] .hp4u-sv-program__details-icon::after { display: none; }
#page .hp4u-sv-program__details-body { padding-top: var(--hp4u-space-2xs); }
#page .hp4u-sv-program .hp4u-sv-program__details-body ul,
#page .hp4u-sv-program .hp4u-sv-program__details-body ol {
    margin-block: 0 var(--hp4u-paragraph-gap);
    padding-inline-start: 1.5em;
}
#page .hp4u-sv-program .hp4u-sv-program__details-body li { margin-bottom: var(--hp4u-space-3xs); }
#page .hp4u-sv-program a:focus-visible,
#page .hp4u-sv-program summary:focus-visible {
    outline: var(--hp4u-border-width) solid var(--hp4u-color-text);
    outline-offset: var(--hp4u-focus-offset);
    border-radius: var(--hp4u-radius-small);
}
#page .hp4u-sv-program__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
/* Hero and programme alignment */
@media (min-width: 1100px) {
    #page .hp4u-sv-program__card {
        --_time-track: calc(50% - var(--hp4u-layout-divider-offset) - var(--hp4u-layout-column-gap) / 2);
    }
    #page .hp4u-sv-program__card::before { left: calc(50% - var(--hp4u-layout-divider-offset)); }
}
@media (max-width: 1099px) {
    #page .hp4u-sv-program { max-width: min(var(--hp4u-layout-narrow), var(--hp4u-layout-section)); }
}
@media (max-width: 760px) {
    #page .hp4u-sv-program__header--with-emma { grid-template-columns: minmax(0, 1fr); gap: var(--hp4u-space-sm); }
    #page .hp4u-sv-program__emma { justify-self: center; }
}
@media (max-width: 660px) {
    #page .hp4u-sv-program__card,
    #page .hp4u-sv-program__card--with-format {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "time" "format" "title" "content";
        align-items: start;
    }
    #page .hp4u-sv-program__card::before { display: none; }
    #page .hp4u-sv-program__time {
        margin-block-start: 0;
        margin-bottom: var(--hp4u-space-2xs);
        line-height: var(--hp4u-leading-body);
    }
}
@media (max-width: 479px) {
    #page .hp4u-sv-program__card { --_card-padding: var(--hp4u-space-xs); }
    #page .hp4u-sv-program__emma { max-width: var(--hp4u-mascot-width-phone); }
}
