/**
 * Câmara Acessibilidade — Frontend
 * Conformidade: eMAG, WCAG 2.1 AA, Decreto 5.296/2004.
 */

:root {
	--cacs-barra-fundo: #0a4595;
	--cacs-barra-texto: #ffffff;
	--cacs-cor-principal: #0a4595;
	--cacs-cor-fundo-suave: #f9fafb;
	--cacs-cor-borda: #e5e7eb;
	--cacs-cor-texto: #1f2937;
	--cacs-cor-texto-suave: #6b7280;
	--cacs-radius: 8px;
	--cacs-trans: 200ms ease;
	--cacs-fonte-escala: 1; /* multiplicador controlado por JS */
}

/* =============================================================================
   AJUSTE DE TAMANHO DE FONTE (escala global)
   Estratégia em camadas para vencer temas teimosos:
   1) font-size do html (afeta rem) com !important
   2) Override em body, headings, p, etc. com calc() proporcional
   3) CSS variable --cacs-fonte-escala para temas que queiram usar
   ============================================================================= */
html.cacs-fonte-80  { font-size: 80%  !important; }
html.cacs-fonte-90  { font-size: 90%  !important; }
html.cacs-fonte-100 { font-size: 100% !important; }
html.cacs-fonte-110 { font-size: 110% !important; }
html.cacs-fonte-120 { font-size: 120% !important; }
html.cacs-fonte-130 { font-size: 130% !important; }
html.cacs-fonte-140 { font-size: 140% !important; }

/* Reforço em body — temas que setam body { font-size: 14px } perdem o html % */
body.cacs-fonte-80  { font-size: 0.8rem  !important; }
body.cacs-fonte-90  { font-size: 0.9rem  !important; }
body.cacs-fonte-100 { font-size: 1rem    !important; }
body.cacs-fonte-110 { font-size: 1.1rem  !important; }
body.cacs-fonte-120 { font-size: 1.2rem  !important; }
body.cacs-fonte-130 { font-size: 1.3rem  !important; }
body.cacs-fonte-140 { font-size: 1.4rem  !important; }

/* Reforço em elementos típicos — para temas que usam px diretamente */
body[class*="cacs-fonte-"] p,
body[class*="cacs-fonte-"] li,
body[class*="cacs-fonte-"] td,
body[class*="cacs-fonte-"] th,
body[class*="cacs-fonte-"] dd,
body[class*="cacs-fonte-"] dt,
body[class*="cacs-fonte-"] span:not(.cacs-fonte-label):not(.cacs-btn-label):not(.screen-reader-text),
body[class*="cacs-fonte-"] a:not(.cacs-btn),
body[class*="cacs-fonte-"] label,
body[class*="cacs-fonte-"] button:not(.cacs-btn):not(.cacs-btn-enviar):not(.cacs-avaliacao-toggle):not(.cacs-avaliacao-fechar):not(.cacs-btn-leitor):not(.cacs-leitor-toggle),
body[class*="cacs-fonte-"] input,
body[class*="cacs-fonte-"] textarea,
body[class*="cacs-fonte-"] select {
	font-size: calc(1em * var(--cacs-fonte-escala, 1)) !important;
}

body[class*="cacs-fonte-"] h1 { font-size: calc(2em * var(--cacs-fonte-escala, 1)) !important; }
body[class*="cacs-fonte-"] h2 { font-size: calc(1.6em * var(--cacs-fonte-escala, 1)) !important; }
body[class*="cacs-fonte-"] h3 { font-size: calc(1.35em * var(--cacs-fonte-escala, 1)) !important; }
body[class*="cacs-fonte-"] h4 { font-size: calc(1.15em * var(--cacs-fonte-escala, 1)) !important; }
body[class*="cacs-fonte-"] h5,
body[class*="cacs-fonte-"] h6 { font-size: calc(1em * var(--cacs-fonte-escala, 1)) !important; }

