.elementor-167 .elementor-element.elementor-element-7eeb292e{--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;--justify-content:space-between;--align-items:flex-start;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:nowrap;--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-167 .elementor-element.elementor-element-256dc22{--display:flex;--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:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-167 .elementor-element.elementor-element-584b0da{width:var( --container-widget-width, 820px );max-width:820px;margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 80px) 0px;padding:0px 0px 0px 0px;--container-widget-width:820px;--container-widget-flex-grow:0;}.elementor-167 .elementor-element.elementor-element-511ee49{--display:flex;--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;--border-radius:24px 24px 24px 24px;box-shadow:0px 20px 50px 0px rgba(14.999999999999995, 23.000000000000007, 41.99999999999999, 0.06);}.elementor-167 .elementor-element.elementor-element-511ee49:not(.elementor-motion-effects-element-type-background), .elementor-167 .elementor-element.elementor-element-511ee49 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d6cea4e );}.elementor-167 .elementor-element.elementor-element-b51d2b6{--display:flex;}@media(max-width:1024px){.elementor-167 .elementor-element.elementor-element-7eeb292e{--flex-wrap:wrap;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}}@media(min-width:768px){.elementor-167 .elementor-element.elementor-element-7eeb292e{--content-width:1280px;}.elementor-167 .elementor-element.elementor-element-256dc22{--width:74%;}.elementor-167 .elementor-element.elementor-element-511ee49{--width:26%;}}@media(max-width:767px){.elementor-167 .elementor-element.elementor-element-7eeb292e{--min-height:640px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:36px;--padding-bottom:28px;--padding-left:20px;--padding-right:20px;}.elementor-167 .elementor-element.elementor-element-584b0da{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS */@media (max-width: 767px) {


    #radio-2 .addon-description,
    #radio-2 .forminator-radio-label {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .m365-hero {
        padding-bottom: 24px !important;
        margin-bottom: 0 !important;
    }
}

/* =========================================
   M365 RIGHT SUMMARY CARD
========================================= */

.m365-summary-card {
    position: sticky;
    top: 28px;
    align-self: flex-start;
    overflow: visible !important;
}

.m365-summary-card > .e-con-inner {
    overflow: visible !important;
}

.m365-summary {
    width: 100%;
    padding: 30px;
    border: 1px solid #E2E8F0;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 18px 48px rgba(11, 18, 32, 0.07);
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    color: #0B1220;
}

/* Price block */
.m365-summary-price-block {
    padding-bottom: 24px;
    border-bottom: 1px solid #E2E8F0;
}

.m365-summary-live-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;
}

#m365-live-total {
    color: #0B1220;
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -2px;
}

.m365-summary-period {
    color: #0B1220;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
}

.m365-summary-price-block p {
    margin: 10px 0 0;
    color: #64748B;
    font-size: 14px;
    line-height: 1.5;
}

/* Selected sections */
.m365-summary-group {
    padding: 22px 0;
    border-bottom: 1px solid #E2E8F0;
}

.m365-summary-group-title {
    margin-bottom: 14px;
    color: #64748B;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.m365-summary-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.m365-summary-row:last-child {
    margin-bottom: 0;
}

.m365-summary-item {
    min-width: 0;
}

.m365-summary-item strong {
    display: block;
    color: #0B1220;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.m365-summary-item span {
    display: block;
    margin-top: 4px;
    color: #64748B;
    font-size: 13px;
    line-height: 1.4;
}

.m365-summary-row-price {
    flex-shrink: 0;
    color: #0B1220;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

/* Hidden states */
.m365-summary-hidden {
    display: none !important;
}

/* Empty message */
.m365-summary-empty {
    margin: 22px 0 0;
    color: #64748B;
    font-size: 14px;
    line-height: 1.5;
}

/* Footer */
.m365-summary-footer {
    padding-top: 24px;
}

.m365-summary-footer > p {
    margin: 0 0 18px;
    color: #64748B;
    font-size: 13px;
    line-height: 1.55;
}

.m365-summary-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 17px 19px;
    border-radius: 12px;
    background: #071126;
    color: #FFFFFF !important;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.m365-summary-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 25px rgba(7, 17, 38, 0.17);
}

.m365-summary-cta.is-disabled {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
    box-shadow: none;
}

.m365-summary-trust {
    display: grid;
    gap: 9px;
    margin-top: 18px;
}

