/**
 * Avisos na pagina do produto.
 *
 * As cores de "success" reproduzem o aviso que o WPDef - Acesso PRO imprimia
 * antes. "info" e "warning" seguem a mesma forma, trocando so a cor.
 *
 * Todos os seletores compartilham a mesma base, body.single-product somado a
 * .woocommerce-info, o que da especificidade 0-3-1. Dois motivos:
 *
 * 1. O tema zera a margem de todo filho do resumo do produto com um seletor
 *    0-3-0 (.wpdef-single-product__summary > *), e 0-3-1 vence sem !important.
 * 2. As cores sao entregues por variaveis. Se a regra base fosse mais
 *    especifica que os modificadores, ela venceria a disputa por cada variavel
 *    e todo aviso sairia cinza. Mantendo a mesma base em todos, decide a ordem
 *    do arquivo, que e o comportamento esperado de um modificador.
 *
 * O WooCommerce entrega .woocommerce-info com fonte do corpo (18px), entrelinha
 * 1.65 e padding 18px 36px 18px 63px, dimensoes pensadas para um aviso de
 * carrinho ocupando a largura da pagina. Na coluna estreita do resumo do
 * produto isso fica pesado, entao a escala abaixo e mais compacta e o icone
 * absoluto e reposicionado junto, senao ele descola do texto.
 */

body.single-product .woocommerce-info.wpdef-product-notice {
	--wpdef-notice-border: #cbd5e1;
	--wpdef-notice-accent: #64748b;
	--wpdef-notice-bg: #f8fafc;
	--wpdef-notice-text: #334155;

	/* Recuo da esquerda: borda + respiro + icone + respiro. */
	--wpdef-notice-icon-size: 1rem;
	--wpdef-notice-pad-block: 0.75rem;
	--wpdef-notice-pad-inline: 0.875rem;

	margin-block-start: 1rem;
	padding-block: var(--wpdef-notice-pad-block);
	padding-inline: calc( var(--wpdef-notice-pad-inline) * 2 + var(--wpdef-notice-icon-size) ) var(--wpdef-notice-pad-inline);
	border-color: var(--wpdef-notice-border);
	border-inline-start-color: var(--wpdef-notice-accent);
	background: var(--wpdef-notice-bg);
	color: var(--wpdef-notice-text);
	font-size: 0.875rem;
	line-height: 1.45;
}

body.single-product .woocommerce-info.wpdef-product-notice::before {
	top: var(--wpdef-notice-pad-block);
	inset-inline-start: var(--wpdef-notice-pad-inline);
	width: var(--wpdef-notice-icon-size);
	height: var(--wpdef-notice-icon-size);
	color: var(--wpdef-notice-accent);
	font-size: var(--wpdef-notice-icon-size);
	line-height: 1.45;
}

body.single-product .woocommerce-info.wpdef-product-notice a {
	color: var(--wpdef-notice-text);
	font-weight: 700;
	text-decoration: none;
}

/* Em repouso o aviso inteiro ja e o alvo do clique, entao o sublinhado so
   aparece na interacao. O foco mantem contorno visivel para quem navega pelo
   teclado. */
body.single-product .woocommerce-info.wpdef-product-notice a:hover,
body.single-product .woocommerce-info.wpdef-product-notice a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body.single-product .woocommerce-info.wpdef-product-notice a:focus-visible {
	outline: 2px solid var(--wpdef-notice-accent);
	outline-offset: 2px;
}

/* Verde: mesmas cores do aviso PRO anterior. */
body.single-product .woocommerce-info.wpdef-product-notice--success {
	--wpdef-notice-border: #a7f3d0;
	--wpdef-notice-accent: #16a34a;
	--wpdef-notice-bg: #ecfdf5;
	--wpdef-notice-text: #166534;
}

/* Azul, para informacao neutra. */
body.single-product .woocommerce-info.wpdef-product-notice--info {
	--wpdef-notice-border: #bfdbfe;
	--wpdef-notice-accent: #2563eb;
	--wpdef-notice-bg: #eff6ff;
	--wpdef-notice-text: #1e40af;
}

/* Ambar, para condicao ou limite que o comprador precisa notar. */
body.single-product .woocommerce-info.wpdef-product-notice--warning {
	--wpdef-notice-border: #fde68a;
	--wpdef-notice-accent: #d97706;
	--wpdef-notice-bg: #fffbeb;
	--wpdef-notice-text: #92400e;
}
