/* Arvsportalen Form UI 0.4 – Bouppteckningsguiden (form 9). */
#gform_wrapper_9 {
    --ap-green-700: #0d5f49;
    --ap-green-650: #116b52;
    --ap-green-100: #edf6f2;
    --ap-green-050: #f6faf8;
    --ap-ink: #1f2925;
    --ap-text: #34413b;
    --ap-muted: #66736d;
    --ap-border: #b8c5bf;
    --ap-border-soft: #e1e8e4;
    --ap-surface: #fff;
    --ap-surface-soft: #f7f9f8;
    --ap-error: #b42318;
    --ap-error-bg: #fff7f6;
    --ap-error-border: #f0b8b3;
    --ap-radius-sm: 7px;
    --ap-radius-md: 10px;
    --ap-radius-lg: 13px;
    --ap-shadow-focus: 0 0 0 3px rgba(17, 107, 82, .13);
    --ap-shadow-soft: 0 1px 2px rgba(17, 35, 28, .035);
    color: var(--ap-text);
}

#gform_wrapper_9 .gform_fields { row-gap: 28px; }

#gform_wrapper_9 .gfield_label,
#gform_wrapper_9 .gform-field-label,
#gform_wrapper_9 legend.gfield_label {
    color: var(--ap-ink);
    font-size: .94rem;
    font-weight: 675;
    line-height: 1.35;
}

#gform_wrapper_9 .gfield_required,
#gform_wrapper_9 .gfield_required_text {
    color: #9e3b32;
    font-size: .82em;
    font-weight: 600;
}

#gform_wrapper_9 .gfield_description,
#gform_wrapper_9 .ginput_complex label,
#gform_wrapper_9 .gform-field-label--type-sub {
    color: var(--ap-muted);
    font-size: .82rem;
    line-height: 1.5;
}

#gform_wrapper_9 input[type="text"],
#gform_wrapper_9 input[type="email"],
#gform_wrapper_9 input[type="tel"],
#gform_wrapper_9 input[type="number"],
#gform_wrapper_9 input[type="date"],
#gform_wrapper_9 input[type="url"],
#gform_wrapper_9 select,
#gform_wrapper_9 textarea {
    min-height: 46px;
    border: 1px solid var(--ap-border) !important;
    border-radius: var(--ap-radius-sm) !important;
    background: var(--ap-surface) !important;
    color: var(--ap-ink);
    box-shadow: var(--ap-shadow-soft);
    padding: 9px 12px !important;
    transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

#gform_wrapper_9 textarea { min-height: 120px; }
#gform_wrapper_9 input:hover,
#gform_wrapper_9 select:hover,
#gform_wrapper_9 textarea:hover { border-color: #899a92 !important; }

#gform_wrapper_9 input[type="text"]:focus,
#gform_wrapper_9 input[type="email"]:focus,
#gform_wrapper_9 input[type="tel"]:focus,
#gform_wrapper_9 input[type="number"]:focus,
#gform_wrapper_9 input[type="date"]:focus,
#gform_wrapper_9 input[type="url"]:focus,
#gform_wrapper_9 select:focus,
#gform_wrapper_9 textarea:focus {
    outline: none !important;
    border-color: var(--ap-green-650) !important;
    box-shadow: var(--ap-shadow-focus) !important;
}

/* Progress */
#gform_wrapper_9 .gf_progressbar_wrapper { margin-bottom: 34px; }
#gform_wrapper_9 .gf_progressbar_title {
    color: var(--ap-muted);
    font-size: .86rem;
    font-weight: 650;
    margin-bottom: 8px;
}
#gform_wrapper_9 .gf_progressbar {
    height: 8px !important;
    background: #e7ece9 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    overflow: hidden;
}
#gform_wrapper_9 .gf_progressbar_percentage {
    height: 100% !important;
    background: var(--ap-green-650) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}