.m365-summary-trust span {
    color: #475569;
    font-size: 12px;
    line-height: 1.4;
}

/* Mobile */
@media (max-width: 767px) {
    .m365-summary-card {
        position: static;
        top: auto;
        width: 100%;
        margin-top: 24px;
    }

    .m365-summary {
        padding: 24px 20px;
        border-radius: 18px;
    }

    #m365-live-total {
        font-size: 39px;
        letter-spacing: -1.5px;
    }

    .m365-summary-period {
        font-size: 16px;
    }
}

/* Microsoft 365 plan cards — 2-column desktop grid */
#radio-1 > .forminator-field {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

/* Each plan card fills its grid column */
#radio-1 > .forminator-field > label.forminator-radio {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 118px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Mobile: one column */
@media (max-width: 767px) {
    #radio-1 > .forminator-field {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    #radio-1 > .forminator-field > label.forminator-radio {
        min-height: auto !important;
    }
}

#radio-1 > .forminator-field > .forminator-label,
#radio-1 > .forminator-field > .forminator-description {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* =========================================
   IT SUPPORT — 2 COLUMN DESKTOP LAYOUT
========================================= */

/* Target the field containing both support options */
#radio-2 > .forminator-field {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

/* Keep heading and description full width */
#radio-2 > .forminator-field > .forminator-label,
#radio-2 > .forminator-field > .forminator-description {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* Each support card fills one column */
#radio-2 > .forminator-field > label.forminator-radio {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 128px !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
}

/* Prevent text from being squeezed by checkmark */
#radio-2 .forminator-radio-label,
#radio-2 .support-card-content {
    width: 100% !important;
    min-width: 0 !important;
}

/* Mobile: stacked cards */
@media (max-width: 767px) {
    #radio-2 > .forminator-field {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    #radio-2 > .forminator-field > label.forminator-radio {
        min-height: auto !important;
        padding: 16px !important;
    }
}

/* Remove the old group/container appearance around IT Support */
#radio-2,
#radio-2 .forminator-field,
#radio-2 .forminator-row,
#radio-2 .forminator-grouped-fields,
#radio-2 .forminator-field-group {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Remove left indentation around the support section */
.forminator-row:has(#radio-2) {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
}

/* Remove grey repeater wrapper around IT Support */
.forminator-all-group-copies.forminator-repeater-field {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Remove any pseudo-element creating the left line */
.forminator-all-group-copies.forminator-repeater-field::before,
.forminator-all-group-copies.forminator-repeater-field::after {
    display: none !important;
    content: none !important;
}

/* Remove extra spacing from the inner grouped field */
.forminator-all-group-copies.forminator-repeater-field
.forminator-grouped-fields {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* IT Support section spacing */
.forminator-row:has(#radio-2) {
    margin-top: 28px !important;
}

/* Equal and slightly more compact support cards */
#radio-2 > .forminator-field > label.forminator-radio {
    min-height: 128px !important;
    padding: 18px 20px !important;
}

/* Better content layout inside support cards */
#radio-2 .support-top {
    align-items: flex-start !important;
    margin-bottom: 8px !important;
}

#radio-2 .support-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
}

#radio-2 .support-price {
    font-size: 12px !important;
    padding: 4px 8px !important;
}

#radio-2 .support-description {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Remove side gutters around the IT Support cards */
#group-1,
#group-1 > .forminator-field,
#group-1 .forminator-all-group-copies,
#group-1 .forminator-repeater-field,
#group-1 .forminator-grouped-fields,
#group-1 .forminator-row,
.forminator-row:has(#radio-2) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}



/* Remove the 16px side padding around IT Support options */
body #forminator-module-169 #radio-2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Contact section spacing */
.m365-contact-intro {
    margin-top: 38px !important;
    margin-bottom: 26px !important;
}

.m365-contact-intro h2 {
    margin: 0 0 8px !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
}

.m365-contact-intro p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* =========================================
   COMPACT QUANTITY INPUTS
========================================= */

/* Keep field labels and descriptions full width */
#number-1,
#number-2,
#number-3,
#number-4,
#number-5,
#number-1 .forminator-field,
#number-2 .forminator-field,
#number-3 .forminator-field,
#number-4 .forminator-field,
#number-5 .forminator-field {
    width: 100% !important;
    max-width: 100% !important;
}

