/**
 * Shared Bron front-end tokens and utilities (no font overrides).
 */
:root {
	--bron-bg: #FFFFFF;
	--bron-surface: #F6F1EB;
	--bron-surface-accent: #F1F6F2;
	--bron-border: #E7E4DF;
	--bron-border-strong: #E7E4DF;
	--bron-radius: 8px;
	--bron-radius-lg: 12px;
	--bron-text: #27302B;
	--bron-muted: #6F766F;
	--bron-accent: #64866F;
	--bron-accent-hover: #4E7059;
	--bron-link: #3F7E77;
	--bron-link-hover: #2F665F;
	--bron-cta: #64866F;
	--bron-cta-hover: #4E7059;
	--bron-cta-text: var(--bron-bg);
	--bron-on-accent: var(--bron-bg);
	--bron-danger: #D9534F;
	--bron-warning: #C7922F;
	--bron-slot-busy: #F4F4F3;
	--bron-slot-held: #FBF4E6;
	--bron-surface-alt: var(--bron-surface);
	--bron-success-bg: var(--bron-surface-accent);
	--bron-success-text: var(--bron-accent);
	--bron-success-border: var(--bron-border);
	--bron-success-badge-bg: color-mix(in srgb, var(--bron-success-text) 12%, transparent);
	--bron-error-bg: color-mix(in srgb, var(--bron-danger) 6%, var(--bron-bg));
	--bron-error-text: var(--bron-danger);
	--bron-error-border: color-mix(in srgb, var(--bron-danger) 25%, var(--bron-border));
	--bron-warning-text: var(--bron-warning);
	--bron-warning-bg: color-mix(in srgb, var(--bron-warning) 12%, transparent);
	--bron-danger-bg: color-mix(in srgb, var(--bron-danger) 8%, transparent);
	--bron-accent-bg: color-mix(in srgb, var(--bron-accent) 12%, transparent);
	--bron-link-bg: color-mix(in srgb, var(--bron-link) 12%, transparent);
	--bron-overlay: color-mix(in srgb, var(--bron-text) 45%, transparent);
	--bron-nav-scrim: color-mix(in srgb, var(--bron-text) 50%, transparent);
	--bron-border-faint: color-mix(in srgb, var(--bron-text) 6%, transparent);
	--bron-border-subtle: color-mix(in srgb, var(--bron-text) 8%, transparent);
	--bron-border-light: color-mix(in srgb, var(--bron-text) 12%, transparent);
	--bron-spinner-track: color-mix(in srgb, var(--bron-text) 12%, transparent);
	--bron-spinner-color: var(--bron-accent);
	--bron-spinner-on-dark-track: color-mix(in srgb, var(--bron-bg) 35%, transparent);
	--bron-spinner-on-dark-color: var(--bron-bg);
	--bron-on-dark-muted: color-mix(in srgb, var(--bron-bg) 72%, transparent);
	--bron-on-dark-border: color-mix(in srgb, var(--bron-bg) 14%, transparent);
	--bron-on-dark-border-strong: color-mix(in srgb, var(--bron-bg) 18%, transparent);
	--bron-on-dark-separator: color-mix(in srgb, var(--bron-bg) 8%, transparent);
	--bron-danger-soft: color-mix(in srgb, var(--bron-danger) 40%, var(--bron-bg));
	--bron-scrim-light: color-mix(in srgb, var(--bron-bg) 72%, transparent);
	--bron-scrim-medium: color-mix(in srgb, var(--bron-bg) 55%, transparent);
	--bron-focus-ring: color-mix(in srgb, var(--bron-cta) 15%, transparent);
	--bron-accent-shadow: color-mix(in srgb, var(--bron-accent) 8%, transparent);
	--bron-shadow-sm: 0 4px 16px color-mix(in srgb, var(--bron-text) 5%, transparent);
	--bron-shadow-md: 0 8px 24px color-mix(in srgb, var(--bron-text) 6%, transparent);
	--bron-shadow-lg: 0 10px 40px color-mix(in srgb, var(--bron-text) 15%, transparent);
	--bron-shadow-xl: 0 10px 40px color-mix(in srgb, var(--bron-text) 18%, transparent);
	--bron-shadow-fab: 0 4px 14px color-mix(in srgb, var(--bron-text) 20%, transparent);
	--bron-shadow-sticky: 0 -8px 30px color-mix(in srgb, var(--bron-text) 12%, transparent);
	--bron-shadow-sticky-mobile: 0 -10px 40px color-mix(in srgb, var(--bron-text) 16%, transparent);
	--bron-shadow-countdown: 0 8px 20px color-mix(in srgb, var(--bron-text) 15%, transparent);
	--bron-shadow-countdown-panel: 0 8px 24px color-mix(in srgb, var(--bron-text) 20%, transparent);
	--bron-shadow-notify: 0 10px 30px color-mix(in srgb, var(--bron-text) 12%, transparent);
	--bron-shadow-inset: 0 0 0 1px color-mix(in srgb, var(--bron-text) 12%, transparent) inset;
	--bron-sticky-accent: var(--bron-cta);
	--bron-sticky-bar-bg: var(--bron-bg);
	--bron-sticky-bar-text: var(--bron-text);
	--bron-sticky-bar-muted: var(--bron-muted);
	--bron-admin-bg: var(--bron-bg);
	--bron-admin-surface: var(--bron-bg);
	--bron-admin-muted: var(--bron-muted);
	--bron-admin-border: color-mix(in srgb, var(--bron-text) 18%, transparent);
	--bron-admin-soft-bg: color-mix(in srgb, var(--bron-text) 4%, var(--bron-bg));
	--bron-admin-tab-hover: var(--bron-link);
	--bron-admin-status-info-bg: color-mix(in srgb, var(--bron-link) 10%, var(--bron-bg));
	--bron-admin-status-info-text: var(--bron-link);
	--bron-admin-status-success-bg: color-mix(in srgb, var(--bron-accent) 12%, var(--bron-bg));
	--bron-admin-status-success-text: var(--bron-accent);
	--bron-admin-status-warning-bg: var(--bron-warning-bg);
	--bron-admin-status-warning-text: var(--bron-warning-text);
	--bron-admin-status-danger-bg: var(--bron-danger-bg);
	--bron-admin-status-danger-text: var(--bron-danger);
	--bron-admin-icon-success: var(--bron-accent);
	--bron-admin-icon-danger: var(--bron-danger);
}

