
        body {
        background: #f9f9f9;
        }

        .main-wrapper {
        max-width: 900px;
        margin: 2rem auto;
        background: white;
        padding: 2rem;
        border-radius: 8px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .legalsnap-stepper {
            display: flex;
            margin-bottom: 28px;
            gap: 18px;
            justify-content: center;
            }
            .step {
            display: flex;
            align-items: center;
            opacity: 0.6;
            font-weight: 500;
            font-size: 1.1em;
            transition: opacity 0.3s, color 0.3s;
            }
            .step.active,
            .step.completed {
            opacity: 1;
            color: #007bff;
            }
            .step.completed .step-num {
            background: #28a745;
            color: #fff;
            }
            .step-num {
            display: inline-block;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: #ddd;
            color: #333;
            text-align: center;
            line-height: 28px;
            font-weight: bold;
            margin-right: 7px;
            }
            .step.active .step-num {
            background: #007bff;
            color: #fff;
            }

             .legalsnap-step-section {
            position: relative;
            margin-bottom: 32px;
            padding-left: 48px;
        }

        .legalsnap-step-section .step-num {
                position: absolute;
                left: 0;
                top: -4px;
                /* transform: translateY(-50%); */
                background: #EBEBEB;
                color: #333;
                width: 32px;
                height: 32px;
                border-radius: 50%;
                text-align: center;
                font-weight: normal;
                font-size: .9em;
                line-height: 32px;
                display: inline-block;
        }

        .legalsnap-step-section h2 {
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.32em;
            font-weight: 600;
            color: #1a2a6c;
        }
        .legalsnap-step-section.active-step .step-num {
            background: #007bff;
            color: white;
        }
        .legalsnap-step-section.active-step h2 {
            color: #007bff;
        }

        .legalsnap-step-section.completed-step .step-num {
            background: #28a745;
            color: white;
        }
        .legalsnap-step-section.completed-step h2 {
            color: #007bff;
        }


        @media (max-width: 768px) {
            .step{
                flex-direction: column;
            }
        }
        .main-heading {
        font-family: "Libre Baskerville", sens-serif;
        font-size: 30px;
        font-weight: 700;
        line-height: 40px;
        color: var(--e-global-color-primary);
        }

        .section-header {
        background: #004175;
        color: white;
        padding: 1rem 2rem;
        margin-bottom: 2rem;
        border-radius: 6px;
        }

        .section-header h1 {
        font-size: 1.5rem;
        margin: 0;
        }

        section {
        margin-bottom: 2rem;
        position: relative;
        }

        section h2 {
        font-size: 1.3rem;
        margin-bottom: 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #eee;
        }

        .upload-box {
        border: 2px dashed #ccc;
        padding: 2rem;
        text-align: center;
        cursor: pointer;
        border-radius: 6px;
        transition: all 0.3s ease;
        }

        .upload-box:hover, .upload-box.highlight {
        border-color: #004175;
        background-color: rgba(0, 65, 117, 0.05);
        }

        .preview {
        max-width: 100%;
        margin-top: 1rem;
        border-radius: 6px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        #previewImage{
            height: 65px;   
        }

        section textarea {
        width: 100%;
        height: 150px;
        padding: 1rem;
        border: 1px solid #ccc;
        border-radius: 6px;
        resize: vertical;
        margin-bottom: 1rem;
        font-family: inherit;
        transition: border-color 0.3s ease;
        }

        section textarea:focus {
        outline: none;
        border-color: #004175;
        }

        section textarea.error {
        border-color: #ff4d4d;
        }

        section button {
        background: #004175;
        color: white;
        border: none;
        padding: 0.75rem 1.5rem;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
        border-radius: 6px;
        cursor: pointer;
        transition: background-color 0.3s ease, transform 0.2s ease;
        }

        section button:hover {
        background: #00335e;
        transform: translateY(-2px);
        }

        section button:disabled {
        background: #CC3366;
        cursor: not-allowed;
        transform: none;
        }

        .response-options {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-bottom: 1rem;
        }

        .response-options button {
        background: #e0e0e0;
        color: #333;
        flex: 1 1 200px;
        margin: 0.25rem;
        }

        .response-options button:hover {
        background: #d0d0d0;
        }

        .response-options button.selected {
        background: #004175;
        color: white;
        }

        /* Specific button styles */
        .response-options button:nth-of-type(1) {
        border-left: 4px solid #27ae60;
        }

        .response-options button:nth-of-type(2) {
        border-left: 4px solid #f39c12;
        }

        .response-options button:nth-of-type(3) {
        border-left: 4px solid #3498db;
        }

        .response-options button:nth-of-type(4) {
        border-left: 4px solid #e74c3c;
        }

        /* Final action buttons */
        #copy-button {
        background-color: #34495e;
        }
        #copy-button:hover {
        background-color: #2c3e50;
        }

        #email-button {
        background-color: #004175;
        }
        #email-button:hover {
        background-color: #00335e;
        }

        #reset-button {
        background-color: #FF6D4D;
        }
         #download-button {
        background-color: #11C6C6;
        }
        #reset-button:hover {
        background-color: #687576;
        }

        #upload-status {
        margin-top: 10px;
        padding: 5px 0;
        }
        .suggested-subheading{
            font-weight: bold;
            font-size: 22px;
            padding-bottom: 10px;
            color: #28a745;
        }
        .markdown-content {
            overflow-y: auto !important;
            scroll-behavior: auto !important; /* Disable smooth scrolling within the div */
            display: block;
            position: relative;
        }

        /* Apply initial scroll on render */
        #analysisBox, #finalResponseBox {
            transform: translateZ(0); /* Force GPU rendering to help with scroll issues */
            will-change: scroll-position; /* Hint to browser about scroll intent */
        }

        /* Add specificity to overcome any other styles */
        html body .markdown-content {
            overflow-anchor: none; /* Disable scroll anchoring that might cause issues */
        }

        #upload-status .success {
        color: #27ae60;
        padding: 0.5rem;
        background: rgba(39, 174, 96, 0.1);
        border-radius: 4px;
        }

        #upload-status .error {
        color: #e74c3c;
        padding: 0.5rem;
        background: rgba(231, 76, 60, 0.1);
        border-radius: 4px;
        }

        /* Animation for loading states */
        @keyframes pulse {
        0% { opacity: 1; }
        50% { opacity: 0.7; }
        100% { opacity: 1; }
        }

        button:disabled {
        animation: pulse 1.5s infinite;
        }
        #analysisBox h3{
            font-size: 23px;
        }
        #analyze-button{
            font-weight: bold;
        }
        #analyze-button.completed {
            background-color: #28a745;
            color: white;
        }

        .legalsnap-step-section {
            position: relative;
            margin-bottom: 32px;
            padding-left: 48px;
        }

        .legalsnap-step-section .step-num {
                position: absolute;
                left: 0;
                top: -4px;
                /* transform: translateY(-50%); */
                background: #EBEBEB;
                color: #333;
                width: 32px;
                height: 32px;
                border-radius: 50%;
                text-align: center;
                font-weight: normal;
                font-size: .9em;
                line-height: 32px;
                display: inline-block;
        }

        .legalsnap-step-section h2 {
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.32em;
            font-weight: 600;
            color: #1a2a6c;
        }
        .legalsnap-step-section.active-step .step-num {
            background: #007bff;
            color: white;
        }
        .legalsnap-step-section.active-step h2 {
            color: #007bff;
        }

        /* Responsive adjustments */
        @media (max-width: 600px) {
            .main-wrapper {
                padding: 1rem;
                margin: 0rem;
            }
            
            .response-options {
                flex-direction: column;
            }
            
            .response-options button {
                margin: 0.25rem 0;
            }
            
            section button {
                width: 100%;
                margin-right: 0;
                margin-bottom: 0.5rem;
            }
            .response-options button{
                flex: 1 1 40px;
            }
            .main-heading{
                    font-size: 26px;
                    line-height: 32px;
            }
            .section-header h1{
                font-size: 1.1rem;
            }
        }

        /* Add this to your CSS file */
            .markdown-content {
                min-height: 150px;
                background-color: white;
                border: 1px solid #ccc;
                border-radius: 6px;
                padding: 1rem;
                margin-bottom: 1rem;
                overflow-y: auto;
            }

            .markdown-content:empty:before {
                content: attr(placeholder);
                color: #aaa;
            }

            /* Markdown styling */
            .markdown-content h1, 
            .markdown-content h2, 
            .markdown-content h3 {
                margin-top: 1rem;
                margin-bottom: 0.5rem;
            }

            .markdown-content p {
                margin-bottom: 1rem;
            }

            .markdown-content ul, 
            .markdown-content ol {
                margin-left: 1.5rem;
                margin-bottom: 1rem;
            }

            .markdown-content table {
                border-collapse: collapse;
                width: 100%;
                margin-bottom: 1rem;
            }

            .markdown-content table, 
            .markdown-content th, 
            .markdown-content td {
                border: 1px solid #ddd;
                padding: 0.5rem;
            }

            .markdown-content code {
                background: #f4f4f4;
                padding: 0.2rem 0.4rem;
                border-radius: 3px;
                font-family: monospace;
            }

            .markdown-content blockquote {
                border-left: 4px solid #ccc;
                padding-left: 1rem;
                color: #555;
                font-style: italic;
            }
