/*
 * FindMyPerson member readability layer — 2026-10-07
 * Optimised for the site's core 40–70 audience.
 * Loaded after page-specific styles so typography stays consistent across
 * authentication, profile setup/editing, photos, verification and profile view.
 */

/* Comfortable default reading size */
body {
    font-size: 18px;
    line-height: 1.55;
}

button,
input,
select,
textarea {
    font-size: 18px;
}

/* Shared site chrome */
.fmp-chrome-top > div {
    font-size: 16px;
}
.fmp-chrome-footer {
    font-size: 17px;
    line-height: 1.55;
}
.fmp-chrome-footer nav,
.fmp-chrome-footer small {
    font-size: 16px;
    line-height: 1.5;
}

/* Sign in / account / email verification screens */
.auth-heading h1 {
    font-size: 32px;
    line-height: 1.2;
}
.auth-heading p,
.auth-card > p {
    font-size: 18px;
    line-height: 1.6;
}
.auth-field label {
    font-size: 18px;
    line-height: 1.4;
}
.auth-field input {
    min-height: 54px;
    font-size: 18px;
}
.auth-field p,
.auth-safety {
    font-size: 16px;
    line-height: 1.55;
}
.auth-check,
.auth-alert,
.auth-switch,
.auth-links,
.auth-actions,
.account-summary {
    font-size: 17px;
}
.auth-primary,
.auth-secondary,
.auth-danger {
    min-height: 54px;
    font-size: 18px;
}

/* Profile setup and editing */
.desktop-tabs > * {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}
.profile-card h1,
.intro h1 {
    font-size: 32px;
    line-height: 1.2;
}
.intro > p {
    font-size: 18px;
    line-height: 1.6;
}
.progress-copy {
    font-size: 16px;
    line-height: 1.4;
}
.step-number {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    font-size: 17px;
}
.section-heading h2 {
    font-size: 26px;
    line-height: 1.25;
}
.section-heading p {
    font-size: 17px;
    line-height: 1.55;
}
.form-field > label,
.form-field > legend,
.label-row label,
.language-select-label,
.caption-form label,
.crop-caption,
.document-choice,
.match-dealbreakers > legend {
    font-size: 18px;
    line-height: 1.4;
}
input[type="date"],
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea,
.unit-field input,
.other-interests input,
.interest-detail > input {
    min-height: 52px;
    font-size: 18px;
    line-height: 1.45;
}
textarea {
    line-height: 1.55;
}
.segmented-control span,
.looking-genders span,
.language-levels span {
    font-size: 17px;
    line-height: 1.35;
}
.character-count,
.field-help,
.privacy-note,
.field-error,
.field-status,
.privacy-choice,
.selection-footer > span,
.favourite-food-section > p,
.personality-footer > div:first-child > span,
.personality-footer > div:first-child p,
.personality-preference-row small {
    font-size: 16px;
    line-height: 1.5;
}
.field-status.is-unavailable {
    font-size: 17px;
    line-height: 1.45;
}
.nz-only-notice strong,
.dob-verification-notice strong {
    font-size: 19px;
    line-height: 1.4;
}
.nz-only-notice p,
.dob-verification-notice p {
    font-size: 17px;
    line-height: 1.55;
}
.primary-button,
.secondary-button,
.skip-section-link {
    font-size: 18px;
}
.primary-button,
.secondary-button {
    min-height: 54px;
}
.skip-section-link {
    line-height: 1.45;
}
.interest-tabs button {
    min-height: 49px;
    font-size: 17px;
}
.interest-tile > span:nth-child(2) {
    font-size: 16px;
    line-height: 1.35;
}
.interest-detail legend,
.favourite-food-section > legend {
    font-size: 18px;
}
.choice-pills span {
    min-height: 50px;
    font-size: 16px;
    line-height: 1.35;
}
.detail-checks label,
.movie-rank-option,
.children-options span,
.lifestyle-row,
.priority-row,
.selected-language-row {
    font-size: 17px;
    line-height: 1.4;
}
.children-section > legend,
.match-priorities > legend,
.language-section > legend {
    font-size: 21px;
}
.personality-group > h2 {
    font-size: 22px;
}
.personality-question legend {
    font-size: 18px;
    line-height: 1.5;
}
.likert-endpoints {
    font-size: 16px;
    line-height: 1.35;
}
.likert-scale span {
    min-height: 48px;
    font-size: 17px;
}
.deep-personality-card h2 {
    font-size: 21px;
}
.coming-later {
    font-size: 16px;
}
.age-range-fields label {
    font-size: 16px;
}
.personality-preferences summary {
    font-size: 18px;
}
.personality-preferences summary span {
    font-size: 14px;
}

