/* =========================================================
   Listing Content Beautifier
   Fixes: misaligned bullet lists + ugly/unresponsive tables
   inside listing descriptions and any post/page content.
   ========================================================= */

/* ---------- 1. BULLET LIST FIX ---------- */

.entry-content ul,
.elementor-widget-text-editor ul,
.elementor-widget-theme-post-content ul,
article ul {
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
}

.entry-content ul li,
.elementor-widget-text-editor ul li,
.elementor-widget-theme-post-content ul li,
article ul li {
	position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 28px;
	line-height: 1.6;
	font-size: 16px;
	color: #333333;
}

.entry-content ul li::before,
.elementor-widget-text-editor ul li::before,
.elementor-widget-theme-post-content ul li::before,
article ul li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e74c3c; /* matches the red/orange accent used on the site's buttons */
}

/* Numbered lists get the same clean spacing/alignment treatment */
.entry-content ol,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ol,
article ol {
	margin: 0 0 20px 0;
	padding-left: 22px;
}

.entry-content ol li,
.elementor-widget-text-editor ol li,
.elementor-widget-theme-post-content ol li,
article ol li {
	margin: 0 0 10px 0;
	padding-left: 6px;
	line-height: 1.6;
	font-size: 16px;
	color: #333333;
}

/* Nested lists stay indented instead of collapsing to the same margin */
.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
	margin-top: 10px;
	margin-left: 10px;
}

/* Fix "floating bullet, text on next line" issue: this happens when
   pasted AI content wraps each list item's text in its own <p>, or
   leaves a stray <br> right after the bullet. Neutralize both so the
   bullet and its text sit on the same line with no extra gap. */
.entry-content li,
article li {
	display: list-item;
}

.entry-content li > p,
article li > p {
	display: inline;
	margin: 0;
	padding: 0;
}

.entry-content li br,
article li br {
	display: none;
}


/* ---------- 2. RESPONSIVE + STYLED TABLES ---------- */

/* Scroll wrapper so wide tables never break mobile layout */
.lcb-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0 0 24px 0;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

table.lcb-table {
	width: 100%;
	min-width: 480px; /* keeps columns readable; wrapper handles overflow */
	border-collapse: collapse;
	font-size: 15px;
	font-family: inherit;
	background: #ffffff;
	border-radius: 10px;
	overflow: hidden;
}

table.lcb-table th,
table.lcb-table td {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid #eceff1;
	vertical-align: middle;
}

table.lcb-table thead th {
	background: #e74c3c;
	color: #ffffff;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.04em;
	border-bottom: none;
}

/* If the AI-generated table has no <thead>, style the first row instead */
table.lcb-table tr:first-child th,
table.lcb-table tr:first-child td:first-child[scope="row"] {
	background: #e74c3c;
	color: #ffffff;
}

table.lcb-table tbody tr:nth-child(even) {
	background: #f9fafb;
}

table.lcb-table tbody tr:hover {
	background: #fdecea;
	transition: background 0.15s ease-in-out;
}

table.lcb-table td:first-child,
table.lcb-table th:first-child {
	padding-left: 20px;
}

/* ---------- 3. MOBILE TWEAKS ---------- */

@media (max-width: 600px) {
	.entry-content ul li,
	.entry-content ol li,
	article ul li,
	article ol li {
		font-size: 15px;
	}

	table.lcb-table th,
	table.lcb-table td {
		padding: 10px 12px;
		font-size: 14px;
	}
}
