.elementor-388 .elementor-element.elementor-element-c35cd7d:not(.elementor-motion-effects-element-type-background), .elementor-388 .elementor-element.elementor-element-c35cd7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #D9E3FC 100%);}.elementor-388 .elementor-element.elementor-element-c35cd7d{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:150px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-c35cd7d, .elementor-388 .elementor-element.elementor-element-c35cd7d > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-c35cd7d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-388 .elementor-element.elementor-element-559ce18 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-388 .elementor-element.elementor-element-8ca7f13{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-388 .elementor-element.elementor-element-760e5d0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:50px;font-weight:600;line-height:55px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-388 .elementor-element.elementor-element-1a6dfd2{font-family:"Inter", Sans-serif;font-size:24px;font-weight:400;line-height:1.6em;color:#000000;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-388 .elementor-element.elementor-element-760e5d0 .elementor-heading-title{font-size:36px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-388 .elementor-element.elementor-element-1a6dfd2{font-size:20px;line-height:26px;}}@media(max-width:767px){.elementor-388 .elementor-element.elementor-element-8ca7f13{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-388 .elementor-element.elementor-element-760e5d0 .elementor-heading-title{font-size:28px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-388 .elementor-element.elementor-element-1a6dfd2{font-size:18px;line-height:22px;}.elementor-388 .elementor-element.elementor-element-2ddfd3e{padding:0px 0px 0px 0px;}}/* Start custom CSS *//* Base Styles */
* {
    box-sizing: border-box;
}

/* Layout */
.quote-container {
    color: #1e293b;
    min-height: 80vh;
}

.quote-wrapper {
    max-width: 72rem;
    margin: 0 auto;
    padding: .5rem;
}

.quote-main {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .quote-main {
        grid-template-columns: 1fr 1fr;
    }
}

/* Form Section */
.quote-section {
    background-color: #ffffff;
    padding: .5rem;
    border-radius: 0.5rem;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

/* Service Type Selector */
.service-body.elementor-page-388 {
    margin-bottom: 4rem;
}

.service-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.service-select {
    display: block;
    width: 100%;
    border-radius: 0.25rem;
    border: 1px solid #cbd5e1;
    padding: .8rem .3rem;
    font-size: 18px;
}

/* Navigation */
.step-nav {
    display: flex;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.step-indicator.active {
    background-color: #1e293b;
    color: #ffffff;
}

/* Form validation */
.form-input.border-red-500, .form-textarea.border-red-500, .form-select.border-red-500 {
    border-color: #ef4444;
}

.step-indicator.active {
    background-color: #1e293b;
    color: #ffffff;
}

/* Form Steps */
.step {
    display: none;
}

.step.active {
    display: block;
}

/* Form Elements */
.form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.form-grid-single {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.form-label {
    display: block;
}

.form-input, .form-textarea, .form-select {
    margin-top: 0.25rem;
    display: block;
    width: 100%;
    border-radius: 0.25rem;
    border: 1px solid #cbd5e1;
    padding: .5rem;
}

.form-textarea {
    resize: vertical;
}

/* Typography */
.text-sm {
    font-size: 0.875rem;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xs {
    font-size: 0.75rem;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

/* Spacing */
.mb-4 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.p-6 { padding: 1.5rem; }
.p-2 { padding: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }

/* Products Section */
.products-container .space-y-3 > * + * {
    margin-top: 0.75rem;
}

.product-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    align-items: end;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    padding: 0.5rem;
}

@media (min-width: 768px) {
    .product-row {
        grid-template-columns: 2fr 1fr 1fr 1fr;
    }
}

.product-row .md-col-span-2 {
    grid-column: span 2;
}

.product-row .flex {
    display: flex;
    gap: 0.5rem;
}

/* Buttons */
.btn {
    border-radius: 0.25rem;
    border: 1px solid #cbd5e1;
    padding: 0.5rem 0.75rem;
    background-color: transparent;
    cursor: pointer;
}

.btn-primary {
    background-color: #1e293b;
    color: #ffffff;
    border-color: #1e293b;
}

.btn-success {
    background-color: #059669;
    color: #ffffff;
    border-color: #059669;
}

.btn-success.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Navigation */
.form-nav {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.form-nav-section {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Preview Section */
.preview-section {
    background-color: #ffffff;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.preview-scroll {
    max-height: 60vh;
    overflow: auto;
}

.preview-item {
    margin-bottom: 0.75rem;
}

.preview-text {
    font-size: 0.875rem;
    color: #374151;
}

.preview-text-secondary {
    font-size: 0.875rem;
    color: #6b7280;
}

/* Compliance Note */
.compliance-note {
    margin-top: 1rem;
    font-size: 0.75rem;
    color: #6b7280;
}

.compliance-note ul {
    list-style-type: disc;
    margin-left: 1rem;
    margin-top: 0.5rem;
}

.compliance-note li {
    margin-bottom: 0.25rem;
}

/* Footer */
.quote-footer {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    color: #6b7280;
}

.quote-footer a {
    font-weight: 800;
    color: orange;
}

/* Checkboxes */
.checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.checkbox-input {
    height: 1rem;
    width: 1rem;
}

/* Lists */
.list-decimal {
    list-style-type: decimal;
}

.ml-5 {
    margin-left: 1.25rem;
}

.modal-content {
    background-color: #ffffff;
    border-radius: 0.25rem;
    padding: 1.5rem;
    max-width: 28rem;
    width: 100%;
}

.modal-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.modal-text {
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.75rem;
}

.modal-details {
    margin-bottom: 1rem;
}

.modal-details summary {
    cursor: pointer;
    margin-bottom: 0.5rem;
}

.modal-pre {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    background-color: #f8fafc;
    padding: 0.75rem;
    border-radius: 0.25rem;
    overflow: auto;
}

.modal-actions {
    text-align: right;
}

.modal-close {
    padding: 0.75rem 1rem;
    background-color: #1e293b;
    color: #ffffff;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
}

/* Hide main content initially */
.main-hidden {
    display: none;
}

/* Responsive adjustments for Elementor */
@media (max-width: 767px) {
    .quote-wrapper {
        padding: 0;
    }

    .quote-main {
        gap: 1rem;
    }

    .quote-section, .preview-section {
        padding: .5rem;
    }

    .form-nav {
        flex-direction: column;
        gap: 1rem;
    }

    .form-nav-section {
        width: 100%;
        justify-content: center;
    }
}/* End custom CSS */