/* Widgets da página do curso (Elementor). Tudo sob .k1w para não brigar com o tema. */

.k1w {
	--k1w-accent: #3e64de;
	--k1w-border: #e4e7ec;
	--k1w-muted: #667085;
	box-sizing: border-box;
	color: inherit;
	line-height: 1.5;
}

.k1w *,
.k1w *::before,
.k1w *::after {
	box-sizing: border-box;
}

.k1w--card {
	background: #fff;
	border: 1px solid var(--k1w-border);
	border-radius: 12px;
	padding: 20px;
}

.k1w--flat {
	padding: 0;
}

.k1w__title {
	margin: 0 0 12px;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1.3;
}

.k1w__muted {
	color: var(--k1w-muted);
	font-size: 0.92em;
	margin: 0;
}

.k1w__text {
	margin: 4px 0 0;
	overflow-wrap: anywhere;
}

.k1w__text p:first-child {
	margin-top: 0;
}

.k1w-ico {
	flex: none;
	vertical-align: middle;
}

.k1w-note {
	padding: 12px 14px;
	border: 1px dashed #b8c0cc;
	border-radius: 8px;
	color: #475467;
	background: #f8f9fb;
	font-size: 13px;
}

.k1w-note--warn {
	border-color: #f0b429;
	background: #fff8e6;
	margin-bottom: 8px;
}

/* Botões */

.k1w__btn,
.k1w__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 18px;
	border: 1px solid var(--k1w-accent);
	border-radius: 8px;
	background: var(--k1w-accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.15s;
}

.k1w__btn:hover,
.k1w__link:hover {
	filter: brightness(0.92);
	color: #fff;
}

.k1w__btn--full,
.k1w--card .k1w__btn {
	display: flex;
	width: 100%;
}

.k1w__link {
	background: transparent;
	color: var(--k1w-accent);
}

.k1w__link:hover {
	color: var(--k1w-accent);
	background: rgba(62, 100, 222, 0.08);
}

.k1w__link.is-on .k1w-ico {
	fill: currentColor;
}

.k1w__msg {
	margin: 8px 0 0;
	font-size: 13px;
	color: #d92d20;
}

.k1w__msg.is-ok {
	color: #229944;
}

/* Mídia */

.k1w__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 12px;
	background: #0f172a;
}

.k1w__media img,
.k1w__media video,
.k1w__media iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.k1w__media .wp-video,
.k1w__media .wp-block-embed__wrapper {
	position: absolute;
	inset: 0;
}

/* Cronograma */

.k1w__topic {
	border: 1px solid var(--k1w-border);
	border-radius: 10px;
	margin-bottom: 8px;
	background: #fff;
}

.k1w__topic summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.k1w__topic summary::-webkit-details-marker {
	display: none;
}

.k1w__topic summary::after {
	content: '';
	width: 8px;
	height: 8px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	margin-left: 4px;
	flex: none;
	transition: transform 0.15s;
}

.k1w__topic[open] summary::after {
	transform: rotate(-135deg);
}

.k1w__topic-name {
	flex: 1;
}

.k1w__topic-summary {
	padding: 0 16px 8px;
}

.k1w__items {
	list-style: none;
	margin: 0;
	padding: 0 8px 8px;
}

.k1w__items li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 8px;
	border-top: 1px solid var(--k1w-border);
}

.k1w__item-name {
	flex: 1;
	min-width: 0;
}

.k1w__item-icon {
	color: var(--k1w-muted);
	display: inline-flex;
}

.k1w__items li.is-done .k1w__item-icon {
	color: #229944;
}

/* Listas */

.k1w__checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.k1w__checks li,
.k1w__info li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.k1w__checks .k1w-ico {
	color: #229944;
	margin-top: 3px;
}

.k1w__bullets {
	margin: 0;
	padding-left: 20px;
}

.k1w__info {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.k1w__info .k1w-ico {
	color: var(--k1w-muted);
	margin-top: 2px;
}

/* Professor */

.k1w__person {
	display: flex;
	align-items: center;
	gap: 14px;
}

.k1w__person strong {
	display: block;
}

.k1w__photo {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}

.k1w__bio {
	margin-top: 10px;
}

/* Progresso */

.k1w__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	color: var(--k1w-muted);
}

