/**
 * Extended List Block - Fixed CSS Styling
 * Properly handles nested items with correct specificity
 */

/* === BASE RESET FOR EXTENDED LISTS === */
[class*="extended-list-"] {
	list-style: none !important;
	counter-reset: extended-counter;
	padding-left: 0;
}

/* Reset for nested lists - each nested list gets its own counter */
[class*="extended-list-"] ol,
[class*="extended-list-"] ul {
	list-style: none !important;
	counter-reset: extended-counter;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	padding-left: 2em;
}

/* === BASE LIST ITEM STYLES === */
[class*="extended-list-"] li {
	counter-increment: extended-counter;
	position: relative;
	padding-left: 2em;
	margin-bottom: 0.5em;
	list-style: none !important;
}

/* Remove default markers */
[class*="extended-list-"] li::marker {
	display: none !important;
}

/* Clear any inherited ::before content */
[class*="extended-list-"] li::before {
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 600;
	width: auto;
	color: #081f7a;
}

/* === UPPERCASE LETTERS WITH FULL PARENTHESES (A) (B) (C) === */
.extended-list-upper-alpha-paren > li::before {
	content: "(" counter(extended-counter, upper-alpha) ")";
}

.extended-list-upper-alpha-paren-italic > li::before {
	content: "(" counter(extended-counter, upper-alpha) ")";
	font-style: italic;
}

/* === UPPERCASE LETTERS WITH RIGHT PARENTHESIS A) B) C) === */
.extended-list-upper-alpha-right-paren > li::before {
	content: counter(extended-counter, upper-alpha) ")";
}

.extended-list-upper-alpha-right-paren-italic > li::before {
	content: counter(extended-counter, upper-alpha) ")";
	font-style: italic;
}

/* === LOWERCASE LETTERS WITH FULL PARENTHESES (a) (b) (c) === */
.extended-list-lower-alpha-paren > li::before {
	content: "(" counter(extended-counter, lower-alpha) ")";
}

.extended-list-lower-alpha-paren-italic > li::before {
	content: "(" counter(extended-counter, lower-alpha) ")";
	font-style: italic;
}

/* === LOWERCASE LETTERS WITH RIGHT PARENTHESIS a) b) c) === */
.extended-list-lower-alpha-right-paren > li::before {
	content: counter(extended-counter, lower-alpha) ")";
}

.extended-list-lower-alpha-right-paren-italic > li::before {
	content: counter(extended-counter, lower-alpha) ")";
	font-style: italic;
}

/* === NUMBERS WITH FULL PARENTHESES (1) (2) (3) === */
.extended-list-decimal-paren > li::before {
	content: "(" counter(extended-counter, decimal) ")";
}

.extended-list-decimal-paren-italic > li::before {
	content: "(" counter(extended-counter, decimal) ")";
	font-style: italic;
}

/* === NUMBERS WITH RIGHT PARENTHESIS 1) 2) 3) === */
.extended-list-decimal-right-paren > li::before {
	content: counter(extended-counter, decimal) ")";
}

.extended-list-decimal-right-paren-italic > li::before {
	content: counter(extended-counter, decimal) ")";
	font-style: italic;
}

/* === UPPERCASE ROMAN WITH FULL PARENTHESES (I) (II) (III) === */
.extended-list-upper-roman-paren > li::before {
	content: "(" counter(extended-counter, upper-roman) ")";
}

.extended-list-upper-roman-paren-italic > li::before {
	content: "(" counter(extended-counter, upper-roman) ")";
	font-style: italic;
}

/* === UPPERCASE ROMAN WITH RIGHT PARENTHESIS I) II) III) === */
.extended-list-upper-roman-right-paren > li::before {
	content: counter(extended-counter, upper-roman) ")";
}

.extended-list-upper-roman-right-paren-italic > li::before {
	content: counter(extended-counter, upper-roman) ")";
	font-style: italic;
}

/* === LOWERCASE ROMAN WITH FULL PARENTHESES (i) (ii) (iii) === */
.extended-list-lower-roman-paren > li::before {
	content: "(" counter(extended-counter, lower-roman) ")";
}

