/* Photography clarifies choices on the form; the result stays a concise text estimate. */
.template-app-estimate .estimate-fieldset legend .estimate-fieldset__number {
    flex: 0 0 42px;
}

.template-app-estimate .estimate-fieldset legend .estimate-fieldset__title {
    width: auto;
    height: auto;
    margin: 0;
    flex: 1 1 auto;
    color: #171716;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: 1.28;
    overflow-wrap: normal;
    word-break: keep-all;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__content {
    position: relative;
    display: flex;
    min-height: 166px;
    padding: 30px 24px;
    overflow: hidden;
    justify-content: center;
    background: #fff;
    isolation: isolate;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__text {
    position: relative;
    z-index: 3;
    width: 52%;
    max-width: 360px;
    margin-right: auto;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__text strong {
    padding-right: 0;
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.3;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__text small {
    max-width: 310px;
    margin-top: 9px;
    font-size: 12px;
    line-height: 1.65;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__media {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 64%;
    overflow: hidden;
    pointer-events: none;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.98) 16%, rgba(255, 255, 255, 0.82) 40%, rgba(255, 255, 255, 0.12) 80%, rgba(255, 255, 255, 0) 100%);
    content: "";
    transition: background 180ms ease;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(0.94);
    opacity: 0.68;
    transform: scale(1.002);
    transition: filter 180ms ease, opacity 180ms ease, transform 240ms ease;
}

.template-app-estimate .estimate-choice--project-media:hover .estimate-choice__media img {
    opacity: 0.84;
    transform: scale(1.018);
}

.template-app-estimate .estimate-choice--project-media input:checked + .estimate-choice__content .estimate-choice__media::after {
    background: linear-gradient(90deg, #171716 0%, rgba(23, 23, 22, 0.98) 16%, rgba(23, 23, 22, 0.84) 40%, rgba(23, 23, 22, 0.16) 80%, rgba(23, 23, 22, 0) 100%);
}

.template-app-estimate .estimate-choice--project-media input:checked + .estimate-choice__content .estimate-choice__media img {
    filter: grayscale(0) saturate(0.92) contrast(1.02);
    opacity: 0.96;
}

.template-app-estimate .estimate-choice--project-media .estimate-choice__content::after {
    z-index: 4;
}

.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content {
    min-height: 156px;
    padding: 28px 24px;
    overflow: hidden;
    isolation: isolate;
}

.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > strong,
.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > small {
    position: relative;
    z-index: 3;
    width: 54%;
    max-width: 360px;
    padding-right: 0;
}

.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > strong {
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.3;
}

.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > small {
    margin-top: 9px;
    font-size: 12px;
    line-height: 1.65;
}

.template-app-estimate .estimate-choice__media--option {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 64%;
    overflow: hidden;
    pointer-events: none;
}

.template-app-estimate .estimate-choice__media--option::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #f7f7f5 0%, rgba(247, 247, 245, 0.98) 16%, rgba(247, 247, 245, 0.82) 40%, rgba(247, 247, 245, 0.12) 80%, rgba(247, 247, 245, 0) 100%);
    content: "";
    transition: background 180ms ease;
}

.template-app-estimate .estimate-choice__media--option img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(0.94);
    opacity: 0.68;
    transform: scale(1.002);
    transition: filter 180ms ease, opacity 180ms ease, transform 240ms ease;
}

.template-app-estimate .estimate-choice:hover .estimate-choice__media--option img {
    opacity: 0.84;
    transform: scale(1.018);
}

.template-app-estimate .estimate-choice input:checked + .estimate-choice__content .estimate-choice__media--option::after {
    background: linear-gradient(90deg, #171716 0%, rgba(23, 23, 22, 0.98) 16%, rgba(23, 23, 22, 0.84) 40%, rgba(23, 23, 22, 0.16) 80%, rgba(23, 23, 22, 0) 100%);
}

.template-app-estimate .estimate-choice input:checked + .estimate-choice__content .estimate-choice__media--option img {
    filter: grayscale(0) saturate(0.92) contrast(1.02);
    opacity: 0.96;
}

.template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content::after {
    z-index: 4;
}

.template-app-estimate .estimate-result__topline {
    margin-bottom: 26px;
}

.template-app-estimate .estimate-result__price {
    margin-top: 0;
}

@media (max-width: 767.98px) {
    .template-app-estimate .estimate-choice--project-media .estimate-choice__content {
        min-height: 150px;
        padding: 25px 20px;
    }

    .template-app-estimate .estimate-choice--project-media .estimate-choice__text {
        width: 58%;
    }

    .template-app-estimate .estimate-choice--project-media .estimate-choice__media {
        width: 67%;
    }

    .template-app-estimate .estimate-choice--project-media .estimate-choice__media::after {
        background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.98) 22%, rgba(255, 255, 255, 0.82) 48%, rgba(255, 255, 255, 0.08) 88%, rgba(255, 255, 255, 0) 100%);
    }

    .template-app-estimate .estimate-choice--project-media input:checked + .estimate-choice__content .estimate-choice__media::after {
        background: linear-gradient(90deg, #171716 0%, rgba(23, 23, 22, 0.98) 22%, rgba(23, 23, 22, 0.84) 48%, rgba(23, 23, 22, 0.1) 88%, rgba(23, 23, 22, 0) 100%);
    }

    .template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content {
        min-height: 150px;
        padding: 25px 20px;
    }

    .template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > strong,
    .template-app-estimate .estimate-choice:not(.estimate-choice--project-media) .estimate-choice__content > small {
        width: 58%;
    }

    .template-app-estimate .estimate-choice__media--option {
        width: 67%;
    }

    .template-app-estimate .estimate-choice__media--option::after {
        background: linear-gradient(90deg, #f7f7f5 0%, rgba(247, 247, 245, 0.98) 22%, rgba(247, 247, 245, 0.82) 48%, rgba(247, 247, 245, 0.08) 88%, rgba(247, 247, 245, 0) 100%);
    }

    .template-app-estimate .estimate-choice input:checked + .estimate-choice__content .estimate-choice__media--option::after {
        background: linear-gradient(90deg, #171716 0%, rgba(23, 23, 22, 0.98) 22%, rgba(23, 23, 22, 0.84) 48%, rgba(23, 23, 22, 0.1) 88%, rgba(23, 23, 22, 0) 100%);
    }

}

@media (prefers-reduced-motion: reduce) {
    .template-app-estimate .estimate-choice--project-media .estimate-choice__media img,
    .template-app-estimate .estimate-choice__media--option img {
        transition: none;
    }
}
