Blurry image on mobile view in image with text section (sense theme)

Topic summary

A user is experiencing blurry images in the “image with text” section of the Sense theme, but only on mobile view. Desktop display appears normal.

Troubleshooting attempted:

  • Tested various image sizes with high resolution
  • No improvement despite different image specifications

Code provided:

  • Shared the component-image-with-text.css implementation
  • Includes responsive padding settings and grid layout logic
  • Contains image sizing calculations for different viewport widths
  • Note: The code snippet appears partially corrupted or reversed in some sections, which may indicate a copy-paste error

Current status:
The issue remains unresolved. The user is seeking technical assistance to identify why mobile rendering differs from desktop, despite using high-resolution source images.

Summarized with AI on November 20. AI used: claude-sonnet-4-5-20250929.

I have tried wide range of image sizes with high resolution but nothing worked. It looks fine in desktop view. Here’s the code and screenshot.

{{ 'component-image-with-text.css' | asset_url | stylesheet_tag }}

{%- style -%}
  .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
  }

  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }
  }
{%- endstyle -%}

<div class="image-with-text image-with-text--{{ section.settings.content_layout }} page-width isolate{% if settings.text_boxes_border_thickness > 0 and settings.text_boxes_border_opacity > 0 and settings.media_border_thickness > 0 and settings.media_border_opacity > 0 %} collapse-borders{% endif %}{% unless section.settings.color_scheme == 'background-1' and settings.media_border_thickness > 0 and settings.text_boxes_shadow_opacity == 0 and settings.text_boxes_border_thickness == 0 or settings.text_boxes_border_opacity == 0 %} collapse-corners{% endunless %} section-{{ section.id }}-padding">
  <div class="image-with-text__grid grid grid--gapless grid--1-col grid--{% if section.settings.desktop_image_width == 'medium' %}2-col-tablet{% else %}3-col-tablet{% endif %}{% if section.settings.layout == 'text_first' %} image-with-text__grid--reverse{% endif %}">
    <div class="image-with-text__media-item image-with-text__media-item--{{ section.settings.desktop_image_width }} image-with-text__media-item--{{ section.settings.desktop_content_position }} grid__item">
      <div
        class="image-with-text__media image-with-text__media--{{ section.settings.height }} gradient color-{{ section.settings.color_scheme }} global-media-settings {% if section.settings.image != blank %}media{% else %}image-with-text__media--placeholder placeholder{% endif %}{% if section.settings.image_behavior != 'none' %} animate--{{ section.settings.image_behavior }}{% endif %}"
        {% if section.settings.height == 'adapt' and section.settings.image != blank %}
          style="padding-bottom: {{ 1 | divided_by: section.settings.image.aspect_ratio | times: 100 }}%;"
        {% endif %}
      >
        {%- if section.settings.image != blank -%}
          {%- if section.settings.image_behavior == 'ambient' -%}
            {%- assign widths = '198, 432, 642, 900, 1284, 1800' -%}
            {%- capture sizes -%}
              (min-width: {{ settings.page_width }}px) {{ settings.page_width | minus: 100 | divided_by: 1.6667 }}px,
              (min-width: 750px) calc((100vw - 130px) / 1.667), calc((100vw - 50px) / 1.667)
            {%- endcapture -%}
          {%- else -%}
            {%- assign widths = '165, 360, 535, 750, 1070, 1500' -%}
            {%- capture sizes -%}
              (min-width: {{ settings.page_width }}px) {{ settings.page_width | minus: 100 | divided_by: 2 }}px,
              (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)
            {%- endcapture -%}
          {%- endif -%}
          {{
            section.settings.image
            | image_url: width: 2000
            | image_tag: loading: 'lazy', sizes: sizes, widths: widths
          }}
        {%- else -%}
          {{ 'image' | placeholder_svg_tag: 'placeholder-svg' }}
        {%- endif -%}
      </div>
    </div>
    <div class="image-with-text__text-item grid__item">
      <div
        id="ImageWithText--{{ section.id }}"
        class="image-with-text__content image-with-text__content--{{ section.settings.desktop_content_position }} image-with-text__content--desktop-{{ section.settings.desktop_content_alignment }} image-with-text__content--mobile-{{ section.settings.mobile_content_alignment }} image-with-text__content--{{ section.settings.height }} gradient color-{{ section.settings.color_scheme }} content-container"
      >