.elementor-497 .elementor-element.elementor-element-b98f557{--display:flex;--padding-top:56px;--padding-bottom:64px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-b98f557:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-b98f557 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8ee8ecc );}.elementor-497 .elementor-element.elementor-element-0536407{--display:flex;}.elementor-497 .elementor-element.elementor-element-f15d481{font-size:15px;color:#5A6372;}.elementor-497 .elementor-element.elementor-element-f15d481 p{margin-block-end:0px;}.elementor-497 .elementor-element.elementor-element-f15d481 a{color:#5A6372;}.elementor-497 .elementor-element.elementor-element-f15d481 a:hover, .elementor-497 .elementor-element.elementor-element-f15d481 a:focus{color:var( --e-global-color-accent );}.elementor-497 .elementor-element.elementor-element-b126457{width:var( --container-widget-width, 64% );max-width:64%;--container-widget-width:64%;--container-widget-flex-grow:0;}.elementor-497 .elementor-element.elementor-element-b126457 .elementor-heading-title{font-size:56px;color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-149316b{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;font-size:21px;line-height:1.5em;color:#3E4757;}.elementor-497 .elementor-element.elementor-element-149316b p{margin-block-end:0px;}.elementor-497 .elementor-element.elementor-element-149316b a{color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-149316b a:hover, .elementor-497 .elementor-element.elementor-element-149316b a:focus{color:var( --e-global-color-43592e8 );}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(32px/2);}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(32px/2);}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(32px/2);}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-32px/2);}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-32px/2);}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-497 .elementor-element.elementor-element-0396a0e{--e-icon-list-icon-size:17px;--icon-vertical-offset:0px;}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-icon{padding-inline-end:8px;}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-item > a{font-size:17px;font-weight:600;}.elementor-497 .elementor-element.elementor-element-0396a0e .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-497 .elementor-element.elementor-element-b9a91cb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:64px;--padding-bottom:96px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-076d384{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E2DACC;--border-color:#E2DACC;--border-radius:24px 24px 24px 24px;--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-497 .elementor-element.elementor-element-966bb2d{font-size:14px;line-height:1.5em;color:#5A6372;}.elementor-497 .elementor-element.elementor-element-966bb2d a{color:#003B71;}.elementor-497 .elementor-element.elementor-element-966bb2d a:hover, .elementor-497 .elementor-element.elementor-element-966bb2d a:focus{color:var( --e-global-color-accent );}.elementor-497 .elementor-element.elementor-element-e84de33{--display:flex;}.elementor-497 .elementor-element.elementor-element-94e7c79{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:48px;--padding-bottom:48px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-94e7c79:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-94e7c79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8ee8ecc );}.elementor-497 .elementor-element.elementor-element-4e7a82a{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-497 .elementor-element.elementor-element-1d23c3a .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:26px;font-weight:800;color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-3db27ad{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button{background-color:#02010100;font-size:17px;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button:hover, .elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button:focus{color:var( --e-global-color-43592e8 );border-color:var( --e-global-color-43592e8 );}.elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button:hover svg, .elementor-497 .elementor-element.elementor-element-2cae881 .elementor-button:focus svg{fill:var( --e-global-color-43592e8 );}.elementor-497 .elementor-element.elementor-element-fe8bebf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-497 .elementor-element.elementor-element-b98f557{--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-b126457 .elementor-heading-title{font-size:40px;}.elementor-497 .elementor-element.elementor-element-b9a91cb{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-94e7c79{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-63a347a p{margin-block-end:0px;}.elementor-497 .elementor-element.elementor-element-3db27ad{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}@media(max-width:767px){.elementor-497 .elementor-element.elementor-element-b98f557{--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-b126457{width:100%;max-width:100%;}.elementor-497 .elementor-element.elementor-element-b126457 .elementor-heading-title{font-size:35px;}.elementor-497 .elementor-element.elementor-element-149316b{width:100%;max-width:100%;font-size:15px;}.elementor-497 .elementor-element.elementor-element-b9a91cb{--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-076d384{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-497 .elementor-element.elementor-element-1d23c3a .elementor-heading-title{font-size:20px;line-height:30px;}.elementor-497 .elementor-element.elementor-element-63a347a{font-size:15px;}}@media(min-width:768px){.elementor-497 .elementor-element.elementor-element-e84de33{--width:50%;}.elementor-497 .elementor-element.elementor-element-3db27ad{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-497 .elementor-element.elementor-element-e84de33{--width:100%;}.elementor-497 .elementor-element.elementor-element-3db27ad{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-0e79304 *//* =============================================
   ROSENTHAL SERVICE REQUEST FORM
   FORM BUILDER: FORMINATOR
============================================= */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');


/* =============================================
   1. MAIN FORM CONTAINER
============================================= */

.forminator-ui.forminator-custom-form {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;

    padding: 48px;
    background: #ffffff;

    border: 1px solid #e6d7c6;
    border-radius: 24px;

    box-shadow: none;

    font-family: 'Source Sans 3', sans-serif;
    color: #071c44;

    box-sizing: border-box;
}

.forminator-ui *,
.forminator-ui *::before,
.forminator-ui *::after {
    box-sizing: border-box;
}


/* =============================================
   2. SECTION HEADINGS
============================================= */

.forminator-ui .rp-form-heading {
    display: flex;
    align-items: center;
    gap: 15px;

    width: 100%;
    margin: 0 0 26px;
    padding: 0;
}

.forminator-ui .rp-form-heading-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    min-width: 36px;

    border-radius: 50%;
    background: #003b71;

    font-family: 'Archivo', sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
}

