/* === Text Element Widget === */
.elementor-widget-text-element {
  box-sizing: border-box;
}

/* Container wrapper fills its parent */
.text-element-widget-container {
  box-sizing: border-box;
  width: 100%;
  display: block;
}

/* Inner text block */
.text-element-widget-container .text-element-text {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  white-space: pre-wrap;
  line-height: 1.4;
}

/* === Lists: reset browser defaults === */
.text-element-widget-container ul.text-element-text,
.text-element-widget-container ol.text-element-text {
  margin: 0;
  padding-inline-start: 1rem;  /* indent the list */
  box-sizing: border-box;          /* include padding in the element’s width */
  padding-left: 0;     /* ← reset padding */
  list-style: none;
}

/* === Grid‑based list items === */
.text-element-widget-container ul.text-element-text li,
.text-element-widget-container ol.text-element-text li {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.5em;          /* space between marker and text */
  align-items: start;
  line-height: 1.6;
  margin: 0;           /* no extra margin */
}

/* === Custom markers === */
/* Unordered */
.text-element-widget-container ul.text-element-text li::before {
  content: '•';
}

/* Ordered */
.text-element-widget-container ol.text-element-text {
  counter-reset: list;
}
.text-element-widget-container ol.text-element-text li::before {
  counter-increment: list;
  content: counter(list) '.';
}

/* === Responsive: keep full width on mobile === */
@media (max-width: 768px) {
  .text-element-widget-container {
    width: 100%;
  }
}
