.cmp-adaptiveform-button {
    .cmp-adaptiveform-button__widget {
        font-family: var(--font-sans);
        cursor: pointer;
        color: var(--color-white);
        letter-spacing: var(--spacing-0);
        background-color: var(--color-coral);
        border: none;
        border-radius: var(--spacing-0);
        outline: none;
        justify-content: center;
        align-items: center;
        padding: var(--spacing-3);
        font-size: var(--spacing-5);
        font-weight: var(--font-weight-bold);
        line-height: var(--line-height-xl);
        display: flex
    }

    .cmp-adaptiveform-button__widget:hover {
        background-color: var(--color-dark-1-coral);
        outline: none
    }

    .cmp-adaptiveform-button__widget:focus,
    .cmp-adaptiveform-button__widget:active {
        background-color: var(--color-dark-2-coral);
        outline: none
    }

    .cmp-adaptiveform-button__widget:disabled {
        background-color: var(--color-light-grey)
    }

    [data-cmp-enabled]:not([data-cmp-enabled=true]) .cmp-adaptiveform-button__widget {
        color: var(--color-neutral-light-dark-1);
        background: var(--color-neutral-dark-light-4)
    }
}

.cmp-adaptiveform-dropdown__label-container {
    font-family: var(--font-sans);
    letter-spacing: var(--spacing-0);
    color: var(--color-neutral-dark-default);
    justify-content: space-between;
    align-items: center;
    font-size: var(--text-xl);
    font-weight: var(--font-weight-demibold);
    line-height: var(--line-height-xl);
    display: flex
}

.cmp-adaptiveform-dropdown__widget {
    font-family: var(--font-sans);
    color: var(--color-neutral-dark-default);
    letter-spacing: var(--spacing-0);
    border: 1px solid var(--color-neutral-dark-light-4);
    height: var(--spacing-12);
    width: 100%;
    min-width: 100px;
    margin-top: 10px;
    padding: var(--spacing-3) 40px var(--spacing-3) var(--spacing-3);
    font-size: var(--text-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-xl);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("clientlib-forms-theme/resources/icons/chevron-down.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: var(--spacing-6);
}

.cmp-adaptiveform-dropdown__widget:hover {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-neutral-dark-light-1)
}

.cmp-adaptiveform-dropdown__widget:focus,
.cmp-adaptiveform-dropdown__widget:active {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-status-success);
    outline: none;
    background-image: url("clientlib-forms-theme/resources/icons/chevron-up.svg");
}

.cmp-adaptiveform-dropdown__widget:disabled {
    background-color: var(--color-neutral-light-default);
    border: 1px solid var(--color-neutral-dark-light-4)
}

.cmp-adaptiveform-dropdown__widget[aria-invalid=true] {
    background-color: #fef3f3;
    border: 2px solid var(--color-status-error)
}

.cmp-adaptiveform-dropdown__widget[aria-invalid=true]:focus,
.cmp-adaptiveform-dropdown__widget[aria-invalid=true]:active {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-status-success);
    outline: none;
    background-image: url("clientlib-forms-theme/resources/icons/chevron-up.svg");
}

.cmp-adaptiveform-dropdown__widget[aria-invalid=true]:hover {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-neutral-dark-light-1)
}

.cmp-adaptiveform-dropdown__widget[aria-invalid=true]+.cmp-adaptiveform-dropdown__errormessage:before {
    content: "⚠";
    color: var(--color-status-error);
    margin-left: 6px;
    margin-right: 10px;
    font-size: var(--text-xl);
    line-height: 1
}

.cmp-adaptiveform-text {
    font-family: var(--font-sans);
    color: var(--color-neutral-dark-default);
    margin: var(--spacing-1) var(--spacing-0);
    font-size: var(--text-xl);
}

.cmp-adaptiveform-text a{
    font-family: var(--font-sans);
    color: var(--color-status-success);
    text-decoration: underline;
}

.cmp-adaptiveform-text a:active {
    color: var(--color-primary-main-dark-2);
}

.cmp-adaptiveform-textinput,
.cmp-adaptiveform-emailinput,
.cmp-adaptiveform-telephoneinput,
.cmp-adaptiveform-radiobutton,
.cmp-adaptiveform-checkboxgroup,
.cmp-adaptiveform-datepicker {
    flex-direction: column;
    display: flex
}

.cmp-adaptiveform-checkbox {
    display: flex;
    align-items: center;
    flex-wrap: wrap; 
}

.cmp-adaptiveform-checkbox__widget-container {
    order: 1; 
    display: flex;
    align-items: center;
}

.cmp-adaptiveform-checkbox__label-container {
    order: 2; 
    margin: 0;
    display: flex;
    align-items: center;
}

