/* CLOSE12 - estilos base dos widgets (leves, pensados pra você sobrescrever
   com os estilos globais do seu site no Elementor — cores/fontes não são
   fixadas aqui em !important, só o essencial de layout). */

.close12-badge {
	display: inline-block;
	background: #17160F;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 3px;
}

.close12-beneficios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.close12-beneficios li { display: flex; align-items: flex-start; gap: 8px; }
.close12-beneficios .close12-check-icon { color: #6F7A52; flex: none; }

.close12-ativos-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.close12-ativo-card .close12-ativo-photo { border-radius: 6px; overflow: hidden; margin-bottom: 12px; aspect-ratio: 5/3; }
.close12-ativo-card .close12-ativo-photo img { width: 100%; height: 100%; object-fit: cover; }
.close12-ativo-card h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 6px; }
.close12-ativo-card p { font-size: 12.5px; opacity: .75; margin: 0; }

.close12-spec-table { width: 100%; border-collapse: collapse; }
.close12-spec-table tr { border-bottom: 1px solid rgba(0,0,0,.1); }
.close12-spec-table td { padding: 12px 4px; font-size: 13px; vertical-align: top; }
.close12-spec-table td:first-child { font-weight: 700; width: 40%; }

.close12-faq details { border-bottom: 1px solid rgba(0,0,0,.1); padding: 14px 0; }
.close12-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.close12-faq summary::-webkit-details-marker { display: none; }
.close12-faq-icon { flex: none; margin-left: 12px; transition: transform .15s ease; }
.close12-faq details[open] .close12-faq-icon { transform: rotate(45deg); }
.close12-faq-body { padding-top: 10px; font-size: 13px; opacity: .8; }

.close12-rotina-kit-head { font-weight: 700; text-transform: uppercase; margin-bottom: 18px; }
.close12-rotina-chain { display: flex; gap: 0; overflow-x: auto; }
.close12-rotina-step { display: flex; flex-direction: column; align-items: center; text-align: center; width: 96px; flex: none; }
.close12-rotina-num { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid currentColor; font-size: 11px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.close12-rotina-photo { width: 50px; height: 64px; margin-bottom: 8px; }
.close12-rotina-photo img { width: 100%; height: 100%; object-fit: contain; }
.close12-rotina-step h6 { font-size: 11px; margin: 0 0 2px; }
.close12-rotina-step p { font-size: 10px; opacity: .7; margin: 0; }

.close12-rotina-4-passos { display: grid; grid-template-columns: repeat(4, 1fr) auto; align-items: stretch; gap: 16px; }
.close12-passo { position: relative; display: flex; align-items: center; gap: 14px; padding: 14px; border-radius: 8px; border: 1.5px solid transparent; }
.close12-passo--active { border-color: #6F7A52; }
.close12-passo-num { font-size: 24px; font-weight: 700; opacity: .3; flex: none; }
.close12-passo-photo { width: 44px; height: 56px; flex: none; }
.close12-passo-photo img { width: 100%; height: 100%; object-fit: contain; }
.close12-passo-text h5 { font-size: 12px; text-transform: uppercase; margin: 0 0 3px; }
.close12-passo-text p { font-size: 11.5px; opacity: .7; margin: 0; }
.close12-passo:not(:last-child)::after {
	content: '→';
	position: absolute;
	right: -19px;
	top: 50%;
	transform: translateY(-50%);
	opacity: .35;
	font-size: 14px;
	z-index: 1;
}

.close12-rotina-add-all {
	grid-column: auto;
	align-self: center;
	white-space: nowrap;
	background: #6F7A52;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 12px 22px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: opacity .15s ease;
}
.close12-rotina-add-all:hover { opacity: .88; }
.close12-rotina-add-all:disabled { opacity: .6; cursor: default; }

.close12-depoimentos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.close12-depoimento-card { background: #fff; border-radius: 8px; padding: 24px; }
.close12-depoimento-estrelas { color: #C9A227; margin-bottom: 12px; font-size: 14px; letter-spacing: 2px; }
.close12-star--off { opacity: .25; }
.close12-depoimento-texto { font-size: 14px; line-height: 1.5; margin: 0 0 20px; }
.close12-depoimento-autor { display: flex; align-items: center; gap: 10px; }
.close12-depoimento-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,.08); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex: none; }
.close12-depoimento-info { display: flex; flex-direction: column; font-size: 12px; }
.close12-depoimento-info strong { font-size: 13px; margin-bottom: 2px; }
.close12-depoimento-verificado { display: flex; align-items: center; gap: 4px; opacity: .7; }
.close12-depoimento-verificado .close12-check-icon { background: #17160F; color: #fff; border-radius: 50%; width: 14px; height: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; flex: none; }

@media (max-width: 767px) {
	.close12-ativos-grid { grid-template-columns: repeat(2, 1fr); }
	.close12-rotina-4-passos { grid-template-columns: 1fr; }
	.close12-passo { flex-direction: column; text-align: center; }
	.close12-passo:not(:last-child)::after { display: none; }
	.close12-rotina-add-all { grid-column: 1 / -1; margin-top: 4px; }
	.close12-depoimentos { grid-template-columns: 1fr; }
}
