/* ===================================================================
   Tema Premium - Site Publico (index, cursos, curso, sobre, etc.)
   Reaproveita a paleta escura/teal ja usada em painel-admin e
   painel-aluno, aplicada aqui apenas no "chrome" do site (cabecalho,
   menu, rodape, botoes e links) para modernizar sem quebrar o
   conteudo interno de cada pagina (cards/textos que assumem fundo
   claro continuam funcionando normalmente).
   =================================================================== */

body#wrapper {
	font-family: 'Poppins', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Paginas que usam o design premium full-dark (lista-cursos, curso, etc.)
   marcam <body> com essa classe pra nao deixar nenhum pedaco de fundo
   branco aparecer (gaps entre secoes, ou paginas com pouco conteudo). */
body#wrapper.pagina-premium-escura {
	background-color: #0A1614 !important;
	min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, .navbar-brand span {
	font-family: 'Poppins', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- Barra superior (contatos/redes sociais) ---------- */
#top-header {
	background-color: #071109 !important;
	border-bottom: 1px solid rgba(93, 202, 165, 0.15);
}
#top-header .contact_links li,
#top-header .contact_links a,
#top-header .copyright,
#top-header .social_links a {
	color: #B7C4BF;
}
#top-header .fa {
	color: #5DCAA5;
}
#top-header a:hover {
	color: #5DCAA5 !important;
}
#top-header .search-box .input-search {
	background: rgba(255,255,255,0.06);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.1);
}
#top-header .btn-search {
	color: #5DCAA5;
}

/* ---------- Menu principal ---------- */
body header {
	background: #0A1614 !important;
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 4px 24px rgba(0,0,0,0.35);
}
.navbar-inverse {
	background-color: #0A1614 !important;
	border-color: rgba(255,255,255,0.06) !important;
	margin-bottom: 0;
}
.navbar-inverse .navbar-brand span {
	color: #fff;
	font-weight: 600;
	margin-left: 6px;
}
.navbar-inverse .navbar-nav > li > a {
	color: #DCE7E3 !important;
	font-weight: 500;
	position: relative;
	transition: color 0.18s ease, transform 0.18s ease;
}
.navbar-inverse .navbar-nav > li > a::after {
	content: '';
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 8px;
	height: 2px;
	background: #5DCAA5;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}
.navbar-inverse .navbar-nav > li > a:hover {
	color: #5DCAA5 !important;
	transform: translateY(-2px);
	background-color: transparent !important;
}
.navbar-inverse .navbar-nav > li > a:hover::after,
.navbar-inverse .navbar-nav > li.active > a::after {
	transform: scaleX(1);
}
.navbar-inverse .navbar-nav > li.active > a,
.navbar-inverse .navbar-nav > li.active > a:hover,
.navbar-inverse .navbar-nav > li.active > a:focus {
	background-color: rgba(93, 202, 165, 0.12) !important;
	color: #5DCAA5 !important;
}
.navbar-inverse .navbar-toggle {
	border-color: rgba(255,255,255,0.2);
}
.navbar-inverse .navbar-toggle .icon-bar {
	background-color: #5DCAA5;
}
.dropdown-menu.navbar-nav-sub {
	background-color: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 10px 30px rgba(0,0,0,0.4);
	padding: 6px 0;
}
.dropdown-menu.navbar-nav-sub > li > a {
	color: #DCE7E3 !important;
	transition: all 0.18s ease;
}
.dropdown-menu.navbar-nav-sub > li > a:hover,
.dropdown-menu.navbar-nav-sub > li > a:focus {
	background-color: rgba(93, 202, 165, 0.15) !important;
	color: #5DCAA5 !important;
	padding-left: 24px;
}

/* ---------- Botoes ---------- */
.btn-primary {
	background-color: #0F6E56 !important;
	border-color: #085041 !important;
	transition: background-color 0.18s ease, transform 0.18s ease;
}
.btn-primary:hover,
.btn-primary:focus {
	background-color: #1D9E75 !important;
	border-color: #1D9E75 !important;
	transform: translateY(-2px);
}
.slider_btn .btn,
a.btn.slide {
	background-color: #0F6E56;
	border-color: #085041;
	color: #fff;
	font-weight: 600;
	transition: all 0.18s ease;
}
.slider_btn .btn:hover,
a.btn.slide:hover {
	background-color: #1D9E75;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(29, 158, 117, 0.35);
}

/* ---------- Links e detalhes gerais ---------- */
a {
	transition: color 0.15s ease;
}

/* ---------- Rodape ---------- */
#bottom-footer {
	background: linear-gradient(135deg, #0A1614 0%, #0F6E56 100%) !important;
	padding: 22px 0;
}
#bottom-footer .btm-footer-links a,
#bottom-footer .copyright,
#bottom-footer .copyright span,
#bottom-footer .copyright a {
	color: #DCE7E3 !important;
}
#bottom-footer .btm-footer-links a:hover,
#bottom-footer .copyright a:hover {
	color: #5DCAA5 !important;
}