/* Photos */
.photo-skip-warning strong,
.approval-notice strong {
    font-size: 18px;
    line-height: 1.4;
}
.photo-skip-warning p,
.approval-notice p,
.blind-date-notice p,
.live-photo-verification-panel p,
.crop-shell header p,
.live-camera-message,
.processing-note,
.main-photo-required {
    font-size: 17px;
    line-height: 1.55;
}
.blind-date-notice strong {
    font-size: 19px;
    line-height: 1.4;
}
.photo-guidance strong {
    font-size: 17px;
    line-height: 1.4;
}
.photo-guidance p,
.live-photo-help,
.upload-date,
.caption-form label small,
.crop-caption small,
.verification-levels-copy p {
    font-size: 16px;
    line-height: 1.5;
}
.photo-slot-heading > div span,
.status {
    font-size: 15px;
}
.photo-slot-heading > div strong {
    font-size: 18px;
    line-height: 1.35;
}
.photo-placeholder small {
    font-size: 16px;
    line-height: 1.45;
}
.live-photo-verification-panel > div > span,
.verification-levels-copy > span {
    font-size: 14px;
}
.live-photo-verification-panel h2,
.verification-levels-copy h2 {
    font-size: 22px;
}
.verification-examples strong {
    font-size: 16px;
    line-height: 1.35;
}
.verification-examples small {
    font-size: 15px;
    line-height: 1.4;
}
.remove-form button {
    font-size: 16px;
}

/* Optional identity/photo verification */
.optional-label {
    font-size: 15px;
}
.verification-heading p {
    font-size: 18px;
    line-height: 1.55;
}
.trust-benefits strong {
    font-size: 17px;
    line-height: 1.4;
}
.trust-benefits p {
    font-size: 16px;
    line-height: 1.55;
}
.verification-status,
.verification-success,
.option-heading p,
.pose-instructions,
.privacy-assurance,
.age-locked,
.document-guidance,
.record-instructions p,
.live-prompt,
.recording-status,
.camera-error,
.live-camera-message {
    font-size: 17px;
    line-height: 1.55;
}
.option-heading h2 {
    font-size: 23px;
}
.option-level {
    font-size: 14px;
}
.option-badge.age {
    font-size: 15px;
}
.record-instructions h2 {
    font-size: 22px;
}
.camera-placeholder small,
.verification-footer p,
.live-photo-shell header p {
    font-size: 16px;
    line-height: 1.5;
}

/* Personality chart shown on member profiles */
.personality-chart-note {
    font-size: 17px;
}
.personality-chart-title h3 {
    font-size: 18px;
}
.personality-chart-title > span {
    font-size: 16px;
}
.personality-chart-ends {
    font-size: 15px;
}

/* Member profile view */
.member-profile {
    font-size: 18px;
    line-height: 1.55;
}
.preview-toolbar,
.profile-state-note {
    font-size: 16px;
    line-height: 1.5;
}
.member-photo-grid figcaption,
.photo-privacy-note,
.verification-note,
.looking-summary small,
.fact-grid dt,
.lifestyle-grid dt,
.tag-list span,
.interest-chip-grid span,
.interest-answer strong,
.children-summary h3,
.personality-grid strong {
    font-size: 16px;
    line-height: 1.45;
}
.interest-answer span,
.personality-grid span {
    font-size: 17px;
}
.member-button {
    min-height: 52px;
    font-size: 18px;
}