.forminator-ui .rp-form-heading h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: 'Archivo', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: -0.4px;
    color: #003b71 !important;
}

.forminator-ui .rp-form-heading h2 small {
    margin-left: 8px;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;
    font-weight: 400;

    letter-spacing: 0;
    color: #526385;
}

/* Dividers between sections */

.forminator-ui .rp-form-heading-divider {
    border-top: 1px solid #e9dfd4;
    padding-top: 40px;
    margin-top: 22px;
}


/* =============================================
   3. GENERAL FORM HEADINGS
============================================= */

.forminator-ui h1,
.forminator-ui h2,
.forminator-ui h3,
.forminator-ui .forminator-title {
    font-family: 'Archivo', sans-serif;
    color: #003b71;
}

.forminator-ui .forminator-label {
    display: block;

    margin-bottom: 9px;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;

    color: #071c44;
}

/* Required asterisk */

.forminator-ui .forminator-required {
    color: #d45100 !important;
}


/* =============================================
   4. INPUT FIELDS
============================================= */

.forminator-ui .forminator-input,
.forminator-ui input.forminator-input {
    display: block;

    width: 100%;
    min-height: 54px;

    padding: 13px 16px !important;

    background: #ffffff !important;

    border: 1px solid #d8c7b5 !important;
    border-radius: 12px !important;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;
    font-weight: 400;

    color: #071c44 !important;

    box-shadow: none !important;

    transition: border-color 0.2s ease,
                box-shadow 0.2s ease;
}

.forminator-ui .forminator-input::placeholder {
    color: #8992a0;
    opacity: 1;
}

/* Focus */

.forminator-ui .forminator-input:focus {
    outline: none !important;
    border-color: #003b71 !important;

    box-shadow: 0 0 0 3px
        rgba(0, 59, 113, 0.08) !important;
}


/* =============================================
   5. TEXTAREA
============================================= */

.forminator-ui .forminator-textarea {
    width: 100%;
    min-height: 125px;

    padding: 16px !important;

    background: #ffffff !important;

    border: 1px solid #d8c7b5 !important;
    border-radius: 12px !important;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;
    line-height: 1.6;

    color: #071c44 !important;

    resize: vertical;

    box-shadow: none !important;
}

.forminator-ui .forminator-textarea:focus {
    outline: none !important;
    border-color: #003b71 !important;
    box-shadow: 0 0 0 3px
        rgba(0, 59, 113, 0.08) !important;
}


/* =============================================
   6. SELECT DROPDOWNS
============================================= */

.forminator-ui select {
    width: 100%;
    min-height: 54px;

    padding: 12px 16px;

    background: #ffffff;

    border: 1px solid #d8c7b5;
    border-radius: 12px;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;

    color: #071c44;
    cursor: pointer;
}