/* ---------- Selo de busca por curso (barra flutuante) ---------- */
.alerta {
	font-family: 'Poppins', sans-serif;
	border-radius: 8px 8px 0 0;
}

/* ===================================================================
   Modelo 1 (Executivo) - blocos reaproveitaveis nas paginas publicas
   =================================================================== */
.premium-hero {
	padding: 60px 0 45px;
	background: #0A1614;
}
.premium-hero-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 46px;
	align-items: center;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}
.premium-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(93, 202, 165, 0.12);
	color: #5DCAA5;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 12.5px;
	font-weight: 600;
	margin-bottom: 16px;
}
.premium-hero h1 {
	font-size: 36px;
	line-height: 1.22;
	margin: 0 0 16px;
	font-weight: 700;
	color: #fff;
}
.premium-hero h1 span {
	color: #5DCAA5;
}
.premium-hero p.premium-lead {
	color: rgba(255,255,255,0.6);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 24px;
}
.premium-btn-ghost {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.15);
	color: #DCE7E3;
	margin-left: 10px;
	padding: 12px 22px;
	border-radius: 9px;
	display: inline-block;
	font-weight: 600;
	font-size: 14px;
	transition: 0.18s;
}
.premium-btn-ghost:hover {
	border-color: #5DCAA5;
	color: #5DCAA5 !important;
}
.premium-stats-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 28px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}
.premium-stat-item {
	text-align: center;
}
.premium-stat-num {
	font-size: 26px;
	font-weight: 700;
	color: #5DCAA5;
}
.premium-stat-num.ouro { color: #B8892E; }
.premium-stat-num.azul { color: #6FA8F5; }
.premium-stat-num.coral { color: #D9805A; }
.premium-stat-label {
	font-size: 11.5px;
	color: rgba(255,255,255,0.55);
	margin-top: 4px;
}

.premium-secao {
	padding: 46px 0;
	background: #0A1614;
}
.premium-secao-titulo {
	text-align: center;
	margin-bottom: 32px;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 24px;
}
.premium-secao-titulo h2 {
	font-size: 24px;
	color: #fff;
	font-weight: 700;
	margin: 0 0 6px;
}
.premium-secao-titulo p {
	color: rgba(255,255,255,0.55);
	font-size: 13.5px;
	margin: 0;
}
.premium-secao-titulo a {
	color: #5DCAA5;
}

.premium-grid {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.premium-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

.premium-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	overflow: hidden;
	transition: 0.2s;
	text-decoration: none;
	display: block;
	color: inherit;
}
.premium-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 30px rgba(0,0,0,0.4);
	border-color: #1D9E75;
	text-decoration: none;
	color: inherit;
}
.premium-card-capa {
	height: 120px;
	background: linear-gradient(135deg, #085041, #0F6E56);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.premium-card-capa img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.premium-card-capa i {
	font-size: 30px;
	color: rgba(255,255,255,0.5);
}
.premium-card-corpo {
	padding: 16px;
}
.premium-card-corpo h4 {
	margin: 0 0 8px;
	color: #fff;
	font-size: 14.5px;
}
.premium-card-corpo p {
	color: rgba(255,255,255,0.55);
	font-size: 12px;
	margin-bottom: 12px;
	min-height: 32px;
}
.premium-card-rodape {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.premium-preco {
	color: #B8892E;
	font-weight: 700;
	font-size: 15px;
}
.premium-preco small {
	color: rgba(255,255,255,0.4);
	font-weight: 400;
	font-size: 11.5px;
	text-decoration: line-through;
	margin-right: 4px;
}
.premium-pill {
	background: rgba(93, 202, 165, 0.12);
	color: #5DCAA5;
	font-size: 10.5px;
	padding: 3px 9px;
	border-radius: 12px;
}
.premium-pill-pacote {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
}
.premium-pill-pacote i {
	font-size: 9.5px;
}

/* Botao de call-to-action nos cards de venda (lista-cursos), no lugar do
   selo neutro "Certificado"/"Pacote" - o objetivo aqui e converter clique.
   Vira um botao de largura total (nao um selinho pequeno) para ficar bem
   legivel, com fonte maior e mais peso. */
.premium-card-rodape-cta {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}
.premium-card-rodape-cta .premium-preco {
	font-size: 16.5px;
	text-align: center;
}
.premium-pill-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: linear-gradient(90deg, #085041, #5DCAA5);
	color: #fff !important;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	padding: 11px 14px;
	border-radius: 10px;
	white-space: nowrap;
	transition: filter 0.15s ease;
}
.premium-pill-cta i {
	font-size: 12px;
}
.premium-card:hover .premium-pill-cta {
	filter: brightness(1.15);
}

.premium-cta-final {
	background: linear-gradient(135deg, #085041, #0F6E56);
	border-radius: 20px;
	padding: 40px;
	text-align: center;
	max-width: 1112px;
	margin: 0 auto;
}
.premium-cta-final h3 {
	color: #fff;
	font-size: 22px;
	margin-bottom: 8px;
}
.premium-cta-final p {
	color: rgba(255,255,255,0.75);
	margin-bottom: 20px;
}

.premium-depoimento-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 26px;
}
.premium-depoimento-card p {
	color: rgba(255,255,255,0.75);
	font-size: 13.5px;
	line-height: 1.7;
	margin-bottom: 16px;
}
.premium-depoimento-autor {
	display: flex;
	align-items: center;
	gap: 10px;
}
.premium-depoimento-autor img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}
.premium-depoimento-autor b {
	color: #fff;
	display: block;
	font-size: 13px;
}
.premium-depoimento-autor span {
	color: rgba(255,255,255,0.5);
	font-size: 11.5px;
}
.premium-estrelas {
	color: #B8892E;
	font-size: 12px;
	margin-bottom: 10px;
}

@media(max-width: 900px) {
	.premium-hero-grid { grid-template-columns: 1fr; }
	.premium-grid { grid-template-columns: repeat(2, 1fr); }
	.premium-grid.cols-3 { grid-template-columns: 1fr; }
}

/* ---------- Cabecalho de listagem (busca + contador) ---------- */
.premium-lista-topo {
	max-width: 1160px;
	margin: 0 auto 26px;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
.premium-lista-total {
	color: rgba(255,255,255,0.8);
	font-size: 14.5px;
	font-weight: 500;
	margin: 0;
}
.premium-lista-total b {
	color: #fff;
}
.premium-busca-box {
	position: relative;
	max-width: 280px;
}
.premium-busca-box input {
	width: 100%;
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.1);
	color: #fff;
	padding: 10px 14px 10px 38px;
	border-radius: 24px;
	font-size: 13.5px;
	font-family: 'Poppins', sans-serif;
}
.premium-busca-box input:focus {
	outline: none;
	border-color: #5DCAA5;
}
.premium-busca-box input::placeholder {
	color: rgba(255,255,255,0.35);
}
.premium-busca-box i {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #5DCAA5;
	font-size: 13px;
}

/* ---------- Abas (Cursos / Pacotes) ---------- */
.premium-abas {
	display: flex;
	gap: 8px;
	margin-bottom: 22px;
}
.premium-aba-item {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.1);
	color: rgba(255,255,255,0.65);
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 14px;
	padding: 10px 22px;
	border-radius: 24px;
	cursor: pointer;
	transition: all 0.15s ease;
}
.premium-aba-item:hover {
	background: rgba(255,255,255,0.09);
	color: #fff;
}
.premium-aba-item.ativa {
	background: #5DCAA5;
	border-color: #5DCAA5;
	color: #0A1614;
}

/* ---------- Grid + paginacao injetados via AJAX ---------- */
.premium-ajax-grid {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.premium-vazio {
	max-width: 1160px;
	margin: 0 auto;
	padding: 30px 24px;
	text-align: center;
	color: rgba(255,255,255,0.55);
	font-size: 14px;
}
.premium-paginacao {
	max-width: 1160px;
	margin: 30px auto 0;
	padding: 0 24px;
	display: flex;
	justify-content: center;
}
.premium-paginacao ul {
	list-style: none;
	display: flex;
	gap: 6px;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}
.premium-paginacao a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 8px;
	background-color: #0F1F1B !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
	color: #DCE7E3 !important;
	font-size: 13px;
	transition: 0.18s;
	margin-left: 0 !important;
	float: none !important;
}
.premium-paginacao a:hover {
	border-color: #5DCAA5 !important;
	color: #5DCAA5 !important;
}
.premium-paginacao li.active a {
	background-color: #0F6E56 !important;
	border-color: #0F6E56 !important;
	color: #fff !important;
}

/* ===================================================================
   Pagina do curso (curso.php) - Modelo 2 "Hero de Vendas"
   =================================================================== */
.curso-hero {
	padding: 44px 0 0;
	background: radial-gradient(circle at 25% 15%, rgba(15,110,86,0.35), transparent 60%), #0A1614;
}
.curso-hero-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
	align-items: center;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px 40px;
}
.curso-hero-titulo {
	font-size: 30px;
	line-height: 1.28;
	font-weight: 700;
	color: #fff;
	margin: 14px 0 12px;
}
.curso-hero-lead {
	color: rgba(255,255,255,0.65);
	font-size: 14.5px;
	line-height: 1.65;
	margin-bottom: 20px;
}
.curso-hero-precos {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}
.curso-preco-antigo {
	font-size: 15px;
	text-decoration: line-through;
	color: rgba(255,255,255,0.4);
}
.curso-preco-atual {
	font-size: 28px;
	font-weight: 700;
	color: #B8892E;
}
.curso-btn-comprar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(90deg, #085041, #5DCAA5);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	padding: 15px 30px;
	border-radius: 10px;
	text-decoration: none !important;
	box-shadow: 0 10px 30px rgba(93, 202, 165, 0.25);
	transition: filter 0.15s ease;
}
.curso-btn-comprar:hover {
	filter: brightness(1.12);
	color: #fff;
}
.curso-hero-extra {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 18px;
	font-size: 12.5px;
}
.curso-hero-extra a {
	color: rgba(255,255,255,0.6);
}
.curso-hero-extra a:hover {
	color: #5DCAA5;
}
.curso-hero-tecnologias {
	color: rgba(255,255,255,0.45);
}
.curso-hero-video {
	border-radius: 16px;
	overflow: hidden;
	height: 280px;
	background: #000;
	border: 1px solid rgba(255,255,255,0.08);
}
.curso-hero-video img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.curso-prova-social {
	background: #0F1F1B;
	border-top: 1px solid rgba(255,255,255,0.08);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	padding: 20px 24px;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 18px;
	text-align: center;
}
.curso-prova-num {
	font-size: 22px;
	font-weight: 700;
	color: #5DCAA5;
}
.curso-prova-lbl {
	font-size: 11.5px;
	color: rgba(255,255,255,0.55);
	margin-top: 2px;
}

.curso-secao-alt {
	background: #0F1B18;
	border-top: 1px solid rgba(255,255,255,0.06);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.curso-roadmap {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 24px;
}
.curso-roadmap-modulo {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
	margin-bottom: 10px;
	overflow: hidden;
}
.curso-roadmap-cabecalho {
	padding: 14px 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 600;
	font-size: 14px;
	color: #fff;
}
.curso-roadmap-cabecalho i {
	color: #5DCAA5;
}
.curso-roadmap-aulas {
	padding: 0 18px 8px;
}
.curso-roadmap-aulas div {
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid rgba(255,255,255,0.07);
	font-size: 13px;
	color: rgba(255,255,255,0.75);
	cursor: pointer;
}
.curso-roadmap-aulas div:hover {
	color: #fff;
}
.curso-roadmap-tag {
	font-size: 11.5px;
	color: #5DCAA5;
	white-space: nowrap;
}
.curso-roadmap-tag.curso-roadmap-cad {
	color: rgba(255,255,255,0.35);
}

.curso-relacionados-grid,
.curso-avaliacoes-grid {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.curso-rel-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	overflow: hidden;
	display: block;
	text-decoration: none;
	color: inherit;
	transition: 0.2s;
}
.curso-rel-card:hover {
	transform: translateY(-4px);
	border-color: #1D9E75;
	color: inherit;
	text-decoration: none;
}
.curso-rel-capa {
	height: 120px;
	background-size: cover;
	background-position: center;
	background-color: #1b2c28;
}
.curso-rel-body {
	padding: 14px 16px;
}
.curso-rel-body h5 {
	font-size: 13.5px;
	color: #fff;
	margin: 0 0 6px;
}
.curso-rel-body p {
	font-size: 12px;
	color: rgba(255,255,255,0.55);
	margin: 0 0 10px;
	min-height: 30px;
}
.curso-rel-preco {
	color: #B8892E;
	font-weight: 700;
	font-size: 13.5px;
}

.curso-aval-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 18px;
}
.curso-aval-topo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.curso-aval-nome {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}
.curso-aval-data {
	color: rgba(255,255,255,0.4);
	font-size: 11px;
}
.curso-aval-excluir a {
	color: #D9805A;
}
.curso-aval-estrelas {
	color: #B8892E;
	font-size: 12px;
	margin-bottom: 8px;
}
.curso-aval-card p {
	color: rgba(255,255,255,0.65);
	font-size: 12.5px;
	font-style: italic;
	margin: 0;
}

.curso-barra-flutuante {
	position: sticky;
	bottom: 0;
	z-index: 50;
	background: #0A1614;
	border-top: 1px solid rgba(255,255,255,0.08);
	padding: 12px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	box-shadow: 0 -10px 30px rgba(0,0,0,0.4);
}
.curso-barra-nome {
	font-size: 11.5px;
	color: rgba(255,255,255,0.55);
}
.curso-barra-preco {
	font-weight: 700;
	color: #B8892E;
	font-size: 15px;
}
.curso-barra-flutuante a#btn-pagamento-sticky {
	background: linear-gradient(90deg, #085041, #5DCAA5);
	color: #fff !important;
	font-weight: 700;
	font-size: 13.5px;
	padding: 10px 20px;
	border-radius: 8px;
	text-decoration: none !important;
	white-space: nowrap;
}

@media(max-width: 900px) {
	.curso-hero-grid { grid-template-columns: 1fr; }
	.curso-hero-video { height: 220px; }
	.curso-prova-social { padding: 16px; }
	.curso-relacionados-grid,
	.curso-avaliacoes-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 560px) {
	.curso-relacionados-grid,
	.curso-avaliacoes-grid { grid-template-columns: 1fr; }
	.curso-hero-titulo { font-size: 24px; }
}

@media(max-width: 900px) {
	.premium-ajax-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===================================================================
   Modais de checkout da pagina do curso (Aula, Contato, Login,
   Pagamento, Matricular, CPF) - tema premium/escuro
   =================================================================== */
.modal-premium-checkout {
	background: #0F1F1B;
	border: none;
	border-radius: 14px;
}
.modal-premium-checkout,
.modal-premium-checkout p,
.modal-premium-checkout span,
.modal-premium-checkout div,
.modal-premium-checkout li {
	color: rgba(255,255,255,0.75);
}
.modal-premium-checkout h4,
.modal-premium-checkout h5,
.modal-premium-checkout h6 {
	color: #fff;
}
.modal-premium-checkout .modal-header {
	background: linear-gradient(90deg, #04342C 0%, #0F6E56 50%, #1D9E75 100%);
	border-bottom: none;
	border-radius: 14px 14px 0 0;
}
.modal-premium-checkout .modal-header .modal-title,
.modal-premium-checkout .modal-header .modal-title span {
	color: #fff !important;
}
.modal-premium-checkout .modal-header .close {
	color: #fff;
	opacity: 0.85;
	text-shadow: none;
}
.modal-premium-checkout .modal-header .close:hover {
	opacity: 1;
}
.modal-premium-checkout .modal-footer {
	background: #0A1614;
	border-top: 1px solid rgba(255,255,255,0.08);
	border-radius: 0 0 14px 14px;
	color: rgba(255,255,255,0.65);
}
.modal-premium-checkout .neutra,
.modal-premium-checkout .neutra-forte,
.modal-premium-checkout .neutra-escura {
	color: rgba(255,255,255,0.85) !important;
}
.modal-premium-checkout .neutra-muted {
	color: rgba(255,255,255,0.5) !important;
}
.modal-premium-checkout label {
	color: rgba(255,255,255,0.6);
	font-size: 12.5px;
}
.modal-premium-checkout hr {
	border-top: 1px solid rgba(255,255,255,0.1);
}
.modal-premium-checkout a {
	color: #6FD9B8;
}
.modal-premium-checkout a:hover {
	color: #9BE8CE;
}
.modal-premium-checkout .form-control {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	color: #fff;
	box-shadow: none;
}
.modal-premium-checkout .form-control:focus {
	background: rgba(255,255,255,0.08);
	border-color: #5DCAA5;
	box-shadow: none;
	color: #fff;
}
.modal-premium-checkout .form-control::placeholder {
	color: rgba(255,255,255,0.35);
}
.modal-premium-checkout .btn-default.submit-button {
	background: linear-gradient(90deg, #085041, #5DCAA5);
	border: none;
	color: #fff !important;
	font-weight: 600;
}
.modal-premium-checkout .btn-default.submit-button:hover {
	filter: brightness(1.1);
	color: #fff !important;
}
.modal-premium-checkout .form-check-label,
.modal-premium-checkout .form-check-label small {
	color: rgba(255,255,255,0.55);
}
.modal-premium-checkout .text-danger {
	color: #FF8A80 !important;
}

/* ===================================================================
   Pagina de Contatos (premium, com CTA de WhatsApp)
   =================================================================== */
.premium-whats-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #0F6E56;
	color: #fff !important;
	padding: 14px 26px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	transition: 0.18s;
}
.premium-whats-cta:hover {
	background: #1D9E75;
	color: #fff !important;
}
.premium-whats-cta i {
	font-size: 20px;
}
.premium-contato-form .form-control {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	color: #fff;
	box-shadow: none;
	border-radius: 8px;
	height: 44px;
}
.premium-contato-form textarea.form-control {
	height: auto;
}
.premium-contato-form .form-control:focus {
	background: rgba(255,255,255,0.08);
	border-color: #5DCAA5;
	box-shadow: none;
	color: #fff;
}
.premium-contato-form .form-control::placeholder {
	color: rgba(255,255,255,0.35);
}
.premium-contato-form label {
	color: rgba(255,255,255,0.7);
	font-weight: 600;
	font-size: 13px;
}
.premium-contato-form .form-check-label {
	color: rgba(255,255,255,0.55);
}
.premium-contato-form .btn.submit-button {
	background: linear-gradient(90deg, #085041, #5DCAA5);
	border: none;
	color: #fff !important;
	font-weight: 600;
	padding: 12px 26px;
	border-radius: 9px;
}
.premium-contato-form .btn.submit-button:hover {
	filter: brightness(1.1);
}
#msg.text-success {
	color: #5DCAA5;
}
#msg.text-danger {
	color: #FF8A80;
}
.premium-contato-info {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 28px;
}
.premium-contato-info-titulo {
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	margin-bottom: 6px;
}
.premium-contato-info-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.8) !important;
	text-decoration: none !important;
}
.premium-contato-info-item:last-child {
	border-bottom: none;
}
.premium-contato-info-item i {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(93,202,165,0.12);
	color: #5DCAA5;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 15px;
}
.premium-contato-info-item:hover {
	color: #5DCAA5 !important;
}
.modal-premium-checkout .text-success {
	color: #5DCAA5 !important;
}