#gform_wrapper_9 .gf_progressbar_percentage span { display: none !important; }

/* Sektioner */
#gform_wrapper_9 .ap-section,
#gform_wrapper_9 .ap-section.gsection {
    margin-top: 8px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
#gform_wrapper_9 .ap-section .gsection_title {
    color: var(--ap-ink);
    font-size: clamp(1.2rem, 1.1rem + .3vw, 1.42rem);
    line-height: 1.3;
    font-weight: 700;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* Befintliga HTML-infoblock centraliseras visuellt. */
#gform_wrapper_9 .ap-panel > div,
#gform_wrapper_9 .ap-panel > .gfield_html,
#gform_wrapper_9 .ap-panel .gfield_html > div {
    padding: 20px 22px !important;
    margin: 0 !important;
    border-radius: var(--ap-radius-md) !important;
    border: 1px solid var(--ap-border-soft) !important;
    background: var(--ap-surface-soft) !important;
    color: var(--ap-text) !important;
    box-shadow: none !important;
}
#gform_wrapper_9 .ap-panel p,
#gform_wrapper_9 .ap-panel li { line-height: 1.62; }
#gform_wrapper_9 .ap-panel--intro > div,
#gform_wrapper_9 .ap-panel--intro > .gfield_html,
#gform_wrapper_9 .ap-panel--intro .gfield_html > div {
    border-left: 4px solid var(--ap-green-650) !important;
    background: #f8faf9 !important;
}
#gform_wrapper_9 .ap-panel--info > div,
#gform_wrapper_9 .ap-panel--info > .gfield_html,
#gform_wrapper_9 .ap-panel--info .gfield_html > div {
    background: var(--ap-green-050) !important;
    border-color: #dce8e2 !important;
}

/* Undersektioner på tillgångssidan. */
#gform_wrapper_9 .ap-subsection-heading {
    padding: 18px 20px !important;
    margin-top: 10px !important;
    border: 1px solid var(--ap-border-soft) !important;
    border-radius: var(--ap-radius-md) !important;
    background: #f5f8f6 !important;
}
#gform_wrapper_9 .ap-subsection-heading .gfield_html,
#gform_wrapper_9 .ap-subsection-heading > div {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--ap-ink) !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}
#gform_wrapper_9 .ap-inline-heading {
    color: var(--ap-ink);
    font-size: 1.05rem;
    font-weight: 700;
}

/* Viktigare triageval. */
#gform_wrapper_9 .ap-choice-cards .ginput_container_radio,
#gform_wrapper_9 .ap-choice-cards .ginput_container_checkbox { width: 100% !important; max-width: none !important; }
#gform_wrapper_9 .ap-choice-cards .gfield_radio,
#gform_wrapper_9 .ap-choice-cards .gfield_checkbox {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}
#gform_wrapper_9 .ap-choice-cards .gchoice { position: relative; width: 100% !important; min-width: 0 !important; }
#gform_wrapper_9 .ap-choice-cards .gchoice input[type="radio"],
#gform_wrapper_9 .ap-choice-cards .gchoice input[type="checkbox"] {
    position: absolute;
    top: 17px;
    left: 16px;
    width: 19px;
    height: 19px;
    margin: 0;
    z-index: 2;
    accent-color: var(--ap-green-650);
}
#gform_wrapper_9 .ap-choice-cards .gchoice label {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 62px;
    height: 100% !important;
    margin: 0 !important;
    padding: 15px 16px 15px 46px !important;
    border: 1px solid #b3c0ba;
    border-radius: var(--ap-radius-md);
    background: #fff;
    color: var(--ap-ink);
    line-height: 1.4;
    cursor: pointer;
    box-sizing: border-box;
}
#gform_wrapper_9 .ap-choice-cards .gchoice input:checked + label {
    border-color: var(--ap-green-650);
    background: var(--ap-green-100);
    box-shadow: 0 0 0 1px var(--ap-green-650);
}