/* Mobile: do not shrink reading copy just because the screen is smaller. */
@media (max-width: 700px) {
    body {
        font-size: 18px;
    }
    .auth-heading h1,
    .profile-card h1,
    .intro h1 {
        font-size: 29px;
    }
    .auth-field label,
    .auth-field input,
    .form-field > label,
    .form-field > legend,
    input[type="date"],
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="password"],
    select,
    textarea {
        font-size: 18px;
    }
    .intro > p,
    .auth-heading p,
    .auth-card > p {
        font-size: 18px;
    }
    .section-heading h2 {
        font-size: 25px;
    }
    .section-heading p {
        font-size: 17px;
    }
    .interest-tile > span:nth-child(2),
    .choice-pills span {
        font-size: 16px;
    }
    .personality-question legend {
        font-size: 18px;
    }
    .likert-endpoints {
        font-size: 15px;
    }
    .segmented-control span {
        font-size: 17px;
    }

    /* Seven-step footer is space constrained, so make it larger and allow wrapping. */
    .profile-shell {
        padding-bottom: 106px;
    }
    .mobile-steps b {
        width: 24px;
        height: 24px;
        font-size: 13px;
    }
    .mobile-steps small {
        max-width: 100%;
        overflow: visible;
        font-size: 13px;
        font-weight: 750;
        line-height: 1.15;
        text-align: center;
        white-space: normal;
        text-overflow: clip;
    }
    .preview-toolbar,
    .profile-state-note {
        font-size: 16px;
    }
    .member-profile {
        font-size: 18px;
    }
}

@media (max-width: 370px) {
    .segmented-control span {
        font-size: 16px;
    }
}

/* ======================================================================
 * High-contrast member palette — 2026-10-08
 * White surfaces + black text. State/selection is conveyed by borders,
 * weight and dark progress indicators instead of coloured backgrounds.
 * ====================================================================== */
:root {
    --ink: #000;
    --muted: #000;
    --navy: #000;
    --pink: #000;
    --pink-dark: #000;
    --green: #000;
    --line: #777;
    --soft: #fff;
    --white: #fff;
    --member-navy: #000;
    --member-ink: #000;
    --member-pink: #000;
    --member-muted: #000;
    --member-line: #777;
    --member-soft: #fff;
    --member-green: #000;
}

html,
body,
.auth-shell,
.auth-card,
.profile-shell,
.profile-card,
.member-view-shell,
.member-profile,
.fmp-chrome-top,
.fmp-chrome-footer {
    background: #fff !important;
    color: #000 !important;
}

/* All readable member-facing copy is black, including links and status text. */
.auth-shell :where(h1,h2,h3,h4,p,span,strong,b,small,label,legend,a,button,li,dt,dd,summary),
.profile-shell :where(h1,h2,h3,h4,p,span,strong,b,small,label,legend,a,button,li,dt,dd,summary,figcaption),
.member-view-shell :where(h1,h2,h3,h4,p,span,strong,b,small,label,legend,a,button,li,dt,dd,summary,figcaption),
.fmp-chrome-top,
.fmp-chrome-top a,
.fmp-chrome-footer,
.fmp-chrome-footer a,
.fmp-chrome-footer strong,
.fmp-chrome-footer small {
    color: #000 !important;
}

/* Forms remain plain white with a clear border. */
.auth-field input,
input[type="date"],
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea,
.unit-field input,
.other-interests input,
.interest-detail > input,
.document-choice select {
    color: #000 !important;
    background: #fff !important;
    border-color: #777 !important;
}
input:disabled,
select:disabled,
textarea:disabled {
    color: #000 !important;
    background: #fff !important;
    border-color: #999 !important;
    opacity: 1 !important;
}
input::placeholder,
textarea::placeholder {
    color: #333 !important;
    opacity: 1 !important;
}

/* Buttons and links: white, black, bordered. */
.primary-button,
.secondary-button,
.auth-primary,
.auth-secondary,
.auth-danger,
.member-button,
.member-button.secondary,
.verification-repeat-button,
.remove-form button,
.language-add-button,
.dialog-close,
.live-camera-actions button,
.record-actions button {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border: 2px solid #000 !important;
    box-shadow: none !important;
}
.primary-button:hover,
.secondary-button:hover,
.auth-primary:hover,
.auth-secondary:hover,
.auth-danger:hover,
.member-button:hover,
.verification-repeat-button:hover,
.remove-form button:hover {
    color: #000 !important;
    background: #fff !important;
}
a,
.skip-section-link,
.auth-danger-link,
.preview-toolbar a {
    color: #000 !important;
}

/* Navigation uses underline/borders rather than tinted backgrounds. */
.desktop-tabs > *,
.desktop-tabs .active,
.interest-tabs button,
.interest-tabs button.active,
.mobile-steps,
.mobile-steps span,
.mobile-steps a {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
}
.desktop-tabs .active,
.interest-tabs button.active {
    border-bottom-color: #000 !important;
    font-weight: 850 !important;
}
.mobile-steps b,
.mobile-steps .active b,
.step-number {
    color: #000 !important;
    background: #fff !important;
    border: 2px solid #000 !important;
}

