/**************

Global changes to form elments

*************/
:is(#block-nexus-content form:not(.views-exposed-form), .support-plan-amendment-form, #block-views-admin-whitelist-block .views-exposed-form) {

    --input-padding: 1.25rem 1rem .5rem;
    --b-rad: .75rem;

    :is(.mt-style-form-rounded input.form-text,
        input.form-text,
        input.form-tel,
        input.form-email,
        input.form-url,
        input.form-search,
        input.form-number,
        input.form-color,
        input.form-date,
        input.form-time,
        textarea,
        select,
        select.form-select) {
        padding: var(--input-padding);
        border-radius: var(--b-rad);
    }

    textarea {
        overflow-y: hidden;
        block-size: auto;
    }

    input.form-file {
        border-radius: var(--b-rad);
    }

    input.form-checkbox {
        min-width: 20px;
    }

    input[type="date"] {
        min-width: 220px;
    }

    .field--type-boolean {
        line-height: 1.5rem;
        margin-inline-start: 0;
        margin-block: 1rem;

        label {
            padding-block-end: 0;
        }

        input[type='checkbox'] {
            --outer-radius: .75rem;
            all: unset;
            appearance: none;
            cursor: pointer;
            display: inline-block;
            vertical-align: top;
            inline-size: 2.5rem;
            block-size: 1.5rem;
            position: relative;
            overflow: hidden;
            clip-path: circle(1.5rem at 50% 50%);
            background-color: #767676;
            border: 3px solid transparent;
            border-radius: var(--outer-radius);
            box-sizing: border-box;

            &:hover {
                opacity: .9;
                box-shadow: 0 0 2px rgba(0, 0, 0, .2);
            }

            &::before {
                position: absolute;
                content: "";
                inline-size: 100%;
                block-size: 100%;
                background-color: #fff;
                border-radius: 21px;
                transform: translateX(-16px);
                transition: transform .3s;
            }

            &:checked {
                background-color: #26a769;

                &::before {
                    transform: translateX(16px);
                }
            }
        }
    }

    fieldset,
    fieldset.fieldgroup {
        padding: 0.5rem 1rem .75rem;
        border-radius: var(--b-rad);

        .form-item,
        .form-actions {
            margin: 0;
        }
    }

    fieldset .fieldset-wrapper>div {
        margin-bottom: .75rem
    }


    div:has(>label) {
        position: relative;
    }

    .form-type-textarea:has(.ck-editor)>label {
        font-size: 1rem;
    }

    div:not(.js-form-type-radio, .js-form-type-checkbox, .form-type-managed-file, .form-type-textarea:has(.ck-editor))>label,
    .form-type-number>span.field-prefix {
        --input-padding: 1rem .75rem;
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        inline-size: 100%;
        block-size: 100%;
        font-size: 18px;
        padding: var(--input-padding);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        pointer-events: none;
        border: 0;
        transform-origin: 0 0;
        transition: .1s ease-in-out, transform .1s ease-in-out;
        z-index: 1;
        pointer-events: none;
    }

    .form-type-number>span.field-prefix {
        opacity: 0;
        font-size: 1.25rem;
    }

    .form-item.form-type-select.is-empty-select select,
    .is-empty-date input[type="date"] {
        color: transparent;
        caret-color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .field--name-field-cancellation-informed-time.is-empty-date input[type="date"] {
        /*exclusion to the above*/
        color: inherit;
        caret-color: auto;
        -webkit-text-fill-color: inherit;
    }

    div.password-parent:has(input:-webkit-autofill)>label {
        --input-padding: .25rem .5rem 0;
        font-size: 12px;
        padding: var(--input-padding);
    }
    div.password-parent:has(input:-moz-autofill)>label {
        --input-padding: .25rem .5rem 0;
        font-size: 12px;
        padding: var(--input-padding);
    } 

    div:has(>input[type="url"]:not(:placeholder-shown))>label,
    div:has(>input[type="url"]):focus-within>label,
    div:has(>input[type="tel"]:not(:placeholder-shown))>label,
    div:has(>input[type="tel"]):focus-within>label,
    div:has(>input[type="email"]:not(:placeholder-shown))>label,
    div:has(>input[type="email"]):focus-within>label,
    div:has(>input[type="password"]):focus-within>label,
    /* div:has(>input.username):focus-within>label, */
    div.has-value.has-value > label,
    div:has(>input[type="number"]):focus-within>label,
    div:has(>input[type="number"]:not(:placeholder-shown))>label,
    div:has(input[type="date"]):focus-within>label,
    div:has(input[type="time"]):focus-within>label,
    div:has(>input:not(#edit-name)[type="text"]:not(:placeholder-shown))>label,
    div:has(>input[type="text"]):focus-within>label,
    div:has(textarea):not(:has(textarea + .ck-editor)):focus-within>label,
    div:has(textarea:not(:placeholder-shown)):not(:has(textarea + .ck-editor))>label,
    .form-item.form-type-select:not(.is-empty-select)>label,
    .form-item.form-type-select:focus-within>label,
    .form-item.form-type-date:not(.is-empty-date)>label,
    .form-item.form-type-time:not(.is-empty-date)>label,
    .form-item.form-datetime-wrapper:not(:has(.is-empty-date))>label {
        --input-padding: .25rem .5rem 0;
        font-size: 12px;
        padding: var(--input-padding);
    }

    div:has(input[type="number"]):focus-within>span,
    div:has(>input[type="number"]:not(:placeholder-shown))>span {
        opacity: 1;
    }

    div input[type="number"]:is(:focus-within, :not(:placeholder-shown)) {
        padding-left: 2rem;
    }

    .form-item.form-datetime-wrapper,
    .smartdate--widget .fieldset-wrapper .form-item {
        margin: 0;
    }



    div:not(.field--type-boolean)> :is(.form-type-checkbox, .form-type-radio) {
        /* --form-bg: #2081942d; */
        --form-hover: #2081946b;
        --form-selected: #208194ce;

        inline-size: fit-content;
        background-color: var(--form-bg);
        border: 1px solid var(--form-hover);
        border-radius: 50vw;
        padding: .25rem .5rem;
        transition: 250ms ease-in-out;
        margin-top: .75rem;

        &:hover {
            background-color: var(--form-hover);
            cursor: pointer;
        }

        &:has(input:checked) {
            background-color: var(--form-selected);

            label {
                color: #ffffff;
            }
        }

        input {
            display: none
        }

        &:has(input[value="_none"]) {
            .no-null & {
                /* Hides radios with null values when inside a container with the 'no null class' */
                display: none;
            }
        }
    }
}

.smartdate--time-inline .smartdate--separator {
    width: 1rem;
}

.smartdate--widget input.time-end.form-date {
    display: none;
}

.smartdate--widget:has(.allday-label > input:checked) input.time-end.form-date {
    display: block;
}

.field--type-timestamp .form-item__description,
#edit-field-session-overview-0-format {
    display: none;
}

input:disabled,
select:disabled {
    pointer-events: none;
    background-color: inherit !important;
    color: inherit !important;
}

.field--type-text-long .js-filter-wrapper:has(.js-filter-guidelines) {
    display: none;
}

.masonry-grid {
    gap: 1rem;
    display: column;
    columns: 2;

    &>* {
        break-inside: avoid;
    }
}

.form-group-wrapper {
    padding: 0 1rem 1.5rem;
}

div:last-child>.form-group-wrapper {
    margin-bottom: 0;
}

fieldset legend,
fieldset.fieldgroup legend {
    float: inline-start;
    margin-bottom: .5rem;
}

form .field-group-html-element:has(h3) {
    --margin-sizing: 1rem;
    --form-bg: rgba(255, 255, 255, 0.4);

    background: oklch(from var(--form-bg) l c h);
    border-radius: 1rem;
    border: 1px solid #208194;
    margin-bottom: 50px;

    h3 {
        position: relative;
        inline-size: fit-content;
        padding: .5rem 1rem;
        margin-block: var(--margin-sizing);
        border-radius: 0 0 1rem 0;
    }
}


/************************

    Signatures

************************/

.esign_container {
    .signature {
        margin-bottom: 2.5rem;
    }

    canvas {
        inline-size: 100%;
        background: #ffffff;
    }

    .toolbox>.btn-group {
        inline-size: 100%;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;

        input {
            block-size: calc(1.5em + .75rem + 2px);

            &[type="range"] {
                background: #fff;
            }
        }

        button.btn {
            background: #ffffff;
            padding: 0.55rem .75rem;
            border-radius: 4px;
            border: 1px solid var(--mt-form-border);
        }
    }
}



.signature-group {
    display: grid;
    gap: 0 2rem;
    align-items: center;

    .field--type-list-string,
    .field--type-image {
        grid-row: 1 / 3;
    }
}

.form-grid {
    --col-size: 16rem;
    display: grid;
    grid-template-columns: repeat(auto-fit,
            minmax(min(100%, var(--col-size)),
                1fr));
    gap: 0 1rem;

    &.grid-colx2 {
        --col-size: 24rem;
    }

    &.grid-colx3 {
        --col-size: 12rem;
    }

    &.grid-colx4 {
        --col-size: 10rem;
    }

    &.grid-colx5 {
        --col-size: 8rem;
    }

    &.offset-grid {
        grid-template-columns: minmax(18rem, 1fr) minmax(300px, 400px);
    }
}

form {
    .description {
        padding: .25rem .75rem;
    }

    .field--name-field-contact-method {
        grid-row: 4 / 7;
        grid-column: 2;
    }

    .field--name-field-off-job-time {
        grid-row: 1 / 5;
        grid-column: 2;
    }

    .course-dates {
        display: flex;
        justify-content: space-between;
    }

    .field--type-file details {
        background: hsl(0 0% 100% / 0.4);
    }

    .field--name-field-support-plan-attendance {
        grid-column: 1 / -1;
        padding-inline: 1rem;
    }

    .field--name-field-has-evidence:has(input:checked) + .field--name-field-evidence {
        block-size: auto;
        opacity: 1;
        transform: translateY(0); 
        pointer-events: auto;
    }
    .field--name-field-has-evidence {

        .description {
            transition: 250ms ease-in-out;
        }

        input:checked ~ .description {
            opacity: 0;
        }
    }

    .field--name-field-evidence {
        block-size: 1px;
        opacity: 0;
        transform: translateY(-50px);
        transition: 250ms ease-in-out;
        pointer-events: none;
    }
    #profile-evidence:has(.field--name-field-evidence table) .field--name-field-has-evidence {
        pointer-events: none;
        opacity: .7;
    }
}

form div:has(>fieldset) {
    .form-grid & {
        display: flex;
        flex-direction: column;

        fieldset {
            display: flex;
            flex-direction: column;
            flex: 1;

            .fieldset-wrapper {
                display: contents;

                .form-checkboxes,
                .form-radios {
                    flex: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-evenly;
                }
            }
        }
    }
}

body:is(.path-create-learner,
    .path-create-learning-provider,
    .path-create-support-connect) form>.field--type-entity-reference details {
    border: 0;

    &>summary {
        display: none;
    }
}

.view-filters form {

    /** Display for default ANY **/
    .form-item-field-current-stage-target-id:has(option[value="All"]:checked)+.form-item-field-support-status-target-id option:not([value="313"], [value="314"], [value="318"], [value="319"], [value="317"], [value="316"], [value="452"], [value="321"], [value="322"], [value="324"], [value="325"], [value="326"], [value="332"], [value="329"], [value="331"], [value="330"], [value="334"], [value="335"], [value="337"], [value="341"], [value="340"], [value="339"], [value="338"]) {
        display: none;
    }

    /** Display only Registration statuses **/
    .form-item-field-current-stage-target-id:has(option[value="312"]:checked)+.form-item-field-support-status-target-id option:not([value="313"], [value="314"]) {
        display: none;
    }

    /** Display only Screening statuses **/
    .form-item-field-current-stage-target-id:has(option[value="315"]:checked)+.form-item-field-support-status-target-id option:not([value="318"], [value="319"], [value="317"], [value="316"]) {
        display: none;
    }

    /** Display only Support Plan Meeting statuses **/
    .form-item-field-current-stage-target-id:has(option[value="320"]:checked)+.form-item-field-support-status-target-id option:not([value="452"], [value="321"], [value="322"]) {
        display: none;
    }

    /** Display only Support Plan statuses **/
    .form-item-field-current-stage-target-id:has(option[value="323"]:checked)+.form-item-field-support-status-target-id option:not([value="324"], [value="325"], [value="326"]) {
        display: none;
    }

    /** Display only Support Approval statuses **/
    .form-item-field-current-stage-target-id:has(option[value="327"]:checked)+.form-item-field-support-status-target-id option:not([value="332"], [value="329"], [value="331"], [value="330"]) {
        display: none;
    }

    /** Display only Ongoing Support statuses **/
    .form-item-field-current-stage-target-id:has(option[value="333"]:checked)+.form-item-field-support-status-target-id option:not([value="334"], [value="335"]) {
        display: none;
    }

    /** Display only Support Ended statuses **/
    .form-item-field-current-stage-target-id:has(option[value="336"]:checked)+.form-item-field-support-status-target-id option:not([value="337"], [value="341"], [value="340"], [value="339"], [value="338"]) {
        display: none;
    }
}


.region.region-content:has(#support-plan-approval-form) {
    padding-bottom: 200px;
}


#support-plan-approval-form {
    position: fixed;
    inset-block-end: 0;
    inset-inline-start: 260px;
    inset-inline-end: 0;
    background-color: hsl(191 63% 88%);
    border-top: 1px solid rgba(134, 134, 134, 0.3);
    box-shadow: 0 -1px 2px rgba(134, 134, 134, 0.25);
    padding: 1rem 7rem 1rem 2rem;

    display: grid;
    grid-template-rows: repeat(2, min-content);
    grid-template-columns: min-content 1fr auto 200px;
    gap: 1rem;
    min-height: 177.25px;

    .left-rail-collapsed & {
        inset-inline-start: 72px;
    }

    #edit-actions,
    #edit-field-support-approval-wrapper {
        grid-column: 4;
        margin-bottom: 0;
        justify-self: end;
    }

    #edit-field-support-approval-wrapper {
        inline-size: 100%;
    }

    .form-item {
        margin: 0;
    }

    #edit-field-provider-signature-wrapper,
    #edit-field-change-required-text-wrapper {
        grid-row: 1 / -1;
        grid-column: 3;
        justify-self: end;
    }

    #edit-field-reason-to-decline-wrapper {
        grid-row: 1 / -1;
        grid-column: 2;
        justify-self: end;
    }


    #edit-field-provider-signature .signature_panel {
        position: relative;

        >.toolbox {
            position: absolute;
            inset-inline-end: 0;
            inset-block-end: 0;

            &>.btn-group>input {
                display: none;
            }
        }
    }

    .esign_container {
        & .signature_panel {
            display: flex;
            gap: .5rem;
        }

        & .signature {
            inline-size: 500px;
            block-size: 180px;
            max-height: 180px;
            max-width: 100%;
            margin-bottom: 0;

            label {
                padding: .25rem .5rem !important;
                opacity: .5;
            }

            canvas {
                border-radius: 1rem;
            }
        }
    }
}



