/*
 * UniAdvisor -- Bolsa de estudo (front-end)
 *
 * Cobre o componente reaproveitável do card de oferta
 * (.oferta-bolsa-card, usado em 3 lugares -- ver
 * inc/bolsas/card-oferta-bolsa.php) e as duas páginas próprias:
 * .curso-unidade-page (Camada 1) e .busca-bolsas-page (Camada 2).
 *
 * Paleta própria (não depende de .unit-page/.hub-page estarem
 * presentes na página, já que o card aparece embutido dentro de
 * single-universidade.php também) -- mesmos valores usados em
 * unidade-campus.css, por consistência visual com o resto do site.
 */

/*
 * Card de oferta -- layout linha-larga (logo | informações | oferta),
 * baseado no protótipo aprovado (referência Educa Mais Brasil). TODAS
 * as classes internas prefixadas "oferta-" de propósito: o card é
 * embutido dentro de single-universidade.php, que já carrega
 * unidade-campus.css/hub-universidade.css com classes genéricas
 * (.card, .rating-row etc.) -- sem o prefixo, colidiria.
 *
 * Desktop: grid de 3 colunas (logo auto | info 1fr | oferta auto).
 * Mobile (<640px): empilha de verdade (a oferta vira um bloco de
 * largura total abaixo, com borda superior no lugar do ticket-divider
 * vertical) -- não é só "encolher", a estrutura muda.
 */
.oferta-bolsa-card{
	--blue:#2f6fed;
	--blue-dark:#1e4fc4;
	--ink:#14171f;
	--ink-soft:#5b6472;
	--ink-faint:#8b95a8;
	--line:#e7eaf0;
	--bg-soft:#f6f8fb;
	--green:#1c9a5b;
	--green-bg:#eaf7f0;
	--amber:#f5a623;
	--radius:14px;
	position:relative;
	display:grid;
	grid-template-columns:auto 1fr auto;
	gap:20px;
	align-items:center;
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:20px;
	color:var(--ink);
	line-height:1.45;
	box-shadow:0 1px 2px rgba(20,23,31,.04);
}

.oferta-card-logo{
	width:56px;height:56px;flex:none;
	border-radius:12px;
	border:1px solid var(--line);
	display:flex;align-items:center;justify-content:center;
	overflow:hidden;
	font-weight:800;font-size:15px;color:#fff;
}
.oferta-card-logo img{width:100%;height:100%;object-fit:contain;background:#fff;}

.oferta-inst-info{min-width:0;}
.oferta-curso{font-size:16.5px;font-weight:700;margin:0 0 2px;}
.oferta-unidade{font-size:13px;color:var(--ink-soft);margin-bottom:8px;}

.oferta-rating-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft);margin-bottom:9px;flex-wrap:wrap;}
.oferta-score{font-weight:700;color:var(--ink);}
.oferta-stars{color:var(--amber);letter-spacing:1px;font-size:12px;}
.oferta-count,.oferta-dot{color:var(--ink-faint);}
.oferta-quality-badge{
	font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:6px;
	background:#eef1fd;color:var(--blue-dark);border:1px solid #e2e6fb;
}

.oferta-meta-strip{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-soft);}
.oferta-meta-item{display:flex;align-items:center;gap:5px;}
.oferta-meta-item svg{width:13px;height:13px;color:var(--ink-faint);flex:none;}

/* ---- bloco de oferta (com bolsa) ---- */
.oferta-offer-block{display:flex;align-items:stretch;gap:0;flex:none;}
.oferta-offer-price{text-align:right;padding-right:18px;min-width:140px;}
.oferta-discount-pill{
	display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;
	color:var(--green);background:var(--green-bg);padding:3px 8px;border-radius:6px;margin-bottom:6px;
}
.oferta-price-from{font-size:12px;color:var(--ink-faint);text-decoration:line-through;display:block;}
.oferta-price-to{font-size:20px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15;}
.oferta-price-to span{font-size:11.5px;font-weight:500;color:var(--ink-faint);}
.oferta-price-save{font-size:11.5px;color:var(--green);font-weight:600;margin-top:3px;}

.oferta-ticket-divider{width:0;border-left:1.5px dashed var(--line);flex:none;align-self:stretch;margin:-4px 0;}