.k1w__bar {
	display: block;
	height: 6px;
	border-radius: 99px;
	background: #e4e7ec;
	overflow: hidden;
	margin-bottom: 16px;
}

.k1w__bar span {
	display: block;
	height: 100%;
	background: var(--k1w-accent);
	border-radius: 99px;
}

.k1w__price {
	margin-bottom: 14px;
	font-size: 1.5em;
}

.k1w__price del {
	color: var(--k1w-muted);
	font-size: 0.7em;
	margin-right: 4px;
}

/* Avaliações e perguntas */

.k1w__rating {
	display: flex;
	gap: 28px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.k1w__rating-big {
	display: grid;
	justify-items: center;
	gap: 2px;
}

.k1w__rating-big strong {
	font-size: 2.4em;
	line-height: 1;
}

.k1w__dist {
	flex: 1;
	min-width: 180px;
	display: grid;
	gap: 6px;
}

.k1w__dist > div {
	display: grid;
	grid-template-columns: 14px 1fr;
	align-items: center;
	gap: 8px;
}

.k1w__dist .k1w__bar {
	margin: 0;
}

.k1w__stars {
	display: inline-flex;
	color: #d0d5dd;
}

.k1w__stars .is-on,
.k1w-rate__stars .is-on {
	color: #f5a623;
}

.k1w__stars .is-on .k1w-ico,
.k1w-rate__stars .is-on .k1w-ico {
	fill: currentColor;
}

.k1w__stars .k1w-ico {
	width: 16px;
	height: 16px;
}

.k1w__review {
	padding: 14px 0;
	border-top: 1px solid var(--k1w-border);
}

.k1w__review-head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.k1w__reply {
	margin-top: 10px;
	padding: 10px 14px;
	border-left: 3px solid var(--k1w-accent);
	background: rgba(62, 100, 222, 0.06);
	border-radius: 0 8px 8px 0;
}

.k1w-rate,
.k1w-ask {
	display: grid;
	gap: 10px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--k1w-border);
}

.k1w-rate textarea,
.k1w-ask textarea,
.k1w-ask input[type='text'],
.k1w-ask input[type='email'] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	font: inherit;
	color: inherit;
	background: #fff;
}

.k1w-ask__who {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.k1w-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
}

.k1w-rate__stars {
	display: flex;
	gap: 2px;
	color: #d0d5dd;
}

.k1w-rate__stars button {
	padding: 2px;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}

.k1w-rate__stars .k1w-ico {
	width: 28px;
	height: 28px;
}

.k1w-rate .k1w__btn,
.k1w-ask .k1w__btn {
	justify-self: start;
}

/* Janela de compartilhar */

.k1w-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(15, 23, 42, 0.55);
}

.k1w-modal[hidden] {
	display: none;
}

.k1w-modal__box {
	position: relative;
	width: 100%;
	max-width: 560px;
	padding: 28px;
	border-radius: 14px;
	background: #fff;
	color: #1d2939;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.k1w-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 44px;
	height: 36px;
	border: 1px solid #d6336c;
	border-radius: 4px;
	background: transparent;
	color: #d6336c;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.k1w-modal__title {
	margin: 0 0 22px;
	font-size: 1.25em;
	color: inherit;
}

.k1w-modal__label {
	display: block;
	margin-bottom: 8px;
	color: #475467;
	font-size: 0.9em;
}

.k1w-modal__copy {
	display: flex;
	align-items: center;
	border: 2px solid #111;
	border-radius: 10px;
	padding: 4px 6px 4px 14px;
	background: #fff;
}

.k1w-modal__copy input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	padding: 10px 0;
	outline: none;
}

.k1w-modal__copy button {
	border: 0;
	background: none;
	color: #475467;
	padding: 8px;
	cursor: pointer;
	display: inline-flex;
}

.k1w-modal__done {
	color: #229944;
}

.k1w-modal__sub {
	margin: 22px 0 12px;
	font-size: 1.05em;
	color: inherit;
}

.k1w-modal__nets {
	display: flex;
	gap: 12px;
}

