/* Mobile Web V3 Publish Job — page-scoped native parity.
   Loaded only when the client publish/review flow has mobile_v3=1. */

@media (max-width: 63.99rem) {
    body.hm-request-v9-body {
        background: #fdf8f4 !important;
    }

    body.hm-request-v9-body > .hm-request-v9 {
        background: #fdf8f4 !important;
    }

    body.hm-request-v9-body .hm-request-v9-form {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    /* Step 1 — production-native Publish services. */
    body.hm-request-v9-body .hm-request-v9-step-one {
        padding-top: 24px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-one > h1 {
        margin: 0 0 22px !important;
        color: #10243e !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: -.2px !important;
        text-align: left !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-one > h1 + p {
        display: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search {
        display: grid !important;
        width: 100% !important;
        min-height: 52px !important;
        height: 52px !important;
        margin: 0 0 16px !important;
        grid-template-columns: 25px minmax(0, 1fr) 40px !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 0 6px 0 14px !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 17px !important;
        background: #fff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > svg {
        display: block !important;
        width: 25px !important;
        min-width: 25px !important;
        max-width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        max-height: 25px !important;
        fill: none !important;
        stroke: #10243e !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 0 !important;
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: #10243e !important;
        font: inherit !important;
        font-size: 17px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > input::placeholder {
        color: #8d98a5 !important;
        opacity: 1 !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > button {
        display: grid !important;
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #738091 !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    body.hm-request-v9-body .hm-request-v9-services {
        display: grid !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        border: 0 !important;
    }

    body.hm-request-v9-body .hm-request-v9-services > .hm-request-v9-service {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 150px !important;
        height: 150px !important;
        margin: 0 !important;
        padding: 24px 8px 10px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 14px !important;
        overflow: hidden !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 12px !important;
        background: #fdf8f4 !important;
        color: #10243e !important;
        box-shadow: none !important;
        text-align: center !important;
        box-sizing: border-box !important;
        transition: none !important;
    }

    body.hm-request-v9-body > .hm-request-v9 .hm-request-v9-step-one .hm-request-v9-services > .hm-request-v9-service.is-selected,
    body.hm-request-v9-body > .hm-request-v9 .hm-request-v9-step-one .hm-request-v9-services > .hm-request-v9-service:has(input[name="service"]:checked) {
        border: 1px solid #ef3340 !important;
        background-color: #fff5f6 !important;
        box-shadow: none !important;
        transition: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-icon {
        display: grid !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        padding: 0 !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-publish-service-icon-svg,
    body.hm-request-v9-body .hm-publish-service-icon-svg > svg,
    body.hm-request-v9-body .hm-request-v9-service-icon > .hm-publish-service-icon-svg,
    body.hm-request-v9-body .hm-request-v9-service-icon > .hm-publish-service-icon-svg > svg {
        display: block !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        padding: 0 !important;
        overflow: visible !important;
        color: #10243e !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-publish-service-icon-svg > svg {
        fill: none !important;
        stroke: #10243e !important;
        stroke-width: 2.15 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-name {
        display: -webkit-box !important;
        min-height: 42px !important;
        overflow: hidden !important;
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        text-align: center !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    body.hm-request-v9-body .hm-request-v9-service.is-selected .hm-request-v9-service-name {
        color: #ef3340 !important;
    }

    body.hm-request-v9-body .hm-request-v9-services > .hm-request-v9-service.hm-request-v9-service-more {
        display: flex !important;
        appearance: none !important;
        background: #fff !important;
        cursor: pointer !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-more .hm-request-v9-service-icon,
    body.hm-request-v9-body .hm-request-v9-service-more .hm-request-v9-service-name {
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-services .hm-request-v9-radio {
        display: none !important;
    }

    /* Step 2 — production-native details + photo actions. */
    body.hm-request-v9-body .hm-request-v9-step-two {
        padding-top: 24px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two > h1 {
        margin: 0 0 22px !important;
        color: #10243e !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: -.2px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-request-v9-fields {
        display: grid !important;
        gap: 0 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-request-v9-fields > label {
        display: grid !important;
        width: 100% !important;
        gap: 0 !important;
        margin: 0 !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-label,
    body.hm-request-v9-body .hm-request-v9-native-photo-heading {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-label {
        margin: 0 0 10px !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-label > strong,
    body.hm-request-v9-body .hm-request-v9-native-photo-heading > strong {
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-label > small,
    body.hm-request-v9-body .hm-request-v9-native-photo-heading > small {
        color: #738091 !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-form .hm-request-v9-step-two input[name="title"] {
        width: 100% !important;
        min-height: 52px !important;
        height: 52px !important;
        padding: 14px !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 12px !important;
        outline: 0 !important;
        background: #fff !important;
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-form .hm-request-v9-step-two textarea[name="description"] {
        display: block !important;
        width: 100% !important;
        min-height: 148px !important;
        height: 148px !important;
        max-height: 148px !important;
        padding: 14px !important;
        resize: none !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 12px !important;
        outline: 0 !important;
        background: #fff !important;
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two input[name="title"]::placeholder,
    body.hm-request-v9-body .hm-request-v9-step-two textarea[name="description"]::placeholder {
        color: #8d98a5 !important;
        opacity: 1 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two input[name="title"]:focus {
        border-color: #10243e !important;
        border-width: 1.3px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two textarea[name="description"]:focus {
        border-color: #ef3340 !important;
        border-width: 1.3px !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message {
        display: block !important;
        min-height: 23px !important;
        margin: 7px 2px 18px !important;
        color: #738091 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message.is-success {
        color: #18815a !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-photo-heading {
        margin: 0 0 8px !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-photo-help {
        margin: 0 0 14px !important;
        color: #738091 !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.45 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-actions.is-client {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 16px 12px !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 12px !important;
        row-gap: 5px !important;
        align-items: center !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 16px !important;
        background: #fff !important;
        color: #10243e !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > .hm-publish-material-icon {
        display: block !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        grid-row: 1 / span 2 !important;
        fill: #10243e !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > strong {
        min-width: 0 !important;
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > small {
        min-width: 0 !important;
        color: #738091 !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > input[type="file"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
    }

    /* Shared native wizard footer, first locked on visible Step 2. */
    body.hm-request-v9-body > .hm-request-v9-action.hm-wizard-viewport-action {
        transform: none !important;
    }

    body.hm-request-v9-body > .hm-request-v9-action.hm-wizard-viewport-action.is-keyboard-hidden {
        transform: translateY(110%) !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-row {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-row > [data-wizard-next] {
        min-width: 0 !important;
        min-height: 52px !important;
        height: 52px !important;
        flex: 1 1 auto !important;
        padding: 12px 10px !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: #ef3340 !important;
        color: #fff !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-row > [data-wizard-next]:disabled {
        background: #f8afb4 !important;
        color: #fff !important;
        opacity: 1 !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-back {
        display: grid !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        flex: 0 0 48px !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-back > svg {
        display: block !important;
        width: 26px !important;
        height: 26px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    /* Step 3 — production-native location and timing parity. */
    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] {
        padding-top: 24px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] > h1 {
        margin: 0 0 8px !important;
        color: #10243e !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] > p {
        margin: 0 0 18px !important;
        color: #738091 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location {
        display: grid !important;
        width: 100% !important;
        min-height: 64px !important;
        padding: 12px 14px !important;
        grid-template-columns: 27px minmax(0, 1fr) 24px !important;
        column-gap: 12px !important;
        align-items: center !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 16px !important;
        background: #fff !important;
        color: #10243e !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location > .hm-publish-material-icon {
        width: 27px !important;
        height: 27px !important;
        fill: currentColor !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location > span {
        display: grid !important;
        min-width: 0 !important;
        gap: 3px !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location strong {
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location small {
        color: #738091 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    body.hm-request-v9-body .hm-request-v9-current-location-chevron {
        width: 24px !important;
        height: 24px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-fields > label > span:first-child,
    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-field-title {
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control {
        display: grid !important;
        width: 100% !important;
        min-height: 52px !important;
        height: 52px !important;
        padding: 0 0 0 14px !important;
        grid-template-columns: 25px minmax(0, 1fr) 40px !important;
        column-gap: 10px !important;
        align-items: center !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 17px !important;
        background: #fff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control > svg {
        width: 25px !important;
        height: 25px !important;
        fill: none !important;
        stroke: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control > input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        height: 50px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: #10243e !important;
        font-size: 17px !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control > [data-city-clear] {
        width: 40px !important;
        height: 50px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-field-title {
        margin: 20px 0 10px !important;
        font-weight: 700 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing {
        gap: 10px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card {
        display: grid !important;
        min-height: 0 !important;
        padding: 12px 16px !important;
        grid-template-columns: 30px minmax(0, 1fr) 22px !important;
        column-gap: 16px !important;
        align-items: center !important;
        border: 1px solid #dfe2e6 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card:has(input:checked) {
        border: 1px solid #ef3340 !important;
        background-color: #fff5f6 !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-icon {
        display: grid !important;
        width: 30px !important;
        height: 30px !important;
        place-items: center !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card:has(input:checked) .hm-request-v9-timing-icon {
        color: #ef3340 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-icon > .hm-publish-material-icon {
        width: 30px !important;
        height: 30px !important;
        fill: currentColor !important;
        stroke: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-copy {
        gap: 4px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-copy > strong {
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-copy > small {
        color: #738091 !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-radio {
        display: grid !important;
        width: 22px !important;
        height: 22px !important;
        border: 0 !important;
        border-radius: 0 !important;
        place-items: center !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-radio > .hm-publish-material-icon {
        width: 22px !important;
        height: 22px !important;
        grid-area: 1 / 1 !important;
        fill: #9ca7b2 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-radio > .is-checked {
        display: none !important;
        fill: #ef3340 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card > input:checked ~ .hm-request-v9-radio > .is-unchecked {
        display: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card > input:checked ~ .hm-request-v9-radio > .is-checked {
        display: block !important;
    }

    body.hm-request-v9-body .hm-request-marketplace-insight {
        margin-top: 14px !important;
    }

    /* Step 4 — review parity; this stylesheet is loaded only by Mobile V3 review. */
    body.hm-client-review-body .hm-client-review-native {
        gap: 14px !important;
        padding-top: 24px !important;
    }

    body.hm-client-review-body .hm-client-review-native-heading h1 {
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    body.hm-client-review-body .hm-client-review-native-photos > h2 {
        margin-bottom: 10px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo {
        display: grid !important;
        min-height: 0 !important;
        padding: 14px !important;
        grid-template-columns: 28px minmax(0, 1fr) auto !important;
        gap: 12px !important;
        align-items: center !important;
        border: 1px dashed #c7d0d8 !important;
        border-radius: 14px !important;
        background: #f6f8fa !important;
        color: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo > .hm-publish-material-icon {
        width: 28px !important;
        height: 28px !important;
        fill: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo > span {
        display: grid !important;
        min-width: 0 !important;
        gap: 4px !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo strong {
        color: #10243e !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo small {
        color: #738091 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo > a {
        color: #ef3340 !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }

    body.hm-client-review-body .hm-client-review-native-panel {
        border: 1px solid #dfe2e6 !important;
        border-radius: 16px !important;
        box-shadow: none !important;
    }

    body.hm-client-review-body .hm-client-review-native-panel > header {
        min-height: 0 !important;
        padding: 6px 6px 6px 12px !important;
    }

    body.hm-client-review-body .hm-client-review-native-panel > header > strong,
    body.hm-client-review-body .hm-client-review-native-panel > header > a {
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-row {
        min-height: 0 !important;
        padding: 14px !important;
        grid-template-columns: 27px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: start !important;
    }

    body.hm-client-review-body .hm-client-review-native-row > .hm-publish-material-icon,
    body.hm-client-review-body .hm-client-review-native-service-icon,
    body.hm-client-review-body .hm-client-review-native-service-icon > svg {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        max-height: 27px !important;
    }

    body.hm-client-review-body .hm-client-review-native-row > .hm-publish-material-icon {
        fill: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-service-icon > svg {
        fill: none !important;
        stroke: #10243e !important;
        stroke-width: 2.15 !important;
    }

    body.hm-client-review-body .hm-client-review-native-row > span:not(.hm-client-review-native-service-icon) {
        gap: 6px !important;
    }

    body.hm-client-review-body .hm-client-review-native-row small {
        color: #10243e !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-row strong {
        overflow: visible !important;
        color: #536b82 !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy {
        padding: 14px !important;
        grid-template-columns: 32px minmax(0, 1fr) !important;
        gap: 14px !important;
        border: 1px solid transparent !important;
        border-radius: 16px !important;
        background: #eef5fb !important;
        color: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy-icon {
        position: relative !important;
        display: grid !important;
        width: 32px !important;
        height: 32px !important;
        place-items: center !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy-icon > [data-material-icon="shield_outlined"] {
        width: 30px !important;
        height: 30px !important;
        fill: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy-icon > [data-material-icon="lock_outline"] {
        position: absolute !important;
        width: 14px !important;
        height: 14px !important;
        fill: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy > span:last-child {
        gap: 4px !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy strong {
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy small {
        color: #738091 !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    body.hm-client-review-body .hm-client-review-actions {
        right: 0 !important;
        left: 0 !important;
        display: flex !important;
        width: min(32rem, 100vw) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 8px 16px calc(12px + env(safe-area-inset-bottom)) !important;
        align-items: center !important;
        gap: 8px !important;
        background: rgba(253, 249, 243, .98) !important;
        box-sizing: border-box !important;
    }

    body.hm-client-review-body .hm-client-review-native-previous {
        display: grid !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        place-items: center !important;
        color: #10243e !important;
        text-decoration: none !important;
    }

    body.hm-client-review-body .hm-client-review-native-previous > svg {
        width: 26px !important;
        height: 26px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.hm-client-review-body .hm-client-review-actions > form {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    body.hm-client-review-body .hm-client-review-actions > form > button,
    body.hm-client-review-body .hm-client-review-actions > .hm-button {
        width: 100% !important;
        min-height: 52px !important;
        height: 52px !important;
        flex: 1 1 auto !important;
        border-radius: 12px !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
        box-shadow: none !important;
    }
}

/* Step 1 — compact vertical service list + corrected search field. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-service-search {
        grid-template-columns: 26px minmax(0, 1fr) auto !important;
        gap: 12px !important;
        min-height: 56px !important;
        height: 56px !important;
        padding: 0 12px 0 14px !important;
        border-radius: 15px !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > svg {
        position: static !important;
        inset: auto !important;
        width: 25px !important;
        height: 25px !important;
        margin: 0 !important;
        transform: none !important;
        pointer-events: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > input {
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
        font-size: 18px !important;
        appearance: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-search > button[hidden] {
        display: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-services {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.hm-request-v9-body .hm-request-v9-services:not(.is-mobile-expanded):not(.is-searching) > .hm-request-v9-service.is-mobile-extra {
        display: grid !important;
    }

    body.hm-request-v9-body .hm-request-v9-services > .hm-request-v9-service {
        display: grid !important;
        min-height: 72px !important;
        height: auto !important;
        padding: 10px 14px !important;
        grid-template-columns: 50px minmax(0, 1fr) 34px !important;
        gap: 12px !important;
        align-items: center !important;
        justify-content: stretch !important;
        overflow: visible !important;
        border-radius: 14px !important;
        background: #fff !important;
        text-align: left !important;
    }

    body.hm-request-v9-body .hm-request-v9-services > .hm-request-v9-service.hm-request-v9-service-more {
        display: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-icon {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.hm-request-v9-body .hm-publish-service-icon-svg,
    body.hm-request-v9-body .hm-publish-service-icon-svg > svg,
    body.hm-request-v9-body .hm-request-v9-service-icon > .hm-publish-service-icon-svg,
    body.hm-request-v9-body .hm-request-v9-service-icon > .hm-publish-service-icon-svg > svg {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    body.hm-request-v9-body .hm-request-v9-service-name {
        display: block !important;
        min-height: 0 !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        overflow: visible !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: left !important;
        -webkit-line-clamp: unset !important;
    }

    body.hm-request-v9-body .hm-request-v9-services .hm-request-v9-radio {
        position: static !important;
        display: grid !important;
        width: 30px !important;
        height: 30px !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        place-items: center !important;
        border: 1.5px solid #8c98a6 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: transparent !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-service:has(input[name="service"]:checked) .hm-request-v9-radio {
        border-color: #ef3340 !important;
        background: #ef3340 !important;
        color: #fff !important;
    }

    body.hm-request-v9-body .hm-request-v9-service:has(input[name="service"]:checked) .hm-request-v9-radio::after {
        content: "✓";
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
    }

    body.hm-request-v9-body > .hm-request-v9 .hm-request-v9-step-one .hm-request-v9-services > .hm-request-v9-service:has(input[name="service"]:checked) {
        background: #fff7f7 !important;
        border-color: #ef3340 !important;
    }

    body.hm-request-v9-body .hm-request-v9-service:has(input[name="service"]:checked) .hm-request-v9-service-icon,
    body.hm-request-v9-body .hm-request-v9-service:has(input[name="service"]:checked) .hm-request-v9-service-name {
        color: #ef3340 !important;
    }
}

/* Exit sheet + Step 2 completion feedback — native parity. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-native-field-message {
        display: flex !important;
        min-height: 28px !important;
        margin: 8px 2px 18px !important;
        align-items: center !important;
        gap: 8px !important;
        color: #738091 !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message.is-success {
        color: #2c8a73 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message.is-success::before {
        content: "✓";
        display: inline-block;
        flex: 0 0 auto;
        color: #2c8a73;
        font-size: 27px;
        font-weight: 400;
        line-height: 1;
    }

    body.hm-request-v9-body .hm-request-v9-exit-info {
        display: none;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit {
        border-radius: 28px 28px 0 0 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit > section {
        padding: 8px 16px calc(16px + env(safe-area-inset-bottom)) !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit > section > header {
        grid-template-columns: 48px minmax(0,1fr) 44px !important;
        gap: 12px !important;
        padding: 6px 0 18px !important;
        align-items: start !important;
        border-bottom: 0 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-exit-info {
        display: grid;
        width: 46px;
        height: 46px;
        place-items: center;
        border-radius: 14px;
        background: #e7f7f4;
        color: #149681;
        font-size: 28px;
        font-weight: 700;
        line-height: 1;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit header h2 {
        margin-top: 2px !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit header p {
        margin-top: 8px !important;
        color: #788492 !important;
        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit header > button {
        width: 44px !important;
        height: 44px !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #738091 !important;
        font-size: 34px !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-list {
        margin-top: 6px !important;
        border: 1px solid #dfe3e7 !important;
        border-radius: 16px !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-list > button {
        min-height: 64px !important;
        padding: 12px 16px !important;
        grid-template-columns: 34px minmax(0,1fr) !important;
        gap: 14px !important;
        font-size: 18px !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-list svg {
        width: 28px !important;
        height: 28px !important;
        stroke-width: 1.8 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-list span {
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-cancel {
        min-height: 56px !important;
        margin-top: 18px !important;
        border-radius: 14px !important;
        background: #102b4d !important;
        color: #fff !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }
}

/* Publish exit sheet + Step 2 completion state final polish. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-native-field-message[hidden] {
        display: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-exit-info {
        align-self: start !important;
    }

    body.hm-request-v9-body .hm-request-v9-options.is-exit .hm-request-v9-options-handle {
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

/* Job publish final compactness parity with professional onboarding. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-services {
        overflow: visible !important;
    }

    body.hm-request-v9-body .hm-request-v9-services > .hm-request-v9-service {
        overflow: hidden !important;
        border-radius: 16px !important;
        background-clip: padding-box !important;
        isolation: isolate !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message {
        display: block !important;
        min-height: 0 !important;
        margin: -8px 2px 20px !important;
        color: #27846f !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message.is-success::before {
        content: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message:not(.is-success) {
        color: #738091 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-actions.is-client {
        gap: 12px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option {
        min-height: 116px !important;
        padding: 16px 12px !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 12px !important;
        row-gap: 4px !important;
        align-content: center !important;
        align-items: center !important;
        border-radius: 16px !important;
        text-align: left !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > .hm-v3-icon {
        width: 38px !important;
        height: 38px !important;
        grid-row: 1 / 3 !important;
        color: #10243e !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > strong {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > small {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-step-two .hm-character-count {
        display: none !important;
    }
}

/* Job Step 2 success/error spacing — match professional onboarding. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-native-field-message {
        margin: 10px 2px 22px !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message.is-success {
        color: #27846f !important;
    }

    body.hm-request-v9-body .hm-request-v9-native-field-message:not(.is-success) {
        color: #738091 !important;
    }
}

/* Job Step 2 — keep native spacing even before validation text appears. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-step-two .hm-request-v9-fields > label:has(.hm-request-v9-native-field-message[hidden]) {
        margin-bottom: 22px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > strong,
    body.hm-request-v9-body .hm-request-v9-step-two .hm-photo-source-option > small {
        width: 100% !important;
        justify-self: start !important;
        text-align: left !important;
    }
}

/* Job Step 3 — location/or/footer parity with professional onboarding. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-or {
        display: grid !important;
        width: 100% !important;
        margin: 14px 0 !important;
        grid-template-columns: 1fr auto 1fr !important;
        gap: 14px !important;
        align-items: center !important;
        color: #738091 !important;
        text-align: center !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-or > span {
        display: block !important;
        height: 1px !important;
        background: #dddcd7 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-or > small {
        font-size: 17px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control {
        min-height: 58px !important;
        height: 58px !important;
        padding: 0 12px 0 14px !important;
        grid-template-columns: 26px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
        border-radius: 16px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control > svg {
        position: static !important;
        inset: auto !important;
        width: 26px !important;
        height: 26px !important;
        margin: 0 !important;
        transform: none !important;
        fill: none !important;
        stroke: #10243e !important;
        stroke-width: 2 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        pointer-events: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox-control > input {
        min-height: 56px !important;
        height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
        font-size: 18px !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-row {
        gap: 10px !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-back {
        width: 78px !important;
        min-width: 78px !important;
        max-width: 78px !important;
        height: 54px !important;
        min-height: 54px !important;
        flex: 0 0 78px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.hm-request-v9-body .hm-request-v9-action-back > svg {
        width: 31px !important;
        height: 31px !important;
        stroke-width: 1.8 !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-required {
        margin: 14px 2px 8px !important;
        color: #667587 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
    }
}

/* Step 3 city focus + timing radio polish. */
@media (max-width: 63.99rem) {
    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-city-combobox {
        scroll-margin-top: 118px !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-radio {
        position: relative !important;
        display: grid !important;
        width: 30px !important;
        height: 30px !important;
        place-items: center !important;
        border: 2px solid #9aa6b2 !important;
        border-radius: 50% !important;
        background: #fff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card:has(input:checked) .hm-request-v9-radio {
        border-color: #ef3340 !important;
        background: #fff !important;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-timing-card:has(input:checked) .hm-request-v9-radio::after {
        content: "";
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #ef3340;
    }

    body.hm-request-v9-body .hm-request-v9-step[data-step="3"] .hm-request-v9-radio > * {
        display: none !important;
    }
}

/* Job Step 4 review — canonical icons + photo edit return flow. */
@media (max-width: 63.99rem) {
    body.hm-client-review-body .hm-client-review-native-photos-head {
        display: flex !important;
        margin-bottom: 10px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    body.hm-client-review-body .hm-client-review-native-photos-head h2 {
        margin: 0 !important;
        color: #10243e !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    body.hm-client-review-body .hm-client-review-native-photos-head a {
        flex: 0 0 auto !important;
        color: #ef3340 !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo > .hm-v3-icon,
    body.hm-client-review-body .hm-client-review-native-row > .hm-v3-icon {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        max-height: 27px !important;
        fill: none !important;
        stroke: #10243e !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        color: #10243e !important;
    }

    body.hm-client-review-body .hm-client-review-native-empty-photo > .hm-v3-icon {
        color: #738091 !important;
        stroke: #738091 !important;
    }

    body.hm-client-review-body .hm-client-review-native-privacy > .hm-v3-icon {
        width: 32px !important;
        height: 32px !important;
        color: #10243e !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.hm-client-review-body .hm-client-review-publish-mobile {
        display: inline !important;
    }

    body.hm-client-review-body .hm-client-review-publish-desktop {
        display: none !important;
    }

    body.hm-request-v9-body [data-request-scroll-target="photos"] {
        scroll-margin-top: 116px !important;
    }
}

body.hm-request-v9-body .hm-request-v9-description-guide {
    margin: 4px 0 14px;
    padding: 12px 13px;
    border: 1px solid #d8eae6;
    border-radius: 14px;
    background: #f1f7f6;
}

body.hm-request-v9-body .hm-request-v9-description-guide > strong {
    display: block;
    margin-bottom: 7px;
    color: #245b52;
    font-size: 16px;
    font-weight: 700;
}

body.hm-request-v9-body .hm-request-v9-description-guide ul {
    margin: 0;
    padding-left: 19px;
    color: #526473;
}

body.hm-request-v9-body .hm-request-v9-description-guide li {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.4;
}

body.hm-request-v9-body .hm-request-v9-description-guide li:last-child {
    margin-bottom: 0;
}