.cmp-adaptiveform-textinput__label-container,
.cmp-adaptiveform-emailinput__label-container,
.cmp-adaptiveform-telephoneinput__label-container,
.cmp-adaptiveform-datepicker__label-container {
    font-family: var(--font-sans);
    letter-spacing: var(--spacing-0);
    color: var(--color-neutral-dark-default);
    justify-content: space-between;
    align-items: center;
    font-size: var(--text-xl);
    font-weight: var(--font-weight-demibold);
    line-height: var(--line-height-xl);
    display: flex
}

.cmp-adaptiveform-textinput__widget,
.cmp-adaptiveform-emailinput__widget,
.cmp-adaptiveform-telephoneinput__widget {
    color: var(--color-neutral-dark-default);
    background-color: var(--color-neutral-light-light-3);
    border: 1px solid var(--color-neutral-dark-light-4);
    height: var(--spacing-12);
    margin-top: 10px;
    padding: var(--spacing-3);
    font-size: var(--text-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-xl)
}

.cmp-adaptiveform-datepicker__widget {
    color: var(--color-neutral-dark-light-3);
    background-color: var(--color-neutral-light-light-3);
    border: 1px solid var(--color-neutral-dark-light-4);
    height: var(--spacing-12);
    margin-top: 10px;
    padding: var(--spacing-3);
    font-size: var(--text-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-xl)
}

.cmp-adaptiveform-textinput__widget:hover,
.cmp-adaptiveform-emailinput__widget:hover,
.cmp-adaptiveform-telephoneinput__widget:hover,
.cmp-adaptiveform-datepicker__widget:hover {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-neutral-dark-light-1)
}

.cmp-adaptiveform-textinput__widget:focus,
.cmp-adaptiveform-textinput__widget:active,
.cmp-adaptiveform-emailinput__widget:focus,
.cmp-adaptiveform-emailinput__widget:active,
.cmp-adaptiveform-telephoneinput__widget:focus,
.cmp-adaptiveform-telephoneinput__widget:active,
.cmp-adaptiveform-datepicker__widget:focus,
.cmp-adaptiveform-datepicker__widget:active {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-status-success);
    outline: none
}

.cmp-adaptiveform-textinput__widget:disabled,
.cmp-adaptiveform-emailinput__widget:disabled,
.cmp-adaptiveform-telephoneinput__widget:disabled,
.cmp-adaptiveform-datepicker__widget:disabled {
    background-color: var(--color-neutral-light-default);
    border: 1px solid var(--color-neutral-dark-light-4)
}

.cmp-adaptiveform-textinput__widget[aria-invalid=true],
.cmp-adaptiveform-emailinput__widget[aria-invalid=true],
.cmp-adaptiveform-telephoneinput__widget[aria-invalid=true],
.cmp-adaptiveform-datepicker__widget[aria-invalid=true] {
    background-color: #fef3f3;
    border: 2px solid var(--color-status-error)
}

.cmp-adaptiveform-textinput__widget[aria-invalid=true]:focus,
.cmp-adaptiveform-textinput__widget[aria-invalid=true]:active,
.cmp-adaptiveform-emailinput__widget[aria-invalid=true]:focus,
.cmp-adaptiveform-emailinput__widget[aria-invalid=true]:active,
.cmp-adaptiveform-telephoneinput__widget[aria-invalid=true]:focus,
.cmp-adaptiveform-telephoneinput__widget[aria-invalid=true]:active,
.cmp-adaptiveform-datepicker__widget[aria-invalid=true]:focus,
.cmp-adaptiveform-datepicker__widget[aria-invalid=true]:active {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-status-success);
    outline: none
}

.cmp-adaptiveform-textinput__widget[aria-invalid=true]:hover,
.cmp-adaptiveform-emailinput__widget[aria-invalid=true]:hover,
.cmp-adaptiveform-telephoneinput__widget[aria-invalid=true]:hover,
.cmp-adaptiveform-datepicker__widget[aria-invalid=true]:hover {
    background-color: var(--color-neutral-light-light-3);
    border: 2px solid var(--color-neutral-dark-light-1)
}

textarea.cmp-adaptiveform-textinput__widget {
    min-height: 228px;
    height: 256px;
}

.cmp-adaptiveform-textinput__longdescription {
    color: var(--color-neutral-dark-light-3);
    background-color: var(--color-neutral-light-dark-1);
    margin-top: 10px;
    margin-bottom: 5px;
    padding: 10px;
    font-size: var(--text-xs)
}

.cmp-adaptiveform-textinput__longdescription p {
    margin: var(--spacing-0);
    padding: var(--spacing-0)
}

.cmp-adaptiveform-textinput__shortdescription {
    margin-top: 10px;
    font-size: var(--text-xs)
}