/* Forminator native select */

.forminator-ui .forminator-select,
.forminator-ui .forminator-select-container {
    width: 100%;
}

.forminator-ui .forminator-select
.forminator-select-dropdown,
.forminator-ui .forminator-select
.forminator-select-input {
    border-radius: 12px;
}


/* =============================================
   7. STANDARD RADIO BUTTONS
============================================= */

.forminator-ui label.forminator-radio {
    display: inline-flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 9px;

    width: auto;
    margin: 0 18px 10px 0;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;

    color: #071c44;

    text-align: left !important;

    cursor: pointer;
}

.forminator-ui .forminator-radio-label {
    display: inline !important;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 15px;
    font-weight: 400;

    color: #071c44;

    text-align: left !important;
}

.forminator-ui .forminator-radio-bullet {
    flex: 0 0 auto;
    margin: 0 !important;
}

.forminator-ui input[type="radio"] {
    accent-color: #d45100;
}


/* =============================================
   8. SERVICE CARDS
============================================= */

/*
   JavaScript adds the class rp-service-grid
   to the first service radio group.
*/

.forminator-ui .rp-service-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px !important;

    width: 100%;
}

/* Individual cards */

.forminator-ui .rp-service-grid
label.forminator-radio {
    display: flex !important;

    flex-direction: row !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 14px !important;

    width: 100% !important;
    min-width: 0;
    min-height: 94px;

    margin: 0 !important;

    padding: 19px 20px !important;

    background: #ffffff !important;

    border: 1px solid #d8c7b5 !important;
    border-radius: 16px !important;

    text-align: left !important;

    cursor: pointer;

    transition: background 0.2s ease,
                border-color 0.2s ease;
}

/* Radio icon */

.forminator-ui .rp-service-grid
.forminator-radio-bullet {
    flex-shrink: 0;

    margin-top: 3px !important;
}

/* Card title */

.forminator-ui .rp-service-grid
.forminator-radio-label {
    display: flex !important;

    flex-direction: column !important;

    align-items: flex-start !important;

    gap: 5px !important;

    flex: 1;
    min-width: 0;

    margin: 0 !important;

    font-family: 'Archivo', sans-serif;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;

    color: #071c55 !important;

    text-align: left !important;
}

/* Small descriptions */

.forminator-ui .rp-service-description {
    display: block !important;

    width: 100%;
    margin-top: 2px;

    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    color: #526385 !important;

    letter-spacing: 0;
}

/* Hover */

.forminator-ui .rp-service-grid
label.forminator-radio:hover {
    border-color: #f47745 !important;
}

/* Selected card */

.forminator-ui .rp-service-grid
label.forminator-radio:has(input:checked) {
    background: #fff3ed !important;

    border: 2px solid #f47745 !important;

    padding: 18px 19px !important;
}

/* Keyboard accessibility */

.forminator-ui .rp-service-grid
label.forminator-radio:has(input:focus-visible) {
    outline: 2px solid #003b71;
    outline-offset: 3px;
}


/* =============================================
   9. STANDARD CHECKBOXES
============================================= */

.forminator-ui label.forminator-checkbox {
    display: inline-flex !important;

    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 10px;

    margin: 0;

    font-family: 'Source Sans 3', sans-serif;
    font-size: 14px;

    color: #263959;
    text-align: left !important;
}

.forminator-ui .forminator-checkbox-label {
    font-size: 14px;
    font-weight: 400;

    color: #263959;
}

.forminator-ui input[type="checkbox"] {
    accent-color: #d45100;
}



/* =============================================
   10. MULTIPLE FILE UPLOAD - MATCH REFERENCE
   Keeps the real Forminator multiple-upload control.
============================================= */

/* The label and helper description become the content of the card. */
.forminator-ui .forminator-field:has(.forminator-multi-upload) {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100%;
    min-height: 94px;
    margin: 0 !important;
    padding: 20px 24px 20px 66px !important;
    background: #faf7f2 !important;
    border: 1px dashed #d8c7b5 !important;
    border-radius: 13px !important;
    transition: background-color .2s ease, border-color .2s ease;
}

