/* ABRALIPRO · tema filho
   Paleta e tipografia da Pós-Graduação em Lipedema (poslipedema.com.br).
   Escopo: Tutor LMS (catálogo, curso, aula, painel) e WooCommerce. Cabeçalho/rodapé do Elementor ficam intocados. */

:root {
	--abp-noite: #160E1F;
	--abp-profundo: #2C2A4A;
	--abp-violeta: #6034D4;
	--abp-violeta-hover: #4F27BA;
	--abp-indigo: #4E4797;
	--abp-lilas: #C8BAFF;
	--abp-lavanda: #F4F1FB;
	--abp-lavanda-2: #EAE4F8;
	--abp-borda: #E3DCF3;
	--abp-ouro: #EDBA6D;
	--abp-texto: #1F1A2B;
	--abp-texto-2: #5E5876;
	--abp-sucesso: #2E9E6A;
	--abp-raio: 18px;
	--abp-raio-sm: 12px;
	--abp-sombra: 0 1px 2px rgba(22, 14, 31, .04), 0 8px 24px rgba(44, 42, 74, .08);
	--abp-sombra-forte: 0 12px 36px rgba(44, 42, 74, .16);
	--abp-titulo: "Funnel Display", "TikTok Sans", system-ui, sans-serif;
	--abp-texto-fonte: "TikTok Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Variáveis do Tutor: vencem o :root inline do plugin por especificidade */
html body {
	--tutor-color-primary: var(--abp-violeta);
	--tutor-color-primary-rgb: 96, 52, 212;
	--tutor-color-primary-hover: var(--abp-violeta-hover);
	--tutor-color-success: var(--abp-sucesso);
	--tutor-body-color: var(--abp-texto);
}

/* ── Tipografia ─────────────────────────────────────────────── */
body.tutor-lms,
body.woocommerce-page,
.tutor-wrap, .tutor-dashboard, .tutor-course-single-content-wrapper, .woocommerce {
	font-family: var(--abp-texto-fonte);
	color: var(--abp-texto);
	-webkit-font-smoothing: antialiased;
}
.tutor-course-details-title, .tutor-course-name, .tutor-fs-3, .tutor-fs-4,
.tutor-dashboard-content h3, .tutor-dashboard-title, .tutor-course-topic-title,
.woocommerce h2, .woocommerce h3 {
	font-family: var(--abp-titulo);
	letter-spacing: -.01em;
}
.tutor-course-details-title { font-size: clamp(1.75rem, 3.2vw, 2.6rem); font-weight: 800; line-height: 1.12; color: var(--abp-profundo); }

/* ── Botões ─────────────────────────────────────────────────── */
.tutor-btn { border-radius: 999px; font-weight: 600; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.tutor-btn-primary {
	background: linear-gradient(135deg, var(--abp-violeta), var(--abp-indigo));
	border-color: transparent;
	box-shadow: 0 6px 18px rgba(96, 52, 212, .28);
}
.tutor-btn-primary:hover, .tutor-btn-primary:focus { background: linear-gradient(135deg, var(--abp-violeta-hover), var(--abp-profundo)); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(96, 52, 212, .34); }
.tutor-btn-outline-primary { border-color: var(--abp-borda); color: var(--abp-violeta); background: #fff; }
.tutor-btn-outline-primary:hover { background: var(--abp-violeta); border-color: var(--abp-violeta); color: #fff; }
.tutor-btn:focus-visible, .tutor-form-control:focus-visible, a:focus-visible { outline: 3px solid var(--abp-ouro); outline-offset: 2px; }

/* ── Cards de curso (catálogo e painel) ─────────────────────── */
.tutor-course-card, .tutor-card {
	border: 1px solid var(--abp-borda);
	border-radius: var(--abp-raio);
	box-shadow: var(--abp-sombra);
	overflow: hidden;
	background: #fff;
}
.tutor-course-card { transition: transform .2s ease, box-shadow .2s ease; }
.tutor-course-card:hover { transform: translateY(-3px); box-shadow: var(--abp-sombra-forte); }
.tutor-course-thumbnail, .tutor-card-image-top { background: var(--abp-profundo); }
.tutor-course-thumbnail img, .tutor-card-image-top img { object-fit: cover; }
.tutor-course-name a { color: var(--abp-profundo); }
.tutor-course-name a:hover { color: var(--abp-violeta); }
.tutor-card-footer { border-top-color: var(--abp-borda); }

/* ── Página do curso ────────────────────────────────────────── */
.tutor-course-details-page .tutor-course-thumbnail,
.tutor-course-details-page .tutor-ratio { border-radius: var(--abp-raio); overflow: hidden; box-shadow: var(--abp-sombra-forte); }
.tutor-sidebar-card, .tutor-course-details-widget {
	border-radius: var(--abp-raio) !important;
	border-color: var(--abp-borda) !important;
	box-shadow: var(--abp-sombra);
}
.tutor-course-details-tab .tutor-nav-link.is-active, .tutor-nav-link.is-active { color: var(--abp-violeta); border-bottom-color: var(--abp-violeta); }

/* Currículo (acordeão de módulos) */
.tutor-accordion-item { border: 1px solid var(--abp-borda); border-radius: var(--abp-raio-sm); overflow: hidden; margin-bottom: 10px; background: #fff; }
.tutor-accordion-item-header { font-family: var(--abp-titulo); font-weight: 700; color: var(--abp-profundo); background: var(--abp-lavanda); }
.tutor-accordion-item-header.is-active { background: var(--abp-profundo); color: #fff; }
.tutor-accordion-item-header.is-active::after { color: var(--abp-ouro); }
.tutor-course-content-list-item { border-bottom: 1px solid var(--abp-lavanda-2); }
.tutor-course-content-list-item:last-child { border-bottom: 0; }

/* Barra de progresso */
.tutor-progress-bar { background: var(--abp-lavanda-2); border-radius: 999px; height: 8px; overflow: hidden; }
.tutor-progress-value { background: linear-gradient(90deg, var(--abp-violeta), var(--abp-ouro)); border-radius: 999px; }

/* ── Área de estudo (aula) ──────────────────────────────────── */
.tutor-course-single-sidebar-wrapper { background: #fff; border-right: 1px solid var(--abp-borda); }
.tutor-course-single-sidebar-title { font-family: var(--abp-titulo); color: var(--abp-profundo); }
.tutor-course-topic-title, .tutor-course-topic .tutor-accordion-item-header { font-weight: 700; }
.tutor-course-topic-item a { border-radius: 10px; margin: 2px 8px; transition: background .15s; }
.tutor-course-topic-item a:hover { background: var(--abp-lavanda); }
.tutor-course-topic-item.is-active a { background: var(--abp-lavanda-2); box-shadow: inset 3px 0 0 var(--abp-violeta); }
.tutor-course-topic-item.is-active .tutor-course-topic-item-title { color: var(--abp-violeta); font-weight: 600; }
.tutor-course-topic-item-icon.tutor-icon-circle-mark, .tutor-form-check-input:checked { background-color: var(--abp-sucesso); border-color: var(--abp-sucesso); }
.tutor-course-topbar, .tutor-single-page-top-bar {
	background: linear-gradient(90deg, var(--abp-profundo), var(--abp-violeta)) !important;
}
.tutor-video-player { border-radius: 0 0 var(--abp-raio) var(--abp-raio); overflow: hidden; background: var(--abp-noite); }
.tutor-course-spotlight-tab .tutor-nav-link.is-active { color: var(--abp-violeta); }
.tutor-single-course-content-prev a, .tutor-single-course-content-next a { border-radius: 999px; }

/* ── Painel do aluno ────────────────────────────────────────── */
.tutor-dashboard .tutor-dashboard-left-menu { border-right: 1px solid var(--abp-borda); }
.tutor-dashboard-menu-item a { border-radius: 12px; margin: 2px 0; transition: background .15s, color .15s; }
.tutor-dashboard-menu-item a:hover { background: var(--abp-lavanda); color: var(--abp-violeta); }
.tutor-dashboard-menu-item.active a { background: linear-gradient(135deg, var(--abp-violeta), var(--abp-indigo)) !important; color: #fff !important; box-shadow: 0 6px 18px rgba(96, 52, 212, .25); }
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-icon { color: var(--abp-ouro) !important; }
.tutor-frontend-dashboard-header {
	background:
		radial-gradient(circle at 85% 20%, rgba(237, 186, 109, .18), transparent 40%),
		linear-gradient(120deg, var(--abp-noite), var(--abp-profundo) 55%, var(--abp-violeta));
	border-radius: var(--abp-raio);
	padding: 28px 32px !important;
	margin: 0 0 28px !important;
	color: #fff;
	border: 0 !important;
}
.tutor-frontend-dashboard-header + hr, .tutor-frontend-dashboard-header ~ .tutor-frontend-dashboard-maincontent > hr { display: none; }
.tutor-dashboard-header { padding: 0 !important; border: 0 !important; }
.tutor-frontend-dashboard-header *, .tutor-dashboard-header .tutor-color-black { color: #fff !important; }
.tutor-dashboard-header-username { font-family: var(--abp-titulo); font-weight: 700 !important; }
.tutor-dashboard-header .tutor-avatar { box-shadow: 0 0 0 3px var(--abp-ouro); }
.tutor-dashboard .tutor-round-box {
	background: var(--abp-lavanda); color: var(--abp-violeta);
	border-radius: 14px;
}
.tutor-dashboard-content-inner .tutor-card { transition: transform .2s; }

/* ── WooCommerce (carrinho, checkout, minha conta) ──────────── */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .tutor-form-control, .select2-container--default .select2-selection--single {
	border: 1.5px solid var(--abp-borda);
	border-radius: var(--abp-raio-sm);
	min-height: 46px;
	padding: 10px 14px;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row input.input-text:focus, .tutor-form-control:focus {
	border-color: var(--abp-violeta);
	box-shadow: 0 0 0 4px rgba(96, 52, 212, .12);
	outline: 0;
}
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #place_order {
	border-radius: 999px !important;
	font-weight: 600;
}
.woocommerce #place_order, .woocommerce .checkout-button, .woocommerce button.button.alt {
	background: linear-gradient(135deg, var(--abp-violeta), var(--abp-indigo)) !important;
	color: #fff !important;
	padding: 16px 28px !important;
	box-shadow: 0 8px 22px rgba(96, 52, 212, .3);
}
.woocommerce-checkout-review-order, .woocommerce-checkout #payment {
	border-radius: var(--abp-raio) !important;
	background: var(--abp-lavanda) !important;
}
.woocommerce-MyAccount-navigation ul li a { border-radius: 12px; }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--abp-lavanda-2); color: var(--abp-violeta); }

/* ── Celular ───────────────────────────────────────────────── */
@media (max-width: 767px) {
	.tutor-frontend-dashboard-header { padding: 20px !important; }
	.tutor-course-details-title { font-size: 1.6rem; }
	.tutor-video-player { border-radius: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.tutor-course-card, .tutor-btn, .tutor-course-topic-item a { transition: none; }
	.tutor-course-card:hover, .tutor-btn-primary:hover { transform: none; }
}