/* A barra de acessibilidade NÃO escala — fica sempre legível */
body[class*="cacs-fonte-"] .cacs-barra,
body[class*="cacs-fonte-"] .cacs-barra *,
body[class*="cacs-fonte-"] .cacs-barra-injetada,
body[class*="cacs-fonte-"] .cacs-barra-injetada *,
body[class*="cacs-fonte-"] .cacs-leitor-toolbar,
body[class*="cacs-fonte-"] .cacs-leitor-toolbar *,
body[class*="cacs-fonte-"] .cacs-avaliacao-toggle,
body[class*="cacs-fonte-"] .cacs-avaliacao-toggle * {
	font-size: revert !important;
}

/* =============================================================================
   ALTO CONTRASTE (modo escuro forçado)
   ============================================================================= */
html.cacs-alto-contraste,
html.cacs-alto-contraste body {
	background: #000 !important;
	color: #ffff00 !important;
}
html.cacs-alto-contraste *:not(.cacs-barra):not(.cacs-barra *):not(.cacs-avaliacao):not(.cacs-avaliacao *):not(.cacs-avaliacao-toggle):not(.cacs-avaliacao-toggle *) {
	background: #000 !important;
	color: #ffff00 !important;
	border-color: #ffff00 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
html.cacs-alto-contraste a,
html.cacs-alto-contraste a * {
	color: #00ffff !important;
	text-decoration: underline !important;
}
html.cacs-alto-contraste button,
html.cacs-alto-contraste input,
html.cacs-alto-contraste select,
html.cacs-alto-contraste textarea {
	background: #000 !important;
	color: #ffff00 !important;
	border: 2px solid #ffff00 !important;
}
html.cacs-alto-contraste img:not([alt=""]) {
	filter: grayscale(100%) contrast(120%);
	border: 1px dashed #ffff00;
	padding: 2px;
}
html.cacs-alto-contraste :focus {
	outline: 3px solid #00ffff !important;
	outline-offset: 2px !important;
}

/* =============================================================================
   ATALHOS DE TECLADO (visíveis apenas com foco/leitor)
   ============================================================================= */
.cacs-screen-reader-shortcut {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100001;
	padding: 12px 16px;
	background: var(--cacs-barra-fundo);
	color: var(--cacs-barra-texto);
	font-weight: 700;
	text-decoration: none;
	border-radius: 0 0 6px 0;
}
.cacs-screen-reader-shortcut:focus {
	left: 0;
	outline: 3px solid #ffff00;
}

/* =============================================================================
   LEITOR DE TELA
   ============================================================================= */

/* Toolbar flutuante do leitor */
.cacs-leitor-toolbar {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99997;
	background: #1f2937;
	color: #fff;
	border-radius: 100px;
	padding: 8px 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.25);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 14px;
	max-width: 95vw;
	flex-wrap: wrap;
	justify-content: center;
	animation: cacs-slide-up 220ms ease-out;
}
@keyframes cacs-slide-up {
	from { opacity: 0; transform: translateX(-50%) translateY(12px); }
	to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.cacs-leitor-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,0.1);
	color: #fff;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: all 150ms;
	font-family: inherit;
}
.cacs-leitor-btn:hover,
.cacs-leitor-btn:focus {
	background: rgba(255,255,255,0.25);
	outline: none;
}
.cacs-leitor-btn:focus-visible {
	outline: 2px solid #fbbf24;
	outline-offset: 2px;
}

.cacs-leitor-play-pause {
	background: #fbbf24 !important;
	color: #1f2937 !important;
	width: 44px !important;
	height: 44px !important;
}
.cacs-leitor-play-pause:hover {
	background: #f59e0b !important;
}

.cacs-leitor-velocidade {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
}
.cacs-leitor-velocidade label {
	color: rgba(255,255,255,0.85);
}
.cacs-leitor-velocidade select {
	background: rgba(255,255,255,0.1);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 6px;
	padding: 4px 8px;
	font-family: inherit;
	font-size: 12px;
	cursor: pointer;
}
.cacs-leitor-velocidade select option {
	background: #1f2937;
	color: #fff;
}

.cacs-leitor-parar {
	background: rgba(220,38,38,0.5) !important;
}
.cacs-leitor-parar:hover {
	background: rgba(220,38,38,0.8) !important;
}

.cacs-leitor-status {
	font-size: 12px;
	color: rgba(255,255,255,0.8);
	min-width: 70px;
}

