.editor-control-layout html {
            box-sizing: border-box;
            background-color: #fff;
        }
        .editor-control-layout *,
        .editor-control-layout *:before,
        .editor-control-layout *:after {
            box-sizing: inherit;
        }

        .marketingForm h1 {
            color: #000;
            margin: 0px;
            padding: 0px;
            width: 100%;
            font-family: "Segoe UI", Arial, sans-serif;
            line-height: 1.25;
            font-size: 28px;
            text-align: center;
        }

        .marketingForm h2 {
            color: #333;
            margin: 0px;
            padding: 0px;
            width: 100%;
            line-height: 1.25;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 22px;
            text-align: center;
        }

        .marketingForm h3 {
            color: #000;
            margin: 0px;
            padding: 0px;
            width: 100%;
            line-height: 1.25;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 18px;
            text-align: center;
        }

        .marketingForm p {
            color: #000;
            margin: 0px;
            padding: 0px;
            line-height: 125%;
            line-height: 1.25;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            text-align: center;
        }

        .marketingForm a,
        div[data-editorblocktype="Captcha"] td:nth-of-type(2) a {
            text-decoration: none;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
        }

        .marketingForm .primaryButtonWrapper,
        .submitButtonWrapper {
            text-align: center;
            margin: 10px 0px;
        }

        .marketingForm .primaryButton,
        .submitButton {
            font-family: "Segoe UI", Arial, sans-serif;
            font-weight: 700;
            font-size: 16px;
            line-height: 22px;
            background-color: #2266e3;
            border: none;
            border-radius: 4px;
            color: #ffffff;
            padding: 10px 20px;
            cursor: pointer;
        }

        .marketingForm .secondaryButton {
            font-family: "Segoe UI", Arial, sans-serif;
            font-weight: 700;
            font-size: 16px;
            line-height: 22px;
            background-color: #ffffff;
            border: 1px solid #0082dd;
            border-radius: 4px;
            color: #2266e3;
            padding: 10px 20px;
            margin: 0px;
            cursor: pointer;
        }

        .marketingForm .error {
            font-family: Arial, Verdana, sans-serif;
            font-weight: bold;
            font-size: 12px;
            margin: 0px;
            padding: 0px;
            color: #a80000;
            text-align: left;
        }

        /* Generic inline validation messages injected by validation-messages.js */
        .field-error-msg {
            font-family: Arial, Verdana, sans-serif;
            font-weight: normal;
            font-size: 12px;
            margin: 4px 0 0 0;
            padding: 0px;
            color: #a80000;
            text-align: left;
        }
        input.field-invalid,
        select.field-invalid,
        textarea.field-invalid {
            border: 1px solid #a80000 !important;
        }

        .zero-state-container span {
            font-family: "Segoe UI", Arial, sans-serif;
            font-weight: 600;
            font-size: 20px;
            line-height: 26px;
            color: #242424;
        }

        form.marketingForm {
            color: #000;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
        }

        [data-layout="true"] {
            margin: 0 auto !important;
            max-width: 600px !important;
            background-color: rgba(255, 255, 255, 0);
        }

        div[data-editorblocktype="SubmitButton"] {
            padding: 20px 0px;
        }

        div[data-editorblocktype="Captcha"] {
            padding: 20px 12%;
        }

        div[data-editorblocktype="Captcha"] table,
        div[data-editorblocktype="Captcha"] div > table > tbody > tr > td:nth-of-type(2) {
            width: 100% !important;
        }

        div[data-editorblocktype="Captcha"] div > div > table > tbody > tr:first-of-type > td:last-of-type {
            padding-bottom: 12px !important;
        }

        div[data-editorblocktype="Captcha"] tr[id="wlspispHIPErrorContainer"] {
            margin-top: 20px;
        }

        div[data-editorblocktype="Captcha"] tr[id="wlspispHIPErrorContainer"] td:nth-of-type(2) {
            width: auto !important;
        }

        div[data-editorblocktype="Captcha"] tr[id="wlspispHIPErrorContainer"] img {
            display: flex;
        }

        div[data-editorblocktype="Captcha"] td:nth-of-type(2) > div > div {
            margin-top: 4px;
        }

        div[data-editorblocktype="Captcha"] td:nth-of-type(2) > div > div * {
            font-weight: 400;
        }

        div[data-editorblocktype="Captcha"] td:nth-of-type(2) > div > div b {
            color: #797775;
        }

        div[data-editorblocktype="Captcha"] tr:nth-of-type(2) > td {
            height: 0px !important;
        }

        div[data-editorblocktype="Captcha"] td input {
            margin-top: 20px !important;
            padding: 6px 8px !important;
            width: 100% !important;
        }

        div[data-editorblocktype="Captcha"] div[id^="wlspaudioBtnHolder"] {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        div[data-editorblocktype="About"],
        div[data-editorblocktype="Sessions"],
        div[data-editorblocktype="Speakers"] {
            padding: 32px 24px;
        }

        div[data-editorblocktype="Sessions"] h2 {
            margin-bottom: 32px;
            text-align: center;
        }

        .textFormFieldBlock,
        .dateTimeFormFieldBlock,
        .twoOptionFormFieldBlock,
        .optionSetFormFieldBlock,
        .passesBlock,
        .multiOptionSetFormFieldBlock,
        .lookupFormFieldBlock {
            padding: 20px 30px;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        table.multi .textFormFieldBlock,
        table.multi .dateTimeFormFieldBlock,
        table.multi .twoOptionFormFieldBlock,
        table.multi .optionSetFormFieldBlock,
        table.multi .passesBlock,
        table.multi .multiOptionSetFormFieldBlock,
        table.multi .lookupFormFieldBlock {
            padding: 12px 20px;
        }

        .consentBlock {
            padding: 4px 30px;
        }

        .textFormFieldBlock label,
        .dateTimeFormFieldBlock label,
        .lookupFormFieldBlock label,
        .twoOptionFormFieldBlock label.block-label,
        .optionSetFormFieldBlock label.block-label,
        .multiOptionSetFormFieldBlock label.block-label,
        div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"],
        .textFormFieldBlock label *,
        .dateTimeFormFieldBlock label *,
        .lookupFormFieldBlock label *,
        .twoOptionFormFieldBlock label.block-label *,
        .optionSetFormFieldBlock label.block-label *,
        .multiOptionSetFormFieldBlock label.block-label *,
        .consentBlock label p,
        .passesBlock label {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 16px;
            font-weight: 600;
            color: #323130;
        }

        .textFormFieldBlock label,
        .dateTimeFormFieldBlock label,
        .lookupFormFieldBlock label,
        .twoOptionFormFieldBlock label.block-label,
        .optionSetFormFieldBlock label.block-label,
        .multiOptionSetFormFieldBlock label.block-label,
        .passesBlock label,
        div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"] {
            display: inline-block;
            margin-top: 4px;
            margin-bottom: 0px;
            margin-left: 0px;
            margin-right: 0px;
            padding: 0px;
            flex: 1;
            width: 100%;
        }

        .textFormFieldBlock label > *,
        .dateTimeFormFieldBlock label > *,
        .lookupFormFieldBlock label > *,
        .twoOptionFormFieldBlock label.block-label > *,
        .optionSetFormFieldBlock label.block-label > *,
        .multiOptionSetFormFieldBlock label.block-label > *,
        .passesBlock label.block-label > *,
        .consentBlock label > * {
            display: inline-block;
        }

        .textFormFieldBlock label::after,
        .twooption_checkbox label::after,
        .dateTimeFormFieldBlock label::after,
        .lookupFormFieldBlock label::after,
        .twoOptionFormFieldBlock label.block-label::after,
        .twoOptionFormFieldBlock div.twooption_checkbox label::after,
        .optionSetFormFieldBlock label.block-label::after,
        .passesBlock label.block-label::after,
        .multiOptionSetFormFieldBlock label.block-label::after,
        .consentBlock label::after,
        .eventSession label::after,
        div[data-editorblocktype="Sessions"] h2::after,
        div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
            width: 22px;
            display: inline-block;
            line-height: 22px;
            text-align: center;
            color: #c33400;
            content: "*";
            visibility: hidden;
        }

        div[data-required].textFormFieldBlock label::after,
        div[data-required].dateTimeFormFieldBlock label::after,
        div[data-required].lookupFormFieldBlock label::after,
        div[data-required] div.twooption_checkbox label::after,
        div[data-required] label.block-label::after,
        div[data-required="true"].consentBlock label::after,
        div[data-editorblocktype="Sessions"][data-required="true" i] h2::after,
        div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
            visibility: visible;
        }

        .eventSessions div.eventSession div input[type="checkbox"]:checked + label::after,
        .eventSessions div.eventSession div input[type="radio"]:checked + label::after {
            visibility: visible;
        }

        .optionSetFormFieldBlock select,
        .textFormFieldBlock input,
        .dateTimeFormFieldBlock input,
        .lookupFormFieldBlock input,
        .marketingForm textarea,
        div[data-editorblocktype="Captcha"] input,
        .passesBlock select {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            padding: 6px 8px;
            background-color: #faf9f8;
            border: 1px solid #e1dfdd;
            border-radius: 2px;
            display: block;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            flex: 2 1 20%;
        }

        /* Native date inputs render their own internal day/month/year/icon
           sub-controls and don't size the same way a text input does. Inside
           a flex column with default align-items:stretch, "height: 100%"
           above can let the box grow far taller than intended (it did here —
           the date field appeared noticeably larger than the Heure/Minutes
           selects beside it, which have no explicit height rule and simply
           size to their own natural content). Removing the stretched height
           and letting it size naturally — like the selects do — keeps it
           visually consistent with the rest of the row. */
        input[type="date"] {
            height: auto !important;
            flex: none;
        }

        .textFormFieldBlock textArea {
            resize: vertical;
            height: 120px;
        }

        .lookupFormFieldBlock input {
            background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiPjxwYXRoIGQ9Ik0xMzQ0IDBxOTcgMCAxODcgMjV0MTY4IDcxIDE0MiAxMTAgMTExIDE0MyA3MSAxNjggMjUgMTg3cTAgOTctMjUgMTg3dC03MSAxNjgtMTEwIDE0Mi0xNDMgMTExLTE2OCA3MS0xODcgMjVxLTEyNSAwLTIzOS00MnQtMjExLTEyMWwtNzg1IDc4NHEtMTkgMTktNDUgMTl0LTQ1LTE5LTE5LTQ1cTAtMjYgMTktNDVsNzg0LTc4NXEtNzktOTYtMTIxLTIxMHQtNDItMjQwcTAtOTcgMjUtMTg3dDcxLTE2OCAxMTAtMTQyVDk4OSA5NnQxNjgtNzEgMTg3LTI1em0wIDEyODBxMTE5IDAgMjI0LTQ1dDE4My0xMjQgMTIzLTE4MyA0Ni0yMjRxMC0xMTktNDUtMjI0dC0xMjQtMTgzLTE4My0xMjMtMjI0LTQ2cS0xMTkgMC0yMjQgNDVUOTM3IDI5NyA4MTQgNDgwdC00NiAyMjRxMCAxMTkgNDUgMjI0dDEyNCAxODMgMTgzIDEyMyAyMjQgNDZ6Ii8+PC9zdmc+);
            background-repeat: no-repeat;
            background-position-x: 98%;
            background-position-y: center;
            background-size: 1em 1em;
        }

        .lookupFormFieldBlock input:dir(rtl) {
            background-position-x: 2%;
        }

        .optionSetFormFieldBlock select,
        .passesBlock select {
            background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02IDYuNzA4OThMMC4xNDY0ODQgMC44NTU0NjlMMC44NTU0NjkgMC4xNDY0ODRMNiA1LjI5MTAyTDExLjE0NDUgMC4xNDY0ODRMMTEuODUzNSAwLjg1NTQ2OUw2IDYuNzA4OThaIiBmaWxsPSIjNjA1RTVDIi8+Cjwvc3ZnPgo=);
            background-repeat: no-repeat;
            background-position-x: 98%;
            background-position-y: center;
            appearance: none;
        }

        .optionSetFormFieldBlock select option,
        .passesBlock select option {
            background-color: #faf9f8;
        }

        .passesBlock fieldset {
            display: grid;
            gap: 16px;
            grid-template-columns: repeat(3, 1fr);
            grid-auto-rows: 1fr;
            border: none;
            padding: 0px;
        }

        .passesBlock fieldset input {
            display: none;
        }

        .passesBlock fieldset label {
            box-shadow: rgba(0, 0, 0, 0.12) 0px 0px 2px 0px, rgba(0, 0, 0, 0.14) 0px 2px 4px 0px;
            border-radius: 4px;
            padding: 16px;
            cursor: pointer;
            box-sizing: border-box;
        }

        .passesBlock fieldset label .passName {
            font-weight: 600;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            overflow: hidden;
        }

        .passesBlock fieldset label .passPrice {
            font-size: 12px;
            color: rgba(97, 97, 97, 1);
            margin-bottom: 16px;
        }

        .passesBlock fieldset label .passDescription {
            font-size: 12px;
            color: rgba(66, 66, 66, 1);
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 5;
            overflow: hidden;
        }

        .twoOptionFormFieldBlock div.radiobuttons,
        .twoOptionFormFieldBlock div.twooption_checkbox,
        .optionSetFormFieldBlock div.radiobuttons,
        .multiOptionSetFormFieldBlock fieldset {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            border: none;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 0px;
            gap: 8px;
            flex: 2;
        }

        .twoOptionFormFieldBlock div.radiobuttons,
        .optionSetFormFieldBlock div.radiobuttons,
        .multiOptionSetFormFieldBlock fieldset {
            margin-top: 16px;
        }

        .twoOptionFormFieldBlock div.radiobuttons > div,
        .twoOptionFormFieldBlock div.twooption_checkbox > div,
        .optionSetFormFieldBlock div.radiobuttons > div,
        .multiOptionSetFormFieldBlock fieldset > div,
        .consentBlock > div {
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 0px;
            gap: 8px;
        }

        .twoOptionFormFieldBlock div.radiobuttons div label,
        .optionSetFormFieldBlock div.radiobuttons div label {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            font-weight: 400;
            line-height: 20px;
        }

        .twoOptionFormFieldBlock div.twooption_checkbox div label,
        .twoOptionFormFieldBlock div.twooption_checkbox div label div,
        .consentBlock div label p {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            font-weight: 400;
            line-height: 20px;
        }

        .eventSessions div.eventSession div label,
        .eventSessions div.eventSession div label div {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            font-weight: bold;
            line-height: 20px;
        }

        .multiOptionSetFormFieldBlock fieldset > div > label {
            font-weight: 400;
            font-size: 14px;
            line-height: 20px;
        }

        .eventSessions div.eventSession div input[type="checkbox"]:checked + label,
        .eventSessions div.eventSession div input[type="radio"]:checked + label,
        .eventSessions div.eventSession div input[type="checkbox"]:checked + label div,
        .eventSessions div.eventSession div input[type="radio"]:checked + label div {
            text-decoration: none;
            font-weight: 400;
            color: #000;
        }

        .passesBlock input:checked + label {
            border: 1px solid #0078d4;
        }

        .twoOptionFormFieldBlock div.radiobuttons,
        .optionSetFormFieldBlock div.radiobuttons {
            padding: 0px;
            margin: 0px;
            border-radius: 0px;
            background-color: transparent;
        }

        .twoOptionFormFieldBlock div.twooption_checkbox > div,
        .consentBlock > div {
            width: 100%;
            border-radius: 0px;
            background-color: transparent;
        }

        .eventSessions div.eventSession > div {
            width: 100%;
            border-radius: 0px;
            background-color: transparent;
        }

        .twoOptionFormFieldBlock div.radiobuttons div,
        .optionSetFormFieldBlock div.radiobuttons div {
            width: 100%;
        }

        .twoOptionFormFieldBlock div.twooption_checkbox div,
        .consentBlock div {
            padding: 0px;
            margin: 0px;
        }

        .eventSessions div.eventSession div {
            padding: 0px;
            margin: 0px;
        }

        div[data-editorblocktype="Sessions"] .eventSessions div.eventSession {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 16px;
        }

        .eventSessions div.eventSession div.eventSessionDescription > p:not(:first-child) {
            font-size: 12px;
            margin-top: 4px;
        }

        .eventSessions div.eventSession div.eventSessionDescription p .sessionFullMessage {
            color: #bf0077;
        }

        .eventSessions div.eventSession div.eventSessionDescription p .sessionWaitlistMessage {
            color: #707070;
        }

        .eventSessions div.eventSession:not(:last-child) {
            margin-bottom: 16px;
        }

        .eventSessions div.eventSession div.eventSessionInput {
            flex: 0;
        }

        .eventSessions div.eventSession div.eventSessionDescription {
            flex: 1;
        }

        .twoOptionFormFieldBlock div.radiobuttons div input,
        .twoOptionFormFieldBlock div.twooption_checkbox div input,
        .optionSetFormFieldBlock div.radiobuttons div input,
        .multiOptionSetFormFieldBlock fieldset > div > input[type="checkbox"],
        .eventSession > div > input[type="checkbox"],
        .eventSession > div > input[type="radio"],
        .consentBlock div input {
            margin: 0px;
            box-sizing: border-box;
            width: 20px;
            height: 20px;
            border: 1px solid #323130;
            border-radius: 2px;
            accent-color: #0078d4;
            flex-shrink: 0;
        }

        .eventSessions {
            font-size: 16px;
            line-height: 1.2;
            border: none;
        }

        .eventSession label b {
            display: inline;
        }

        .marketingForm [dir="rtl"],
        .marketingForm [dir="rtl"] * {
            text-align: right;
        }

        .marketingForm s span {
            text-decoration: line-through;
        }

        .marketingForm u span {
            text-decoration: underline;
        }

        .dividerWrapper p span {
            line-height: 0px;
        }

        .marketingForm li {
            font-family: Arial, Verdana, sans-serif;
            font-size: 14px;
            color: #000;
            line-height: inherit;
            font-weight: normal;
            text-align: left;
        }

        .marketingForm ul,
        .marketingForm ol {
            margin-top: 15px;
            margin-bottom: 15px;
            line-height: 125%;
            line-height: 1.25;
            padding-inline-end: 0px !important;
        }

        .marketingForm p img {
            max-width: 100%;
        }

        .marketingForm u a {
            text-decoration: underline;
        }

        .marketingForm .imageWrapper a img {
            text-decoration: none;
            border: 0px;
        }

        .marketingForm th.columnContainer,
        .marketingForm th.inner {
            font-weight: normal;
            text-align: left;
        }

        .marketingForm [dir="rtl"] th.columnContainer,
        .marketingForm [dir="rtl"] th.inner {
            font-weight: normal;
            text-align: right;
        }

        @media only screen and (max-width: 768px) {
            .marketingForm a span {
                line-height: inherit !important;
            }

            .marketingForm .multi table {
                table-layout: fixed;
                height: auto !important;
            }

            .marketingForm .multi td {
                width: auto !important;
                min-height: auto !important;
            }

            .marketingForm .multi tbody,
            .marketingForm .multi tbody tr,
            .marketingForm .multi tbody tr td,
            .marketingForm .multi tbody tr th,
            .marketingForm .outer tbody,
            .marketingForm .outer tbody tr,
            .marketingForm .outer tbody tr td,
            .marketingForm .outer tbody tr th {
                display: block;
                box-sizing: border-box;
                height: auto !important;
                min-height: auto !important;
            }

            .marketingForm .wrap-section .multi tbody,
            .marketingForm .wrap-section .multi tbody tr,
            .marketingForm .wrap-section .multi tbody tr td,
            .marketingForm .wrap-section .multi tbody tr th,
            .marketingForm .wrap-section .outer tbody,
            .marketingForm .wrap-section .outer tbody tr,
            .marketingForm .wrap-section .outer tbody tr td,
            .marketingForm .wrap-section .outer tbody tr th {
                width: 100% !important;
            }

            .marketingForm .multi .inner {
                height: auto !important;
                min-height: auto !important;
            }

            .marketingForm .tbContainer .inner {
                box-sizing: border-box;
            }

            .marketingForm .outer {
                width: 100% !important;
            }

            .marketingForm .tbContainer .columnContainer table {
                table-layout: fixed !important;
            }

            .marketingForm .innerTable {
                min-height: auto !important;
            }

            .marketingForm .no-wrap-section .outer {
                display: table !important;
            }

            .marketingForm .no-wrap-section .multi table {
                height: 100% !important;
            }

            .marketingForm .no-wrap-section .multi tbody,
            .marketingForm .no-wrap-section .outer tbody {
                display: table-row-group !important;
                width: 100% !important;
            }

            .marketingForm .no-wrap-section .multi tbody tr,
            .marketingForm .no-wrap-section .outer tbody tr {
                display: table-row !important;
                width: 100% !important;
            }

            .marketingForm .no-wrap-section .multi tbody tr td,
            .marketingForm .no-wrap-section .multi tbody tr th,
            .marketingForm .no-wrap-section .outer tbody tr td,
            .marketingForm .no-wrap-section .outer tbody tr th {
                display: table-cell !important;
            }

            .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr td,
            .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr th {
                height: 0px !important;
            }

            .marketingForm .no-wrap-section .outer tbody tr td.inner,
            .marketingForm .no-wrap-section .outer tbody tr th.inner {
                width: 100% !important;
                height: auto !important;
            }

            .marketingForm a[x-apple-data-detectors] {
                color: inherit !important;
                text-decoration: none !important;
                font-size: inherit !important;
                font-family: inherit !important;
                font-weight: inherit !important;
                line-height: inherit !important;
            }
        }

        .notification-container {
            margin-left: 10px;
            margin-right: 10px;
            margin-bottom: 10px;
            margin-top: 10px;
        }

        .notification-message {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 38px;
            border: 1.44737px solid #CCCCCC;
            border-radius: 10px;
            margin-bottom: 10px;
            margin-top: 10px;
        }

        .notification-message-hide {
            display: none;
        }

        .phoneFormFieldBlock {
            padding: 20px 30px;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        table.multi .phoneFormFieldBlock {
            padding: 12px 20px;
        }

        .phoneFormFieldBlock label,
        .phoneFormFieldBlock label * {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 16px;
            font-weight: 600;
            color: #323130;
        }

        .phoneFormFieldBlock label {
            display: inline-block;
            margin-top: 4px;
            margin-bottom: 0px;
            margin-left: 0px;
            margin-right: 0px;
            padding: 0px;
            flex: 1;
            width: 100%;
        }

        .phoneFormFieldBlock label > * {
            display: inline-block;
        }

        .phoneFormFieldBlock label::after {
            width: 22px;
            display: inline-block;
            line-height: 22px;
            text-align: center;
            color: #c33400;
            content: "*";
            visibility: hidden;
        }

        div[data-required].phoneFormFieldBlock label::after {
            visibility: visible;
        }

        .phoneFormFieldBlock .phoneCountryCode {
            display: flex;
            flex: 2 1 20%;
            align-items: center;
            flex-direction: row;
            box-sizing: border-box;
            border: 1px solid #e1dfdd;
            border-radius: 2px;
            justify-content: flex-start;
            background-color: transparent;
            overflow: visible;
            width: 100%;
            height: 100%;
            gap: 0;
        }

        .phoneFormFieldBlock .phoneCountryCodeLabel {
            overflow: hidden;
            margin: 0;
            cursor: pointer;
            padding-left: 5px;
            padding-right: 5px;
            opacity: 1;
            text-align: center;
            color: #605e5c;
            background-color: #f3f2f1;
            align-items: center;
            align-self: stretch;
            display: flex;
        }

        .phoneFormFieldBlock span[hidden] {
            display: none;
        }

        .phoneFormFieldBlock input {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 14px;
            padding: 6px 8px;
            background-color: #faf9f8;
            display: block;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            flex: 1 1 auto;
            min-width: 0;
            border: none;
            border-left: 1px solid #e1dfdd;
        }

        /* Ajouts pour les sections date/heure personnalisées */
        .customSectionTitle {
            padding: 10px 30px 0 30px;
            text-align: left;
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 18px;
            font-weight: 600;
            color: #323130;
        }

        .dateTimeCompositeGroup {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 0;
        }

        .hiddenCrmField {
            display: none !important;
        }

        .fieldHelpText {
            font-family: "Segoe UI", Arial, sans-serif;
            font-size: 12px;
            color: #605e5c;
            text-align: left;
            padding: 0 30px 10px 30px;
        }

        @media only screen and (max-width: 768px) {
            .dateTimeCompositeGroup {
                grid-template-columns: 1fr;
            }
        }

    /* Wrapper — must be position:relative so the absolute dropdown anchors correctly */
    .suggestions-wrapper {
        position: relative;
        width: 100%;
    }

    .suggestions-box {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 2007;
        background-color: #ffffff;
        border: 1px solid #ccc;
        box-shadow: 0 9px 16px rgba(0, 0, 0, 0.15);
        border-radius: 0 0 4px 4px;
        font-family: Helvetica, sans-serif;
        font-size: 15px;
        font-weight: 400;
        line-height: 1;
        max-height: 260px;
        overflow-y: auto;
        margin: 0;
        padding: 4px 0;
    }

    .suggestion-item {
        display: flex;
        align-items: center;
        padding: 8px 12px;
        cursor: pointer;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #1a1a1a;
        /* Allow dropdown to be wider than input — text-overflow handled
           by the dropdown box width itself, not per-item clipping */
        min-width: 0;
    }
    .suggestion-item:hover {
        background-color: #f0f5ff;
        color: #0078d4;
    }

    /* Provider icons are injected as DOM elements by map-service.js (_makeBadge)
       No CSS ::before needed — suppressed to avoid double-icon rendering */
    .suggestion-item::before { content: none !important; display: none !important; }

    /* Align address search inputs consistently with other textFormFieldBlock inputs */
    #searchBoxLead,
    #searchBoxDepLead,
    #searchBoxDestLead,
    #searchBoxLeadReturnPickLocation,
    #searchBoxLeadReturnDisposalSite {
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 14px;
        padding: 6px 8px;
        background-color: #faf9f8;
        border: 1px solid #e1dfdd;
        border-radius: 2px;
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 0 !important;
        /* Truncate long addresses and show full text via browser tooltip
           (title attribute set by map-service.js on dropdown selection) */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Widen the 2-column address row columns. D365 sets a hardcoded inline
       width: 300px on each th.columnContainer (50% of the 600px max-width).
       Override to a fluid percentage so columns use the full available width
       regardless of what pixel value D365 computed at design time. */
    .marketingForm th.columnContainer {
        min-width: 0 !important;
        width: 50% !important;
    }

    /* Increase form max-width to 800px so each 50% column gets 400px —
       meaningfully wider than the original 300px without making single-column
       fields look stretched. All field blocks are width:100% of their column,
       so they expand automatically. */
    [data-layout="true"] {
        max-width: 800px !important;
    }

    /* Phone block — align with sibling textFormFieldBlock fields */
    .phoneFormFieldBlock {
        padding: 20px 30px !important;
    }

    table.multi .phoneFormFieldBlock {
        padding: 12px 20px !important;
    }

    /* suggestions-wrapper sits flush below the search input */
    .suggestions-wrapper {
        margin-top: 0;
        padding: 0;
    }

    /* Adresse de prise en charge + Adresse de dépose finale — align with siblings */
    #searchBoxLeadReturnPickLocation,
    #searchBoxLeadReturnDisposalSite {
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 14px;
        padding: 6px 8px;
        background-color: #faf9f8;
        border: 1px solid #e1dfdd;
        border-radius: 2px;
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 0 !important;
    }

    /* Suggestions box — match MyCRM form style exactly */
    .suggestions-box div {
        border-bottom: 1px solid #f0f0f0;
    }
    .suggestions-box div:last-child {
        border-bottom: none;
    }
    /* Attachment filename rows */
    .att-filename-row {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 3px 0;
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 14px;
        color: #d97706;
    }
    .att-filename-row span:first-child {
        max-width: 220px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #d97706;
    }
    .att-filename-row .att-remove {
        color: #a80000;
        cursor: pointer;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        flex-shrink: 0;
        background: none;
        border: none;
        padding: 0 2px;
        font-family: Arial, sans-serif;
    }
    .att-filename-row .att-remove:hover { color: #600000; }

    /* ── File attachment UI ── */
    #divFileAttach {
        padding: 20px 30px;
    }

    #divFileAttach > div > label[for="fileList"] {
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: #323130;
        display: block;
        margin-bottom: 8px;
    }

    /* Hide the real < input type="file"> — clicking the < label> triggers it */
    #fileList input[type="file"] {
        display: none;
    }

    /* Each file row */
    #fileList > div {
        display: flex;
        align-items: center;
        margin-bottom: 4px;
    }

    /* The "+" add button (last row, before any file is picked) */
    #fileList > div:last-child > label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        font: 400 18px/1 "Segoe UI", Arial, sans-serif;
        color: #323130;
        background-color: #f3f2f1;
        border: 1px solid #e1dfdd;
        border-radius: 2px;
        cursor: pointer;
        margin: 4px 0;
    }

    /* Filename label after a file is selected */
    #fileList > div > label {
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 14px;
        font-weight: 400;
        color: #323130;
        cursor: default;
    }

    /* The × delete button inside the filename label */
    #fileList > div > label > span:last-child {
        color: #a80000;
        display: inline-block;
        margin-left: 8px;
        cursor: pointer;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
    }

    /* Validation error */
    #val-fileList {
        display: none;
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 14px;
        color: #a80000;
        margin-top: 4px;
    }