/* JS-grupper – person och strukturerad post. */
#gform_wrapper_9 .ap-ui-group {
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 20px;
    width: 100%;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-lg);
    background: #fbfcfb;
    box-shadow: var(--ap-shadow-soft);
    box-sizing: border-box;
}
#gform_wrapper_9 .ap-ui-group__heading {
    grid-column: 1 / -1;
    color: var(--ap-ink);
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ap-border-soft);
}
#gform_wrapper_9 .ap-ui-group > .gfield {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}
#gform_wrapper_9 .ap-ui-group--person > .gfield { grid-column: 1 / -1 !important; }
#gform_wrapper_9 .ap-ui-group--person {
    background: #f8faf9;
    border-color: #dce5e1;
}

/* Tillgångskort: legacy half-klasser blir ett konsekvent 2-kolumnssystem inne i kortet. */
#gform_wrapper_9 .ap-ui-group--record > .gfield {
    grid-column: 1 / -1 !important;
}
#gform_wrapper_9 .ap-ui-group--record > .gfield.gf_left_half,
#gform_wrapper_9 .ap-ui-group--record > .gfield.gf_right_half {
    grid-column: span 6 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}
#gform_wrapper_9 .ap-ui-group--compact {
    padding: 16px 18px;
    row-gap: 14px;
}
#gform_wrapper_9 .ap-ui-group--compact > .gfield:nth-of-type(2),
#gform_wrapper_9 .ap-ui-group--compact > .gfield:nth-of-type(3) {
    grid-column: span 6 !important;
}
#gform_wrapper_9 .ap-ui-group--record .gfield_checkbox,
#gform_wrapper_9 .ap-ui-group--record .gfield_radio,
#gform_wrapper_9 .ap-ui-group--person .gfield_checkbox,
#gform_wrapper_9 .ap-ui-group--person .gfield_radio {
    display: grid;
    gap: 7px;
}
#gform_wrapper_9 .ap-ui-group input[type="checkbox"],
#gform_wrapper_9 .ap-ui-group input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ap-green-650);
}

/* Consent/acknowledgement */
#gform_wrapper_9 .ap-acknowledgement {
    padding: 14px 16px;
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: #fbfcfb;
}

/* GF List – ytterligare tillgångar. */
#gform_wrapper_9 .ap-data-grid { --gf-field-list-btn-size: 32px; --gf-field-list-btn-radius: 8px; --gf-field-list-btns-gap: 6px; }
#gform_wrapper_9 .ap-data-grid .ginput_container_list {
    padding: 14px;
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: #fbfcfb;
    overflow-x: auto;
}
#gform_wrapper_9 .ap-data-grid .gfield_list_header { padding-bottom: 8px; border-bottom: 1px solid var(--ap-border-soft); margin-bottom: 8px; }
#gform_wrapper_9 .ap-data-grid .gfield_header_item { color: var(--ap-muted) !important; font-size: .78rem !important; font-weight: 700 !important; }
#gform_wrapper_9 .ap-data-grid .gfield_list_group { padding: 8px 0; border-bottom: 1px solid var(--ap-border-soft); align-items: flex-end; }
#gform_wrapper_9 .ap-data-grid .gfield_list_group:last-child { border-bottom: 0; }
#gform_wrapper_9 .ap-data-grid .gfield_list_group_item input,
#gform_wrapper_9 .ap-data-grid .gfield_list_group_item select { min-height: 40px !important; padding: 7px 9px !important; font-size: .92rem !important; }
#gform_wrapper_9 .ap-data-grid .gfield_list_icons { flex: 0 0 38px !important; width: 38px !important; min-width: 38px !important; gap: 6px; }
#gform_wrapper_9 .ap-data-grid .add_list_item,
#gform_wrapper_9 .ap-data-grid .delete_list_item,
#gform_wrapper_9 .ap-data-grid .remove_list_item {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 8px !important;
    border: 1px solid #b3c0ba !important;
    background-color: #fff !important;
    background-size: 14px 14px !important;
    box-shadow: none !important;
}