.extended-list-lower-roman-paren-italic > li::before {
	content: "(" counter(extended-counter, lower-roman) ")";
	font-style: italic;
}

/* === LOWERCASE ROMAN WITH RIGHT PARENTHESIS i) ii) iii) === */
.extended-list-lower-roman-right-paren > li::before {
	content: counter(extended-counter, lower-roman) ")";
}

.extended-list-lower-roman-right-paren-italic > li::before {
	content: counter(extended-counter, lower-roman) ")";
	font-style: italic;
}

/* === AUTO-NESTING OUTLINE STYLES === */

/* Outline Alpha: (A) -> (1) -> (a) -> (i) -> *(A)* -> *(1)* */
.extended-auto-nest.extended-list-outline-alpha {
	counter-reset: level1;
}

.extended-auto-nest.extended-list-outline-alpha > li {
	counter-increment: level1;
}

.extended-auto-nest.extended-list-outline-alpha > li::before {
	content: "(" counter(level1, upper-alpha) ")";
	font-style: normal;
}

/* Level 2: Numbers with parentheses */
.extended-auto-nest.extended-list-outline-alpha > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ul {
	counter-reset: level2;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li {
	counter-increment: level2;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li::before {
	content: "(" counter(level2, decimal) ")";
	font-style: normal;
}

/* Level 3: Lowercase letters with parentheses */
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul {
	counter-reset: level3;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li {
	counter-increment: level3;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li::before {
	content: "(" counter(level3, lower-alpha) ")";
	font-style: normal;
}

/* Level 4: Lower roman with parentheses */
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ul,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ul,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ul,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ol,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ul {
	counter-reset: level4;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ul > li,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ul > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ul > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ol > li,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ul > li {
	counter-increment: level4;
}

.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li > ul > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li > ul > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li > ul > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ol > li::before,
.extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li > ul > li::before {
	content: "(" counter(level4, lower-roman) ")";
	font-style: normal;
}

/* === OUTLINE NUMERIC PATTERN === */
.extended-auto-nest.extended-list-outline-numeric {
	counter-reset: level1;
}

.extended-auto-nest.extended-list-outline-numeric > li {
	counter-increment: level1;
}

.extended-auto-nest.extended-list-outline-numeric > li::before {
	content: "(" counter(level1, decimal) ")";
	font-style: normal;
}

/* Level 2: Lowercase letters */
.extended-auto-nest.extended-list-outline-numeric > li > ol,
.extended-auto-nest.extended-list-outline-numeric > li > ul {
	counter-reset: level2;
}

.extended-auto-nest.extended-list-outline-numeric > li > ol > li,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li {
	counter-increment: level2;
}

.extended-auto-nest.extended-list-outline-numeric > li > ol > li::before,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li::before {
	content: "(" counter(level2, lower-alpha) ")";
	font-style: normal;
}

/* Level 3: Lower roman */
.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ol,
.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ul,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ol,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ul {
	counter-reset: level3;
}

.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ol > li,
.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ul > li,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ol > li,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ul > li {
	counter-increment: level3;
}

.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ol > li::before,
.extended-auto-nest.extended-list-outline-numeric > li > ol > li > ul > li::before,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ol > li::before,
.extended-auto-nest.extended-list-outline-numeric > li > ul > li > ul > li::before {
	content: "(" counter(level3, lower-roman) ")";
	font-style: normal;
}

/* === EDITOR-SPECIFIC STYLES === */
.block-editor-writing-flow [class*="extended-list-"] {
	list-style: none !important;
}

.block-editor-writing-flow [class*="extended-list-"] li {
	list-style: none !important;
}

/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 768px) {
	[class*="extended-list-"] li {
		padding-left: 2.5em;
	}
	
	[class*="extended-list-"] li::before {
		width: 2em;
	}
}

/* === PRINT STYLES === */
@media print {
	[class*="extended-list-"] li::before {
		color: black !important;
		font-style: normal;
	}
	
	[class*="extended-list-"] li {
		break-inside: avoid;
		page-break-inside: avoid;
	}
}

/* === ACCESSIBILITY === */
[class*="extended-list-"] li:focus-within::before {
	outline: 2px solid #005cee;
	outline-offset: 2px;
}