/* Selection controls stay white; the black border indicates the choice. */
.segmented-control input:checked + span,
.interest-option input:checked + .interest-tile,
.choice-pills input:checked + span,
.children-options input:checked + span,
.likert-scale input:checked + span,
.looking-genders input:checked + span,
.language-levels input:checked + span {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: #000 !important;
    box-shadow: inset 0 0 0 2px #000 !important;
    font-weight: 850 !important;
}
.interest-tile b,
.children-options span::before,
.deep-icon,
.photo-placeholder > span,
.live-camera-placeholder span,
.live-camera-placeholder span::after {
    color: #000 !important;
    background: #fff !important;
    border: 2px solid #000 !important;
}

/* Every informational panel/card is a white bordered surface. */
.auth-alert,
.nz-only-notice,
.dob-verification-notice,
.field-status.is-unavailable,
.error-summary,
.interest-detail,
.lifestyle-row,
.children-section,
.child-age-ranges,
.favourite-food-section,
.personality-intro,
.personality-question,
.personality-question.unanswered,
.deep-personality-card,
.match-priorities,
.priority-row,
.personality-preferences,
.language-section,
.selected-language-row,
.photo-skip-warning,
.approval-notice,
.blind-date-notice,
.photo-guidance > div,
.photo-success,
.photo-slot,
.status,
.live-photo-verification-panel,
.photo-upload-requirements,
.photo-client-error,
.verification-levels,
.verification-examples > div,
.trust-benefits > div,
.verification-status,
.verification-success,
.verification-option,
.pose-instructions,
.verification-example-card,
.privacy-assurance,
.age-locked,
.live-prompt,
.camera-error,
.preview-toolbar,
.profile-state-note,
.photo-privacy-note,
.verification-note,
.about-card,
.looking-summary,
.fact-grid > div,
.lifestyle-grid > div,
.tag-list span,
.detail-tags span,
.interest-chip-grid span,
.interest-answer,
.children-summary > p,
.children-summary > div,
.personality-profile-summary,
.personality-grid > div,
.personality-chart-trait {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: #777 !important;
    box-shadow: none !important;
}
.auth-alert,
.nz-only-notice,
.dob-verification-notice,
.field-status.is-unavailable,
.error-summary,
.photo-skip-warning,
.approval-notice,
.photo-success,
.photo-client-error,
.verification-status,
.verification-success,
.pose-instructions,
.privacy-assurance,
.age-locked,
.camera-error,
.personality-profile-summary {
    border: 2px solid #777 !important;
    border-left: 5px solid #000 !important;
}

/* Status pills and level labels no longer use coloured fills. */
.status.pending,
.status.approved,
.status.rejected,
.status.empty,
.optional-label,
.option-level,
.personality-preferences summary span,
.verification-note {
    color: #000 !important;
    background: #fff !important;
    border: 1px solid #777 !important;
}

/* Verification/avatar badges use outlines instead of coloured circles. */
.photo-verification-badge,
.photo-verification-badge.live-photo,
.photo-verification-badge.live-video,
.photo-verification-badge.unverified,
.option-badge,
.option-badge.photo,
.option-badge.video,
.option-badge.age,
.verification-shield,
.trust-benefits > div > span,
.section-icon,
.profile-section-heading > span {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border: 2px solid #000 !important;
    box-shadow: none !important;
}
.photo-verification-badge.live-photo span {
    background: #000 !important;
    border-color: #000 !important;
}

/* Example overlays are white cards over the image, with black copy. */
.example-overlay,
.example-overlay span {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #000 !important;
}
.example-overlay small,
.example-overlay strong {
    color: #000 !important;
}
.video-example-strip,
.video-example-strip img,
.verification-example-frame {
    background: #fff !important;
    border-color: #777 !important;
}

/* Camera placeholders/countdowns: readable black on white. Live video itself is unaffected. */
.camera-placeholder,
.live-camera-placeholder {
    color: #000 !important;
    background: #fff !important;
}
.record-countdown,
.record-countdown.recording,
.live-photo-countdown {
    color: #000 !important;
    background: #fff !important;
    border: 3px solid #000 !important;
    box-shadow: none !important;
}

/* Dialog content is white. Backdrops stay translucent solely to separate the dialog. */
.interest-dialog,
.crop-shell,
.live-photo-shell {
    color: #000 !important;
    background: #fff !important;
}

