/* Weber assignments tree — SHARED, cascading (front-end + back-end). Namespaced .weber-asg__*.
   Re-skin via the --weber-asg-* variables; depends on no WP-admin CSS. */

.weber-asg {
	--weber-asg-line:   #e3e0d8;
	--weber-asg-muted:  #8a8a8a;
	--weber-asg-accent: #7a2e2e;
	--weber-asg-count:  #6b5e3e;
	/* liturgical colour palette (shared; White is handled in PHP so text stays legible) */
	--weber-color-red:    #b4232a;
	--weber-color-green:  #2e7d4f;
	--weber-color-violet: #6c3a8e;
	--weber-color-rose:   #b5567e;   /* darkened from the dot rose for readable text */
	--weber-color-black:  #222222;
	--weber-color-gold:   #b8901f;   /* slightly deeper than the dot gold for text contrast */
	font-size: 14px;
	color: #2b2b2b;
}
.weber-asg__toolbar { margin: 0 0 .6rem; display: flex; gap: .4rem; }
.weber-asg__tree, .weber-asg__children, .weber-asg__scores { list-style: none; margin: 0; padding: 0; }
.weber-asg__children { padding-left: 1.1rem; border-left: 1px solid var(--weber-asg-line); margin-left: .5rem; }
.weber-asg__scores   { padding-left: 1.9rem; margin: .1rem 0 .3rem; }

.weber-asg__row    { display: flex; align-items: baseline; gap: .35rem; padding: .12rem 0; }
.weber-asg__toggle { background: none; border: none; cursor: pointer; font-size: 12px; width: 1.1em; padding: 0; color: var(--weber-asg-muted); line-height: 1; }
.weber-asg__bullet { width: 1.1em; text-align: center; color: #c3c4c7; }
.weber-asg__label  { font-weight: 600; }
.weber-asg__count  { font-size: 12px; color: var(--weber-asg-count); font-weight: 400; }
.weber-asg__node.is-empty > .weber-asg__row .weber-asg__label { color: #b0b0b0; font-weight: 400; }
.weber-asg__node.collapsed > .weber-asg__children,
.weber-asg__node.collapsed > .weber-asg__scores { display: none; }

.weber-asg__score { padding: .08rem 0; font-size: .92rem; }
.weber-asg__score a { text-decoration: none; }
.weber-asg__edit { display: inline-block; margin: 0 1em; padding: .05rem .55rem; border: 1px solid var(--weber-asg-line);
	border-radius: 4px; background: #fff; font-size: .72rem; color: var(--weber-asg-muted); white-space: nowrap; text-decoration: none; }
.weber-asg__edit:hover { background: #f5f4f0; color: var(--weber-asg-accent); }
.weber-asg__parts { color: var(--weber-asg-muted); font-size: .82rem; }

@media (max-width: 680px) {
	.weber-asg__children { padding-left: .75rem; }
	.weber-asg__scores   { padding-left: 1.4rem; }
}