/* ===================================================================
   Pagina de Perguntas Frequentes (FAQ premium em acordeao)
   =================================================================== */
.premium-faq-lista {
	max-width: 820px;
	margin: 0 auto;
}
.premium-faq-item {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
	margin-bottom: 12px;
	overflow: hidden;
}
.premium-faq-pergunta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 18px 22px;
	cursor: pointer;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	user-select: none;
}
.premium-faq-pergunta i {
	color: #5DCAA5;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.premium-faq-pergunta i.aberto {
	transform: rotate(180deg);
}
.premium-faq-resposta {
	display: none;
	padding: 0 22px 20px 22px;
	color: rgba(255,255,255,0.65);
	font-size: 14px;
	line-height: 1.75;
}
.premium-faq-resposta a {
	color: #5DCAA5;
	text-decoration: underline;
}

/* ===================================================================
   Bloco de texto simples (Termos, Politica etc.) e formularios
   utilitarios (Consultar Certificado) no tema premium
   =================================================================== */
.premium-static-content {
	max-width: 820px;
	margin: 0 auto;
	color: rgba(255,255,255,0.65);
	font-size: 14.5px;
	line-height: 1.85;
}
.premium-static-content a {
	color: #5DCAA5;
}
.premium-static-content .aviso-conteudo {
	background: rgba(184,137,46,0.1);
	border: 1px solid rgba(184,137,46,0.3);
	color: #E4C382;
	border-radius: 10px;
	padding: 14px 18px;
	font-size: 13.5px;
	margin-bottom: 26px;
}
.premium-cert-form .form-control {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	color: #fff;
	box-shadow: none;
	border-radius: 8px;
	height: 44px;
}
.premium-cert-form .form-control::placeholder {
	color: rgba(255,255,255,0.35);
}
.premium-cert-form .form-control:focus {
	background: rgba(255,255,255,0.08);
	border-color: #5DCAA5;
	box-shadow: none;
	color: #fff;
}
.premium-cert-form label {
	color: rgba(255,255,255,0.7);
	font-weight: 600;
	font-size: 13px;
}
.premium-cert-form .btn-gerar {
	background: linear-gradient(90deg, #085041, #5DCAA5);
	border: none;
	color: #fff !important;
	font-weight: 600;
	padding: 11px 24px;
	border-radius: 9px;
	height: 44px;
}
.premium-cert-form .btn-gerar:hover {
	filter: brightness(1.1);
}
.premium-cert-imagem {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 18px;
}

/* ===================================================================
   Pagina Sobre - cards de vantagens
   =================================================================== */
.premium-vantagens-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}
.premium-vantagem-card {
	background: #0F1F1B;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 26px 22px;
	text-align: center;
}
.premium-vantagem-card i {
	font-size: 26px;
	color: #5DCAA5;
	margin-bottom: 14px;
	display: block;
}
.premium-vantagem-card h4 {
	color: #fff;
	font-size: 15px;
	margin-bottom: 8px;
}
.premium-vantagem-card p {
	color: rgba(255,255,255,0.55);
	font-size: 13px;
	line-height: 1.6;
	margin: 0;
}

