/*
 * Altrad Endel brand palette: only these three colors are allowed.
 */
:root {
    --altrad-red: #e30413;
    --altrad-grey: #4b4b4a;
    --altrad-white: #ffffff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--altrad-white);
    color: var(--altrad-grey);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    line-height: 1.5;
}

.live-header {
    padding: 12px 16px;
    background: var(--altrad-white);
    border-bottom: 4px solid var(--altrad-red);
}

.live-header__logo {
    display: block;
    height: 56px;
    width: auto;
}

.live-main {
    flex: 1;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 16px;
}

.live-footer {
    padding: 16px;
    background: var(--altrad-grey);
    color: var(--altrad-white);
    font-size: 0.875rem;
    text-align: center;
}

.live-title {
    margin: 0 0 16px;
    font-size: 1.75rem;
    color: var(--altrad-grey);
}

.live-card {
    max-width: 420px;
    margin: 32px auto;
    padding: 32px 24px;
    border: 1px solid var(--altrad-grey);
    border-top: 4px solid var(--altrad-red);
}

.live-intro {
    margin: 0 0 24px;
}

.live-label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

.live-input {
    width: 100%;
    padding: 10px 12px;
    font: inherit;
    color: var(--altrad-grey);
    border: 1px solid var(--altrad-grey);
    border-radius: 0;
}

.live-input:focus {
    outline: 2px solid var(--altrad-red);
    outline-offset: 1px;
}

.live-error {
    min-height: 1.5em;
    margin: 4px 0 12px;
    color: var(--altrad-red);
    font-weight: 600;
}

.live-error ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.live-button {
    width: 100%;
    padding: 12px;
    font: inherit;
    font-weight: 600;
    color: var(--altrad-white);
    background: var(--altrad-red);
    border: 0;
    cursor: pointer;
}

.live-button:hover,
.live-button:focus-visible {
    background: var(--altrad-grey);
}

.live-player__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--altrad-grey);
}

.live-player__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.live-notice {
    padding: 16px;
    border-left: 4px solid var(--altrad-red);
    background: var(--altrad-white);
}

.live-notice a {
    color: var(--altrad-red);
}
