/*
 * Burdog Core — kit de componentes reutilizáveis.
 * Independente do tema ativo: usado tanto no wp-admin (que normalmente não
 * carrega o tema do front-end) quanto nas telas front-end dos plugins Burdog.
 *
 * Paleta e tipografia extraídas do PDF de marca da Burdog — fonte única de
 * verdade, reaproveitada pelo child theme burdog-child (mesmos valores hex).
 */

:root {
	/* Cores matriz */
	--burdog-verde-escuro: #1C331B;
	--burdog-branco: #FFFFFF;
	--burdog-cinza-claro: #E5E5E5;
	--burdog-preto: #1E1E1E;

	/* Desdobramentos */
	--burdog-nude: #DFAF9E;
	--burdog-dourado: #E9BD2E;
	--burdog-verde-claro: #B6DBA1;
	--burdog-verde-medio: #395B2C;

	/* Sem cor de erro/perigo definida pela marca: usa o padrão do Bootstrap. */
	--burdog-danger: #dc3545;

	--burdog-font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Estados (v0.13.0) — mensagens de sucesso, atenção, erro e processamento. */
	--burdog-sucesso: #198754;
	--burdog-sucesso-fundo: #d1e7dd;
	--burdog-sucesso-texto: #0f5132;
	--burdog-atencao: #c89f00;
	--burdog-atencao-fundo: #fff3cd;
	--burdog-atencao-texto: #664d03;
	--burdog-erro: #b02a37;
	--burdog-erro-fundo: #f8d7da;
	--burdog-erro-texto: #58151c;
}

.burdog-ui {
	font-family: var( --burdog-font-family );
	color: var( --burdog-preto );
}

/* Botões */
.burdog-btn {
	display: inline-block;
	font-family: var( --burdog-font-family );
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
	padding: 0.6em 1.2em;
	border-radius: 6px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.burdog-btn-primary {
	background-color: var( --burdog-verde-escuro );
	border-color: var( --burdog-verde-escuro );
	color: var( --burdog-branco );
}
.burdog-btn-primary:hover,
.burdog-btn-primary:focus {
	background-color: var( --burdog-verde-medio );
	border-color: var( --burdog-verde-medio );
	color: var( --burdog-branco );
}

.burdog-btn-secondary {
	background-color: var( --burdog-branco );
	border-color: var( --burdog-verde-escuro );
	color: var( --burdog-verde-escuro );
}
.burdog-btn-secondary:hover,
.burdog-btn-secondary:focus {
	background-color: var( --burdog-cinza-claro );
}

.burdog-btn-danger {
	background-color: var( --burdog-danger );
	border-color: var( --burdog-danger );
	color: var( --burdog-branco );
}

/* Formulários */
.burdog-form-group {
	margin-bottom: 1em;
}
.burdog-form-label {
	display: block;
	font-family: var( --burdog-font-family );
	font-weight: 600;
	margin-bottom: 0.35em;
	color: var( --burdog-preto );
}
.burdog-form-control {
	width: 100%;
	font-family: var( --burdog-font-family );
	font-size: 14px;
	padding: 0.5em 0.7em;
	border: 1px solid var( --burdog-cinza-claro );
	border-radius: 6px;
	background-color: var( --burdog-branco );
	color: var( --burdog-preto );
}
.burdog-form-control:focus {
	outline: none;
	border-color: var( --burdog-verde-escuro );
	box-shadow: 0 0 0 2px rgba( 28, 51, 27, 0.15 );
}

/* Tabelas */
.burdog-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var( --burdog-font-family );
	font-size: 14px;
}
.burdog-table th,
.burdog-table td {
	text-align: left;
	padding: 0.6em 0.8em;
	border-bottom: 1px solid var( --burdog-cinza-claro );
}
.burdog-table th {
	background-color: var( --burdog-verde-escuro );
	color: var( --burdog-branco );
	font-weight: 600;
}
.burdog-table tbody tr:hover {
	background-color: var( --burdog-cinza-claro );
}

/* Cards */
.burdog-card {
	background-color: var( --burdog-branco );
	border: 1px solid var( --burdog-cinza-claro );
	border-radius: 10px;
	padding: 1.2em;
	font-family: var( --burdog-font-family );
}
.burdog-card-title {
	font-weight: 700;
	font-size: 16px;
	margin: 0 0 0.5em;
	color: var( --burdog-verde-escuro );
}