#support-plan-approval-form button.support-plan-approval-collapse {
    grid-row: 1 / -1;
    grid-column: 1;

    position: relative;
    background: #e6e6e6;
    color: #222;
    border: 0;
    border-radius: 12px;
    inline-size: 48px;
    block-size: 48px;
    padding: 0;
    line-height: 48px;
    text-align: center;
    display: inline-block;
    font-size: 24px;
    cursor: pointer;
    border: 1px solid #b5b5b5;

    svg {
        transition: .3s ease;
    }

    &::after {
        position: absolute;
        content: "Sign here";
        inset-block-start: 50%;
        inset-inline-start: 100%;
        opacity: 0;
        transform: translate(-50px, -50%);
        transition: .3s ease;
        inline-size: 150px;
    }
}

#support-plan-approval-form {
    transition: .3s ease;
}

#support-plan-approval-form.collapsed {
    transform: translateY(80px);
    border-top-color: transparent;
    box-shadow: none;
    background-color: transparent;
    z-index: 0;

    button.support-plan-approval-collapse {
        &::after {
            opacity: .5;
            transform: translate(0, -50%);
        }

        &:hover::after {
            color: hsl(191 63% 48%);
            opacity: 1;
        }

        svg {
            rotate: 180deg;
        }
    }

    div {
        opacity: 0;
    }
}