/* Botao "Pagar com Mercado Pago" dentro do modal de Pagamento */
.btn-pagar-premium {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(90deg, #085041, #5DCAA5);
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .3px;
	padding: 13px 26px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(93,202,165,0.25);
	transition: transform .15s ease, box-shadow .15s ease;
}
.btn-pagar-premium:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(93,202,165,0.35);
	color: #fff !important;
}
.btn-pagar-premium-logo {
	margin-top: 10px;
	background: #fff;
	display: inline-block;
	padding: 6px 12px;
	border-radius: 8px;
}
.btn-pagar-premium-logo img {
	display: block;
}

/* ---------- Widget flutuante de cores (rodape.php) ---------- */
body #panel #panel-admin {
	background: #0F1F1B !important;
	color: #DCE7E3 !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: 10px !important;
}
body #panel #tootlbar_colors .color {
	border-radius: 8px !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.35);
	transition: transform 0.15s ease, border-color 0.15s ease;
}
body #panel #tootlbar_colors .color:hover {
	border-color: rgba(255,255,255,0.55) !important;
	transform: translateY(-2px);
}
body #panel .open {
	background: #0F6E56 !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.4);
}
body #panel .open:hover {
	background: #1D9E75 !important;
}

/* Recolore os principais acentos do site conforme a cor escolhida no
   widget acima, mantendo tudo dentro da paleta premium (nenhuma cor
   "fora do padrao" chega a aparecer para o visitante). */
