/* CSS for Parsoid Cite extension */

/* Style for <ref>s */
.mw-ref {
	vertical-align: super;
	line-height: 1;
	font-size: smaller;
	/* Do not inherit bold or italic */
	font-weight: normal;
	font-style: normal;
	/* Isolation to fix references in case of RTL words at the end of a reference */
	unicode-bidi: -moz-isolate;
	unicode-bidi: -webkit-isolate;
	unicode-bidi: isolate;
}

/* Upstream bug in stylelint makes it complain aboout the case of 'mw-Ref' */
/* stylelint-disable value-keyword-case */

/* With a group set */
.mw-ref a[ data-mw-group ]:after {
	content: '[' attr( data-mw-group ) ' ' counter( mw-Ref, decimal ) ']';
}

/* Groups with special appearance */
.mw-ref a[ data-mw-group='decimal' ]:after {
	content: '[' counter( mw-Ref, decimal ) ']';
}

.mw-ref a[ data-mw-group='lower-alpha' ]:after {
	content: '[' counter( mw-Ref, lower-alpha ) ']';
}

.mw-ref a[ data-mw-group='upper-alpha' ]:after {
	content: '[' counter( mw-Ref, upper-alpha ) ']';
}

.mw-ref a[ data-mw-group='lower-greek' ]:after {
	content: '[' counter( mw-Ref, lower-greek ) ']';
}

.mw-ref a[ data-mw-group='lower-roman' ]:after {
	content: '[' counter( mw-Ref, lower-roman ) ']';
}

.mw-ref a[ data-mw-group='upper-roman' ]:after {
	content: '[' counter( mw-Ref, upper-roman ) ']';
}

.mw-ref a[ data-mw-group='error-test' ]:after {
	content: '[' counter( mw-Ref, symbols( cyclic 'first' 'second' 'last!' ) ) ']';
}

/* Without a group */
.mw-ref a:after {
	content: '[' counter( mw-Ref, decimal ) ']';
}

/* Hide the default rendering in browsers that support content
 * generation by selecting for :after pseudo-element. */
/* stylelint-disable-next-line selector-type-no-unknown */
x-thereisnoelementwiththisname:after,
span.mw-reflink-text {
	display: none;
}

/* Style for linkbacks from <references> to <ref>s */
ol.mw-references {
	/* Resetting *any* counter on an <ol> element messes the build-in numbering in Firefox up.
	   Explicitely resetting the build-in "list-item" counter fixes this. */
	counter-reset: mw-ref-linkback list-item;
}

ol.mw-references > li {
	counter-increment: mw-ref-linkback;
}

[ rel='mw:referencedBy' ] {
	counter-reset: mw-ref-linkback -1;
}

[ rel='mw:referencedBy' ]:before {
	content: '↑ ';
}

span[ rel='mw:referencedBy' ] a:before {
	counter-increment: mw-ref-linkback;
	content: counters( mw-ref-linkback, '.', decimal );
	vertical-align: super;
	line-height: 1;
	font-size: smaller;
}

span[ rel='mw:referencedBy' ] a:after {
	content: ' ';
}

/* Hide the default rendering in browsers that support content
 * generation by selecting for :after pseudo-element. */
/* stylelint-disable-next-line selector-type-no-unknown */
x-thereisnoelementwiththisname[ rel='mw:referencedBy' ]:before,
span.mw-linkback-text {
	display: none;
}