.signature_panel {
    &>.signature {
        inline-size: 288px;
        margin-bottom: 1rem;
    }

    &>.toolbox {
        max-width: 288px;

        input[type="color"] {
            display: none;
        }
    }

}

#block-nexus-content form #target-review-group .paragraphs-subform {

    & > .form-wrapper {
        margin-bottom: 20px;
    }

    :is(.field--name-field-target-progress, .field--name-field-mentor-signature) {
        
        fieldset {
            display: flex;
            align-items: center;
            padding: var(--input-padding);

            legend {
                margin-bottom: 0;
            }
        }

        .fieldset-wrapper {
            flex-grow: 1; 
        }

        .form-radios {
            display: flex;
            justify-content: space-evenly;
            margin-bottom: 0;

            .form-type-radio {
                margin-top: 0;
            }
        }
    }
}

.paragraphs-tabs + .form-item {

    .tabledrag-toggle-weight-wrapper,
    table thead .paragraphs-actions,
    .field-multiple-drag {
        display: none;
    }

    table tbody .has-multiple-fields-remove-button {
        padding-left: 2rem;
    }
}

.esign_container :is(
    input[type="submit"][name$="_remove_button"],
    [data-drupal-selector$="remove-button"]
) {
    display: none;
}

/* Sales Lead editor. */
.node-sales-lead-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    max-width: 76rem;
    margin: 0 auto;
}

.node-sales-lead-form > :is(
    .field--name-field-organisation-name,
    .field--name-field-organisation-type,
    .field--name-field-contacts,
    .form-type-vertical-tabs,
    .form-actions
) {
    grid-column: 1 / -1;
}

.node-sales-lead-form > :is(
    .field--name-field-organisation-name,
    .field--name-field-organisation-type,
    .field--name-field-org-status,
    .field--name-field-lead-owner,
    .field--name-field-jag-deep-referral,
    .field--name-field-last-contact-date,
    .field--name-field-next-follow-up-date,
    .field--name-field-contacts
) {
    box-sizing: border-box;
    margin: 0;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgb(94 136 147 / 32%);
    border-radius: .9rem;
    background: rgb(255 255 255 / 46%);
}

.node-sales-lead-form :is(.form-item, fieldset) {
    margin-top: 0;
    margin-bottom: 0;
}

.node-sales-lead-form .form-item > label:not(.option, .visually-hidden) {
    position: static;
    inset: auto;
    width: auto;
    height: auto;
    display: block;
    margin-bottom: .45rem;
    padding: 0;
    overflow: visible;
    pointer-events: auto;
    transform: none;
    white-space: normal;
    color: #24444e;
    font-weight: 700;
}

.node-sales-lead-form .fieldset-legend {
    display: block;
    margin-bottom: .45rem;
    color: #24444e;
    font-weight: 700;
}

