{% import 'elementor/macros' as m %}
{% set tag = settings.tag | default('h2') %}
{% set classes = settings.classes | merge([ base_styles.base ]) | join(' ') %}
{# Line Clamp: pure CSS truncation by number of lines. Emitted inline from the
   settings so it works IDENTICALLY in the editor's client-side render and the
   frontend PHP render — no re-render or JS mirror needed. #}
{% set clamp = 0 %}
{% if settings.limit_by is defined and settings.limit_by == 'line' %}
    {% set clamp = settings.title_limit | default(2) %}
{% endif %}
<{{ tag }} class="{{ classes }}" data-interaction-id="{{ interaction_id | default('') }}"
    {%- if clamp %} style="display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:{{ clamp }};overflow:hidden;"{% endif %} {{- m.render_custom_attributes(settings) }}>
    {% if settings.link is defined and settings.link.href is defined and settings.link.href is not empty %}
        <{{ settings.link.tag | default('a') | e('html_tag') }}{{- ' ' }}{{ m.render_link_attributes(settings.link) }} class="{{ base_styles['link-base'] }}" style="color:inherit !important;text-decoration:none !important;">
            {{ settings.post_title | default('') | raw }}
        </{{ settings.link.tag | default('a') | e('html_tag') }}>
    {% else %}
        {{ settings.post_title | default('') | raw }}
    {% endif %}
</{{ tag }}>