.cmp-adaptiveform-textinput__widget[aria-invalid=true]+.cmp-adaptiveform-textinput__errormessage:before,
.cmp-adaptiveform-emailinput__widget[aria-invalid=true]+.cmp-adaptiveform-emailinput__errormessage:before,
.cmp-adaptiveform-telephoneinput__widget[aria-invalid=true]+.cmp-adaptiveform-telephoneinput__errormessage:before,
.cmp-adaptiveform-datepicker__widget[aria-invalid=true]+.cmp-adaptiveform-datepicker__errormessage:before {
    content: "⚠";
    color: var(--color-status-error);
    margin-right: 6px;
    font-size: var(--text-xl);
    line-height: 1
}

.cmp-adaptiveform-textinput[data-cmp-valid=false],
.cmp-adaptiveform-textinput[data-cmp-valid=true],
.cmp-adaptiveform-emailinput[data-cmp-valid=false],
.cmp-adaptiveform-emailinput[data-cmp-valid=true],
.cmp-adaptiveform-telephoneinput[data-cmp-valid=false],
.cmp-adaptiveform-telephoneinput[data-cmp-valid=true],
.cmp-adaptiveform-datepicker[data-cmp-valid=false],
.cmp-adaptiveform-datepicker[data-cmp-valid=true] {
    border: none;
    border-inline-start-width: none;
    -webkit-padding-start: none;
    background: 0 0;
    padding-inline-start: none
}

.cmp-adaptiveform-dropdown__errormessage,
.cmp-adaptiveform-textinput__errormessage,
.cmp-adaptiveform-emailinput__errormessage,
.cmp-adaptiveform-telephoneinput__errormessage,
.cmp-adaptiveform-radiobutton__errormessage,
.cmp-adaptiveform-checkbox__errormessage,
.cmp-adaptiveform-checkboxgroup__errormessage,
.cmp-adaptiveform-datepicker__errormessage {
    color: var(--color-status-error);
    letter-spacing: var(--spacing-0);
    margin-top: 5px;
    font-size: var(--text-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-xl);
    order: 3; 
    width: 100%;
}

.cmp-adaptiveform-radiobutton__label-container,
.cmp-adaptiveform-checkboxgroup__label-container {
    font-family: var(--font-sans);
    letter-spacing: var(--spacing-0);
    color: var(--color-neutral-dark-default);
    font-size: var(--text-xl);
    font-weight: var(--font-weight-demibold);
    line-height: var(--line-height-xl);
    display: flex;
    margin-bottom: 10px;
}

.cmp-adaptiveform-radiobutton__widget.HORIZONTAL,
.cmp-adaptiveform-checkboxgroup__widget.HORIZONTAL {
    display: flex;
    flex-direction: row; 
    gap: var(--spacing-6);
    align-items: center;
}

.cmp-adaptiveform-radiobutton__widget.VERTICAL,
.cmp-adaptiveform-checkboxgroup__widget.VERTICAL {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
    align-items: flex-start;
}

.cmp-adaptiveform-radiobutton input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid var(--color-neutral-dark-light-4);
    border-radius: 50%;
    background-color: var(--color-neutral-light-light-3);
    margin: 0 8px 0 0;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
}

.cmp-adaptiveform-radiobutton input[type="radio"]:checked {
    border: 2px solid var(--color-status-success);
    background-color: var(--color-status-success);
    box-shadow: inset 0 0 0 4px var(--color-neutral-light-light-3);
}

.cmp-adaptiveform-checkbox input[type="checkbox"],
.cmp-adaptiveform-checkboxgroup input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid var(--color-neutral-dark-light-4);
    border-radius: 2px;
    background-color: var(--color-neutral-light-light-3);
    margin: 0 8px 0 0;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
}

.cmp-adaptiveform-checkbox input[type="checkbox"]:checked,
.cmp-adaptiveform-checkboxgroup input[type="checkbox"]:checked {
    border: 2px solid var(--color-status-success);
    background-color: var(--color-neutral-light-light-3);
    background-image: url("clientlib-forms-theme/resources/icons/check.svg");
    background-size: 16px 16px;
    background-position: center;
    background-repeat: no-repeat;
}

.cmp-adaptiveform-radiobutton label,
.cmp-adaptiveform-checkbox label,
.cmp-adaptiveform-checkboxgroup label {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    color: var(--color-neutral-dark-default);
    cursor: pointer;
    display: flex;
    align-items: center;
}

.cmp-adaptiveform-radiobutton input[type="radio"][aria-invalid="true"],
.cmp-adaptiveform-checkbox input[type="checkbox"][aria-invalid="true"],
.cmp-adaptiveform-checkboxgroup input[type="checkbox"][aria-invalid="true"] {
    border: 2px solid var(--color-status-error);
    background-color: #fef3f3;
}