.bron-is-hidden {
	display: none !important;
}

.bron-text-muted {
	color: var(--bron-muted);
}

.bron-text-link {
	color: var(--bron-link);
}

.bron-text-link:hover {
	color: var(--bron-link-hover);
}

a.bron-btn-cta,
button.bron-btn-cta,
.bron-btn-cta,
a.bron-btn-secondary,
button.bron-btn-secondary,
.bron-btn-secondary,
a.bron-btn-danger,
button.bron-btn-danger,
.bron-btn-danger {
	display: inline-flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	padding: 0.55em 1.1em;
	border-radius: var(--bron-radius);
	text-decoration: none;
	cursor: pointer;
	line-height: 1.25;
	box-sizing: border-box;
	vertical-align: middle;
	white-space: nowrap;
	width: auto;
	max-width: none;
}

a.bron-btn-cta,
button.bron-btn-cta,
.bron-btn-cta {
	border: none;
	background: var(--bron-cta);
	color: var(--bron-cta-text);
}

.bron-btn-cta__label {
	white-space: nowrap;
	flex-shrink: 0;
}

.bron-btn-cta > i,
.bron-btn-cta > .fa,
.bron-btn-cta > .fa-solid {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

a.bron-btn-cta:visited,
button.bron-btn-cta:visited,
.bron-btn-cta:visited {
	color: var(--bron-cta-text);
}

a.bron-btn-cta:hover,
a.bron-btn-cta:focus,
a.bron-btn-cta:focus-visible,
a.bron-btn-cta:active,
button.bron-btn-cta:hover,
button.bron-btn-cta:focus,
button.bron-btn-cta:focus-visible,
button.bron-btn-cta:active,
.bron-btn-cta:hover,
.bron-btn-cta:focus,
.bron-btn-cta:focus-visible,
.bron-btn-cta:active {
	background: var(--bron-cta-hover);
	color: var(--bron-cta-text);
	text-decoration: none;
}

.bron-btn-cta i,
.bron-btn-cta .fa,
.bron-btn-cta svg {
	color: inherit;
}

.woocommerce a.bron-btn-cta,
.woocommerce a.bron-btn-cta:visited,
.woocommerce a.bron-btn-cta:hover,
.woocommerce a.bron-btn-cta:focus,
.woocommerce a.bron-btn-cta:active {
	display: inline-flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	line-height: 1.25;
	white-space: nowrap;
	width: auto;
	max-width: none;
	color: var(--bron-cta-text);
}

a.bron-btn-secondary,
button.bron-btn-secondary,
.bron-btn-secondary {
	border: 1px solid var(--bron-border);
	background: var(--bron-surface);
	color: var(--bron-text);
}

a.bron-btn-secondary:visited,
button.bron-btn-secondary:visited,
.bron-btn-secondary:visited {
	color: var(--bron-text);
}

a.bron-btn-secondary:hover,
a.bron-btn-secondary:focus,
a.bron-btn-secondary:focus-visible,
a.bron-btn-secondary:active,
button.bron-btn-secondary:hover,
button.bron-btn-secondary:focus,
button.bron-btn-secondary:focus-visible,
button.bron-btn-secondary:active,
.bron-btn-secondary:hover,
.bron-btn-secondary:focus,
.bron-btn-secondary:focus-visible,
.bron-btn-secondary:active {
	background: var(--bron-surface-accent);
	border-color: var(--bron-border);
	color: var(--bron-text);
	text-decoration: none;
}

a.bron-btn-danger,
button.bron-btn-danger,
.bron-btn-danger {
	border: none;
	background: var(--bron-danger);
	color: var(--bron-cta-text);
}

a.bron-btn-danger:visited,
button.bron-btn-danger:visited,
.bron-btn-danger:visited {
	color: var(--bron-cta-text);
	text-decoration: none;
}

a.bron-btn-danger:hover,
a.bron-btn-danger:focus,
a.bron-btn-danger:focus-visible,
a.bron-btn-danger:active,
button.bron-btn-danger:hover,
button.bron-btn-danger:focus,
button.bron-btn-danger:focus-visible,
button.bron-btn-danger:active,
.bron-btn-danger:hover,
.bron-btn-danger:focus,
.bron-btn-danger:focus-visible,
.bron-btn-danger:active {
	background: var(--bron-danger);
	color: var(--bron-cta-text);
	opacity: 0.9;
}

.bron-btn-cta:disabled,
.bron-btn-cta[disabled],
.bron-btn-secondary:disabled,
.bron-btn-secondary[disabled],
.bron-btn-danger:disabled,
.bron-btn-danger[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
}