/* Single camera icon at the left. */
.forminator-ui .forminator-field:has(.forminator-multi-upload)::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    background-color: #003b71;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    pointer-events: none;
}

.forminator-ui .forminator-field:has(.forminator-multi-upload) > .forminator-label,
.forminator-ui .forminator-field:has(.forminator-multi-upload) > label.forminator-label {
    display: block !important;
    position: relative;
    z-index: 1;
    margin: 0 0 3px !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #071c44 !important;
    pointer-events: none;
}

.forminator-ui .forminator-field:has(.forminator-multi-upload) > .forminator-description {
    display: block !important;
    position: relative;
    z-index: 1;
    margin: 0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #526385 !important;
    pointer-events: none;
}

/* Transparent drop zone covers the card and remains the upload target.
   Do not use display:none: that would disable file selection. */
.forminator-ui .forminator-field:has(.forminator-multi-upload) > .forminator-multi-upload {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.forminator-ui .forminator-field:has(.forminator-multi-upload):hover {
    background: #fff3eb !important;
    border-color: #f47745 !important;
}

.forminator-ui .forminator-field:has(.forminator-multi-upload):focus-within {
    outline: 2px solid #003b71;
    outline-offset: 3px;
}

/* Selected-file lists must stay visible and interactive. */
.forminator-ui .forminator-uploaded-files,
.forminator-ui .forminator-multi-upload-files {
    position: relative;
    z-index: 3;
}

@media (max-width: 767px) {
    .forminator-ui .forminator-field:has(.forminator-multi-upload) {
        min-height: 86px;
        padding: 18px 16px 18px 54px !important;
    }
    .forminator-ui .forminator-field:has(.forminator-multi-upload)::before {
        left: 16px;
        width: 23px;
        height: 23px;
    }
    .forminator-ui .forminator-field:has(.forminator-multi-upload) > .forminator-label {
        font-size: 14px !important;
    }
    .forminator-ui .forminator-field:has(.forminator-multi-upload) > .forminator-description {
        font-size: 13px !important;
    }
}


/* =============================================
   11. FORM SPACING
============================================= */

.forminator-ui .forminator-field {
    margin-bottom: 0;
}

.forminator-ui .forminator-row {
    margin-bottom: 22px;
}

/* Prevent HTML headings from having extra space */

.forminator-ui .forminator-field-html {
    margin: 0;
    padding: 0;
}


/* =============================================
   12. SUBMIT BUTTON
============================================= */

.forminator-ui .forminator-button-submit {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: auto !important;
    min-width: 212px;
    min-height: 66px;

    padding: 18px 35px !important;

    background: #f47745 !important;

    border: none !important;
    border-radius: 50px !important;

    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    font-weight: 700;

    color: #071c44 !important;

    box-shadow: none !important;

    cursor: pointer;

    transition: background 0.25s ease,
                transform 0.25s ease;
}

.forminator-ui .forminator-button-submit:hover {
    background: #e76530 !important;

    color: #071c44 !important;

    transform: translateY(-2px);
}


/* =============================================
   13. TABLET
============================================= */

@media (max-width: 1024px) {

    .forminator-ui.forminator-custom-form {
        padding: 36px 30px;
    }

    .forminator-ui .rp-form-heading h2 {
        font-size: 22px !important;
    }

    .forminator-ui .rp-service-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =============================================
   14. MOBILE
============================================= */

@media (max-width: 767px) {

    .forminator-ui.forminator-custom-form {
        padding: 25px 20px;

        border-radius: 20px;
    }

    /* Headings */

    .forminator-ui .rp-form-heading {
        gap: 12px;
        margin-bottom: 22px;
    }

    .forminator-ui .rp-form-heading-number {
        width: 34px;
        height: 34px;
        min-width: 34px;

        font-size: 16px;
    }

    .forminator-ui .rp-form-heading h2 {
        font-size: 20px !important;
    }

    .forminator-ui .rp-form-heading h2 small {
        font-size: 14px;
    }

    .forminator-ui .rp-form-heading-divider {
        margin-top: 15px;
        padding-top: 30px;
    }

    /* Service cards */

    .forminator-ui .rp-service-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .forminator-ui .rp-service-grid
    label.forminator-radio {
        min-height: 80px;

        padding: 16px !important;
    }

    .forminator-ui .rp-service-grid
    label.forminator-radio:has(input:checked) {
        padding: 15px !important;
    }

    /* Inputs */

    .forminator-ui .forminator-input,
    .forminator-ui select {
        min-height: 52px;
        font-size: 15px;
    }

    .forminator-ui .forminator-textarea {
        min-height: 140px;
    }

    /* Button */

    .forminator-ui .forminator-button-submit {
        width: 100% !important;
        min-width: 0;
    }
}


/* ==========================================
   FIX SECTION HEADING ALIGNMENT
========================================== */

/* Remove extra spacing from Forminator HTML fields */
.forminator-ui .forminator-field-html,
.forminator-ui .forminator-field-html .forminator-field,
.forminator-ui .forminator-field-html .forminator-field-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Align heading with the form content */
.forminator-ui .rp-form-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 15px !important;

    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Number circles */
.forminator-ui .rp-form-heading-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #003b71 !important;
    border-radius: 50% !important;

    font-family: 'Archivo', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

/* Heading text */
.forminator-ui .rp-form-heading h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: 'Archivo', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #003b71 !important;
}

/* ==========================================
   SUBMIT BUTTON - MATCH MOCKUP
========================================== */

.forminator-ui .forminator-button-submit,
.forminator-ui button.forminator-button-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 212px !important;
    min-height: 67px !important;

    padding: 20px 36px !important;
    margin: 0 !important;

    background: #f47745 !important;
    background-image: none !important;

    border: none !important;
    border-radius: 100px !important;

    font-family: 'Archivo', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;

    color: #071c44 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;

    box-shadow: none !important;
    cursor: pointer;

    transition: background-color 0.25s ease,
                transform 0.25s ease !important;
}

