/* SOS Ouvidoria — Avaliação do site. Cores e fonte vêm das variáveis (configuração / tema).
   Tudo preso a #sosav: os kits de tema (ex.: ".elementor-kit-7 button", "h2", "a", "textarea") não atropelam o módulo. */
#sosav { font-family: var(--sosav-fonte, inherit); }
#sosav[hidden], #sosav [hidden] { display: none !important; }
#sosav, #sosav * { box-sizing: border-box; }
#sosav button {
	margin: 0; min-width: 0; width: auto; height: auto; text-transform: none; letter-spacing: normal; text-decoration: none;
	box-shadow: none; background-image: none; transition: none; text-shadow: none; -webkit-appearance: none; appearance: none;
}

#sosav .sosav-aba {
	position: fixed; right: 0; top: 50%; transform: translateY(-50%);
	z-index: var(--sosav-z, 9000);
	display: flex; align-items: center; gap: 8px;
	writing-mode: vertical-rl; rotate: 180deg;
	min-width: 44px; min-height: 44px; padding: 14px 10px;
	border: 0; border-radius: 0 8px 8px 0; /* gira 180°: fica arredondado do lado de dentro */
	background: var(--sosav-destaque, #23589A); color: var(--sosav-destaque-tx, #FFFFFF);
	font-family: var(--sosav-fonte, inherit); font-weight: 600; font-size: 14px; line-height: 1.2; cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
#sosav .sosav-aba__icone { rotate: 90deg; flex: none; }
#sosav .sosav-aba:hover, #sosav .sosav-aba:focus { background: var(--sosav-destaque, #23589A); color: var(--sosav-destaque-tx, #FFFFFF); filter: brightness(1.1); }
#sosav .sosav-aba:focus-visible { outline: 3px solid var(--sosav-texto, #1F2A37); outline-offset: 2px; }

#sosav .sosav-fundo { position: fixed; inset: 0; z-index: var(--sosav-z-painel, 100000); background: rgba(0, 0, 0, .4); }

#sosav .sosav-painel {
	position: fixed; right: 16px; top: 50%; transform: translateY(-50%);
	z-index: calc(var(--sosav-z-painel, 100000) + 1); /* aberto por quem clicou: fica acima das barras fixas */
	width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow-x: hidden; overflow-y: auto;
	padding: 24px; border-radius: 12px;
	background: var(--sosav-fundo, #FFFFFF); color: var(--sosav-texto, #1F2A37);
	box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
	font-family: var(--sosav-fonte, inherit); font-weight: 400; font-size: 15px; line-height: 1.5; text-align: left;
}
#sosav .sosav-titulo {
	margin: 0 44px 16px 0; padding: 0;
	font-family: var(--sosav-fonte, inherit); font-weight: 700; font-size: 20px; line-height: 1.3; letter-spacing: normal;
	color: var(--sosav-texto, #1F2A37);
}
#sosav .sosav-fechar {
	position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; min-height: 0; padding: 0;
	display: grid; place-items: center; border: 0; border-radius: 8px;
	background: transparent; color: var(--sosav-texto, #1F2A37); cursor: pointer;
}
#sosav .sosav-fechar:hover, #sosav .sosav-fechar:focus { background: rgba(0, 0, 0, .06); color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-notas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0 0 16px; }
#sosav .sosav-nota {
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px;
	width: 100%; min-height: 44px; padding: 8px 2px;
	border: 2px solid var(--sosav-texto, #1F2A37); border-radius: 10px;
	background: var(--sosav-fundo, #FFFFFF); color: var(--sosav-texto, #1F2A37);
	font-family: var(--sosav-fonte, inherit); font-weight: 600; font-size: 12px; line-height: 1.2; text-align: center; white-space: normal; cursor: pointer;
}
#sosav .sosav-nota:hover, #sosav .sosav-nota:focus { background: var(--sosav-fundo, #FFFFFF); color: var(--sosav-texto, #1F2A37); border-color: var(--sosav-destaque, #23589A); }
#sosav .sosav-nota[aria-pressed="true"], #sosav .sosav-nota[aria-pressed="true"]:hover, #sosav .sosav-nota[aria-pressed="true"]:focus {
	background: var(--sosav-destaque, #23589A); border-color: var(--sosav-destaque, #23589A); color: var(--sosav-destaque-tx, #FFFFFF);
}
#sosav .sosav-rotulo { display: block; margin: 0 0 6px; padding: 0; font-weight: 600; font-size: 15px; color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-comentario {
	display: block; width: 100%; min-height: 80px; padding: 10px; margin: 0;
	border: 2px solid var(--sosav-texto, #1F2A37); border-radius: 8px;
	background: var(--sosav-fundo, #FFFFFF); color: var(--sosav-texto, #1F2A37);
	font-family: var(--sosav-fonte, inherit); font-weight: 400; font-size: 15px; line-height: 1.5; resize: vertical; box-shadow: none;
}
#sosav .sosav-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 6px 0 12px; padding: 0; font-size: 13px; color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-aviso { margin: 0 0 16px; padding: 0; font-size: 14px; color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-aviso a, #sosav .sosav-aviso a:hover, #sosav .sosav-aviso a:focus { color: var(--sosav-destaque, #23589A); text-decoration: underline; font-weight: 600; }
#sosav .sosav-enviar {
	min-height: 44px; padding: 10px 20px; border: 0; border-radius: 8px;
	background: var(--sosav-destaque, #23589A); color: var(--sosav-destaque-tx, #FFFFFF);
	font-family: var(--sosav-fonte, inherit); font-weight: 700; font-size: 15px; line-height: 1.2; cursor: pointer;
}
#sosav .sosav-enviar:hover, #sosav .sosav-enviar:focus { background: var(--sosav-destaque, #23589A); color: var(--sosav-destaque-tx, #FFFFFF); filter: brightness(1.1); }
#sosav .sosav-enviar:disabled { opacity: .7; cursor: wait; }
#sosav .sosav-status { margin: 12px 0 0; padding: 0; font-weight: 600; min-height: 1.5em; color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-painel :focus-visible { outline: 3px solid var(--sosav-destaque, #23589A); outline-offset: 2px; }
#sosav .sosav-nota[aria-pressed="true"]:focus-visible, #sosav .sosav-enviar:focus-visible { outline-color: var(--sosav-texto, #1F2A37); }
#sosav .sosav-isca { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Celular: a aba vira só o ícone (o nome acessível continua "Avalie o site"). */
@media (max-width: 767px) {
	#sosav .sosav-aba { writing-mode: horizontal-tb; rotate: none; padding: 12px; border-radius: 8px 0 0 8px; }
	#sosav .sosav-aba__icone { rotate: none; }
	#sosav .sosav-aba__texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	#sosav .sosav-painel { right: 8px; left: 8px; width: auto; padding: 20px 16px; }
	#sosav .sosav-nota { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { #sosav * { transition: none !important; } }
