Configuration issue with card_mod - need help or ideas

I have created this card:

The ALARM test pulses as it should. but the pulse is not on the text it is on the cell. And if I remove the overflow-x: hidden !important; the x-slider pulses also. This is not correct and I need a solution for that. Does anyone has an idea how to make the pulse only for the text? I tried to put it in a container, but then nothings happens.

Thanks

this is for the pulse in line 2 of table A



      :host table:nth-of-type(1) tr:nth-of-type(2) td {
        color: #FF3B30;
        font-weight: 700;
        text-align: center;
        animation: pulseText 1.2s ease-in-out infinite;
      }

      @keyframes pulseText {
        0%   { transform: scale(1);   opacity: 0.6; }
        50%  { transform: scale(1.3); opacity: 1;   }
        100% { transform: scale(1);   opacity: 0.6; }
      }

complete Code

type: markdown
content: >
  {% set fl = '🔴' if
  is_state('binary_sensor.golf_window_closed_left_front','on') else '🟢' %}

  {% set fr = '🔴' if
  is_state('binary_sensor.golf_window_closed_right_front','on') else '🟢' %}

  {% set rr = '🔴' if
  is_state('binary_sensor.golf_window_closed_right_back','on') else '🟢' %}

  {% set rl = '🔴' if
  is_state('binary_sensor.golf_window_closed_left_back','on') else '🟢' %}


  {% set fl_txt = 'geöffnet' if
  is_state('binary_sensor.golf_window_closed_left_front','on') else
  'geschlossen' %}

  {% set fr_txt = 'geöffnet' if
  is_state('binary_sensor.golf_window_closed_right_front','on') else
  'geschlossen' %}

  {% set rr_txt = 'geöffnet' if
  is_state('binary_sensor.golf_window_closed_right_back','on') else
  'geschlossen' %}

  {% set rl_txt = 'geöffnet' if
  is_state('binary_sensor.golf_window_closed_left_back','on') else 'geschlossen'
  %}


  <table>
    <!-- Zeile 1: Überschrift -->
    <tr>
      <td colspan="3">Status der Fenster</td>
    </tr>

    <!-- Zeile 2: Alarm -->
    <tr>
      <td colspan="3">
        <span class="alarm-text">ALARM aktiv!</span>
      </td>
    </tr>


    <!-- Zeile 3: Zeit/Info -->
    <tr>
      <td colspan="3">um: </td>
    </tr>
  </table>






  <!-- Tabelle B–E: Sensoren Zeile 4–7 -->

  <table>
    <tr><td>{{ fl }}</td><td>Vorne links</td><td>{{ fl_txt }}</td></tr>
  </table>

  <table>
    <tr><td>{{ fr }}</td><td>Vorne rechts</td><td>{{ fr_txt }}</td></tr>
  </table>

  <table>
    <tr><td>{{ rr }}</td><td>Hinten rechts</td><td>{{ rr_txt }}</td></tr>
  </table>

  <table>
    <tr><td>{{ rl }}</td><td>Hinten links</td><td>{{ rl_txt }}</td></tr>
  </table>
card_mod:
  style:
    .: |
      ha-card {
        #height: 170px !important;
        margin-top: 0px;
        margin-bottom: 0px;
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        --mdc-icon-size: 16px;

        /* feiner Rahmen mit Radius */
        border: 1px solid #3c3c3c;
        border-radius: 0px;              /* dein gewünschter Radius */

        /* untere Linie überschreiben */
        border-bottom: 1px solid #7E7E7E;   /* VW-Blau, kräftiger */

        --card-primary-font-weight: normal;
        --card-primary-line-height: 2.0;
        --card-secondary-line-height: 1.3;
      }:
    ha-markdown $: >
      :host table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        margin: 0;
      }

      :host table + table {
        margin-top: 4px;
      }

      :host td {
        padding: 4px 8px;
        vertical-align: middle;
        word-break: break-word;
      }

      /* Tabelle A: Überschrift/Alarme */ :host table:nth-of-type(1) tr td {
        text-align: center;
      } :host table:nth-of-type(1) tr:nth-of-type(1) td {
        font-family: Audiowide, sans-serif;
        color: #ffa500;
        font-size: 18px;
        font-weight: 600;
      }

      /* Zeile 2: Alarm (Overflow sichtbar für Ping) */ :host
      table:nth-of-type(1) tr:nth-of-type(2) td {
        color: #FF3B30;
        font-weight: 700;
        text-align: center;
        position: relative;
        overflow: visible; /* wichtig für ::after Ping-Kreis */
      }

      :host table:nth-of-type(1) tr:nth-of-type(3) td {
        color: #FF3B30;
        font-weight: 600;
      }

      /* Tabelle B–E: Sensorzeilen */ :host table:nth-of-type(n+2)
      td:nth-child(1) {
        width: 8%; min-width: 8%; max-width: 8%;
        text-align: center;
        font-size: 10px;
      } :host table:nth-of-type(n+2) td:nth-child(2) {
        width: 35%; min-width: 35%; max-width: 35%;
        text-align: left;
        font-weight: 600;
      } :host table:nth-of-type(n+2) td:nth-child(3) {
        width: 50%; min-width: 50%; max-width: 50%;
        text-align: right;
        color: #666;
      }

      :host table:nth-of-type(1) tr:nth-of-type(2) td {
        color: #FF3B30;
        font-weight: 700;
        text-align: center;
        animation: pulseText 1.2s ease-in-out infinite;
      }

      @keyframes pulseText {
        0%   { transform: scale(1);   opacity: 0.6; }
        50%  { transform: scale(1.3); opacity: 1;   }
        100% { transform: scale(1);   opacity: 0.6; }
      }