body.cyan .btn-primary,
body.orange .btn-primary,
body.lightgreen .btn-primary,
body.red .btn-primary,
body.green .btn-primary,
body.blue .btn-primary {
	border-color: transparent !important;
}
body.cyan .btn-primary { background-color: #0F6E56 !important; }
body.orange .btn-primary { background-color: #B8892E !important; }
body.lightgreen .btn-primary { background-color: #5DCAA5 !important; color: #04231C !important; }
body.red .btn-primary { background-color: #D9805A !important; }
body.green .btn-primary { background-color: #1D9E75 !important; }
body.blue .btn-primary { background-color: #6FA8F5 !important; color: #04231C !important; }

body.cyan .navbar-inverse .navbar-nav > li > a:hover,
body.cyan .navbar-inverse .navbar-nav > li.active > a,
body.cyan .premium-tag,
body.cyan .navbar-inverse .navbar-nav > li > a::after { color: #0F6E56 !important; background-color: rgba(15,110,86,0.12) !important; border-color: #0F6E56 !important; }
body.orange .navbar-inverse .navbar-nav > li > a:hover,
body.orange .navbar-inverse .navbar-nav > li.active > a,
body.orange .premium-tag,
body.orange .navbar-inverse .navbar-nav > li > a::after { color: #B8892E !important; background-color: rgba(184,137,46,0.14) !important; border-color: #B8892E !important; }
body.lightgreen .navbar-inverse .navbar-nav > li > a:hover,
body.lightgreen .navbar-inverse .navbar-nav > li.active > a,
body.lightgreen .premium-tag,
body.lightgreen .navbar-inverse .navbar-nav > li > a::after { color: #5DCAA5 !important; background-color: rgba(93,202,165,0.12) !important; border-color: #5DCAA5 !important; }
body.red .navbar-inverse .navbar-nav > li > a:hover,
body.red .navbar-inverse .navbar-nav > li.active > a,
body.red .premium-tag,
body.red .navbar-inverse .navbar-nav > li > a::after { color: #D9805A !important; background-color: rgba(217,128,90,0.14) !important; border-color: #D9805A !important; }
body.green .navbar-inverse .navbar-nav > li > a:hover,
body.green .navbar-inverse .navbar-nav > li.active > a,
body.green .premium-tag,
body.green .navbar-inverse .navbar-nav > li > a::after { color: #1D9E75 !important; background-color: rgba(29,158,117,0.14) !important; border-color: #1D9E75 !important; }
body.blue .navbar-inverse .navbar-nav > li > a:hover,
body.blue .navbar-inverse .navbar-nav > li.active > a,
body.blue .premium-tag,
body.blue .navbar-inverse .navbar-nav > li > a::after { color: #6FA8F5 !important; background-color: rgba(111,168,245,0.14) !important; border-color: #6FA8F5 !important; }