/* Progress and personality meters retain a visible non-text indicator, but no tinted panel. */
.progress-track {
    background: #fff !important;
    border: 1px solid #777 !important;
}
.progress-track span {
    background: #fa0a62 !important;
}
.personality-chart-meter::-webkit-meter-bar {
    background: #fff !important;
    border: 1px solid #777 !important;
}
.personality-chart-meter::-webkit-meter-optimum-value,
.personality-chart-meter::-moz-meter-bar {
    background: #fa0a62 !important;
}

/* Photo areas may show actual images, but empty/rejected text panels stay white. */
.photo-placeholder,
.rejected-overlay,
.rejected-overlay strong {
    color: #000 !important;
    background: #fff !important;
    border-color: #777 !important;
}

/* Footer follows the same white/black rule. */
.fmp-chrome-footer {
    border-top: 1px solid #777 !important;
}

/* Remaining neutral surfaces found in the full member-style audit. */
.avatar,
.likert-scale span,
.language-remove,
.photo-preview,
.blind-date-notice img,
.example-avatar img,
.main-member-photo,
.main-member-photo.blind-photo,
.member-photo-grid img {
    color: #000 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: #777 !important;
}
.language-remove {
    border: 1px solid #777 !important;
}
.likert-scale span {
    border-color: #777 !important;
}
.main-member-photo.blind-photo {
    border: 1px solid #777 !important;
}


/* FindMyPerson colour accents: white surfaces stay high-contrast; red is reserved for progress and section markers. */
.step-number {
    color: #fff !important;
    background: #fa0a62 !important;
    border: 2px solid #fa0a62 !important;
}
@media (max-width: 700px) {
    .mobile-steps b,
    .mobile-steps .active b {
        color: #fff !important;
        background: #fa0a62 !important;
        border: 2px solid #fa0a62 !important;
    }
}
.progress-track span {
    background: #fa0a62 !important;
}
.personality-chart-meter {
    accent-color: #fa0a62 !important;
}
.personality-chart-meter::-webkit-meter-optimum-value,
.personality-chart-meter::-moz-meter-bar {
    background: #fa0a62 !important;
}