/* Navigation */
#gform_wrapper_9 .gform_page_footer,
#gform_wrapper_9 .gform_footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding-top: 28px;
    margin-top: 14px;
    border-top: 1px solid var(--ap-border-soft);
}
#gform_wrapper_9 .gform_next_button,
#gform_wrapper_9 .gform_button,
#gform_wrapper_9 input[type="submit"] {
    min-height: 45px !important;
    padding: 0 20px !important;
    border: 1px solid var(--ap-green-700) !important;
    border-radius: var(--ap-radius-sm) !important;
    background: var(--ap-green-700) !important;
    color: #fff !important;
    font-size: .94rem !important;
    font-weight: 675 !important;
    box-shadow: none !important;
}
#gform_wrapper_9 .gform_previous_button {
    min-height: 45px !important;
    padding: 0 18px !important;
    border: 1px solid var(--ap-green-650) !important;
    border-radius: var(--ap-radius-sm) !important;
    background: #fff !important;
    color: var(--ap-green-700) !important;
    font-size: .94rem !important;
    font-weight: 675 !important;
    box-shadow: none !important;
}

/* Validation */
#gform_wrapper_9 .gfield_error {
    padding: 16px !important;
    border: 1px solid var(--ap-error-border) !important;
    border-radius: var(--ap-radius-md);
    background: var(--ap-error-bg) !important;
}
#gform_wrapper_9 .validation_message,
#gform_wrapper_9 .gfield_validation_message {
    color: var(--ap-error) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 4px 0 0 !important;
    font-weight: 600;
}

@media (max-width: 760px) {
    #gform_wrapper_9 .gform_fields { row-gap: 22px; }
    #gform_wrapper_9 .ap-choice-cards .gfield_radio,
    #gform_wrapper_9 .ap-choice-cards .gfield_checkbox { grid-template-columns: 1fr !important; }
    #gform_wrapper_9 .ap-ui-group { grid-template-columns: 1fr; padding: 16px; }
    #gform_wrapper_9 .ap-ui-group > .gfield,
    #gform_wrapper_9 .ap-ui-group--record > .gfield.gf_left_half,
    #gform_wrapper_9 .ap-ui-group--record > .gfield.gf_right_half,
    #gform_wrapper_9 .ap-ui-group--compact > .gfield:nth-of-type(2),
    #gform_wrapper_9 .ap-ui-group--compact > .gfield:nth-of-type(3) { grid-column: 1 / -1 !important; }

    #gform_wrapper_9 .ap-data-grid .ginput_container_list { padding: 0; border: 0; background: transparent; overflow: visible; }
    #gform_wrapper_9 .ap-data-grid .gfield_list_header { display: none !important; }
    #gform_wrapper_9 .ap-data-grid .gfield_list_group {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 14px !important;
        margin-bottom: 12px !important;
        border: 1px solid var(--ap-border-soft) !important;
        border-radius: var(--ap-radius-md);
        background: #fbfcfb;
    }
    #gform_wrapper_9 .ap-data-grid .gfield_list_group_item,
    #gform_wrapper_9 .ap-data-grid .gfield_list_cell,
    #gform_wrapper_9 .ap-data-grid .gform-grid-col { width: 100% !important; max-width: none !important; flex: 0 0 100% !important; }
    #gform_wrapper_9 .ap-data-grid .gfield_list_icons { display: flex !important; width: auto !important; flex: 0 0 auto !important; justify-content: flex-start; gap: 8px; }
}