@media (max-width: 600px) {
	.cacs-leitor-toolbar {
		bottom: 12px;
		font-size: 12px;
		padding: 6px 12px;
		gap: 6px;
	}
	.cacs-leitor-velocidade label {
		display: none;
	}
	.cacs-leitor-status {
		display: none;
	}
}

/* Botão "Ouvir" ativo (na barra) */
.cacs-btn-leitor-ativo {
	background: rgba(255,255,255,0.3) !important;
	border-color: rgba(255,255,255,0.9) !important;
}

/* Realce do trecho sendo lido */
.cacs-leitor-realcado {
	background: linear-gradient(120deg, #fef3c7 0%, #fde68a 100%) !important;
	color: #1f2937 !important;
	border-radius: 4px !important;
	padding: 2px 6px !important;
	box-shadow: 0 0 0 3px rgba(251,191,36,0.4) !important;
	transition: all 200ms;
}
html.cacs-alto-contraste .cacs-leitor-realcado {
	background: #ffff00 !important;
	color: #000 !important;
	box-shadow: 0 0 0 3px #ffff00 !important;
}

/* =============================================================================
   SHORTCODE [camara_barra_acessibilidade]
   ============================================================================= */
.cacs-shortcode-barra {
	display: block;
	width: 100%;
	padding: 8px 16px;
	box-sizing: border-box;
	color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 13px;
}

.cacs-shortcode-barra .cacs-controles-grupo {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.cacs-shortcode-barra.cacs-align-direita .cacs-controles-grupo {
	justify-content: flex-end;
}
.cacs-shortcode-barra.cacs-align-centro .cacs-controles-grupo {
	justify-content: center;
}
.cacs-shortcode-barra.cacs-align-esquerda .cacs-controles-grupo {
	justify-content: flex-start;
}

.cacs-shortcode-barra .cacs-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: transparent;
	color: var(--cacs-sc-cor-texto, currentColor);
	border: 1px solid var(--cacs-sc-cor-borda, rgba(255,255,255,0.35));
	border-radius: 4px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	transition: all var(--cacs-trans);
	font-family: inherit;
	line-height: 1.2;
	white-space: nowrap;
}
.cacs-shortcode-barra .cacs-btn:hover,
.cacs-shortcode-barra .cacs-btn:focus {
	background: rgba(255,255,255,0.18);
	outline: none;
}
.cacs-shortcode-barra .cacs-btn[aria-pressed="true"] {
	background: rgba(255,255,255,0.3);
}

.cacs-shortcode-barra .cacs-fonte-grupo {
	display: inline-flex;
	gap: 0;
	border: 1px solid var(--cacs-sc-cor-borda, rgba(255,255,255,0.35));
	border-radius: 4px;
	overflow: hidden;
}
.cacs-shortcode-barra .cacs-fonte-grupo .cacs-btn {
	border: 0;
	border-radius: 0;
	min-width: 32px;
	justify-content: center;
	padding: 6px 8px;
}
.cacs-shortcode-barra .cacs-fonte-grupo .cacs-btn + .cacs-btn {
	border-left: 1px solid var(--cacs-sc-cor-borda, rgba(255,255,255,0.35));
}

.cacs-shortcode-barra.cacs-barra-compacta .cacs-btn-label {
	display: none;
}

@media (max-width: 768px) {
	.cacs-shortcode-barra .cacs-btn-label {
		display: none;
	}
}

/* =============================================================================
   BARRA INJETADA NO HEADER DO TEMA
   ============================================================================= */
.cacs-barra-injetada {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 8px;
	vertical-align: middle;
}

.cacs-barra-injetada .cacs-controles-grupo {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
}

.cacs-barra-injetada .cacs-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 10px;
	background: transparent;
	color: inherit;
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	transition: all var(--cacs-trans);
	font-family: inherit;
	line-height: 1.2;
	white-space: nowrap;
}
.cacs-barra-injetada .cacs-btn:hover,
.cacs-barra-injetada .cacs-btn:focus {
	background: rgba(255,255,255,0.18);
	border-color: rgba(255,255,255,0.7);
	outline: none;
}
.cacs-barra-injetada .cacs-btn[aria-pressed="true"] {
	background: rgba(255,255,255,0.3);
	border-color: rgba(255,255,255,0.9);
}