/* Build green-selection accents: preserve white surfaces while making selected controls obvious. */
.step-number { color:#fff !important; background:#fa0a62 !important; border-color:#fa0a62 !important; }
.likert-scale input:checked + span { color:#087a50 !important; background:#fff !important; border:2px solid #087a50 !important; box-shadow:none !important; font-weight:850 !important; }
.interest-option input:checked + .interest-tile { color:#000 !important; background:#fff !important; border:2px solid #087a50 !important; box-shadow:none !important; }
.interest-option input:checked + .interest-tile b { color:#fff !important; background:#087a50 !important; border:2px solid #087a50 !important; box-shadow:none !important; }
@media (max-width:700px){ .mobile-steps b,.mobile-steps .active b { color:#fff !important; background:#fa0a62 !important; border-color:#fa0a62 !important; } }


/* Build D4A8F1C3: stronger green selected-state borders across member choices. */
:root { --selection-green:#087a50; }
.segmented-control input:checked + span,
.choice-pills input:checked + span,
.children-options input:checked + span,
.likert-scale input:checked + span,
.looking-genders input:checked + span,
.language-levels input:checked + span {
    color:var(--selection-green) !important;
    background:#fff !important;
    background-image:none !important;
    border:3px solid var(--selection-green) !important;
    box-shadow:none !important;
    font-weight:850 !important;
}
.interest-option input:checked + .interest-tile {
    color:#000 !important;
    background:#fff !important;
    border:3px solid var(--selection-green) !important;
    box-shadow:none !important;
}
.interest-option input:checked + .interest-tile b {
    color:#fff !important;
    background:var(--selection-green) !important;
    border:3px solid var(--selection-green) !important;
    box-shadow:none !important;
}
.children-options input:checked + span::before {
    border-color:var(--selection-green) !important;
}
.detail-checks label:has(input:checked),
.movie-rank-option:has(> input:checked) {
    color:var(--selection-green) !important;
    background:#fff !important;
    border:3px solid var(--selection-green) !important;
    font-weight:800 !important;
}
.detail-checks input:checked,
.movie-rank-option > input:checked,
.privacy-choice input:checked {
    accent-color:var(--selection-green) !important;
}


/* Build: primary/secondary action hierarchy + photo moderation states */
.form-actions .primary-button {
    min-height:52px !important;
    color:#fff !important;
    background:#fa0a62 !important;
    background-image:none !important;
    border:3px solid #fa0a62 !important;
    border-radius:8px !important;
    box-shadow:none !important;
    font-weight:850 !important;
}
.form-actions .primary-button:hover {
    color:#fff !important;
    background:#d60853 !important;
    border-color:#d60853 !important;
}
.form-actions .secondary-button {
    min-height:52px !important;
    color:#000 !important;
    background:#fff !important;
    border:2px solid #222 !important;
    border-radius:8px !important;
    box-shadow:none !important;
    font-weight:850 !important;
}
.form-actions .secondary-button:hover {
    color:#000 !important;
    background:#f3f3f3 !important;
    border-color:#000 !important;
}
.form-actions .primary-button:focus-visible,
.form-actions .secondary-button:focus-visible {
    outline:3px solid #000 !important;
    outline-offset:3px !important;
}
.form-actions .primary-button:disabled,
.form-actions .primary-button[aria-disabled="true"] {
    color:#666 !important;
    background:#f2f2f2 !important;
    border-color:#aaa !important;
    opacity:1 !important;
}
.status.approved {
    color:#087a50 !important;
    background:#fff !important;
    border:3px solid #087a50 !important;
}
.status.rejected {
    color:#b00020 !important;
    background:#fff !important;
    border:3px solid #b00020 !important;
}
.photo-slot.is-approved { border:3px solid #087a50 !important; }
.photo-slot.is-rejected { border:3px solid #b00020 !important; }
.rejected-overlay {
    color:#b00020 !important;
    background:rgba(255,255,255,.94) !important;
}
.rejected-overlay strong {
    color:#b00020 !important;
    background:#fff !important;
    border:3px solid #b00020 !important;
}
.rejected-overlay span {
    color:#000 !important;
    text-shadow:none !important;
}


/* Build: explicit action colours and section-number contrast. These selectors intentionally outrank the global black-text accessibility rule. */
.profile-shell .section-heading > .step-number,
.profile-shell .section-heading .step-number {
    color:#fff !important;
    background:#fa0a62 !important;
    border-color:#fa0a62 !important;
}
@media (max-width:700px) {
    .profile-shell .mobile-steps b {
        color:#000 !important;
        background:#fff !important;
        border:2px solid #111 !important;
        box-sizing:border-box;
    }
    .profile-shell .mobile-steps .active b {
        color:#fff !important;
        background:#fa0a62 !important;
        border-color:#fa0a62 !important;
    }
}
.profile-shell .finish-photos:not(.disabled),
.profile-shell .verification-footer .verification-finish-primary {
    color:#fff !important;
    background:#fa0a62 !important;
    background-image:none !important;
    border:3px solid #fa0a62 !important;
    border-radius:8px !important;
    box-shadow:none !important;
    font-weight:850 !important;
}
.profile-shell .finish-photos:not(.disabled):hover,
.profile-shell .verification-footer .verification-finish-primary:hover {
    color:#fff !important;
    background:#d60853 !important;
    border-color:#d60853 !important;
}
.profile-shell .finish-photos.disabled {
    color:#666 !important;
    background:#f2f2f2 !important;
    border:3px solid #aaa !important;
    opacity:1 !important;
}
.profile-shell .remove-form button {
    min-height:46px !important;
    padding:0 16px !important;
    color:#fff !important;
    background:#b00020 !important;
    background-image:none !important;
    border:3px solid #b00020 !important;
    border-radius:8px !important;
    box-shadow:none !important;
    font-weight:850 !important;
    text-decoration:none !important;
}
.profile-shell .remove-form button:hover {
    color:#fff !important;
    background:#8f001a !important;
    border-color:#8f001a !important;
}
.profile-shell .verification-footer .verification-skip-secondary {
    color:#000 !important;
    background:#fff !important;
    border:2px solid #222 !important;
    border-radius:8px !important;
    box-shadow:none !important;
}

/* Validation summary: keep errors visually distinct without a coloured background. */
.error-summary {
    color: #c41230 !important;
    background: #fff !important;
    border: 3px solid #c41230 !important;
    border-left: 5px solid #c41230 !important;
    box-shadow: none !important;
}
.error-summary strong,
.error-summary ul,
.error-summary li,
.error-summary p,
.error-summary a {
    color: #c41230 !important;
}