/* Grid de cards (painel de ferramentas do front-end) */
.burdog-cards-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) );
	gap: 1em;
	margin-top: 1.5em;
}
.burdog-tool-card {
	display: block;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.burdog-tool-card:hover,
.burdog-tool-card:focus {
	border-color: var( --burdog-verde-escuro );
	box-shadow: 0 2px 8px rgba( 28, 51, 27, 0.12 );
}
.burdog-tool-card p {
	margin: 0;
	font-size: 14px;
	color: var( --burdog-preto );
}

/* ==========================================================================
   Reskin do "chrome" nativo do wp-admin (barra superior, menu lateral,
   botões) — v0.9.3.
   ==========================================================================
   Até a v0.9.2 a decisão técnica #9 descrevia esse reskin como parte do
   Core, mas as regras nunca tinham sido escritas de fato — só os
   componentes .burdog-* usados dentro das TELAS dos plugins existiam. Isso
   é o que faltava: recolorir os elementos NATIVOS do WP (não criados pelo
   Core), então os seletores aqui são os do próprio WordPress, não classes
   .burdog-*.

   Escopo deliberadamente restrito a barra superior + menu lateral + botão
   primário — o mesmo escopo que já estava descrito na decisão #9 ("barra
   superior, menu, botões"). Não recolore links de conteúdo, área de posts,
   etc., pra não brigar com convenções visuais do próprio WP (ex. links
   azuis) fora do que foi pedido.

   Não é um "admin color scheme" nativo do WP (`wp_admin_css_color()`) —
   essa API cobre também dezenas de detalhes menores (bolhas de notificação,
   estados de foco de formulário nativo, etc.) que aqui não foram
   replicados. Se algum desses detalhes menores aparecer com a cor padrão
   do WP em alguma tela específica, é esperado — o reskin cobre o que é
   visível na maior parte do tempo (barra, menu, botão principal), não
   100% dos elementos do admin. Migrar para um color scheme nativo fica
   como opção futura se isso virar um problema real.

   v0.9.5: o `#wpadminbar` e os estados de HOVER/ATUAL do `#adminmenu`
   (mesmos seletores usados pelo esquema de cor nativo do WP, ex.
   `#adminmenu li.menu-top:hover`) usam `!important`. Sem isso, a
   especificidade fica empatada com o CSS do esquema de cor nativo
   ('colors', normalmente azul) e quem carrega por último no HTML vence —
   o que dependia da ordem de enqueue entre plugins e causava o hover
   "piscar" azul antes de assumir a cor da marca (bug relatado pelo
   usuário). `!important` aqui é reforço deliberado, não um hack: já
   garantimos a ordem de carregamento via dependência no handle 'colors'
   (`class-burdog-core-assets.php`), mas o `!important` cobre o caso de um
   esquema de cor customizado (ou de terceiro) registrar seu handle depois
   do nosso mesmo assim.
   ========================================================================== */

/* Barra superior (admin bar) */
#wpadminbar {
	background: var( --burdog-verde-escuro ) !important;
}
#wpadminbar .ab-item,
#wpadminbar a.ab-item,
#wpadminbar > #wp-toolbar span.ab-label,
#wpadminbar > #wp-toolbar span.noticon {
	color: var( --burdog-branco ) !important;
}
#wpadminbar:not( .mobile ) .ab-top-menu > li:hover > .ab-item,
#wpadminbar:not( .mobile ) .ab-top-menu > li.hover > .ab-item,
#wpadminbar:not( .mobile ) .ab-top-menu > li > .ab-item:focus,
#wpadminbar.nojq .quicklinks .ab-top-menu > li:hover > .ab-item {
	background: var( --burdog-verde-medio ) !important;
	color: var( --burdog-branco ) !important;
}

/* Menu lateral (adminmenu) */
#adminmenuback,
#adminmenuwrap,
#adminmenu,
#adminmenu .wp-submenu {
	background: var( --burdog-verde-escuro );
}
#adminmenu a {
	color: var( --burdog-branco );
}
#adminmenu div.wp-menu-image::before {
	color: var( --burdog-cinza-claro );
}
/*
 * Hover/foco/"item atual" do menu de topo: os MESMOS seletores que o
 * esquema de cor nativo do WP usa pra pintar de azul — `!important` aqui
 * garante que a marca vence mesmo se algo carregar depois do nosso CSS
 * (ver nota v0.9.5 no topo do arquivo).
 */
#adminmenu li.menu-top:hover,
#adminmenu li.opensub > a.menu-top,
#adminmenu li > a.menu-top:focus {
	background: var( --burdog-verde-medio ) !important;
	color: var( --burdog-branco ) !important;
}
#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
#adminmenu li.current a.menu-top {
	background: var( --burdog-verde-medio ) !important;
	color: var( --burdog-branco ) !important;
}
#adminmenu .wp-submenu a {
	color: var( --burdog-branco );
}
#adminmenu .wp-submenu a:hover,
#adminmenu .wp-submenu a:focus,
#adminmenu li.current .wp-submenu a.wp-submenu-current,
#adminmenu a.wp-has-current-submenu:hover ~ .wp-submenu a:hover {
	color: var( --burdog-dourado ) !important;
}
#adminmenu .wp-submenu li.current a {
	color: var( --burdog-dourado ) !important;
}
#collapse-button .collapse-button-icon,
#collapse-button .collapse-button-label {
	color: var( --burdog-cinza-claro );
}