.k1w-net {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 34px;
	border-radius: 6px;
	color: #fff;
	text-decoration: none;
}

.k1w-net--facebook {
	background: #3b82f6;
}

.k1w-net--x {
	background: #000;
}

.k1w-net--linkedin {
	background: #2f5fb3;
}

@media (max-width: 640px) {
	.k1w__checks {
		grid-template-columns: 1fr;
	}

	.k1w-ask__who {
		grid-template-columns: 1fr;
	}
}

.k1w__person .k1w__title {
	margin: 0 0 2px;
	font-size: 0.9em;
	font-weight: 500;
}

/* Posição do botão (widgets com controle "Posição do botão") */
.k1w-align-left .k1w { text-align: left; }
.k1w-align-center .k1w { text-align: center; }
.k1w-align-right .k1w { text-align: right; }
.k1w-align-justify .k1w__link { display: flex; width: 100%; justify-content: center; text-align: center; }

@media (max-width: 1024px) {
	.k1w-align-tablet-left .k1w { text-align: left; }
	.k1w-align-tablet-center .k1w { text-align: center; }
	.k1w-align-tablet-right .k1w { text-align: right; }
	.k1w-align-tablet-justify .k1w__link { display: flex; width: 100%; justify-content: center; }
}

@media (max-width: 767px) {
	.k1w-align-mobile-left .k1w { text-align: left; }
	.k1w-align-mobile-center .k1w { text-align: center; }
	.k1w-align-mobile-right .k1w { text-align: right; }
	.k1w-align-mobile-justify .k1w__link { display: flex; width: 100%; justify-content: center; }
}

/* Estado vazio: ícone em cima, texto embaixo */
.k1w__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 24px 12px;
	text-align: center;
	color: var(--k1w-muted);
}

.k1w__empty .k1w-ico {
	width: 40px;
	height: 40px;
	color: #d0d5dd;
}

.k1w__empty p {
	margin: 0;
}

/* Dado do curso: rotulo em cima, valor embaixo */
.k1w__dlabel {
	display: block;
	margin: 0 0 2px;
	font-size: 1.05em;
}

.k1w__dvalue {
	display: block;
	color: var(--k1w-muted);
	font-size: 0.92em;
}

/* Progresso: posicao do botao (largura total por padrao) */
.k1w-btn-left .k1w--card .k1w__btn { display: flex; width: fit-content; margin: 0 auto 0 0; }
.k1w-btn-center .k1w--card .k1w__btn { display: flex; width: fit-content; margin: 0 auto; }
.k1w-btn-right .k1w--card .k1w__btn { display: flex; width: fit-content; margin: 0 0 0 auto; }
.k1w-btn-justify .k1w--card .k1w__btn { display: flex; width: 100%; }

@media (max-width: 1024px) {
	.k1w-btn-tablet-left .k1w--card .k1w__btn { width: fit-content; margin: 0 auto 0 0; }
	.k1w-btn-tablet-center .k1w--card .k1w__btn { width: fit-content; margin: 0 auto; }
	.k1w-btn-tablet-right .k1w--card .k1w__btn { width: fit-content; margin: 0 0 0 auto; }
	.k1w-btn-tablet-justify .k1w--card .k1w__btn { width: 100%; }
}

@media (max-width: 767px) {
	.k1w-btn-mobile-left .k1w--card .k1w__btn { width: fit-content; margin: 0 auto 0 0; }
	.k1w-btn-mobile-center .k1w--card .k1w__btn { width: fit-content; margin: 0 auto; }
	.k1w-btn-mobile-right .k1w--card .k1w__btn { width: fit-content; margin: 0 0 0 auto; }
	.k1w-btn-mobile-justify .k1w--card .k1w__btn { width: 100%; }
}

/* Lista K1 EAD e Valor do curso */
.k1w__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.k1w__li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.k1w__li-icon {
	display: inline-flex;
	color: var(--k1w-muted);
}

.k1w__li-icon svg {
	width: 1em;
	height: 1em;
}

.k1w-preco {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.k1w-preco__regular {
	color: var(--k1w-muted);
}

.k1w-preco__atual {
	font-weight: 700;
}