.cacs-barra-injetada .cacs-fonte-grupo {
	display: inline-flex;
	gap: 0;
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 4px;
	overflow: hidden;
}
.cacs-barra-injetada .cacs-fonte-grupo .cacs-btn {
	border: 0;
	border-radius: 0;
	min-width: 32px;
	justify-content: center;
	padding: 5px 8px;
}
.cacs-barra-injetada .cacs-fonte-grupo .cacs-btn + .cacs-btn {
	border-left: 1px solid rgba(255,255,255,0.35);
}

/* Modo compacto: esconde textos, mostra só ícones */
.cacs-barra-injetada.cacs-barra-compacta .cacs-btn-label {
	display: none;
}
.cacs-barra-injetada.cacs-barra-compacta .cacs-btn {
	padding: 5px 8px;
}

@media (max-width: 768px) {
	.cacs-barra-injetada .cacs-btn-label {
		display: none;
	}
	.cacs-barra-injetada .cacs-btn {
		padding: 5px 8px;
	}
}

/* Template oculto */
template#cacs-barra-template {
	display: none !important;
}

/* =============================================================================
   BARRA FIXA (modo fixa-topo ou fixa-rodape)
   ============================================================================= */
.cacs-barra {
	width: 100%;
	background: var(--cacs-barra-fundo);
	color: var(--cacs-barra-texto);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 14px;
	box-sizing: border-box;
	z-index: 100000;
	position: relative;
}
.cacs-barra-topo {
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.cacs-barra-rodape {
	border-top: 1px solid rgba(255,255,255,0.1);
}

.cacs-barra-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 16px;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.cacs-barra .cacs-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: transparent;
	color: var(--cacs-barra-texto);
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 4px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	transition: all var(--cacs-trans);
	font-family: inherit;
	line-height: 1.2;
}
.cacs-barra .cacs-btn:hover,
.cacs-barra .cacs-btn:focus {
	background: rgba(255,255,255,0.15);
	border-color: rgba(255,255,255,0.6);
	outline: none;
}
.cacs-barra .cacs-btn[aria-pressed="true"] {
	background: rgba(255,255,255,0.25);
	border-color: rgba(255,255,255,0.8);
}
.cacs-barra .cacs-btn svg {
	flex-shrink: 0;
}

.cacs-fonte-grupo {
	display: inline-flex;
	gap: 2px;
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 4px;
	overflow: hidden;
}
.cacs-fonte-grupo .cacs-btn {
	border: 0;
	border-radius: 0;
	min-width: 36px;
	justify-content: center;
}
.cacs-fonte-grupo .cacs-btn + .cacs-btn {
	border-left: 1px solid rgba(255,255,255,0.3);
}
.cacs-fonte-label {
	font-weight: 700;
	font-size: 13px;
}
.cacs-fonte-maior .cacs-fonte-label {
	font-size: 16px;
}
.cacs-fonte-menor .cacs-fonte-label {
	font-size: 11px;
}

@media (max-width: 600px) {
	.cacs-barra-inner {
		justify-content: center;
	}
	.cacs-barra .cacs-btn span:not(.cacs-fonte-label) {
		display: none;
	}
}

/* =============================================================================
   PÁGINA /acessibilidade
   ============================================================================= */
.cacs-pagina {
	max-width: 1100px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--cacs-cor-texto);
}

.cacs-pagina-header {
	margin-bottom: 32px;
}
.cacs-pagina-header h1 {
	font-size: 32px !important;
	margin: 0 0 8px !important;
	color: var(--cacs-cor-texto) !important;
	font-weight: 700;
}
.cacs-pagina-header p {
	margin: 0 0 16px !important;
	color: var(--cacs-cor-texto-suave) !important;
	font-size: 15px !important;
}
.cacs-pagina-header::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	background: var(--cacs-cor-principal);
	border-radius: 2px;
}

