/* MVC application forms (Gravity Forms 3) | Build 43
   Startup form (3) and Investor form (2). Every rule starts with :is(#gform_2, #gform_3);
   !important only where the theme or Gravity Forms forces its own styles.
   Classes (Custom CSS Class in the form editor): mvc-subsection, mvc-intro,
   mvc-statement-heading, mvc-statement, mvc-field, mvc-block-letters, mvc-strong-description,
   mvc-table-header, mvc-question-cell.
   Tables get mvc-table-repeater from the PHP. */


/* 1. Tokens */
.gform_wrapper {
    --mvc-accent: #d0604b;
    --mvc-text: #2f3a4a;
    --mvc-muted: #9aa1ab;
    --mvc-line: #e2e5e9;
    --mvc-card: #fafbfc;
    --mvc-field-h: 46px;
    --mvc-error: #c02b0a;
    --mvc-navy: #0f1b33;
    --mvc-green: #5eb099;
}


/* 2. Tables (all .mvc-table-repeater) */
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_container {
    position: static !important;
    min-width: 0;
    margin: 0 !important;
    padding: 16px !important;
    background: var(--mvc-card) !important;
    border: 1px solid var(--mvc-line) !important;
    border-left: 3px solid var(--mvc-accent) !important;
    border-radius: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_items {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
    min-height: 0 !important;
    margin: 0 0 16px !important;
    padding: 20px !important;
    background: #fff;
    border: 1px solid var(--mvc-line);
    border-radius: 2px;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item:last-child {
    margin-bottom: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none;
    float: none;
    margin: 0 !important;
    padding: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield select,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--mvc-field-h) !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font: inherit;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--mvc-text) !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid var(--mvc-line) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield textarea {
    height: 88px !important;
    min-height: 88px !important;
    padding: 12px 14px !important;
    resize: vertical;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input::placeholder,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield textarea::placeholder {
    color: var(--mvc-muted) !important;
    opacity: 1 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield select {
    -webkit-appearance: none !important;
    appearance: none !important;
    padding: 0 40px 0 14px !important;
    line-height: calc(var(--mvc-field-h) - 2px) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%239aa1ab' stroke-width='1.6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
    cursor: pointer;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield select:has(option[value=""]:checked) {
    color: var(--mvc-muted) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield select option {
    color: var(--mvc-text) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input:focus,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield select:focus,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield textarea:focus {
    outline: none;
    border-color: var(--mvc-accent) !important;
    box-shadow: 0 0 0 3px rgba(208, 96, 75, 0.15) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input[type="number"]::-webkit-inner-spin-button,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    display: none !important;
    margin: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield .instruction {
    display: none;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_buttons {
    order: 99 !important;
    grid-row: auto !important;
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .add_repeater_item {
    order: 2;
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 24px !important;
    font: inherit;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--mvc-navy) !important;
    background: transparent !important;
    border: 1px solid var(--mvc-navy) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    text-transform: capitalize;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .add_repeater_item:hover {
    color: #fff !important;
    background: var(--mvc-navy) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .remove_repeater_item {
    order: 1;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 22px !important;
    color: var(--mvc-muted) !important;
    text-decoration: underline !important;
    text-transform: capitalize;
    cursor: pointer;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .remove_repeater_item:hover,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .remove_repeater_item:focus-visible {
    color: var(--mvc-accent) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item:only-child .remove_repeater_item {
    display: none !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_max_message {
    margin: 12px 0 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #5f6875 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .mvc-field-error input,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .mvc-field-error select,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .mvc-field-error textarea {
    border-color: var(--mvc-error) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .mvc-error-text {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--mvc-error);
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_validation_message,
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater > .validation_message {
    display: block !important;
    margin: 10px 0 0 !important;
    font-size: 14px !important;
    color: var(--mvc-error) !important;
}


/* 2b. Table field labels: always visible above each field (the PHP gives every table field
   its name as a label; Gravity Forms renders them screen-reader-only). Red * on first-row
   required fields comes from .mvc-required, set by application-forms.js. */
:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield > .gfield_label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: var(--mvc-text) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield.mvc-required > .gfield_label::after {
    content: " *";
    color: var(--mvc-error);
}


/* 3. Founders (400) + Total Invested (408)
   Cells: 1 Name, 2 Designation, 3 Equity Share, 4 Money Invested, 5 Part/Full-Time, 6 Year Joined, 7 Notes */
:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(5) { order: 3 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(6) { order: 4 !important; grid-column: span 3 !important; }

:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 5 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 6 !important; grid-column: span 6 !important; }

:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(7) { order: 7 !important; grid-column: 1 / -1 !important; }

:is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item:last-child {
    margin-bottom: 16px !important;
}

:is(#gform_2, #gform_3) .gfield.founders-total {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    margin: 0 !important;
    padding: 4px 21px !important;
    background: none;
    border: 0;
    border-radius: 0;
}

:is(#gform_2, #gform_3) .gfield.founders-total .gfield_label {
    grid-column: 1 / span 6;
    justify-self: end;
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--mvc-text) !important;
}

:is(#gform_2, #gform_3) .gfield.founders-total .ginput_container {
    grid-column: 7 / -1;
    margin: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.founders-total input,
:is(#gform_2, #gform_3) .gfield.founders-total input[readonly] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--mvc-field-h) !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font: inherit;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: left !important;
    color: var(--mvc-text) !important;
    -webkit-text-fill-color: var(--mvc-text) !important;
    opacity: 1 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid var(--mvc-line) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    cursor: default;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

:is(#gform_2, #gform_3) .gfield.founders-total input::-webkit-inner-spin-button,
:is(#gform_2, #gform_3) .gfield.founders-total input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    display: none !important;
    margin: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.founders-total input::placeholder {
    color: var(--mvc-muted) !important;
    -webkit-text-fill-color: var(--mvc-muted) !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}


/* 4. Advisors (420)
   Cells: 1 Name, 2 Role, 3 Area of Expertise, 4 Paid, 5 Compensation Type, 6 Organisation, 7 Years Involved, 8 Letter of Intent */
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(6) { order: 4 !important; grid-column: span 3 !important; }

:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(7) { order: 5 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 6 !important; grid-column: span 2 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(5) { order: 7 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.advisors-repeater .gfield_repeater_item > .gfield:nth-child(8) { order: 8 !important; grid-column: span 4 !important; }


/* 4b. Stage of Product Development (460)
   Cells: 1 Current Stage, 2 Brief Explanation, 3 Pilots/trials/certifications, 4 TRL Level */
:is(#gform_2, #gform_3) .gfield.development-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.development-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.development-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.development-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 4 !important; grid-column: span 4 !important; }


/* 4c. Competitors (450)
   Cells: 1 Competitor Name, 2 Country, 3 How are you different? */
:is(#gform_2, #gform_3) .gfield.competitors-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.competitors-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.competitors-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: 1 / -1 !important; }


/* 4d. Target Markets (430)
   Cells: 1 Segment, 2 Industry, 3 Geography, 4 Description */
:is(#gform_2, #gform_3) .gfield.target-market-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.target-market-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.target-market-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield.target-market-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 4 !important; grid-column: 1 / -1 !important; }


/* 4e. Customer Profiles (440)
   Cells: 1 Customer Type, 2 Characteristics, 3 Key Pain Points, 4 Typical Use Cases */
:is(#gform_2, #gform_3) .gfield.customer-type-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.customer-type-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.customer-type-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.customer-type-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 4 !important; grid-column: span 6 !important; }


/* 4f. Private Investors (900)
   Cells: 1 Investor Name, 2 Amount Invested, 3 Shareholding %, 4 Terms, 5 Comments */
:is(#gform_2, #gform_3) .gfield.private-investors-repeater .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.private-investors-repeater .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.private-investors-repeater .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 3 !important; }
:is(#gform_2, #gform_3) .gfield.private-investors-repeater .gfield_repeater_item > .gfield:nth-child(4) { order: 4 !important; grid-column: span 6 !important; }
:is(#gform_2, #gform_3) .gfield.private-investors-repeater .gfield_repeater_item > .gfield:nth-child(5) { order: 5 !important; grid-column: span 6 !important; }


/* 4g. Investor form: Sector Breakdown (200), Projected Investment Activity (300)
   Cells: 1 Sector, 2 Number of Investments, 3 Total Invested */
:is(#gform_2, #gform_3) .gfield:is(.sector-breakdown-repeater, .projected-activity-repeater) .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield:is(.sector-breakdown-repeater, .projected-activity-repeater) .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield:is(.sector-breakdown-repeater, .projected-activity-repeater) .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 4 !important; }


/* 4h. Unique Selling Proposition (470) and Use of MVC Funds (480): three equal columns
   USP: 1 Unique Selling Proposition, 2 Description, 3 Value to Customers
   Funds: 1 Purpose / Activity, 2 Amount in €, 3 Expected Impact / Outcome */
:is(#gform_2, #gform_3) .gfield:is(.usp-repeater, .use-of-funds-repeater) .gfield_repeater_item > .gfield:nth-child(1) { order: 1 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield:is(.usp-repeater, .use-of-funds-repeater) .gfield_repeater_item > .gfield:nth-child(2) { order: 2 !important; grid-column: span 4 !important; }
:is(#gform_2, #gform_3) .gfield:is(.usp-repeater, .use-of-funds-repeater) .gfield_repeater_item > .gfield:nth-child(3) { order: 3 !important; grid-column: span 4 !important; }


/* 5. Responsive */
@media (max-width: 991px) {
    :is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_container {
        padding: 12px !important;
    }

    :is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 16px !important;
    }

    :is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item > .gfield:nth-child(n) {
        grid-column: span 1 !important;
    }

    :is(#gform_2, #gform_3) .gfield.founders-repeater .gfield_repeater_item > .gfield:nth-child(7) {
        grid-column: 1 / -1 !important;
    }

    :is(#gform_2, #gform_3) .gfield.competitors-repeater .gfield_repeater_item > .gfield:nth-child(3) {
        grid-column: 1 / -1 !important;
    }

    :is(#gform_2, #gform_3) .gfield.founders-total {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 4px 17px !important;
    }

    :is(#gform_2, #gform_3) .gfield.founders-total .gfield_label {
        grid-column: 1;
    }

    :is(#gform_2, #gform_3) .gfield.founders-total .ginput_container {
        grid-column: 2;
    }
}

@media (max-width: 575px) {
    :is(#gform_2, #gform_3) .gfield.mvc-table-repeater .gfield_repeater_item,
    :is(#gform_2, #gform_3) .gfield.founders-total {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    :is(#gform_2, #gform_3) .gfield.founders-total .gfield_label {
        grid-column: 1;
        justify-self: start;
    }

    :is(#gform_2, #gform_3) .gfield.founders-total .ginput_container {
        grid-column: 1;
    }
}


/* 7. Native paragraph fields: start single-line, grow to 6 lines */
:is(#gform_2, #gform_3) .gfield--type-textarea:not(.gfield_repeater_item > .gfield) textarea {
    box-sizing: border-box;
    height: var(--mvc-field-h);
    min-height: var(--mvc-field-h);
    max-height: 146px;
    padding-top: 12px;
    padding-bottom: 12px;
    line-height: 20px;
    white-space: pre-wrap;
    overflow-x: hidden;
    overflow-y: hidden;
    resize: none;
}


/* 8. Template download links (a[download] in HTML fields) */
:is(#gform_2, #gform_3) .gfield--type-html:has(a[download]) {
    display: flex;
}

:is(#gform_2, #gform_3) .gfield--type-html:has(a[download]) > p {
    display: flex;
    flex: 1;
    margin: 0;
}

:is(#gform_2, #gform_3) .gfield--type-html a[download] {
    flex: 1;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 68px;
    padding: 14px 18px;
    background: var(--mvc-card);
    border: 1px solid var(--mvc-line);
    border-left: 3px solid var(--mvc-accent);
    border-radius: 0;
    color: var(--mvc-text);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield--type-html a[download]::before {
    content: "";
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(208, 96, 75, 0.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0604b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M8 11l4 4 4-4M5 19h14'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
}

:is(#gform_2, #gform_3) .gfield--type-html a[download]::after {
    content: "";
    flex: none;
    margin-left: auto;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--mvc-muted);
}

:is(#gform_2, #gform_3) .gfield--type-html a[download][href$=".docx" i]::after { content: "DOCX"; }

:is(#gform_2, #gform_3) .gfield--type-html a[download][href$=".doc" i]::after { content: "DOC"; }

:is(#gform_2, #gform_3) .gfield--type-html a[download][href$=".xlsx" i]::after { content: "XLSX"; }

:is(#gform_2, #gform_3) .gfield--type-html a[download][href$=".xls" i]::after { content: "XLS"; }

:is(#gform_2, #gform_3) .gfield--type-html a[download][href$=".pdf" i]::after { content: "PDF"; }

:is(#gform_2, #gform_3) .gfield--type-html a[download]:hover {
    background: #fff;
    border-color: var(--mvc-accent);
    box-shadow: 0 2px 8px rgba(47, 58, 74, 0.08);
}

:is(#gform_2, #gform_3) .gfield--type-html a[download]:focus-visible {
    outline: 2px solid var(--mvc-accent);
    outline-offset: 2px;
}


/* 9. File uploads */
:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_area {
    box-sizing: border-box;
    padding: 28px 20px;
    text-align: center;
    background: var(--mvc-card);
    border: 1px dashed #c9ced4;
    border-left: 3px solid var(--mvc-accent);
    border-radius: 0;
    box-shadow: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_area:hover,
:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_area.hover {
    background: #fff;
    border-color: var(--mvc-accent);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_area::before,
:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_area svg {
    color: var(--mvc-accent);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_drop_instructions {
    display: block;
    margin: 0 0 12px;
    font-size: 15px;
    color: var(--mvc-text);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_button_select_files {
    min-height: 0;
    margin: 0;
    padding: 10px 24px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--mvc-navy);
    background: transparent;
    border: 1px solid var(--mvc-navy);
    border-radius: 999px;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_button_select_files:hover {
    color: #fff;
    background: var(--mvc-navy);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_button_select_files:focus-visible {
    outline: 2px solid var(--mvc-accent);
    outline-offset: 2px;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload input[type="file"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--mvc-field-h);
    margin: 0;
    padding: 0 14px 0 0;
    font: inherit;
    font-size: 15px;
    line-height: calc(var(--mvc-field-h) - 2px);
    color: var(--mvc-text);
    background: #fff;
    border: 1px solid var(--mvc-line);
    border-radius: 2px;
    box-shadow: none;
    cursor: pointer;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload input[type="file"]::file-selector-button {
    height: 100%;
    margin: 0 14px 0 0;
    padding: 0 18px;
    font: inherit;
    font-weight: 600;
    color: var(--mvc-text);
    background: var(--mvc-card);
    border: 0;
    border-right: 1px solid var(--mvc-line);
    cursor: pointer;
    transition: color 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload input[type="file"]:hover::file-selector-button {
    color: var(--mvc-accent);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload input[type="file"]:focus-visible {
    outline: none;
    border-color: var(--mvc-accent);
    box-shadow: 0 0 0 3px rgba(208, 96, 75, 0.15);
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .ginput_preview {
    margin: 8px 0 0;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--mvc-text);
    background: #fff;
    border: 1px solid var(--mvc-line);
    border-radius: 2px;
}

:is(#gform_2, #gform_3) .gfield--type-fileupload .gform_fileupload_rules {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--mvc-muted);
}


/* 10. Group headings (.mvc-subsection) */
:is(#gform_2, #gform_3) .gfield--type-section.mvc-subsection {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 16px;
    padding: 0 0 12px;
    border-top: 0;
    border-bottom: 1px solid var(--mvc-line);
}

:is(#gform_2, #gform_3) .gfield--type-section.mvc-subsection .gsection_title {
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--mvc-navy);
}

:is(#gform_2, #gform_3) .gfield--type-section.mvc-subsection .gsection_description {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
    text-align: right;
    color: #5f6875;
}

@media (max-width: 575px) {
    :is(#gform_2, #gform_3) .gfield--type-section.mvc-subsection .gsection_description {
        text-align: left;
    }
}


/* 11. Intro blocks (.mvc-intro) */
:is(#gform_2, #gform_3) .gfield--type-html.mvc-intro {
    box-sizing: border-box;
    padding: 18px 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--mvc-text);
    background: var(--mvc-card);
    border: 1px solid var(--mvc-line);
    border-left: 3px solid var(--mvc-accent);
}

:is(#gform_2, #gform_3) .gfield--type-html.mvc-intro > :first-child {
    margin-top: 0;
}

:is(#gform_2, #gform_3) .gfield--type-html.mvc-intro > :last-child {
    margin-bottom: 0;
}


/* 12. Declaration statements (.mvc-statement-heading, .mvc-statement) */
:is(#gform_2, #gform_3) .gfield--type-section.mvc-statement-heading {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 16px;
    margin-top: 12px;
    padding: 16px 20px;
    background: var(--mvc-card);
    border: 1px solid var(--mvc-line);
    border-left: 3px solid var(--mvc-accent);
}

:is(#gform_2, #gform_3) .gfield--type-section.mvc-statement-heading .gsection_title {
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--mvc-navy);
}

:is(#gform_2, #gform_3) .gfield--type-section.mvc-statement-heading .gsection_description {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
    color: #5f6875;
}

:is(#gform_2, #gform_3) .gfield--type-section.mvc-statement-heading .gsection_description::after {
    content: " *";
    color: var(--mvc-error);
}

:is(#gform_2, #gform_3) .gfield--type-consent.mvc-statement,

:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gchoice {
    box-sizing: border-box;
    margin: 0;
    padding: 13px 20px;
    background: #fff;
    border: 1px solid var(--mvc-line);
    transition: border-color 0.15s ease;
}

:is(#gform_2, #gform_3) .gfield--type-consent.mvc-statement:hover,
:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gchoice:hover {
    border-color: #c9ced4;
}

:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gfield_checkbox {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

:is(#gform_2, #gform_3) .mvc-statement .ginput_container_consent,
:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gchoice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

:is(#gform_2, #gform_3) .mvc-statement .gfield_consent_label,
:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gchoice label {
    flex: 1;
    display: block;
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--mvc-text);
    cursor: pointer;
}

:is(#gform_2, #gform_3) .mvc-statement .gfield_consent_label .gfield_required,
:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement .gchoice .gfield_required {
    display: none;
}

:is(#gform_2, #gform_3) .mvc-statement input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    background: #fff no-repeat center / 14px 14px;
    border: 1.5px solid #9aa1ab;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

:is(#gform_2, #gform_3) .mvc-statement input[type="checkbox"]::before,
:is(#gform_2, #gform_3) .mvc-statement input[type="checkbox"]::after {
    display: none;
}

:is(#gform_2, #gform_3) .mvc-statement input[type="checkbox"]:checked {
    background-color: var(--mvc-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
    border-color: var(--mvc-accent);
}

:is(#gform_2, #gform_3) .mvc-statement input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--mvc-accent);
    outline-offset: 2px;
}

:is(#gform_2, #gform_3) .gfield--type-consent.mvc-statement.gfield_error,
:is(#gform_2, #gform_3) .gfield--type-checkbox.mvc-statement.gfield_error .gchoice {
    border-color: var(--mvc-error);
}

:is(#gform_2, #gform_3) .mvc-statement .validation_message {
    margin: 8px 0 0 34px;
    font-size: 13px;
    color: var(--mvc-error);
}


/* 13. Boxed fields (.mvc-field, .mvc-block-letters) and Submit button */
:is(#gform_2, #gform_3) .gfield.mvc-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:is(#gform_2, #gform_3) .gfield.mvc-field select,
:is(#gform_2, #gform_3) .gfield.mvc-field textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font: inherit;
    font-size: 15px !important;
    color: var(--mvc-text) !important;
    background-color: #fff !important;
    border: 1px solid var(--mvc-line) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-field textarea {
    height: auto !important;
    min-height: 88px !important;
    padding: 12px 14px !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-field .ginput_container_date,
:is(#gform_2, #gform_3) .gfield.mvc-field .ginput_container {
    width: 100% !important;
    max-width: 100% !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-field input::placeholder,
:is(#gform_2, #gform_3) .gfield.mvc-field textarea::placeholder {
    color: var(--mvc-muted) !important;
    opacity: 1 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-field input:focus,
:is(#gform_2, #gform_3) .gfield.mvc-field select:focus,
:is(#gform_2, #gform_3) .gfield.mvc-field textarea:focus {
    outline: none !important;
    border-color: var(--mvc-accent) !important;
    box-shadow: 0 0 0 3px rgba(208, 96, 75, 0.15) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-block-letters input {
    text-transform: uppercase !important;
}

:is(#gform_2, #gform_3) :is(.gform_footer, .gform_page_footer) :is(input, button).gform_button {
    box-sizing: border-box !important;
    min-width: 200px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 32px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #fff !important;
    background: var(--mvc-green) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: filter 0.15s ease;
}

:is(#gform_2, #gform_3) :is(.gform_footer, .gform_page_footer) :is(input, button).gform_button:hover {
    filter: brightness(0.93);
}

:is(#gform_2, #gform_3) :is(.gform_footer, .gform_page_footer) :is(input, button).gform_button:focus-visible {
    outline: 2px solid var(--mvc-accent) !important;
    outline-offset: 2px !important;
}


/* 14. Highlighted descriptions (.mvc-strong-description) */
:is(#gform_2, #gform_3) .gfield.mvc-strong-description .gfield_description:not(.validation_message):not(.gfield_validation_message):not(.instruction) {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 6px !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: var(--mvc-navy) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-strong-description .gfield_description:not(.validation_message):not(.gfield_validation_message):not(.instruction)::before {
    content: "" !important;
    flex: none !important;
    width: 18px !important;
    height: 18px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0604b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E") no-repeat center / 18px 18px !important;
}


/* 15. Column headers in HTML blocks (.mvc-table-header), e.g. the Valuation tables
   Sizes the 5-column header row to match the fields below it, which Gravity Forms lays out
   as 3/2/2/3/2 of its 12 columns, so each heading starts where its field starts.
   Each width covers the column plus the gap after it: (span + gap) / full row. */
:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header table {
    width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
}

:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th {
    box-sizing: border-box !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    text-align: left !important;
    vertical-align: middle !important;
}

:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th:nth-child(1) { width: 25.4% !important; }
:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th:nth-child(2) { width: 16.9% !important; }
:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th:nth-child(3) { width: 16.9% !important; }
:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th:nth-child(4) { width: 25.4% !important; }
:is(#gform_2, #gform_3) .gfield--type-html.mvc-table-header tr:has(> th:nth-child(5)) > th:nth-child(5) { width: 15.4% !important; }


/* 16. Investor form: Recent Investment Activity (220): one line per investment
   Client feedback: each investment on a single line, matching MVC's layout, scrolling sideways
   inside the table when it doesn't fit. Column names show on the first row only, acting as the
   table header; later rows keep them for screen readers. After section 5 so it also wins on
   tablets and phones. Columns: Company / Startup Name, Website, Sector, Country, Investment Stage,
   Year of Investment, Investment Amount, Equity Stake, Current Status, Exit?.
   Each added row has its own Remove row underneath its fields, on the right and kept in view
   while scrolling (the required first row has none). One Add Row sits under the table,
   bottom-right, beside the "Add up to 5" note; it adds a row at the end. */
:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_container {
    position: relative !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_items {
    overflow-x: auto !important;
    padding-bottom: 4px !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_item {
    grid-template-columns: 220px 200px 190px 190px 170px 140px 170px 140px 170px 110px !important;
    align-items: end !important;
    width: max-content !important;
    min-width: 100% !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_item > .gfield {
    grid-column: auto !important;
    order: 0 !important;
}

/* Row buttons are placed one by one: Remove row in its row, Add Row under the table */
:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_buttons {
    display: contents !important;
}

/* Remove row: on its own line under each added row's fields, on the right, kept in view while scrolling */
:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .remove_repeater_item {
    grid-row: 2 !important;
    grid-column: 1 / -1 !important;
    justify-self: end;
    position: sticky !important;
    right: 0;
    min-height: 32px !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_items > .gfield_repeater_item:first-child .remove_repeater_item {
    display: none !important;
}

/* Add Row: only the last row's button is shown, placed under the table on the right */
:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_item:not(:last-child) .add_repeater_item {
    display: none !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_item:last-child .add_repeater_item {
    position: absolute !important;
    right: 16px;
    bottom: 16px;
    margin: 0 !important;
}

/* The "Add up to 5" note lines up with Add Row */
:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_max_message {
    display: flex !important;
    align-items: center;
    min-height: 44px !important;
    padding-right: 160px !important;
}

:is(#gform_2, #gform_3) .gfield.recent-investments-repeater .gfield_repeater_items > .gfield_repeater_item:not(:first-child) > .gfield > .gfield_label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}


/* 17. Question card (.mvc-question-cell), e.g. Investor form, 2. Additional Investment Information
   Same design as the tables (section 2): a grey card with the accent edge, a white panel inside,
   every question labelled above its box. Laid out five across, two rows, following MVC's layout.
   Give each field the class mvc-question-cell in the form editor; mvc_question_grid_wrapper (PHP)
   wraps each run of consecutive cells in .mvc-question-card > .mvc-question-grid, which draws the
   card and sets the five columns (Gravity Forms' own grid only splits a row into twelfths).
   Without the wrapper the fields keep their editor widths but still get their labels and boxes.
   Label visibility is left to the editor: set Field Label Visibility to Visible on each field
   (a hidden label stays hidden). Labels sit on the box, so the boxes in a row line up; an error
   shows between the question and its box for the same reason. */
:is(#gform_2, #gform_3) .mvc-question-card {
    grid-column: 1 / -1;
    box-sizing: border-box;
    min-width: 0;
    padding: 16px;
    background: var(--mvc-card);
    border: 1px solid var(--mvc-line);
    border-left: 3px solid var(--mvc-accent);
}

:is(#gform_2, #gform_3) .mvc-question-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px 12px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--mvc-line);
    border-radius: 2px;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
}

:is(#gform_2, #gform_3) .mvc-question-grid > .gfield.mvc-question-cell {
    grid-column: auto !important;
}

/* Label: same as the table labels (section 2b) */
:is(#gform_2, #gform_3) .gfield.mvc-question-cell > .gfield_label {
    order: 1;
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: var(--mvc-text) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell > .gfield_label > .gfield_required {
    margin-left: 3px;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell > .gfield_label .gfield_required {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: var(--mvc-error) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell > .gfield_description {
    order: 2;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    background: none !important;
    border: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell > :is(.validation_message, .gfield_validation_message) {
    color: var(--mvc-error) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell > .ginput_container {
    order: 3;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Boxes: same as the table fields */
:is(#gform_2, #gform_3) .gfield.mvc-question-cell input,
:is(#gform_2, #gform_3) .gfield.mvc-question-cell select,
:is(#gform_2, #gform_3) .gfield.mvc-question-cell textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font: inherit;
    font-size: 15px !important;
    color: var(--mvc-text) !important;
    background-color: #fff !important;
    border: 1px solid var(--mvc-line) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell input,
:is(#gform_2, #gform_3) .gfield.mvc-question-cell select {
    height: var(--mvc-field-h) !important;
    padding: 0 14px !important;
    line-height: 1.4 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell textarea {
    padding: 12px 14px !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell input::placeholder,
:is(#gform_2, #gform_3) .gfield.mvc-question-cell textarea::placeholder {
    color: var(--mvc-muted) !important;
    opacity: 1 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell select {
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 40px !important;
    line-height: calc(var(--mvc-field-h) - 2px) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%239aa1ab' stroke-width='1.6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
    cursor: pointer;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell select:has(option[value=""]:checked) {
    color: var(--mvc-muted) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell select option {
    color: var(--mvc-text) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell input[type="number"]::-webkit-inner-spin-button,
:is(#gform_2, #gform_3) .gfield.mvc-question-cell input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell.gfield_error :is(input, select, textarea) {
    border-color: var(--mvc-error) !important;
}

:is(#gform_2, #gform_3) .gfield.mvc-question-cell :is(input, select, textarea):focus {
    outline: none !important;
    border-color: var(--mvc-accent) !important;
    box-shadow: 0 0 0 3px rgba(208, 96, 75, 0.15) !important;
}

/* Tablets: two across; phones: one (as the tables in section 5) */
@media (max-width: 991px) {
    :is(#gform_2, #gform_3) .mvc-question-card {
        padding: 12px;
    }

    :is(#gform_2, #gform_3) .mvc-question-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 16px;
    }
}

@media (max-width: 575px) {
    :is(#gform_2, #gform_3) .mvc-question-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}