.oferta-cta{display:flex;flex-direction:column;gap:6px;padding-left:18px;min-width:180px;}
.oferta-pagamento-tipo{font-size:11px;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.oferta-vagas-aviso{color:var(--amber);font-size:11.5px;font-weight:600;}
.oferta-btn-primary{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-size:13.5px;font-weight:700;cursor:pointer;text-align:center;}
.oferta-btn-primary:hover{background:var(--blue-dark);}
.oferta-link-details{color:var(--blue);font-size:12.5px;font-weight:600;text-align:center;text-decoration:none;}

/* ---- bloco de captura de interesse (sem bolsa) ---- */
.oferta-bolsa-card.sem-oferta{background:var(--bg-soft);}
.oferta-notify-block{display:flex;align-items:center;gap:14px;flex:none;padding-left:18px;border-left:1px dashed var(--line);min-width:220px;}
.oferta-bell-ico{width:38px;height:38px;flex:none;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-faint);}
.oferta-notify-copy{flex:1;}
.oferta-notify-copy p{margin:0 0 8px;font-size:12.5px;color:var(--ink-soft);line-height:1.4;}
.oferta-btn-outline{border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:9px;font-size:12.5px;font-weight:600;white-space:nowrap;width:100%;cursor:pointer;}
.oferta-btn-outline:hover{border-color:var(--blue);color:var(--blue);}

/* ---- mini-formulário embutido (compra ou interesse) ---- */
.oferta-form-comprador{
	grid-column:1/-1;
	margin-top:6px;
	padding-top:14px;
	border-top:1px solid var(--line);
	display:flex;
	flex-direction:column;
	gap:10px;
}
.oferta-form-comprador input{
	border:1px solid var(--line);
	border-radius:8px;
	padding:10px 12px;
	font-size:14px;
	font-family:inherit;
}
.oferta-form-comprador .oferta-btn-primary{align-self:flex-start;}
.oferta-form-erro{color:#c0362c;font-size:13px;}
.oferta-form-sucesso{color:var(--green);font-size:13px;font-weight:600;}

@media (max-width:640px){
	.oferta-bolsa-card{grid-template-columns:auto 1fr;}
	.oferta-offer-block{
		grid-column:1/-1;
		flex-direction:column;
		align-items:stretch;
		padding-top:16px;
		margin-top:4px;
		border-top:1px dashed var(--line);
	}
	.oferta-offer-price{text-align:left;padding-right:0;padding-bottom:12px;}
	.oferta-ticket-divider{display:none;}
	.oferta-cta{padding-left:0;width:100%;}
	.oferta-notify-block{
		grid-column:1/-1;
		border-left:none;border-top:1px dashed var(--line);
		padding-left:0;padding-top:16px;margin-top:4px;width:100%;
	}
}

/* ============ Camada 1: /universidade/{...}/cursos/{slug}/ ============ */

.curso-unidade-page{
	--blue:#2f6fed;
	--ink:#14171f;
	--ink-soft:#5b6472;
	--line:#e7eaf0;
	--bg-soft:#f6f8fb;
	color:var(--ink);
	background:#fff;
	line-height:1.5;
}
.curso-unidade-page .wrap{max-width:900px;margin:0 auto;padding:32px;}
.curso-unidade-page .breadcrumb{font-size:13.5px;color:var(--ink-soft);margin-bottom:18px;}
.curso-unidade-page .breadcrumb a{color:inherit;text-decoration:none;}
.curso-unidade-page h1{font-size:26px;margin:0 0 4px;}
.curso-unidade-page .subtitulo{color:var(--ink-soft);font-size:15px;margin-bottom:24px;}
.curso-unidade-page .info-grid{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:28px;
}
.curso-unidade-page .info-item{
	background:var(--bg-soft);
	border-radius:10px;
	padding:10px 14px;
	font-size:13.5px;
	color:var(--ink-soft);
}
.curso-unidade-page .info-item b{color:var(--ink);}

/* ============ Camada 2: /bolsas/ ============ */

.busca-bolsas-page{
	--blue:#2f6fed;
	--ink:#14171f;
	--ink-soft:#5b6472;
	--line:#e7eaf0;
	--bg-soft:#f6f8fb;
	color:var(--ink);
	background:#fff;
	line-height:1.5;
}
.busca-bolsas-page .wrap{max-width:1180px;margin:0 auto;padding:32px;}
.busca-bolsas-page h1{font-size:28px;margin:0 0 6px;}
.busca-bolsas-page .subtitulo{color:var(--ink-soft);font-size:15px;margin-bottom:24px;}

.busca-bolsas-contagem{color:var(--ink-soft);font-size:13.5px;margin-bottom:16px;}

/* Lista empilhada, não grade de tiles -- o card de oferta agora é uma
   linha larga (logo | info | oferta), não cabe num tile estreito. */
.busca-bolsas-grid{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.busca-bolsas-vazio{
	background:var(--bg-soft);
	border-radius:14px;
	padding:40px;
	text-align:center;
	color:var(--ink-soft);
}
