/* Toneer: site-wide bits (header user menu, unread badges). */
.toneer-count-badge {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 18px; height: 18px; padding: 0 5px; margin-left: 6px;
	border-radius: 999px; background: #f0408f; color: #fff;
	font-size: 11px; font-weight: 700; line-height: 1; vertical-align: middle;
}
.toneer-count-badge[hidden] { display: none; }
.toneer-user-menu__label { display: inline-flex; align-items: center; gap: 8px; }
.toneer-user-menu__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.toneer-user-menu__name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.toneer-online { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 2px rgba(34, 197, 94, .25); flex: none; }
.toneer-user-menu .wp-block-navigation__submenu-container { min-width: 230px !important; }
.toneer-user-menu .toneer-user-menu__sep { border-top: 1px solid rgba(127, 127, 127, .25); }
.toneer-user-menu .toneer-user-menu__chat .wp-block-navigation-item__label { white-space: nowrap; }
.toneer-user-menu .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
/* Band/venue/room pages: hide the theme's blog-post meta (date, author, comments). */
.toneer-listing-page .wp-block-post-date,
.toneer-listing-page .wp-block-post-author,
.toneer-listing-page .wp-block-post-author-name,
.toneer-listing-page .wp-block-post-terms,
.toneer-listing-page .wp-block-comments,
.toneer-listing-page .wp-block-post-navigation-link,
.toneer-listing-page .wp-block-post-comments-form { display: none !important; }

/* ===========================================================================
 * Dark mode for the whole site.
 * The Extendable theme builds every colour from design tokens; redefining the
 * tokens here turns theme pages and Toneer pages dark together.
 * ======================================================================== */
:root,
html body {
	color-scheme: dark;
	--wp--preset--color--primary: #8b5cf6 !important;
	--wp--preset--color--secondary: #c084fc !important;
	--wp--custom--color--background-base: #0e0c13 !important;
	--wp--custom--color--background-sunken: #17131e !important;
	--wp--custom--color--background-raised: #1f1a28 !important;
	--wp--custom--color--background-overlay: #1f1a28 !important;
	--wp--custom--color--background-tint-1: #1c1530 !important;
	--wp--custom--color--background-tint-2: #241621 !important;
	--wp--custom--color--background-tint-3: #141d1b !important;
	--wp--custom--color--background-tint-1-ink: #f1eef7 !important;
	--wp--custom--color--background-tint-2-ink: #f1eef7 !important;
	--wp--custom--color--background-tint-3-ink: #f1eef7 !important;
	--wp--custom--color--background-tint-1-weak: #b3acc2 !important;
	--wp--custom--color--background-tint-2-weak: #b3acc2 !important;
	--wp--custom--color--background-tint-3-weak: #b3acc2 !important;
	--wp--custom--color--text-strong: #f1eef7 !important;
	--wp--custom--color--text-brand: #c4a8ff !important;
	--wp--custom--color--icon-ink: #f1eef7 !important;
	--wp--custom--color--icon-surface: #231d2e !important;
	--wp--custom--color--fill-brand-weak: rgba(139, 92, 246, .18) !important;
	--wp--custom--color--neutral-50: #16131d !important;
	--wp--custom--color--neutral-100: #1d1926 !important;
	--wp--custom--color--neutral-200: #27222f !important;
	--wp--custom--color--neutral-300: #3a3445 !important;
	--wp--custom--color--neutral-400: #5b5468 !important;
	--wp--custom--color--neutral-500: #7d7690 !important;
	--wp--custom--color--neutral-600: #9f98b0 !important;
	--wp--custom--color--neutral-700: #bdb7cc !important;
	--wp--custom--color--neutral-800: #d6d1e1 !important;
	--wp--custom--color--neutral-900: #e8e4ef !important;
	--wp--custom--color--neutral-950: #f4f2f8 !important;
	background-color: #0e0c13;
	color: #f1eef7;
}
html body a:where(:not(.wp-element-button)) { color: #c4a8ff; }
html body .has-white-background-color { background-color: #1f1a28 !important; }
html body ::placeholder { color: #8a8399; opacity: 1; }

/* Header buttons: one consistent look. */
.toneer-header-btn {
	border-radius: 999px !important;
	padding: 9px 20px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: transform .15s, box-shadow .15s, background-color .15s;
}
.toneer-header-btn--primary {
	background: linear-gradient(135deg, #7c3aed, #db2777) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: 0 6px 18px rgba(124, 58, 237, .35);
}
.toneer-header-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(219, 39, 119, .35); }
.toneer-header-btn--ghost {
	background: transparent !important;
	color: #f1eef7 !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
}
.toneer-header-btn--ghost:hover { background: rgba(255, 255, 255, .08) !important; border-color: rgba(255, 255, 255, .5) !important; }
.wp-block-buttons:has(.toneer-header-btn) { gap: 8px !important; align-items: center; }

/* Language pill on dark. */
.toneer-lang-float { background: #1f1a28 !important; color: #f1eef7 !important; box-shadow: 0 4px 16px rgba(0, 0, 0, .5) !important; }

/* Page titles on band/venue/event pages: readable on dark. */
.toneer-listing-page .wp-block-post-title { color: #f1eef7 !important; }

/* Landing page fills the width and sits under the (overlay) header. */
.wp-block-post-content > .toneer-landing.alignfull { margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important; max-width: none !important; width: auto !important; }
body:has(.toneer-landing) main.wp-block-group { margin-top: 0 !important; padding-top: 0 !important; }

/* The theme's heading font (DM Sans) is shipped without Polish letters like "ę";
   IBM Plex Sans (already loaded by the theme) has them all. */
body h1, body h2, body h3, body h4, body h5, body h6,
.wp-block-heading, .wp-block-post-title, .wp-block-site-title {
	font-family: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif !important;
}

/* Legal links appended to the theme footer. */
.toneer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; padding: 18px 16px 28px; font-size: .85rem; border-top: 1px solid rgba(255, 255, 255, .08); }
.toneer-legal-links a { color: #b3acc2 !important; text-decoration: none; }
.toneer-legal-links a:hover { color: #f1eef7 !important; text-decoration: underline; }
.toneer-legal-links span { color: #7d7690; }