.node-sales-lead-form .form-item.form-type-select.is-empty-select select {
    color: inherit;
    caret-color: auto;
    -webkit-text-fill-color: inherit;
}

.node-sales-lead-form :is(.form-text, .form-email, .form-tel, .form-select) {
    box-sizing: border-box;
    width: 100%;
}

.node-sales-lead-form .field--name-field-organisation-type fieldset {
    padding: 0;
    border: 0;
}

.node-sales-lead-form .field--name-field-organisation-type .form-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.node-sales-lead-form .field--name-field-organisation-type .form-type-checkbox {
    display: inline-flex;
    margin: 0;
}

.node-sales-lead-form .field--name-field-organisation-type .form-checkboxes .option {
    margin: 0;
}

.node-sales-lead-form .field--name-field-contact-method .form-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.node-sales-lead-form .field--name-field-contact-method .form-type-checkbox {
    display: inline-flex;
    margin: 0;
}

.node-sales-lead-form .field--name-field-contact-method .form-checkboxes .option {
    margin: 0;
}

.node-sales-lead-form .field--name-field-jag-deep-referral {
    display: flex;
    align-items: center;
    grid-column: 1 / -1;
    padding-block: .8rem;
}

/* Workplace Support Profile: keep short answers compact. */
:is(#node-workplace-support-profile-form, #node-workplace-support-profile-edit-form) :is(.form-checkboxes, .form-radios) {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: .55rem;
}

:is(#node-workplace-support-profile-form, #node-workplace-support-profile-edit-form) :is(.form-type-checkbox, .form-type-radio) {
    inline-size: fit-content;
    margin: 0;
}

:is(#node-workplace-support-profile-form, #node-workplace-support-profile-edit-form) :is(.form-checkboxes, .form-radios) .option {
    margin: 0;
}

:is(#node-workplace-support-profile-form, #node-workplace-support-profile-edit-form) :is(
    .field--name-field-at-in-use,
    /* .field--name-field-disclosed-condition, */
    .field--name-field-learning-strategies,
    .field--name-field-personal-skills,
    .field--name-field-study-skills,
    .field--name-field-support-priority,
    .field--name-field-wellbeing-strategies,
    .field--name-field-workplace-tech-difficulty
) :is(.form-checkboxes, .form-radios) {
    display: block;
    flex-wrap: initial;
}

:is(#node-workplace-support-profile-form, #node-workplace-support-profile-edit-form) :is(
    .field--name-field-at-in-use,
    .field--name-field-disclosed-condition,
    .field--name-field-learning-strategies,
    .field--name-field-personal-skills,
    .field--name-field-study-skills,
    .field--name-field-support-priority,
    .field--name-field-wellbeing-strategies,
    .field--name-field-workplace-tech-difficulty
) :is(.form-type-checkbox, .form-type-radio) {
    inline-size: fit-content;
}

/* Place each yes/no question before its toggle. */
.workplace-support-profile-form .field--type-boolean .form-item.form-type-checkbox {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: .5rem;
}

/* Use one consistent, easily scannable label treatment across the document. */
#block-nexus-content .workplace-support-profile-form .form-item > label:not(.option, .visually-hidden) {
    display: block;
    margin-block-end: .6rem;
    color: #24444e;
    font-weight: 700;
    line-height: 1.4;
}

#block-nexus-content .workplace-support-profile-form .fieldset-legend {
    color: #24444e;
    font-weight: 700;
    line-height: 1.4;
}

/* Field Group marks the first required composite's legend as required as well
 * as its nested label. Keep the group required, but show one marker only. */
#block-nexus-content .workplace-support-profile-form fieldset > legend.form-required:has(> .form-required)::after {
    content: none;
    display: none;
}

/* The employee signature has one action, so keep it alongside its label. */
#block-nexus-content .workplace-support-profile-form .field--name-field-learner-signature fieldset {
    display: flex;
    align-items: center;
    gap: .75rem;
}

#block-nexus-content .workplace-support-profile-form .field--name-field-learner-signature legend {
    float: none;
    margin: 0;
}

#block-nexus-content .workplace-support-profile-form .field--name-field-learner-signature .fieldset-wrapper {
    flex: 0 0 auto;
}

#block-nexus-content .workplace-support-profile-form .field--name-field-learner-signature .form-radios {
    justify-content: flex-start;
}

#block-nexus-content .workplace-support-profile-form .form-item > label:not(.option, .visually-hidden) {
    position: static;
    inset: auto;
    inline-size: auto;
    block-size: auto;
    padding: 0;
    overflow: visible;
    pointer-events: auto;
    transform: none;
    white-space: normal;
}

.workplace-support-profile-form :is(.form-text, .form-email, .form-tel, .form-url, .form-date, .form-select, textarea) {
    padding: .8rem 1rem;
}

.workplace-support-profile-form .field--type-boolean label {
    color: #24444e;
    font-weight: 700;
    line-height: 1.4;
}

@media (min-width: 42rem) {
    /* Keep Role & Employment's two short fields on one row. */
    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-role-employment-wrapper'] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(26rem, .8fr);
        column-gap: 1rem;
    }

    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-role-employment-wrapper'] > .workplace-support-profile__job-title {
        grid-column: 1;
    }

    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-role-employment-wrapper'] > .workplace-support-profile__job-title ~ * {
        grid-column: 1 / -1;
    }

    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-role-employment-wrapper'] > .workplace-support-profile__role-start {
        grid-column: 2;
    }

    #block-nexus-content .workplace-support-profile-form .workplace-support-profile__role-start input.form-date {
        inline-size: 100%;
        min-inline-size: 0;
    }

    /* The two boolean questions sit together; later fields span the section. */
    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-physical-environ-wrapper'] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
    }

    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-physical-environ-wrapper'] > .workplace-support-profile__physical-boolean {
        grid-column: span 1;
        inline-size: auto;
        margin-block: 0 1rem;
        margin-inline: 0;
    }

    #block-nexus-content .workplace-support-profile-form [data-drupal-selector='edit-group-physical-environ-wrapper'] > .workplace-support-profile__physical-boolean ~ :not(.workplace-support-profile__physical-boolean) {
        grid-column: 1 / -1;
    }
}