@media (max-width: 480px) {
    #gform_wrapper_9 input[type="text"],
    #gform_wrapper_9 input[type="email"],
    #gform_wrapper_9 input[type="tel"],
    #gform_wrapper_9 input[type="number"],
    #gform_wrapper_9 input[type="date"],
    #gform_wrapper_9 input[type="url"],
    #gform_wrapper_9 select,
    #gform_wrapper_9 textarea { min-height: 48px; font-size: 16px !important; }

    #gform_wrapper_9 .gform_page_footer,
    #gform_wrapper_9 .gform_footer { display: grid; grid-template-columns: 1fr 1fr; }
    #gform_wrapper_9 .gform_next_button,
    #gform_wrapper_9 .gform_previous_button,
    #gform_wrapper_9 .gform_button,
    #gform_wrapper_9 input[type="submit"] { width: 100% !important; margin: 0 !important; }
}

/* 0.3.1 – relationship choice: hard lock equal desktop columns.
   Field-specific ID selectors prevent theme/GF intrinsic widths from winning. */
@media (min-width: 761px) {
    #gform_wrapper_9 #field_9_838,
    #gform_wrapper_9 #field_9_838 .ginput_container,
    #gform_wrapper_9 #field_9_838 .ginput_container_radio,
    #gform_wrapper_9 #input_9_838 {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #gform_wrapper_9 #input_9_838 {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    #gform_wrapper_9 #input_9_838 > .gchoice {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        flex: none !important;
        box-sizing: border-box !important;
    }

    #gform_wrapper_9 #input_9_838 > .gchoice > label {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        box-sizing: border-box !important;
    }
}

/* 0.4 – steg 4–7: skuldkort, efterlevandes tillgångar/skulder och samtycken. */
#gform_wrapper_9 .ap-ui-group--debt {
    background: #fbfcfb;
    border-color: #dce5e1;
}

#gform_wrapper_9 .ap-ui-group--debt > .gfield {
    grid-column: 1 / -1 !important;
}

#gform_wrapper_9 .ap-ui-group--debt > .gfield.gf_left_half,
#gform_wrapper_9 .ap-ui-group--debt > .gfield.gf_right_half {
    grid-column: span 6 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}

#gform_wrapper_9 .ap-ui-group--debt .gfield_checkbox,
#gform_wrapper_9 .ap-ui-group--debt .gfield_radio {
    display: grid;
    gap: 7px;
}

#gform_wrapper_9 .ap-consent {
    padding: 14px 16px !important;
    border: 1px solid var(--ap-border-soft) !important;
    border-radius: var(--ap-radius-md) !important;
    background: #fbfcfb !important;
}

#gform_wrapper_9 .ap-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ap-green-650);
}

/* De många upprepade skuldposterna ska vara kompakta men fortfarande tydligt avskilda. */
#gform_wrapper_9 .ap-ui-group--debt.compact {
    padding: 16px 18px;
    row-gap: 14px;
}

#gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-of-type(2),
#gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-of-type(3) {
    grid-column: span 6 !important;
}

@media (max-width: 760px) {
    #gform_wrapper_9 .ap-ui-group--debt > .gfield,
    #gform_wrapper_9 .ap-ui-group--debt > .gfield.gf_left_half,
    #gform_wrapper_9 .ap-ui-group--debt > .gfield.gf_right_half,
    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-of-type(2),
    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-of-type(3) {
        grid-column: 1 / -1 !important;
    }
}

/* =========================================================
   0.4.1 PRECISIONSJUSTERINGAR
   1. Skuldkort: checkboxarna bildar en andra tvåkolumnsrad så
      "Bodelning för sambor" hamnar direkt under kolumnen Skuld.
   ========================================================= */
@media (min-width: 761px) {
    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-child(2) {
        grid-column: 1 / 7 !important;
    }

    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-child(3) {
        grid-column: 7 / 13 !important;
    }

    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-child(4) {
        grid-column: 1 / 7 !important;
    }

    #gform_wrapper_9 .ap-ui-group--debt.compact > .gfield:nth-child(5) {
        grid-column: 7 / 13 !important;
    }
}