.cmp-adaptiveform-radiobutton__errormessage:not(:empty):before,
.cmp-adaptiveform-checkbox__errormessage:not(:empty):before,
.cmp-adaptiveform-checkboxgroup__errormessage:not(:empty):before {
    content: "⚠";
    color: var(--color-status-error);
    margin-right: 6px;
    font-size: var(--text-xl);
    line-height: 1;
}

.cmp-adaptiveform-datepicker__widget::-webkit-calendar-picker-indicator {
    cursor: pointer;
    background-image: url("clientlib-forms-theme/resources/icons/calendar.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    color: transparent;
}

.cmp-adaptiveform-container__wrapper.aem-Grid {
    gap: var(--spacing-6);
}

@media (max-width: 768px) {

    .cmp-adaptiveform-container__wrapper.aem-Grid > .aem-GridColumn,
    .cmp-adaptiveform-container__wrapper.aem-Grid > .aem-GridColumn--phone--none,
    .cmp-adaptiveform-container__wrapper.aem-Grid > .aem-GridColumn--tablet--none {
        grid-column: span 12 / span 12;
    }

    .cmp-adaptiveform-container__wrapper.aem-Grid > [class*="aem-GridColumn--phone-"],
    .cmp-adaptiveform-container__wrapper.aem-Grid > [class*="aem-GridColumn--tablet-"] {
        grid-column: span var(--span) / span var(--span);
    }

    .aem-GridColumn--phone--1,  .aem-GridColumn--tablet--1  { --span: 1; }
    .aem-GridColumn--phone--2,  .aem-GridColumn--tablet--2  { --span: 2; }
    .aem-GridColumn--phone--3,  .aem-GridColumn--tablet--3  { --span: 3; }
    .aem-GridColumn--phone--4,  .aem-GridColumn--tablet--4  { --span: 4; }
    .aem-GridColumn--phone--5,  .aem-GridColumn--tablet--5  { --span: 5; }
    .aem-GridColumn--phone--6,  .aem-GridColumn--tablet--6  { --span: 6; }
    .aem-GridColumn--phone--7,  .aem-GridColumn--tablet--7  { --span: 7; }
    .aem-GridColumn--phone--8,  .aem-GridColumn--tablet--8  { --span: 8; }
    .aem-GridColumn--phone--9,  .aem-GridColumn--tablet--9  { --span: 9; }
    .aem-GridColumn--phone--10, .aem-GridColumn--tablet--10 { --span: 10; }
    .aem-GridColumn--phone--11, .aem-GridColumn--tablet--11 { --span: 11; }
    .aem-GridColumn--phone--12, .aem-GridColumn--tablet--12 { --span: 12; }
}
.cmp-adaptiveform-modal {
    display: flex;
    overflow: hidden;

    .cmp-container.cmp-adaptiveform-modal__body {
        margin: auto;
        background: var(--color-neutral-light-light-3);
        padding: var(--spacing-6) var(--spacing-4);
        width: 100%;
        height: 100%;
        display : flex;
        justify-content: center;
        flex-direction: column;
        gap: var(--spacing-4);
        flex-wrap: wrap;
        overflow-y: auto;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    }
}
.cmp-adaptiveform-modal--closed {
        height: 0vh;
        z-index: 0;
    }
    .cmp-adaptiveform-modal--open { 
        position: fixed;
        height: 100vh;
        background: var(--background-image-hero-overlay);
        inset: 0;
        z-index: 10000;
    }
.cmp-adaptiveform-button--primary {
    display: inline-block;
    width: 100%;
    height: min-content;
    .cmp-adaptiveform-button__widget {
        width: 100%;
    }
}

.cmp-adaptiveform-button--secondary {
    display: inline-block;
    width: 100%;
    margin-top: auto;
    margin-right: 0;
    height: min-content;
    .cmp-adaptiveform-button__widget {
        background-color: var(--color-neutral-light-light-3);
        border: 2px solid var(--color-coral);
        color: var(--color-coral);
        width: 100%;
        padding: 10px;
    }
}

@media (min-width : 448px) {
    .cmp-adaptiveform-modal {
        .cmp-container.cmp-adaptiveform-modal__body {
            flex-direction: row;
        }
    }
    .cmp-adaptiveform-button--primary, .cmp-adaptiveform-button--secondary {
        width: calc(50% - 0.5rem);
        margin-top: auto;
    }
}

@media (min-width : 768px) {
    .cmp-adaptiveform-modal {
        .cmp-container.cmp-adaptiveform-modal__body{
            height: auto;
            padding: var(--spacing-10);
            max-width: 45rem;
        }
    }
    .cmp-adaptiveform-button--secondary {
        margin-left: auto;
    }
    .cmp-adaptiveform-button--primary, .cmp-adaptiveform-button--secondary {
        width: auto;
        .cmp-adaptiveform-button__widget {
            width: auto;
            min-width: 12.5rem;
        }
    }
    .cmp-adaptiveform-modal-open {
        height: 100vh;
    }
}