/**
 * FestON — Design Tokens v2
 * Paleta oficial do painel administrativo.
 *
 * Documentação : docs/design-system/01-paleta-cores.md
 * Pré-visualização: /assets/design-system/paleta.html
 */
:root {
	/* —— Marca —— */
	--feston-brand-black: #050505;
	--feston-brand-green-on: #96fa00;
	--feston-brand-green-deep: #1f8f5f;
	--feston-brand-green-on-hover: #7fe600;
	--feston-brand-green-on-active: #6bcf00;
	--feston-brand-green-on-soft: rgba(150, 250, 0, 0.14);
	--feston-brand-green-on-glow: rgba(150, 250, 0, 0.35);
	--feston-brand-green-deep-soft: rgba(31, 143, 95, 0.12);

	/* —— Base do sistema —— */
	--feston-bg: #f6f7f4;
	--feston-surface-card: #ffffff;
	--feston-surface-soft-green: #f0fbea;
	--feston-border-default: #e4e8df;
	--feston-border-strong: #d5dacd;
	--feston-text-primary: #101010;
	--feston-text-secondary: #60645f;
	--feston-text-auxiliary: #9a9f96;

	/* —— Status / funcionais —— */
	--feston-status-approved: #27c46a;
	--feston-status-approved-soft: rgba(39, 196, 106, 0.14);
	--feston-status-pending: #ffb020;
	--feston-status-pending-soft: rgba(255, 176, 32, 0.16);
	--feston-status-incomplete: #ff6b4a;
	--feston-status-incomplete-soft: rgba(255, 107, 74, 0.14);
	--feston-status-error: #e84848;
	--feston-status-error-soft: rgba(232, 72, 72, 0.14);
	--feston-status-info: #2f80ed;
	--feston-status-info-soft: rgba(47, 128, 237, 0.12);
	--feston-status-neutral: #a3a8a0;
	--feston-status-neutral-soft: rgba(163, 168, 160, 0.16);

	/* —— Aliases layout v1 (compatibilidade) —— */
	--feston-green: var(--feston-brand-green-on);
	--feston-green-hover: var(--feston-brand-green-on-hover);
	/* Áreas suaves sólidas (#F0FBEA) — não sobrescrever com rgba translúcido */
	--feston-green-soft: var(--feston-surface-soft-green);
	--feston-green-glow: var(--feston-brand-green-on-glow);
	--feston-text: var(--feston-text-primary);
	--feston-text-tertiary: var(--feston-text-auxiliary);
	--feston-text-muted: var(--feston-text-secondary);
	--feston-surface: var(--feston-bg);
	--feston-surface-elevated: var(--feston-surface-card);
	--feston-border: var(--feston-border-default);

	/* —— Tipografia —— */
	--feston-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* —— Raios (cantos sempre arredondados) —— */
	--feston-radius-xs: 8px;
	--feston-radius-sm: 12px;
	--feston-radius-md: 16px;
	--feston-radius-lg: 22px;
	--feston-radius-xl: 28px;
	--feston-radius-pill: 9999px;
	--feston-ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* —— Sombras base —— */
	--feston-shadow-sm: 0 2px 8px rgba(5, 5, 5, 0.04);
	--feston-shadow-md: 0 4px 18px rgba(5, 5, 5, 0.06);
	--feston-shadow-lg: 0 12px 32px rgba(5, 5, 5, 0.08);
}

/* Utilitários de status (badges, chips, bordas) */
.feston-status--approved { color: var(--feston-status-approved); background: var(--feston-status-approved-soft); }
.feston-status--pending { color: var(--feston-status-pending); background: var(--feston-status-pending-soft); }
.feston-status--incomplete { color: var(--feston-status-incomplete); background: var(--feston-status-incomplete-soft); }
.feston-status--error { color: var(--feston-status-error); background: var(--feston-status-error-soft); }
.feston-status--info { color: var(--feston-status-info); background: var(--feston-status-info-soft); }
.feston-status--neutral { color: var(--feston-status-neutral); background: var(--feston-status-neutral-soft); }

/* ── Seleção de texto global ─────────────────────────────────────────────
   Tudo bloqueado por padrão; só blocos de conteúdo liberados. */
*,
*::before,
*::after {
	-webkit-user-select: none;
	user-select: none;
}

p,
h1, h2, h3, h4, h5, h6,
li, dt, dd, td, th,
figcaption, blockquote, pre, code, address,
.feston-text-line,
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select,
[contenteditable="true"],
.ql-editor,
.feston-selectable,
.selectable,
.feston-allow-select,
.allow-text-select,
.feston-data-table td,
.feston-data-table th,
.table td,
.table th {
	-webkit-user-select: text;
	user-select: text;
}

/* Containers de layout — nunca viram alvo de seleção em cascata */
article,
section,
main,
nav,
header,
footer,
aside,
form,
.feston-pdv-ticket,
.feston-pdv-ticket__inner,
.feston-pdv-ticket__main,
.feston-pdv-ticket__stub,
.feston-pdv-ticket__hero,
.feston-pdv-ticket__header,
.feston-pdv-ticket__details,
.feston-pdv-ticket__event-meta,
.feston-pdv-ticket__qr-wrap,
.feston-pdv-ticket__stub-info,
.feston-pdv-ticket-page__stack,
.feston-card,
.card,
.card-body,
.modal-content,
.feston-ingressos-main {
	-webkit-user-select: none;
	user-select: none;
}

.feston-sidebar,
.feston-sidebar .nav_link,
.feston-nav-section-title,
.feston-topbar,
.feston-public-header,
.feston-public-footer,
.feston-public-nav,
.feston-ingressos-topbar,
.feston-ws-topbar,
.feston-pdv-portal-topbar,
.feston-pdv-ticket-page__toolbar,
.header,
.l-navbar,
.nav_link,
.nav-link,
.btn,
button,
[role="button"],
.badge,
.card-header,
.feston-card .card-title,
.feston-card-title,
.feston-workshops-kpi,
.breadcrumb,
.feston-breadcrumb,
.feston-page-head,
.pagination,
.page-link,
.nav-tabs,
.dt-paging,
.dataTables_paginate,
.swal2-title,
.swal2-container,
.login-feston__brand,
.login-feston__card-title,
.feston-pdv-ticket__badge,
.feston-ws-qr-btn,
.feston-pdv-ticket-page__print-btn {
	-webkit-user-select: none;
	user-select: none;
}

.feston-sidebar *,
button *,
.btn *,
[role="button"] *,
.nav_link *,
.nav-link *,
.page-link *,
.feston-breadcrumb *,
.feston-page-head *,
.card-header *,
.badge *,
.feston-pdv-ticket-page__toolbar *,
.feston-ingressos-topbar *,
.feston-ws-topbar *,
.feston-public-header * {
	-webkit-user-select: none;
	user-select: none;
}

.feston-click-locked {
	pointer-events: none;
	opacity: 0.72;
}