/* Make only the actual number input compact */
input[id^="forminator-field-number-1"],
input[id^="forminator-field-number-2"],
input[id^="forminator-field-number-3"],
input[id^="forminator-field-number-4"],
input[id^="forminator-field-number-5"] {
    display: block !important;
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    height: 44px !important;
    padding: 10px 12px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 767px) {
    input[id^="forminator-field-number-1"],
    input[id^="forminator-field-number-2"],
    input[id^="forminator-field-number-3"],
    input[id^="forminator-field-number-4"],
    input[id^="forminator-field-number-5"] {
        width: 130px !important;
        min-width: 130px !important;
        max-width: 130px !important;
    }
}


/* Add-on quantity row spacing */
.forminator-row:has(#number-2),
.forminator-row:has(#number-3),
.forminator-row:has(#number-4) {
    margin-top: 18px !important;
    margin-bottom: 26px !important;
}

/* Three-column quantity labels */
#number-2 .forminator-label,
#number-3 .forminator-label,
#number-4 .forminator-label {
    min-height: 38px !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

/* Mobile: quantities return to full rows */
@media (max-width: 767px) {
    .forminator-row:has(#number-2),
    .forminator-row:has(#number-3),
    .forminator-row:has(#number-4) {
        margin-bottom: 18px !important;
    }

    #number-2 .forminator-label,
    #number-3 .forminator-label,
    #number-4 .forminator-label {
        min-height: 0 !important;
    }
}

#number-2 .forminator-input,
#number-3 .forminator-input,
#number-4 .forminator-input {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

@media (max-width: 767px) {
    .forminator-ui .forminator-label {
        font-size: 14px !important;
    }

    .forminator-ui .forminator-description {
        font-size: 13px !important;
    }

    #number-2 .forminator-label,
    #number-3 .forminator-label,
    #number-4 .forminator-label {
        min-height: 0 !important;
        font-size: 14px !important;
    }
}

/* Keep all three quantity columns reserved */
.forminator-row:has(#number-2),
.forminator-row:has(#number-3),
.forminator-row:has(#number-4) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: start !important;
}

/* Hide inactive conditional fields without collapsing the column */
#number-2[style*="display: none"],
#number-3[style*="display: none"],
#number-4[style*="display: none"] {
    display: block !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Keep each field in its assigned column */
#number-2 {
    grid-column: 1 !important;
}

#number-3 {
    grid-column: 2 !important;
}

#number-4 {
    grid-column: 3 !important;
}

/* Mobile should stack normally */
@media (max-width: 767px) {
    .forminator-row:has(#number-2),
    .forminator-row:has(#number-3),
    .forminator-row:has(#number-4) {
        grid-template-columns: 1fr !important;
    }

    #number-2,
    #number-3,
    #number-4 {
        grid-column: auto !important;
    }

    #number-2[style*="display: none"],
    #number-3[style*="display: none"],
    #number-4[style*="display: none"] {
        display: none !important;
        visibility: visible !important;
    }
}

/* Tighten contact section spacing */
.m365-contact-intro {
    margin-top: 36px !important;
    margin-bottom: 18px !important;
}

/* Remove excessive spacing before the first contact row */
.forminator-row:has(.m365-contact-intro) {
    margin-bottom: 18px !important;
}

.forminator-row:has(.m365-contact-intro)
+ .forminator-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove fixed/minimum height from the contact intro field */
.forminator-field:has(.m365-contact-intro),
.forminator-row:has(.m365-contact-intro) {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
}

#forminator-module-169 .forminator-row:has(#calculation-2) {
    display: none !important;
}

.m365-contact-intro h2 {
    margin: 0 0 8px !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.6px !important;
}

.m365-contact-intro p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* =========================================
   CONTACT SECTION SPACING
========================================= */

/* Contact intro */
.forminator-row:has(.m365-contact-intro) {
    margin-bottom: 18px !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
}

.forminator-field:has(.m365-contact-intro) {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.m365-contact-intro {
    margin: 0 !important;
    padding: 0 !important;
}

.m365-contact-intro h2 {
    margin: 0 0 8px !important;
}

.m365-contact-intro p {
    margin: 0 !important;
}

/* First contact row directly below intro */
.forminator-row:has(.m365-contact-intro) + .forminator-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Keep spacing between contact rows consistent */
#forminator-module-169 .forminator-row:has(#name-1),
#forminator-module-169 .forminator-row:has(#email-1),
#forminator-module-169 .forminator-row:has(#text-1),
#forminator-module-169 .forminator-row:has(#phone-1),
#forminator-module-169 .forminator-row:has(#textarea-1) {
    margin-bottom: 22px !important;
}

