/* Estilos base do site Techecia */

:root {
	--brand-color: #0d6efd;
	--brand-dark: #0b5ed7;
	--text-muted: #6c757d;
	--bg-light: #f8f9fa;
}

/* Fallback: se AOS não carregar, mantém os elementos visíveis */
html:not(.aos-enabled) [data-aos] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

body {
	font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
	line-height: 1.6;
}

.hero {
	background: linear-gradient(135deg, var(--brand-color) 0%, #6610f2 100%);
	color: #fff;
	padding: 84px 0;
	position: relative;
	overflow: hidden;
}

.hero:after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(closest-side, rgba(255,255,255,.08), transparent 60%);
	pointer-events: none;
}

.hero .lead {
	opacity: 0.95;
}

/* Page hero menor */
.page-hero {
	background: linear-gradient(135deg, var(--brand-color) 0%, var(--brand-dark) 100%);
	color: #fff;
	padding: 56px 0;
}

.section-title {
	font-weight: 700;
	margin-bottom: 1rem;
}

.section-subtitle {
	color: var(--text-muted);
	margin-bottom: 1.5rem;
}

.card-service {
	transition: transform .2s ease, box-shadow .2s ease;
}

.card-service:hover {
	transform: translateY(-4px);
	box-shadow: 0 1rem 2rem rgba(0,0,0,.08);
}

.card-service .bi {
	font-size: 2rem;
	color: var(--brand-color);
}

/* Feature items */
.feature-card {
	border: 1px solid #eee;
	border-radius: .75rem;
	padding: 20px;
	background: #fff;
	transition: transform .2s ease, box-shadow .2s ease;
}

.feature-card:hover { transform: translateY(-4px); box-shadow: 0 .75rem 1.25rem rgba(0,0,0,.06); }

.icon-lg { font-size: 2.25rem; color: var(--brand-color); }

/* Steps */
.step {
	position: relative;
	padding-left: 48px;
}

.step .step-index {
	position: absolute;
	left: 0;
	top: 0;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: #e7f1ff;
	color: #084298;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

/* Testimonials */
.testimonial-card {
	background: #fff;
	border: 1px solid #eee;
	border-radius: .75rem;
	padding: 20px;
}

.avatar {
	width: 48px; height: 48px; border-radius: 999px; object-fit: cover;
}

/* FAQ */
.faq .accordion-button { font-weight: 600; }

/* CTA */
.cta {
	background: linear-gradient(135deg, var(--brand-color), #6610f2);
	color: #fff;
	border-radius: .75rem;
	padding: 28px;
}

.footer {
	background: #0f1115;
	color: #cfd3dc;
	padding: 40px 0;
}

.footer a { color: #cfd3dc; text-decoration: none; }
.footer a:hover { color: #fff; }

.navbar-brand strong { letter-spacing: 0.5px; }

.table-actions .btn { margin-right: 8px; }

.admin-header { background: #111827; color: #e5e7eb; }
.admin-header .navbar-brand { color: #fff; }

.badge-price { background: #e7f1ff; color: #084298; border: 1px solid #cfe2ff; }

.section { padding: 64px 0; }

.floating-actions { position: fixed; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 10px; z-index: 1040; }
.floating-actions .btn { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); } 