#legalsnap-signup-form #pms_register-form{
    width: 100%;
    max-width: 100%;
}
#legalsnap-signup-form form.pms-form ul.pms-form-fields-wrapper{
    width: 100%;
    max-width: 100% !important
}

.ls-modal-overlay {
  position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.6); z-index:9999;
  display: flex; align-items: center; justify-content: center;
}
.ls-modal-content {
  background: #e6f3fb; border-radius: 12px; padding: 32px 24px;
  max-width: 430px; width: 100%; box-shadow: 0 2px 12px rgba(0,0,0,0.14); position:relative;
}
.ls-modal-close {
  position: absolute; right: 18px; top: 18px; background: none; border: none; font-size: 22px; cursor:pointer;
}
.ls-toggle-row {
  display: flex; justify-content: center; gap: 0; margin-bottom: 24px;
}
.ls-toggle-btn {
  background: #fff; border: none; outline: none; padding: 10px 32px; font-size: 18px;
  font-weight: 500; color: #223366; border-radius: 8px 8px 0 0; cursor: pointer; transition: background .2s;
  position:relative;
}
.ls-toggle-btn.active {
  background: #004175; color: #fff; border-bottom: 3px solid #004175;
}
.ls-save-badge {
  background: #f9dada; color: #d91b1b; font-size: 12px; padding: 2px 6px; border-radius: 8px; margin-left: 4px;
  vertical-align: middle; position: absolute; top: -12px; right: -32px;
}
.ls-plan-card {
  background: #fff; border-radius: 12px; border: 2px solid #19a7d6;
  padding: 28px 24px 18px 24px; box-shadow:0 0 0 0; display: flex; flex-direction: column; align-items: center;
}
.ls-popular-badge {
  background: #fbeaea; color: #d91b1b; font-size: 14px; padding: 6px 16px; border-radius: 20px; margin-bottom: 14px; display:inline-block;
  font-weight: 500; letter-spacing: .05em;
}
.ls-plan-price {
  font-size: 36px; font-weight: 700; color: #223366; margin-bottom: 8px;
}
.ls-plan-price .currency {font-size:22px;}
.ls-plan-per { font-size: 18px; color: #223366; font-weight: 400; margin-left: 5px;}
.ls-plan-desc {
  font-size: 16px; color: #446; margin-bottom: 16px; font-weight: 500; text-align:center;
}
.ls-plan-features { list-style: none; padding: 0; margin: 0 0 22px 0; }
.ls-plan-features li {
  font-size: 15px; color: #229b6e; margin-bottom: 6px;
  display: flex; align-items: center; gap:6px;
}
.ls-plan-features li:before {
  content: "✓"; color: #229b6e; font-weight: bold; margin-right:6px;
}
.ls-plan-btn {
  background: #004175; color: #fff; padding: 14px 0; font-size: 17px;
  border-radius: 8px; border: none; width: 100%; font-weight: 600; text-align: center;
  text-decoration: none; display: block; margin-top: 6px; transition: background .2s;
}
.ls-plan-btn:hover { background: #004175;color: white }
@media (max-width: 600px) {
  .ls-modal-content { padding: 18px 6px; }
  .ls-plan-card { padding: 14px 6px 8px 6px;}
  .ls-toggle-btn { padding: 8px 14px; font-size: 15px;}
}

#pms-stripe-connect{
    width: 100% !important;
}
.entry-title{
    padding-top: 30px;
}

.pms-form-design-wrapper .pms-group-dashboard a.pms-group-dashboard-go-back, .pms-form-design-wrapper input[type="submit"], .pms-form-design-wrapper #pms-apply-discount, .pms-form-design-wrapper .pms-form-submit{
    background: #004175 !important;
}