/* Botão principal (Salvar, Publicar, etc.) */
.wp-core-ui .button-primary {
	background: var( --burdog-verde-escuro );
	border-color: var( --burdog-verde-escuro );
	color: var( --burdog-branco );
	box-shadow: none;
	text-shadow: none;
}
.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus {
	background: var( --burdog-verde-medio );
	border-color: var( --burdog-verde-medio );
	color: var( --burdog-branco );
}

/* Alertas */
.burdog-alert {
	font-family: var( --burdog-font-family );
	font-size: 14px;
	padding: 0.8em 1em;
	border-radius: 6px;
	border: 1px solid transparent;
	margin-bottom: 1em;
}
.burdog-alert-success {
	background-color: var( --burdog-verde-claro );
	border-color: var( --burdog-verde-medio );
	color: var( --burdog-verde-escuro );
}
.burdog-alert-warning {
	background-color: var( --burdog-dourado );
	border-color: #b98f10;
	color: var( --burdog-preto );
}
.burdog-alert-danger {
	background-color: #f8d7da;
	border-color: var( --burdog-danger );
	color: #58151c;
}
.burdog-alert-info {
	background-color: var( --burdog-nude );
	border-color: var( --burdog-verde-medio );
	color: var( --burdog-preto );
}


/*
 * Telas de ferramenta no front-end (v0.12.0) — <body class="burdog-app"> +
 * Burdog_Core_Frontend::render_app_header(). Mesma linguagem visual do Burdog
 * Portal. Também estiliza, só dentro de .burdog-app, as classes de controle do
 * wp-admin (.button, .widefat…) que as ferramentas reaproveitam do wp-admin,
 * para o mesmo markup funcionar nas duas telas.
 */
body.burdog-app {
	margin: 0;
	background: #F5F5F2;
	color: var( --burdog-preto );
	font-family: var( --burdog-font-family );
	font-size: 15px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}