.cacs-pagina .cacs-secao {
	margin-bottom: 32px;
}
.cacs-pagina .cacs-secao h2 {
	font-size: 22px !important;
	color: var(--cacs-cor-texto) !important;
	margin: 0 0 16px !important;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.cacs-pagina .cacs-secao h2::after {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	background: var(--cacs-cor-principal);
	border-radius: 2px;
	margin-top: 6px;
}
.cacs-pagina .cacs-secao p {
	line-height: 1.7;
	font-size: 15px;
	margin: 0 0 12px;
}

/* Grid de recursos */
.cacs-recursos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 16px;
}

.cacs-recurso-card {
	background: #fff;
	border: 1px solid var(--cacs-cor-borda);
	border-radius: var(--cacs-radius);
	padding: 24px;
	transition: all var(--cacs-trans);
	border-top: 3px solid var(--cacs-cor-principal);
}
.cacs-recurso-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.06);
	transform: translateY(-2px);
}

.cacs-recurso-icone {
	width: 44px;
	height: 44px;
	background: var(--cacs-cor-fundo-suave);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cacs-cor-principal);
	margin-bottom: 14px;
}

.cacs-recurso-card h3 {
	margin: 0 0 12px !important;
	font-size: 17px !important;
	color: var(--cacs-cor-texto) !important;
	font-weight: 700;
}

.cacs-recurso-card p {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--cacs-cor-texto);
}

.cacs-recurso-card .cacs-recurso-obs {
	font-size: 12px;
	color: var(--cacs-cor-texto-suave);
	font-style: italic;
	margin-top: 12px;
}

.cacs-atalhos-lista {
	list-style: none;
	margin: 8px 0 0 !important;
	padding: 0 !important;
}
.cacs-atalhos-lista li {
	padding: 6px 0;
	font-size: 13px;
	border-bottom: 1px dashed var(--cacs-cor-borda);
}
.cacs-atalhos-lista li:last-child {
	border-bottom: 0;
}
.cacs-atalhos-lista kbd {
	display: inline-block;
	padding: 2px 8px;
	background: var(--cacs-cor-fundo-suave);
	border: 1px solid var(--cacs-cor-borda);
	border-bottom-width: 2px;
	border-radius: 4px;
	font-family: 'Courier New', monospace;
	font-size: 12px;
	font-weight: 700;
	color: var(--cacs-cor-principal);
}
.cacs-atalhos-links a {
	color: var(--cacs-cor-principal);
	font-weight: 600;
	text-decoration: none;
}
.cacs-atalhos-links a:hover {
	text-decoration: underline;
}

.cacs-btn-demo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: var(--cacs-cor-principal);
	color: #fff !important;
	border: 0;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none !important;
	transition: all var(--cacs-trans);
	font-family: inherit;
	margin-top: 8px;
}
.cacs-btn-demo:hover {
	filter: brightness(0.9);
	transform: translateY(-1px);
}

.cacs-contato {
	background: var(--cacs-cor-fundo-suave);
	padding: 24px 28px;
	border-radius: var(--cacs-radius);
	border-left: 4px solid var(--cacs-cor-principal);
}
.cacs-contato h2::after {
	display: none !important;
}
.cacs-contato a {
	color: var(--cacs-cor-principal);
	font-weight: 600;
}

/* =============================================================================
   WIDGET DE AVALIAÇÃO
   ============================================================================= */
.cacs-avaliacao-toggle {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99999;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px 12px 14px;
	background: var(--cacs-cor-principal);
	color: #fff;
	border: 0;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(0,0,0,0.18);
	cursor: pointer;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	transition: all var(--cacs-trans);
}
.cacs-avaliacao-toggle:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.22);
}
.cacs-avaliacao-toggle svg {
	color: #fbbf24;
}

@media (max-width: 600px) {
	.cacs-avaliacao-toggle {
		bottom: 12px;
		right: 12px;
		padding: 10px 14px 10px 12px;
		font-size: 13px;
	}
	.cacs-avaliacao-toggle-label {
		display: none;
	}
	.cacs-avaliacao-toggle {
		border-radius: 50%;
		width: 48px;
		height: 48px;
		justify-content: center;
		padding: 0;
	}
}

.cacs-avaliacao {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.12);
	padding: 24px 28px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--cacs-cor-texto);
	max-width: 380px;
}