/* =========================================
   SUBMIT FOR REVIEW BUTTON
========================================= */

#forminator-module-169 .forminator-button-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 190px !important;
    min-height: 52px !important;
    padding: 16px 24px !important;
    border: 1px solid #071126 !important;
    border-radius: 12px !important;
    background: #071126 !important;
    color: #FFFFFF !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 20px rgba(7, 17, 38, 0.14) !important;
    cursor: pointer !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease !important;
}

#forminator-module-169 .forminator-button-submit:hover {
    background: #111C35 !important;
    border-color: #111C35 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 26px rgba(7, 17, 38, 0.20) !important;
}

#forminator-module-169 .forminator-row-last {
    margin-top: 28px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    #forminator-module-169 .forminator-button-submit {
        width: 100% !important;
    }
}

/* =========================================
   FINAL VERTICAL SPACING CLEANUP
========================================= */

/* Tighten all contact rows */
.forminator-row:has(.m365-contact-intro),
.forminator-row:has(#name-1),
.forminator-row:has(#email-1),
.forminator-row:has(#text-1),
.forminator-row:has(#phone-1),
.forminator-row:has(#textarea-1),
.forminator-row:has(.forminator-button-submit) {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Reduce gap before contact section */
.forminator-row:has(#radio-2) {
    margin-bottom: 22px !important;
}

/* Contact intro spacing */
.m365-contact-intro {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

/* Remove extra spacing below textarea */
.forminator-row:has(#textarea-1) {
    margin-bottom: 18px !important;
}

/* Submit button closer to textarea */
#forminator-module-169 .forminator-row-last {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}
#forminator-module-169
/* Remove excess internal spacing from Forminator groups */
#group-1 .forminator-all-group-copies,
#group-2 .forminator-all-group-copies {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Keep a controlled gap below each group heading */
#group-1 > .forminator-field,
#group-2 > .forminator-field {
    margin: 0 !important;
    padding: 0 !important;
}

/* IT Support group spacing */
#group-1 .forminator-grouped-fields {
    margin-top: 18px !important;
}

/* Contact details group spacing */
#group-2 .forminator-grouped-fields {
    margin-top: 16px !important;
}

/* IT SUPPORT → CONTACT SPACING */
#forminator-module-169 .forminator-row:has(#radio-2) {
    margin-bottom: 18px !important;
}

#forminator-module-169 .forminator-row:has(#number-5) {
    margin-bottom: 24px !important;
}

/* CONTACT INTRO */
#forminator-module-169 .forminator-row:has(.m365-contact-intro) {
    margin-top: 4px !important;
    margin-bottom: 22px !important;
}

/* CONTACT FIELD ROWS */
#forminator-module-169 .forminator-row:has(#name-1),
#forminator-module-169 .forminator-row:has(#text-1) {
    margin-bottom: 18px !important;
}

/* MESSAGE FIELD */
#forminator-module-169 .forminator-row:has(#textarea-1) {
    margin-top: 4px !important;
    margin-bottom: 26px !important;
}

/* SUBMIT */
#forminator-module-169 .forminator-row:has(.forminator-button-submit) {
    margin-top: 0 !important;
}

/* FINAL CONTACT SECTION RHYTHM */

#forminator-module-169 .forminator-row:has(.m365-contact-intro) {
    margin-top: -4px !important;
    margin-bottom: 18px !important;
}

#forminator-module-169 .forminator-row:has(#name-1),
#forminator-module-169 .forminator-row:has(#text-1) {
    margin-bottom: 14px !important;
}

#forminator-module-169 #textarea-1 textarea {
    min-height: 118px !important;
    height: 118px !important;
}

#forminator-module-169 .forminator-row:has(#textarea-1) {
    margin-bottom: 18px !important;
}

#forminator-module-169 .forminator-row:has(.forminator-button-submit) {
    margin-top: 0 !important;
}

/* FORCE FINAL FORM SPACING */

#forminator-module-169 #group-2 .forminator-grouped-fields {
    margin-top: 8px !important;
}

#forminator-module-169 .forminator-row:has(#textarea-1) {
    margin-bottom: 8px !important;
}

#forminator-module-169 .forminator-row-last {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#forminator-module-169 .forminator-button-submit {
    margin-top: 0 !important;
}/* End custom CSS */