.fage-bridge {
    margin-block: 2rem;
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid #d9dfe8;
    border-radius: 1rem;
    background: #fff;
}

.fage-bridge fieldset {
    margin: 0 0 1.5rem;
    padding: 0;
    border: 0;
}

.fage-bridge legend {
    margin-bottom: .75rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.fage-bridge__field {
    display: grid;
    gap: .4rem;
    margin-bottom: 1rem;
}

.fage-bridge__field input:not([type="checkbox"]):not([type="radio"]),
.fage-bridge__field select,
.fage-bridge__field textarea {
    width: 100%;
    max-width: 48rem;
    padding: .7rem .8rem;
    border: 1px solid #9da9bb;
    border-radius: .4rem;
}

.fage-bridge__choices {
    display: grid;
    gap: .4rem;
}

.fage-bridge__choice {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .45rem;
}

.fage-bridge__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: .65rem 1.1rem;
    border: 0;
    border-radius: .4rem;
    background: #102a56;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.fage-bridge__notice {
    padding: .8rem 1rem;
    border-left: .3rem solid #102a56;
    background: #eef3fa;
}

.fage-bridge__notice--warning {
    border-left-color: #b24a1b;
    background: #fff3ed;
}

.fage-bridge__notice--success {
    border-left-color: #16834b;
    background: #eefaf3;
}

.fage-bridge__identity {
    color: #46566e;
}

.fage-bridge__details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 1rem;
}

.fage-bridge__details div,
.fage-bridge__workshop {
    padding: 1rem;
    border: 1px solid #d9dfe8;
    border-radius: .6rem;
}

.fage-bridge__details dt {
    font-weight: 700;
}

.fage-bridge__details dd {
    margin: .25rem 0 0;
}

.fage-bridge__workshops {
    display: grid;
    gap: 1rem;
}

.fage-event-optional:not(:has(.fage-bridge__workshops, .fage-bridge__resources)) {
    display: none;
}