.cacs-avaliacao-flutuante {
	position: fixed;
	bottom: 80px;
	right: 20px;
	z-index: 99998;
	animation: cacs-slide-in 250ms ease-out;
}
@keyframes cacs-slide-in {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 480px) {
	.cacs-avaliacao-flutuante {
		bottom: 80px;
		right: 12px;
		left: 12px;
		max-width: none;
	}
}

.cacs-avaliacao-inline {
	background: var(--cacs-cor-fundo-suave);
	max-width: 460px;
	margin: 24px auto;
	border: 1px solid var(--cacs-cor-borda);
}

.cacs-avaliacao-fechar {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: 0;
	background: transparent;
	color: var(--cacs-cor-texto-suave);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--cacs-trans);
}
.cacs-avaliacao-fechar:hover {
	background: var(--cacs-cor-fundo-suave);
	color: var(--cacs-cor-texto);
}

.cacs-avaliacao-header h3 {
	margin: 0 0 6px !important;
	font-size: 18px !important;
	color: var(--cacs-cor-texto) !important;
	font-weight: 700;
}
.cacs-avaliacao-header p {
	margin: 0 0 16px !important;
	font-size: 13px !important;
	color: var(--cacs-cor-texto-suave) !important;
}

/* Estrelas clicáveis */
.cacs-estrelas {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	justify-content: flex-start;
}
.cacs-estrela {
	cursor: pointer;
	color: #d1d5db;
	transition: color 100ms;
	position: relative;
}
.cacs-estrela input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.cacs-estrela svg {
	fill: currentColor;
	transition: transform 150ms;
}
.cacs-estrela:hover svg {
	transform: scale(1.15);
}
/* Hover state: estrela e todas anteriores ficam douradas */
.cacs-estrelas:hover .cacs-estrela {
	color: #fbbf24;
}
.cacs-estrelas .cacs-estrela:hover ~ .cacs-estrela {
	color: #d1d5db;
}
/* Estado selecionado: classe aplicada via JS */
.cacs-estrela.cacs-estrela-ativa,
.cacs-estrela.cacs-estrela-ativa-anterior {
	color: #fbbf24;
}
.cacs-estrela:focus-within {
	outline: 2px solid var(--cacs-cor-principal);
	outline-offset: 2px;
	border-radius: 4px;
}

.cacs-btn-enviar {
	width: 100%;
	padding: 10px 20px;
	background: var(--cacs-cor-principal);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: all var(--cacs-trans);
}
.cacs-btn-enviar:hover:not(:disabled) {
	filter: brightness(0.9);
}
.cacs-btn-enviar:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.cacs-avaliacao-mensagem {
	margin-top: 12px;
	font-size: 13px;
	border-radius: 6px;
	padding: 0;
}
.cacs-avaliacao-mensagem:not(:empty) {
	padding: 10px 14px;
	margin-top: 12px;
}
.cacs-avaliacao-mensagem.cacs-msg-sucesso {
	background: #d1fae5;
	color: #065f46;
	border-left: 3px solid #10b981;
}
.cacs-avaliacao-mensagem.cacs-msg-erro {
	background: #fee2e2;
	color: #991b1b;
	border-left: 3px solid #dc2626;
}

.cacs-avaliacao-stats {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--cacs-cor-borda);
}

.cacs-stats-resumo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.cacs-stats-media {
	font-size: 22px;
	font-weight: 800;
	color: var(--cacs-cor-principal);
}
.cacs-stats-estrelas-visual {
	display: inline-flex;
	gap: 2px;
}
.cacs-stats-estrela {
	color: #d1d5db;
	fill: currentColor;
}
.cacs-stats-estrela.cacs-estrela-cheia {
	color: #fbbf24;
}
.cacs-stats-estrela.cacs-estrela-meia {
	color: #fbbf24;
	opacity: 0.5;
}
.cacs-stats-resumo small {
	font-size: 12px;
	color: var(--cacs-cor-texto-suave);
	display: block;
	flex-basis: 100%;
	margin-top: 4px;
}

/* Screen reader only */
.screen-reader-text {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