.node-sales-lead-form .field--name-field-jag-deep-referral .form-item {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.node-sales-lead-form :is(
    .field--name-field-last-contact-date,
    .field--name-field-next-follow-up-date
) fieldset {
    padding: 0;
    border: 0;
}

.node-sales-lead-form .form-datetime-wrapper .container-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.node-sales-lead-form .form-datetime-wrapper :is(.form-date, .form-time) {
    width: auto;
    min-width: 11rem;
}

.node-sales-lead-form .field--name-field-contacts {
    overflow: hidden;
    padding: 0;
}

.node-sales-lead-form .field--name-field-contacts > .paragraphs-tabs-wrapper > .form-item {
    margin: 0;
}

.node-sales-lead-form .field--name-field-contacts .tabledrag-toggle-weight-wrapper,
.node-sales-lead-form .field--name-field-contacts .field-multiple-drag,
.node-sales-lead-form .field--name-field-contacts .delta-order {
    display: none !important;
}

#edit-field-contacts-wrapper.field--name-field-contacts :is(
    .paragraph-type-label,
    .paragraphs-icon-button-collapse
) {
    display: none !important;
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table,
.node-sales-lead-form .field--name-field-contacts .field-multiple-table :is(thead, tbody, tr, td) {
    display: block;
    box-sizing: border-box;
    width: 100%;
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table {
    margin: 0;
    border: 0;
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table thead {
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid rgb(94 136 147 / 22%);
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table th.field-label {
    padding: 0;
    text-align: left;
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table .label {
    margin: 0;
    color: #24444e;
    font-size: 1.45rem;
}

.node-sales-lead-form .field--name-field-contacts .field-multiple-table tr {
    padding: 1.1rem 1.25rem 0;
    border: 0;
}

.node-sales-lead-form .field--name-field-contacts .has-multiple-fields-remove-button {
    padding: 0;
}

.node-sales-lead-form .field--name-field-contacts .paragraph-top {
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgb(94 136 147 / 22%);
}

.node-sales-lead-form .field--name-field-contacts .paragraph-type-label {
    color: #24444e;
    font-weight: 700;
}

.node-sales-lead-form .field--name-field-contacts .paragraphs-actions {
    margin-left: auto;
}

.node-sales-lead-form .field--name-field-contacts .paragraphs-subform {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1rem;
    padding: 1rem 0;
}

.node-sales-lead-form .field--name-field-contacts .paragraphs-subform > :is(
    .field--name-field-job-title,
    .field--name-field-email,
    .field--name-field-contact-number,
    .field--name-field-contact-method
) {
    grid-column: 1 / -1;
}

.node-sales-lead-form .field--name-field-contacts .field--name-field-primary-contact {
    align-self: end;
}

.node-sales-lead-form .field--name-field-contacts select[multiple] {
    min-height: 8.25rem;
}

.node-sales-lead-form .field--name-field-contacts .paragraphs-dropbutton-wrapper {
    padding: 0 1.25rem 1.25rem;
}

.node-sales-lead-form .form-actions {
    margin-top: .5rem;
    text-align: right;
}

@media (max-width: 700px) {
    .node-sales-lead-form,
    .node-sales-lead-form .field--name-field-contacts .paragraphs-subform {
        grid-template-columns: 1fr;
    }

    .node-sales-lead-form > :is(
        .field--name-field-org-status,
        .field--name-field-lead-owner
    ) {
        grid-column: 1 / -1;
    }

    .node-sales-lead-form .field--name-field-contacts .paragraphs-subform > * {
        grid-column: 1 / -1;
    }
}

/* Sales Lead editor — edit mode. */
.node-sales-lead-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    max-width: 76rem;
    margin: 0 auto;
}

.node-sales-lead-edit-form > :is(
    .field--name-field-organisation-name,
    .field--name-field-organisation-type,
    .field--name-field-specified-interest,
    .field--name-field-contacts,
    .form-type-vertical-tabs,
    .form-actions
) {
    grid-column: 1 / -1;
}

.node-sales-lead-edit-form > :is(
    .field--name-field-organisation-name,
    .field--name-field-organisation-type,
    .field--name-field-specified-interest,
    .field--name-field-org-status,
    .field--name-field-lead-owner,
    .field--name-field-jag-deep-referral,
    .field--name-field-last-contact-date,
    .field--name-field-next-follow-up-date,
    .field--name-field-contacts
) {
    box-sizing: border-box;
    margin: 0;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgb(94 136 147 / 32%);
    border-radius: .9rem;
    background: rgb(255 255 255 / 46%);
}

.node-sales-lead-edit-form :is(.form-item, fieldset) {
    margin-top: 0;
    margin-bottom: 0;
}

.node-sales-lead-edit-form .form-item > label:not(.option, .visually-hidden) {
    position: static;
    inset: auto;
    width: auto;
    height: auto;
    display: block;
    margin-bottom: .45rem;
    padding: 0;
    overflow: visible;
    pointer-events: auto;
    transform: none;
    white-space: normal;
    color: #24444e;
    font-weight: 700;
}

.node-sales-lead-edit-form .fieldset-legend {
    display: block;
    margin-bottom: .45rem;
    color: #24444e;
    font-weight: 700;
}

.node-sales-lead-edit-form .form-item.form-type-select.is-empty-select select {
    color: inherit;
    caret-color: auto;
    -webkit-text-fill-color: inherit;
}

.node-sales-lead-edit-form :is(.form-text, .form-email, .form-tel, .form-select) {
    box-sizing: border-box;
    width: 100%;
}

.node-sales-lead-edit-form :is(
    .field--name-field-organisation-type,
    .field--name-field-specified-interest
) fieldset {
    padding: 0;
    border: 0;
}

.node-sales-lead-edit-form :is(
    .field--name-field-organisation-type,
    .field--name-field-specified-interest,
    .field--name-field-contact-method
) .form-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.node-sales-lead-edit-form :is(
    .field--name-field-organisation-type,
    .field--name-field-specified-interest,
    .field--name-field-contact-method
) .form-type-checkbox {
    display: inline-flex;
    width: fit-content;
    margin: 0;
}

.node-sales-lead-edit-form :is(
    .field--name-field-organisation-type,
    .field--name-field-specified-interest,
    .field--name-field-contact-method
) .form-checkboxes .option {
    margin: 0;
}

.node-sales-lead-edit-form .field--name-field-jag-deep-referral {
    display: flex;
    align-items: center;
    grid-column: 1 / -1;
    margin-block: 0;
    padding-block: .8rem;
}

#block-nexus-content form.node-sales-lead-edit-form #edit-field-jag-deep-referral-wrapper.field--name-field-jag-deep-referral {
    margin-block: 0;
}

.node-sales-lead-edit-form .field--name-field-jag-deep-referral .form-item {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.node-sales-lead-edit-form :is(
    .field--name-field-last-contact-date,
    .field--name-field-next-follow-up-date
) fieldset {
    padding: 0;
    border: 0;
}

.node-sales-lead-edit-form .form-datetime-wrapper .container-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.node-sales-lead-edit-form .form-datetime-wrapper :is(.form-date, .form-time) {
    width: auto;
    min-width: 11rem;
}

.node-sales-lead-edit-form .field--name-field-contacts {
    overflow: hidden;
    padding: 0;
}

.node-sales-lead-edit-form .field--name-field-contacts > .paragraphs-tabs-wrapper > .form-item {
    margin: 0;
}

.node-sales-lead-edit-form .field--name-field-contacts .tabledrag-toggle-weight-wrapper,
.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-drag,
.node-sales-lead-edit-form .field--name-field-contacts .delta-order {
    display: none !important;
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table,
.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table :is(thead, tbody, tr, td) {
    display: block;
    box-sizing: border-box;
    width: 100%;
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table {
    margin: 0;
    border: 0;
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table thead {
    padding: 1.15rem 1.25rem 0;
    border-bottom: 1px solid rgb(94 136 147 / 22%);
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table th.field-label {
    padding: 0;
    text-align: left;
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table .label {
    margin: 0;
    color: #24444e;
    font-size: 1.45rem;
}

.node-sales-lead-edit-form .field--name-field-contacts .field-multiple-table tr {
    padding: 1.1rem 1.25rem 0;
    border: 0;
}

.node-sales-lead-edit-form .field--name-field-contacts .has-multiple-fields-remove-button {
    padding: 0;
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraph-top {
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgb(94 136 147 / 22%);
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraphs-actions {
    margin-left: auto;
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0;
    column-gap: 1rem;
    padding: 1rem 0 0;
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform > .paragraphs-content {
    margin: 0 0 20px;
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform > :is(
    .field--name-field-contact-method
) {
    grid-column: 1 / -1;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-job-title {
    grid-column: 1;
    grid-row: 1;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-primary-contact {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-first-name {
    grid-column: 1;
    grid-row: 2;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-surname {
    grid-column: 2;
    grid-row: 2;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-email {
    grid-column: 1;
    grid-row: 3;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-contact-number {
    grid-column: 2;
    grid-row: 3;
}

.node-sales-lead-edit-form .field--name-field-contacts .field--name-field-contact-method {
    grid-row: 4;
}

.node-sales-lead-edit-form .field--name-field-contacts .paragraphs-dropbutton-wrapper {
    padding: 0 1.25rem 1.25rem;
}

.node-sales-lead-edit-form .form-actions {
    margin-top: .5rem;
    text-align: right;
}

@media (max-width: 700px) {
    .node-sales-lead-edit-form,
    .node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform {
        grid-template-columns: 1fr;
    }

    .node-sales-lead-edit-form > :is(
        .field--name-field-org-status,
        .field--name-field-lead-owner
    ) {
        grid-column: 1 / -1;
    }

    .node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform > * {
        grid-column: 1 / -1;
    }

    .node-sales-lead-edit-form .field--name-field-contacts .paragraphs-subform > .paragraphs-content {
        grid-row: auto;
    }
}


/* Support Connect safeguarding policy
   All selectors are scoped to .safeguarding-policy so these styles do not affect other pages. */

.safeguarding-policy {
  --safeguarding-policy-teal: #178d9d;
  --safeguarding-policy-purple: #7a1f73;
  --safeguarding-policy-green: #a9cf8d;
  --safeguarding-policy-grey: #d9d9d9;
  --safeguarding-policy-border: #4b4b4b;
  --safeguarding-policy-paper: #fffdf6;
  --safeguarding-policy-ink: #111;

  /* box-sizing: border-box;
  width: min(100%, 980px);
  margin: 32px auto;
  padding: 70px 84px 90px;
  background: var(--safeguarding-policy-paper); */
  /* color: var(--safeguarding-policy-ink); */
  /* box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12); */
  /* font-family: Arial, Helvetica, sans-serif; */
  /* font-size: 16px; */
  line-height: 1.45;

  table :is(thead, tbody) tr::before {
    display: none;
  }
}

.safeguarding-policy *,
.safeguarding-policy *::before,
.safeguarding-policy *::after {
  box-sizing: inherit;
}
body .region-content {
.safeguarding-policy .policy-cover {
  min-height: 760px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 18px;
  text-align: center;
  page-break-after: always;
  break-after: page;
}

.safeguarding-policy .policy-cover .image-placeholder--logo {
  margin-bottom: 14px;
}

.safeguarding-policy .policy-cover__company {
  margin: 0 0 34px;
  font-size: 2.15rem;
  line-height: 1.15;
  font-weight: 400;
}

.safeguarding-policy .policy-cover__title {
  margin: 0 0 110px;
  font-size: 1.22rem;
  font-weight: 700;
}

.safeguarding-policy .policy-cover table {
  width: 72%;
  margin: 0 auto 46px;
  text-align: left;
}

.safeguarding-policy .policy-cover__definition {
  margin-top: auto;
  color: var(--safeguarding-policy-purple);
  text-align: justify;
  font-size: 0.92rem;
}

.safeguarding-policy h1,
.safeguarding-policy h2,
.safeguarding-policy h3,
.safeguarding-policy h4 {
  color: #111;
  line-height: 1.2;
}

.safeguarding-policy h1 {
  margin: 2.25rem 0 0.85rem;
  font-size: 1.55rem;
}

.safeguarding-policy h2 {
  margin: 1.75rem 0 0.7rem;
  font-size: 1.2rem;
}

.safeguarding-policy h3 {
  margin: 1.4rem 0 0.55rem;
  font-size: 1.05rem;
}

.safeguarding-policy p {
  margin: 0 0 1rem;
}

.safeguarding-policy ul,
.safeguarding-policy ol {
  margin: 0.4rem 0 1.1rem 1.7rem;
  padding: 0;
}

.safeguarding-policy li {
  margin: 0.3rem 0;
}

.safeguarding-policy strong {
  font-weight: 700;
}

.safeguarding-policy a {
  color: #126c78;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.safeguarding-policy #contents {
  margin-top: 0;
}

.safeguarding-policy #contents + p,
.safeguarding-policy #contents + p ~ p:has(a[href^="#"]) {
  margin-bottom: 0.25rem;
}

.safeguarding-policy .table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 1rem 0 1.5rem;
}

.safeguarding-policy table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.5rem;
  background: transparent;
}

.safeguarding-policy th,
.safeguarding-policy td {
  border: 1px solid var(--safeguarding-policy-border);
  padding: 0.35rem 0.45rem;
  text-align: left;
  vertical-align: top;
}

.safeguarding-policy th {
  font-weight: 700;
}

.safeguarding-policy td p:last-child,
.safeguarding-policy th p:last-child {
  margin-bottom: 0;
}

.safeguarding-policy table.safeguarding-team th {
  background: var(--safeguarding-policy-green);
  text-align: center;
}

.safeguarding-policy table.safeguarding-team td {
  text-align: center;
}

.safeguarding-policy table.form-table th,
.safeguarding-policy table.form-table tr.section-row td {
  background: var(--safeguarding-policy-grey);
  font-weight: 700;
}

.safeguarding-policy .image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 170px;
  padding: 1rem;
  border: 2px dashed #8e999c;
  background: #f3f7f7;
  color: #4f5d60;
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
}

.safeguarding-policy .image-placeholder--logo {
  width: 78px;
  min-height: 78px;
  border-radius: 50%;
  padding: 0.5rem;
}

.safeguarding-policy .image-placeholder--portrait {
  width: min(100%, 150px);
  min-height: 155px;
  margin: 0 auto;
}

.safeguarding-policy .image-placeholder--flowchart {
  min-height: 420px;
  margin: 1.5rem 0;
}

.safeguarding-policy .policy-note {
  color: var(--safeguarding-policy-purple);
}

/* Safeguarding policy typography */
.safeguarding-policy {
  font-size: 1rem;
  line-height: 1.6;
}

/* Keep headings only slightly larger than the main text */
.safeguarding-policy h1 {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  line-height: 1.3;
}

.safeguarding-policy h2 {
  margin: 2rem 0 0.75rem;
  font-size: 1.2rem;
  line-height: 1.35;
}

.safeguarding-policy h3 {
  margin: 1.5rem 0 0.6rem;
  font-size: 1.1rem;
  line-height: 1.4;
}

.safeguarding-policy h4,
.safeguarding-policy h5,
.safeguarding-policy h6 {
  margin: 1.25rem 0 0.5rem;
  font-size: 1.05rem;
  line-height: 1.4;
}

/* Quotes should remain the same size as the main text */
.safeguarding-policy blockquote {
  margin: 0.75rem 0 1rem 1.5rem;
  padding: 0 0 0 1rem;
  border-left: 3px solid currentColor;
  font-size: 1rem;
  line-height: 1.6;
}

.safeguarding-policy blockquote p,
.safeguarding-policy blockquote q {
  font-size: inherit;
  line-height: inherit;
}

/* Prevent decorative quote marks from appearing oversized */
.safeguarding-policy blockquote::before,
.safeguarding-policy blockquote::after,
.safeguarding-policy q::before,
.safeguarding-policy q::after {
  font-size: inherit;
}

/* Safeguarding policy tables */
.safeguarding-policy table {
  width: 100%;
  border: 1px solid currentColor;
  border-collapse: collapse;
  border-spacing: 0;
}

.safeguarding-policy th,
.safeguarding-policy td {
  padding: 0.5rem 0.65rem;
  border: 1px solid currentColor;
  vertical-align: top;
}

/* Keep table headings close to the normal text size */
.safeguarding-policy th {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 700;
}
}

@media (max-width: 760px) {
  .safeguarding-policy {
    margin: 0;
    padding: 34px 22px 54px;
    box-shadow: none;
  }

  .safeguarding-policy .policy-cover {
    min-height: auto;
  }

  .safeguarding-policy .policy-cover__company {
    font-size: 1.65rem;
  }

  .safeguarding-policy .policy-cover__title {
    margin-bottom: 56px;
  }

  .safeguarding-policy .policy-cover table {
    width: 100%;
  }

  .safeguarding-policy table {
    font-size: 0.9rem;
  }
}

/* Safeguarding policy contents */
.safeguarding-policy .safeguarding-policy__contents {
  width: 100%;
  margin: 0 0 3rem;
}

.safeguarding-policy .safeguarding-policy__contents h2 {
  margin: 0 0 1.5rem;
}

.safeguarding-policy .safeguarding-policy__contents-list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.safeguarding-policy .safeguarding-policy__contents-item {
  width: 100%;
  margin: 0 0 0.45rem;
  padding: 0;
}

.safeguarding-policy .safeguarding-policy__contents-item--sub {
  box-sizing: border-box;
  padding-left: 1.5rem;
}

/* Each contents link fills the complete available width */
.safeguarding-policy .safeguarding-policy__contents-item > a {
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: none;
  gap: 0.5rem;
  color: inherit;
  text-decoration: none;
}

/* Contents title */
.safeguarding-policy .safeguarding-policy__contents-text {
  flex: 0 1 auto;
  min-width: 0;
  line-height: 1.4;
}

/* Dotted leader generated by CSS so Drupal cannot remove it */
.safeguarding-policy .safeguarding-policy__contents-item > a::after {
  content: "";
  flex: 1 1 auto;
  order: 2;
  min-width: 1rem;
  margin-bottom: 0.3em;
  border-bottom: 1px dotted currentColor;
  opacity: 0.55;
}

/* Page number fixed against the right edge */
.safeguarding-policy .safeguarding-policy__contents-page {
  flex: 0 0 auto;
  order: 3;
  min-width: 2ch;
  margin-left: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Ensure the title remains before the generated leader */
.safeguarding-policy .safeguarding-policy__contents-text {
  order: 1;
}

.safeguarding-policy .safeguarding-policy__contents-item > a:hover
.safeguarding-policy__contents-text,
.safeguarding-policy .safeguarding-policy__contents-item > a:focus
.safeguarding-policy__contents-text {
  text-decoration: underline;
}

@media (max-width: 700px) {
  .safeguarding-policy .safeguarding-policy__contents-item--sub {
    padding-left: 1rem;
  }

  .safeguarding-policy .safeguarding-policy__contents-item > a {
    gap: 0.35rem;
  }
}

/* Prevent awkward leader dots on narrow screens */
@media (max-width: 600px) {
  .safeguarding-policy .safeguarding-policy__contents-item--sub {
    padding-left: 1rem;
  }

  .safeguarding-policy .safeguarding-policy__contents-item a {
    align-items: flex-start;
    gap: 0.35rem;
  }

  .safeguarding-policy .safeguarding-policy__contents-leader {
    margin-top: 0.9em;
    margin-bottom: 0;
  }
}

@media print {
  @page {
    size: A4;
    margin: 18mm 17mm;
  }

  .safeguarding-policy {
    width: auto;
    margin: 0;
    padding: 0;
    box-shadow: none;
    background: #fff;
    font-size: 10.5pt;
  }

  .safeguarding-policy h1,
  .safeguarding-policy h2,
  .safeguarding-policy h3 {
    break-after: avoid-page;
  }

  .safeguarding-policy table,
  .safeguarding-policy .image-placeholder {
    break-inside: avoid;
  }

  .safeguarding-policy a {
    color: inherit;
    text-decoration: none;
  }
}

/* Sales Tracker activity dialog: loaded globally so it also applies to AJAX
   modal responses. */
#sales-tracker-activity-form-wrapper [data-drupal-selector="edit-specified-interest"] .form-checkboxes {
  display: flex !important;
  flex-wrap: wrap;
  gap: .5rem .75rem;
}

#sales-tracker-activity-form-wrapper [data-drupal-selector="edit-specified-interest"] .form-type-checkbox {
  width: fit-content;
  margin: 0;
}

#sales-tracker-activity-form-wrapper .sales-tracker__activity-organisation {
  color: #087b8c;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
}

#sales-tracker-activity-form-wrapper [data-drupal-selector="edit-activity-date-time"] .container-inline > .form-item {
  margin-bottom: 0;
}

#sales-tracker-activity-form-wrapper [data-drupal-selector="edit-new-contact"] > summary {
  font-size: 15px;
}

#sales-tracker-activity-form-wrapper :is(input:not([type="checkbox"]), select, textarea) {
  border-width: 1px;
  border-style: solid;
  border-color: var(--mt-form-border);
}

body .ui-dialog:has(#sales-tracker-activity-form-wrapper) {
  overflow: hidden;
  border-radius: .85rem;
}

body .ui-dialog:has(#sales-tracker-activity-form-wrapper) #drupal-modal {
  border-radius: 0 0 .85rem .85rem;
}

body .ui-dialog:has(#sales-tracker-activity-form-wrapper) form.sales-tracker-sales-activity-form {
  padding-top: 0;
}

body .ui-dialog:has(#sales-tracker-activity-form-wrapper) .ui-dialog-buttonpane {
  border-top: 1px solid rgb(94 136 147 / 28%);
}

@media (min-width: 42rem) {
  #sales-tracker-activity-form-wrapper [data-drupal-selector="edit-specified-interest"] .form-checkboxes {
    display: flex !important;
    flex-direction: column;
    justify-content: space-around;
  }

  #sales-tracker-activity-form-wrapper form.sales-tracker-sales-activity-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto;
    row-gap: 0;
    column-gap: 1.25rem;
    align-items: start;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-lead"] {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  #sales-tracker-activity-form-wrapper .form-item-lead-owner {
    grid-column: 1;
    grid-row: 2;
  }

  #sales-tracker-activity-form-wrapper .form-item-lead-status {
    grid-column: 2;
    grid-row: 2;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-specified-interest"] {
    grid-column: 1;
    grid-row: 3 / 6;
    align-self: stretch;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-activity-date-time"] {
    grid-column: 2;
    grid-row: 3;
  }

  #sales-tracker-activity-form-wrapper .form-item-activity-type {
    grid-column: 2;
    grid-row: 4;
  }

  #sales-tracker-activity-form-wrapper .form-item-contact {
    grid-column: 2;
    grid-row: 5;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-new-contact"] {
    grid-column: 1 / -1;
    grid-row: 6;
  }

  #sales-tracker-activity-form-wrapper .form-item-summary {
    grid-column: 1 / -1;
    grid-row: 7;
  }

  #sales-tracker-activity-form-wrapper .form-item-notes {
    grid-column: 1;
    grid-row: 8 / 10;
    align-self: stretch;
    margin-bottom: 0;
  }

  #sales-tracker-activity-form-wrapper .form-item-follow-up-action {
    grid-column: 2;
    grid-row: 8;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-follow-up-date"] {
    grid-column: 2;
    grid-row: 9;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-follow-up-date"],
  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-follow-up-date"] .form-item {
    margin-bottom: 0;
  }

  #sales-tracker-activity-form-wrapper form > [data-drupal-selector="edit-actions"] {
    grid-column: 1 / -1;
    grid-row: 10;
  }

  #sales-tracker-activity-form-wrapper [data-drupal-selector="edit-new-contact"] .details-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto auto auto;
    row-gap: 0;
    column-gap: 1rem;
    padding-top: 1rem;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-create {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-first-name {
    grid-column: 1;
    grid-row: 2;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-surname {
    grid-column: 2;
    grid-row: 2;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-job-title {
    grid-column: 1;
    grid-row: 3;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-email {
    grid-column: 1;
    grid-row: 4;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-contact-number {
    grid-column: 1;
    grid-row: 5;
  }

  #sales-tracker-activity-form-wrapper .form-item-new-contact-primary-contact {
    grid-column: 1;
    grid-row: 6;
    align-self: end;
  }

  #sales-tracker-activity-form-wrapper [data-drupal-selector="edit-new-contact-contact-method"] {
    grid-column: 2;
    grid-row: 3 / 7;
    align-self: stretch;
  }
}

.field--name-field-role-duration .form-item {
    width: 100%;
}

.digital-tech-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem; 
    
    .field--name-field-work-device,
    .field--name-field-additional-software {
        grid-column: 1 / -1;
    }
}

.line-manager-info-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.25rem;

    &> legend {
        grid-column: 1 / -1;
        margin-block-end: .6rem;
        color: #24444e;
        font-weight: 700;
        line-height: 1.4;
    }
}

.workplace-support-text > p {
    color: #24444e;
    font-weight: 700;
    line-height: 1.4;
    padding: 0.5rem 1rem .75rem;
    margin-block: 10px 20px;
}

.field--name-field-disclosed-condition .form-radios {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

:is(.field--name-field-adjustment-effect, .field--name-field-disclosed-condition) .form-radios .form-item:has(.form-radio[value="_none"]) {
    display: none;
}

.field--name-field-manager-guidance,
.field--name-field-adjustable-workstation,
.field--name-field-work-access {
    margin-bottom: 20px;
    padding: 0.5rem 1rem .75rem;
}


:is(.form-type-checkbox, .form-type-radio):has(:hover),
:is(.form-type-checkbox, .form-type-radio) label:hover {
    cursor: pointer;
}

.field--name-field-assistive-tech-selection {
    grid-column: 1 / -1;
}