body.burdog-app *, body.burdog-app *::before, body.burdog-app *::after { box-sizing: border-box; }
.burdog-app [hidden] { display: none !important; }
.burdog-app-container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.burdog-app-topbar { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var( --burdog-cinza-claro ); }
.burdog-app-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; }
.burdog-app-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; }
.burdog-app-brand__logo { display: block; height: 34px; width: auto; max-width: 130px; object-fit: contain; }
.burdog-app-brand__text { font-weight: 900; font-size: 20px; color: var( --burdog-verde-escuro ); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.burdog-app-brand__tag { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var( --burdog-verde-medio ); background: rgba( 182, 219, 161, .45 ); padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.burdog-app-back { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; min-height: 40px; padding: 0 12px 0 8px; border: 1px solid var( --burdog-cinza-claro ); border-radius: 10px; font-size: 14px; font-weight: 700; color: var( --burdog-verde-escuro ); text-decoration: none; }
.burdog-app-back:hover { background: #F5F5F2; }
.burdog-app-main { padding: 20px 0 40px; }
.burdog-app-title { margin: 0 0 8px; font-size: 26px; font-weight: 900; line-height: 1.2; color: var( --burdog-verde-escuro ); }
.burdog-app :focus-visible { outline: 3px solid var( --burdog-dourado ); outline-offset: 2px; }
.burdog-app .description { color: #5B6358; }
.burdog-app-main h2 { margin: 0 0 8px; font-size: 18px; font-weight: 800; line-height: 1.3; color: var( --burdog-verde-escuro ); }
.burdog-app select,
.burdog-app input[type=number],
.burdog-app input[type=text],
.burdog-app .regular-text { min-height: 44px; padding: 0 12px; border: 2px solid var( --burdog-cinza-claro ); border-radius: 10px; background: #fff; color: var( --burdog-preto ); font: inherit; font-size: 16px; max-width: 100%; }
.burdog-app select:focus, .burdog-app input:focus { border-color: var( --burdog-verde-medio ); outline: none; }
.burdog-app .button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 18px; border: 2px solid var( --burdog-cinza-claro ); border-radius: 12px; background: #fff; color: var( --burdog-verde-escuro ); font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; }
.burdog-app .button:hover { border-color: var( --burdog-verde-claro ); }
.burdog-app .button-primary { background: var( --burdog-dourado ); border-color: var( --burdog-dourado ); color: var( --burdog-preto ); }
.burdog-app .button-primary:hover { filter: brightness( 1.05 ); border-color: var( --burdog-dourado ); }
.burdog-app .button-large, .burdog-app .button-hero { min-height: 52px; font-size: 17px; padding: 0 22px; }
.burdog-app .button:disabled { background: var( --burdog-cinza-claro ); border-color: var( --burdog-cinza-claro ); color: #5B6358; cursor: not-allowed; filter: none; }
.burdog-app .widefat { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
.burdog-app .widefat th, .burdog-app .widefat td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var( --burdog-cinza-claro ); }
.burdog-app .widefat thead th { background: var( --burdog-verde-escuro ); color: #fff; }
.burdog-app .striped > tbody > tr:nth-child( odd ) > td { background: #FAFAF8; }
@media ( max-width: 640px ) {
	.burdog-app-title { font-size: 22px; }
	.burdog-app .button { width: 100%; }
	.burdog-app-back span:last-child { display: none; }
	.burdog-app-back { padding: 0 8px; }
}


/*
 * Componentes compartilhados de ferramenta (v0.13.0) — upload, progresso e
 * status. Visual de referência: Auditoria de Ponto. Funcionam no wp-admin e no
 * front-end (este arquivo é carregado nos dois). Guia de uso: readme.txt do
 * Core, seção "Componentes visuais".
 */

/* Upload com drag-and-drop: Burdog_Core_Frontend::render_upload(). */
.burdog-upload {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 28px 16px;
	border: 2px dashed var( --burdog-verde-medio );
	border-radius: 10px;
	background: #f7faf5;
	text-align: center;
	cursor: pointer;
	font-family: var( --burdog-font-family );
	transition: background-color .15s ease, border-color .15s ease;
}
.burdog-upload:hover,
.burdog-upload:focus,
.burdog-upload.is-dragover,
.burdog-upload.is-over { background: #eaf4e3; border-color: var( --burdog-verde-escuro ); outline: none; }
.burdog-upload:focus-visible { box-shadow: 0 0 0 3px var( --burdog-dourado ); }
.burdog-upload__title { font-size: 15px; font-weight: 700; color: var( --burdog-verde-escuro ); }
.burdog-upload__hint { font-size: 14px; color: var( --burdog-preto ); }
.burdog-upload__link { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.burdog-upload__note { font-size: 12px; color: #5B6358; }
.burdog-upload__file { margin-top: 6px; font-style: normal; font-weight: 700; color: var( --burdog-verde-escuro ); overflow-wrap: anywhere; }
.burdog-upload__file:empty, .burdog-upload__file[hidden] { display: none; }
.burdog-upload__error { margin-top: 6px; font-weight: 700; color: var( --burdog-erro ); }
.burdog-upload__error:empty { display: none; }
/* Arquivo escolhido. */
.burdog-upload.is-selected,
.burdog-upload:has( .burdog-upload__file:not( :empty ):not( [hidden] ) ) { border-style: solid; }
/* Processando. */
.burdog-upload.is-loading,
.burdog-upload[aria-busy="true"] { opacity: .6; pointer-events: none; }
/* Erro. */
.burdog-upload.is-error { border-color: var( --burdog-erro ); background: var( --burdog-erro-fundo ); }

/* Barra de progresso: <div class="burdog-progress"><div></div></div> (ou <span>). */
.burdog-progress { height: 8px; margin: 14px 0; background: var( --burdog-cinza-claro ); border-radius: 4px; overflow: hidden; }
.burdog-progress > div,
.burdog-progress > span { display: block; height: 100%; width: 0; background: var( --burdog-verde-medio ); transition: width .2s ease; }

/* Status em uma linha: .burdog-status + --success / --warning / --error / --processing. */
.burdog-status { font-family: var( --burdog-font-family ); font-weight: 600; }
.burdog-status--success { color: var( --burdog-sucesso ); }
.burdog-status--warning { color: var( --burdog-atencao-texto ); }
.burdog-status--error { color: var( --burdog-erro ); }
.burdog-status--processing { color: var( --burdog-verde-medio ); }

/* Compartilhar pelo WhatsApp (v0.14.0): Burdog_Core_Frontend::render_whatsapp_share(). */
.burdog-share-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 2px solid #1A8F4A;
	border-radius: 12px;
	background: #25D366;
	color: #0B3D1E;
	font-family: var( --burdog-font-family );
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.burdog-share-whatsapp:hover,
.burdog-share-whatsapp:focus { background: #20BD5A; color: #0B3D1E; }
.burdog-share-whatsapp:focus-visible { outline: 3px solid var( --burdog-dourado ); outline-offset: 2px; }
.burdog-share-whatsapp__icon { flex: 0 0 auto; }
.burdog-share-whatsapp__note { display: block; margin-top: 6px; font-size: 12px; color: #5B6358; }
@media ( max-width: 640px ) {
	.burdog-app .burdog-share-whatsapp { width: 100%; }
}
