Calculadora Pilates
<div id="tl-calc-container">
<div class="tl-card">
<div class="tl-header">
<h3>Calculadora de Planos Pilates</h3>
<p>TL Centro Especializado em Saúde e Beleza</p>
</div>
<div class="tl-input-group">
<label>Tipo de Contrato</label>
<select id="tl-plano" onchange="tlCalcular()">
<option value="Mensal">Mensal</option>
<option value="Trimestral">Trimestral (3 meses)</option>
<option value="Semestral">Semestral (6 meses)</option>
<option value="Anual">Anual (12 meses)</option>
<option value="Exclusivo">Horário Exclusivo (VIP)</option>
</select>
</div>
<div class="tl-input-group">
<label>Frequência Semanal</label>
<select id="tl-freq" onchange="tlCalcular()">
<option value="1x">1x na Semana</option>
<option value="2x">2x na Semana</option>
<option value="3x">3x na Semana</option>
</select>
</div>
<div class="tl-result-area">
<div class="tl-res-line">
<span>Mensalidade:</span>
<strong id="tl-val-mensal">R$ 280,00</strong>
</div>
<div class="tl-res-line tl-total-row">
<span>Total do Plano:</span>
<strong id="tl-val-total">R$ 280,00</strong>
</div>
<div id="tl-msg-eco" class="tl-economy"></div>
</div>
<div class="tl-footer">
<small>* Pagamento antecipado via PIX, Recorrente, Dinheiro ou Cartão[cite: 84, 89].</small>
</div>
</div>
</div>
<style>
#tl-calc-container {
display: flex;
justify-content: center;
padding: 20px 0;
background: transparent;
}
.tl-card {
background: #ffffff;
border-radius: 12px;
box-shadow: 0 8px 30px rgba(0,0,0,0.1);
width: 100%;
max-width: 400px;
padding: 25px;
border-top: 6px solid #a32a2a; /* Tom bordô da marca */
font-family: sans-serif;
}
.tl-header h3 {
margin: 0 0 5px 0;
color: #333;
font-size: 1.3rem;
text-align: center;
}
.tl-header p {
margin: 0 0 20px 0;
color: #888;
font-size: 0.85rem;
text-align: center;
}
.tl-input-group {
margin-bottom: 15px;
}
.tl-input-group label {
display: block;
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 5px;
color: #555;
}
.tl-input-group select {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 6px;
background: #fafafa;
}
.tl-result-area {
background: #fdf2f2;
padding: 15px;
border-radius: 8px;
margin-top: 20px;
}
.tl-res-line {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
font-size: 1rem;
}
.tl-total-row {
border-top: 1px solid #eccaca;
padding-top: 10px;
color: #a32a2a;
font-size: 1.1rem;
}
.tl-economy {
color: #2d8a4e;
font-size: 0.85rem;
font-weight: bold;
text-align: center;
margin-top: 10px;
}
.tl-footer {
margin-top: 15px;
text-align: center;
color: #999;
line-height: 1.2;
}
</style>
<script>
function tlCalcular() {
// Dados oficiais extraídos dos documentos [cite: 38, 44, 47, 50, 53, 56, 60, 64, 68, 72, 74, 82]
const precos = {
"Mensal": {"1x": 280, "2x": 340, "3x": 420},
"Trimestral": {"1x": 270, "2x": 320, "3x": 400},
"Semestral": {"1x": 260, "2x": 310, "3x": 390},
"Anual": {"1x": 250, "2x": 300, "3x": 380},
"Exclusivo": {"1x": 660, "2x": 820, "3x": 0}
};
const meses = {
"Mensal": 1, "Trimestral": 3, "Semestral": 6, "Anual": 12, "Exclusivo": 1
};
const p = document.getElementById('tl-plano').value;
const f = document.getElementById('tl-freq').value;
const mensal = precos[p][f];
const mCount = meses[p];
if (mensal === 0) {
document.getElementById('tl-val-mensal').innerText = "N/D";
document.getElementById('tl-val-total').innerText = "Consulte-nos";
document.getElementById('tl-msg-eco').innerText = "";
return;
}
const total = mensal * mCount;
document.getElementById('tl-val-mensal').innerText = "R$ " + mensal.toLocaleString('pt-BR', {minimumFractionDigits: 2});
document.getElementById('tl-val-total').innerText = "R$ " + total.toLocaleString('pt-BR', {minimumFractionDigits: 2});
// Lógica de economia baseada na diferença para o plano mensal [cite: 38]
if (p !== "Mensal" && p !== "Exclusivo") {
const eco = (precos["Mensal"][f] - mensal) * mCount;
document.getElementById('tl-msg-eco').innerText = "Economia de R$ " + eco.toLocaleString('pt-BR', {minimumFractionDigits: 2}) + " no contrato";
} else {
document.getElementById('tl-msg-eco').innerText = "";
}
}
</script>