/* Arvsportalen Form UI 0.4 – testamente för sambor/gifta (form 18–20). */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) {
    --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-warning-bg: #fff9e9;
    --ap-warning-border: #e8c769;
    --ap-warning-text: #55461c;
    --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);
}

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_fields { row-gap: 28px; }

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

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gfield_required,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gfield_required_text {
    color: #9e3b32;
    font-size: .82em;
    font-weight: 600;
}

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

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="text"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="email"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="tel"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="number"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="date"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) select,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) 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;
}

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) textarea { min-height: 120px; }

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

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

/* Rubriker och paneler */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-section,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-section.gsection {
    margin-top: 8px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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;
}

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel > div,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel > .gfield_html,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel p,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel li { line-height: 1.62; }
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--intro > div,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--intro > .gfield_html,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--intro .gfield_html > div {
    border-left: 4px solid var(--ap-green-650) !important;
    background: #f8faf9 !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--info > div,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--info > .gfield_html,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--info .gfield_html > div {
    background: var(--ap-green-050) !important;
    border-color: #dce8e2 !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--warning > div,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--warning > .gfield_html,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--warning .gfield_html > div {
    background: var(--ap-warning-bg) !important;
    border-color: var(--ap-warning-border) !important;
    color: var(--ap-warning-text) !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--review > div,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--review > .gfield_html,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-panel--review .gfield_html > div {
    border-left: 4px solid var(--ap-green-650) !important;
    background: #f7faf8 !important;
}

/* Kompakta val */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-compact .gfield_radio,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-compact .gfield_checkbox {
    display: grid;
    gap: 8px;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-compact input[type="radio"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-compact input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ap-green-650);
}

/* Viktiga tvåvägsval – alltid symmetriska på desktop. */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .ginput_container,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .ginput_container_radio,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .ginput_container_checkbox {
    width: 100% !important;
    max-width: none !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gfield_radio,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gfield_checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gchoice {
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gchoice input[type="radio"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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);
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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);
}

/* Samtycken */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-acknowledgement,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-consent {
    padding: 14px 16px !important;
    border: 1px solid var(--ap-border-soft) !important;
    border-radius: var(--ap-radius-md) !important;
    background: #fbfcfb !important;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-acknowledgement input[type="checkbox"],
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ap-green-650);
}

/* Navigation */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_page_footer,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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);
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_next_button,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_button,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) 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;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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 */
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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;
}
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .validation_message,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .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) {
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gfield_radio,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gfield_checkbox {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="text"],
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="email"],
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="tel"],
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="number"],
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="date"],
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) select,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) textarea {
        min-height: 48px;
        font-size: 16px !important;
    }
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_page_footer,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_next_button,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_previous_button,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .gform_button,
    :is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) input[type="submit"] {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* =========================================================
   0.4.1 PRECISIONSJUSTERINGAR
   5–7. Fältspecifika hard locks mot Gravity Forms intrinsic
   sizing. Samtliga viktiga tvåvägsval blir exakt 50/50.
   ========================================================= */

:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .ginput_container,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .ginput_container_radio,
:is(#gform_wrapper_18, #gform_wrapper_19, #gform_wrapper_20) .ap-choice-cards .gfield_radio {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#gform_wrapper_18 #input_18_39,
#gform_wrapper_18 #input_18_24,
#gform_wrapper_19 #input_19_35,
#gform_wrapper_19 #input_19_43,
#gform_wrapper_19 #input_19_24,
#gform_wrapper_20 #input_20_24 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

#gform_wrapper_18 #input_18_39 > .gchoice,
#gform_wrapper_18 #input_18_24 > .gchoice,
#gform_wrapper_19 #input_19_35 > .gchoice,
#gform_wrapper_19 #input_19_43 > .gchoice,
#gform_wrapper_19 #input_19_24 > .gchoice,
#gform_wrapper_20 #input_20_24 > .gchoice,
#gform_wrapper_18 #input_18_39 > .gchoice > label,
#gform_wrapper_18 #input_18_24 > .gchoice > label,
#gform_wrapper_19 #input_19_35 > .gchoice > label,
#gform_wrapper_19 #input_19_43 > .gchoice > label,
#gform_wrapper_19 #input_19_24 > .gchoice > label,
#gform_wrapper_20 #input_20_24 > .gchoice > label {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

#gform_wrapper_18 #input_18_39 > .gchoice,
#gform_wrapper_18 #input_18_24 > .gchoice,
#gform_wrapper_19 #input_19_35 > .gchoice,
#gform_wrapper_19 #input_19_43 > .gchoice,
#gform_wrapper_19 #input_19_24 > .gchoice,
#gform_wrapper_20 #input_20_24 > .gchoice {
    display: block !important;
    flex: 0 0 auto !important;
}

#gform_wrapper_18 #input_18_39 > .gchoice > label,
#gform_wrapper_18 #input_18_24 > .gchoice > label,
#gform_wrapper_19 #input_19_35 > .gchoice > label,
#gform_wrapper_19 #input_19_43 > .gchoice > label,
#gform_wrapper_19 #input_19_24 > .gchoice > label,
#gform_wrapper_20 #input_20_24 > .gchoice > label {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

@media (max-width: 760px) {
    #gform_wrapper_18 #input_18_39,
    #gform_wrapper_18 #input_18_24,
    #gform_wrapper_19 #input_19_35,
    #gform_wrapper_19 #input_19_43,
    #gform_wrapper_19 #input_19_24,
    #gform_wrapper_20 #input_20_24 {
        grid-template-columns: 1fr !important;
    }
}