.pms-form-design-wrapper .pms-warning-message-wrapper a, .pms-form-design-wrapper .pms-gdpr-field label a, .pms-alert a, .pms-form-design-wrapper p a.pms-register-page-link, .pms-form-design-wrapper#pms_login p.login-extra a{
    color: #004175 !important;
}

.pms-form-design-wrapper .pms-subscription-plan .pms-subscription-plan-description{
    margin-top: 15px !important;
}
@media screen and (min-width: 1191px) {
    .pms-form-design-wrapper:not(.wrapper-small) div#pms-paygates-wrapper, .pms-form-design-wrapper .pms-price-breakdown__holder, .pms-form-design-wrapper #pms-credit-card-information, .pms-form-design-wrapper #pms-stripe-connect {
        width: 100% !important;
    }
}
#pms_register-form{
    max-width: 700px !important;
}

.pms-form-design-wrapper#pms_recover_password_form input[type="submit"], .pms-form-design-wrapper#pms_login input[type="submit"]{
    width: 100% !important;
}

.login-extra{
    padding-top: 20px !important;
}

.site-main #pms-stripe-connect{
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
}

@media screen and (min-width: 1191px) {
    .pms-form-design-wrapper:not(.wrapper-small) div#pms-paygates-wrapper, .pms-form-design-wrapper .pms-price-breakdown__holder, .pms-form-design-wrapper #pms-credit-card-information, .pms-form-design-wrapper #pms-stripe-connect {
        width: 100% !important;
    }
}

.pms-form-design-wrapper#pms_login p.login-submit{
    flex-basis: 100% !important;
}

@media screen and (min-width: 1191px) {
    .site-main .pms-form-design-wrapper #pms-stripe-connect{
        max-width: 100% !important;
    }
}

.pms-form-design-wrapper .pms-account-navigation ul li.pms-account-navigation-link:not(.pms-account-navigation-link--logout) a:hover, .pms-form-design-wrapper .pms-account-navigation ul li a.pms-account-navigation-link--active {
   color: #004175 !important;
}

.pms-form-design-wrapper .pms-account-navigation ul li.pms-account-navigation-link--logout a, .pms-form-design-wrapper table.pms-account-subscription-details-table tr.pms-account-subscription-details-table__actions td:last-of-type .pms-account-subscription-action-link {
   color: #004175 !important;
}

.pms-form-design-wrapper table.pms-account-subscription-details-table{
    margin: 0 auto !important;
}