/* Central list-style override for frontend and Statamic CP */
ul,
ol {
  list-style-position: outside !important;
  padding-inline-start: 1.5rem !important;
  padding-left: 1.5rem !important;
  margin-left: 0 !important;
}

/* Style on ul/ol directly */
ul[style*="text-align: center"],
ul[style*="text-align: right"],
ol[style*="text-align: center"],
ol[style*="text-align: right"] {
  list-style-position: inside !important;
  padding-inline-start: 0 !important;
  padding-left: 0 !important;
}

/* Statamic Bard puts text-align on <p> inside <li>, use :has() to detect */
ul:has(> li > p[style*="text-align: center"]),
ul:has(> li > p[style*="text-align: right"]),
ol:has(> li > p[style*="text-align: center"]),
ol:has(> li > p[style*="text-align: right"]) {
  list-style-position: inside !important;
  padding-inline-start: 0 !important;
  padding-left: 0 !important;
}

/* ProseMirror editor */
.ProseMirror ul,
.ProseMirror ol {
  list-style-position: outside !important;
  padding-inline-start: 1.5rem !important;
  padding-left: 1.5rem !important;
  margin-left: 0 !important;
}

.ProseMirror ul[style*="text-align: center"],
.ProseMirror ul[style*="text-align: right"],
.ProseMirror ol[style*="text-align: center"],
.ProseMirror ol[style*="text-align: right"],
.ProseMirror ul:has(> li > p[style*="text-align: center"]),
.ProseMirror ul:has(> li > p[style*="text-align: right"]),
.ProseMirror ol:has(> li > p[style*="text-align: center"]),
.ProseMirror ol:has(> li > p[style*="text-align: right"]) {
  list-style-position: inside !important;
  padding-inline-start: 0 !important;
  padding-left: 0 !important;
}