/* Submit button hover */
.forminator-ui .forminator-button-submit:hover,
.forminator-ui button.forminator-button-submit:hover {
    background: #e86632 !important;
    color: #071c44 !important;
    box-shadow: none !important;
    transform: translateY(-2px);
}

/* Focus accessibility */
.forminator-ui .forminator-button-submit:focus-visible {
    outline: 3px solid #003b71 !important;
    outline-offset: 3px;
}

/* Ensure Elementor/Forminator doesn't center the button */
.forminator-ui .forminator-row-last,
.forminator-ui .forminator-row-last .forminator-col {
    text-align: left !important;
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .forminator-ui .rp-form-heading {
        gap: 12px !important;
    }

    .forminator-ui .rp-form-heading h2 {
        font-size: 20px !important;
    }

    .forminator-ui .forminator-button-submit {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 60px !important;
        padding: 17px 25px !important;
    }
}

/* =============================================
   15. REQUIRED FIELD INDICATORS
   Adds a visible orange asterisk only to required
   fields that do not already display one.
   Note: Asterisk styling does NOT make a field
   required. Set Required in Forminator builder.
============================================= */

/* Native Forminator required asterisks */
.forminator-ui.forminator-custom-form .forminator-label .forminator-required,
.forminator-ui.forminator-custom-form .forminator-required {
    display: inline !important;
    color: #d45100 !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    margin-left: 3px;
}

/* Fallback for required inputs, dropdowns, radio groups,
   checkboxes and file uploads with native required markup.
   Do not add another star if Forminator already rendered one. */
.forminator-ui.forminator-custom-form .forminator-field:has(
    input[required],
    textarea[required],
    select[required],
    [aria-required="true"]
) > .forminator-label:not(:has(.forminator-required))::after,
.forminator-ui.forminator-custom-form .forminator-field:has(
    input[required],
    textarea[required],
    select[required],
    [aria-required="true"]
) > label.forminator-label:not(:has(.forminator-required))::after {
    content: " *";
    display: inline;
    color: #d45100 !important;
    font-size: inherit;
    font-weight: 700;
}

/* Preserve the label's existing presentation on the custom upload card. */
.forminator-ui.forminator-custom-form .forminator-field:has(.forminator-multi-upload)
> .forminator-label::after {
    color: #d45100 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-076d384 */.schedule-form-container{
    
    box-shadow: 0 12px 32px rgba(0, 59, 113, .07);
}/* End custom CSS */