:root {
--glf-gold: #D4AF37;
--glf-black: #111;
--glf-gray: #f8f8f8;
--glf-alert-bg: #fffbf0;
--font-main: 'Manrope', sans-serif;
}
.plan-apartado-box {
background: #fff;
border: 1px solid #e1e1e1;
border-radius: 8px;
padding: 25px;
margin-top: 25px;
font-family: var(--font-main);
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
max-width: 100%;
display: none; /* Se mantiene oculto hasta calcular correctamente */
}
.plan-header {
display: flex;
align-items: center;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid #eee;
}
.plan-icon { font-size: 22px; margin-right: 12px; }
.plan-header h4 {
margin: 0; color: var(--glf-black);
font-size: 1rem; font-weight: 800;
text-transform: uppercase; letter-spacing: 1px;
}
.plan-header span {
display: block; font-size: 0.75rem; color: #888; margin-top: 3px; font-weight: 500;
}
.plan-row {
display: flex; justify-content: space-between; align-items: center;
margin-bottom: 10px; font-size: 0.9rem; color: #666;
}
.plan-row.highlight {
background: var(--glf-gray);
padding: 12px;
border-radius: 6px;
color: var(--glf-black);
font-weight: 700;
margin-bottom: 15px;
}
.plan-val { font-weight: 700; color: var(--glf-black); }
.plan-val.gold { color: var(--glf-gold); }
/* Aviso Importante */
.disclaimer-box {
background-color: var(--glf-alert-bg);
border-left: 3px solid var(--glf-gold);
padding: 12px;
margin-top: 20px;
border-radius: 0 4px 4px 0;
}
.disclaimer-title {
font-size: 0.7rem; font-weight: 800; color: #856404;
text-transform: uppercase; display: block; margin-bottom: 4px;
}
.disclaimer-text {
font-size: 0.75rem; line-height: 1.4; color: #664d03; display: block;
}
.btn-plan-wa {
display: block; width: 100%; text-align: center;
background-color: var(--glf-black); color: #fff;
padding: 14px; margin-top: 15px;
text-transform: uppercase; font-size: 0.8rem; font-weight: 700; letter-spacing: 1px;
border-radius: 4px; transition: 0.3s; text-decoration: none;
}
.btn-plan-wa:hover { background-color: var(--glf-gold); color: white; }
Prima Inicial (Reserva)
L. 500.00
3 Meses (Semanal aprox.):
...
6 Meses (Quincenal aprox.):
...
12 Meses (Mensual):
...
⚠️ Modalidad No Crediticia
Este plan funciona como un ahorro programado. El artículo se reserva con la prima, pero la entrega se realiza únicamente al completar el pago total.
Solicitar Apartado ➔
jQuery(document).ready(function($) {
const PRIMA = 500;
const $box = $('#tablaApartado');
/**
* Función Maestra de Cálculo
* Recibe el texto del precio (ej: "L 17,980.00") y actualiza la tabla
*/
function recalcularCuotas(priceText) {
if (!priceText) return;
// 1. Limpieza agresiva del precio para Honduras
// Elimina "L", espacios y comas. Deja solo números y el punto decimal.
// Ejemplo: "L 17,980.00" -> "17980.00"
let cleanPrice = priceText.replace(/L/gi, '').replace(/,/g, '').trim();
// Convertir a número real
let precioTotal = parseFloat(cleanPrice);
// Validar que sea un número y mayor a la prima
if (!isNaN(precioTotal) && precioTotal > PRIMA) {
let saldo = precioTotal - PRIMA;
// Fórmulas
let cuota3 = saldo / 3; // Mensual en plan 3 meses
let cuota6 = saldo / 6; // Mensual en plan 6 meses
let cuota12 = saldo / 12; // Mensual en plan 12 meses
// Formato de moneda Lempiras
const fmt = new Intl.NumberFormat('es-HN', {
style: 'currency',
currency: 'HNL',
minimumFractionDigits: 2
});
// Actualizar la vista
$('#val-3-months').text(fmt.format(cuota3));
$('#val-6-months').text(fmt.format(cuota6));
$('#val-12-months').text(fmt.format(cuota12));
// Actualizar el link de WhatsApp con el producto actual
let prodTitle = $('.product_title').text().trim();
let waMsg = `Hola, me interesa el *Plan de Apartado* para: ${prodTitle} (Precio: ${fmt.format(precioTotal)}).`;
$('#btnWaPlan').attr('href', `https://wa.me/message/VFEYV5GK2JHFA1?text=${encodeURIComponent(waMsg)}`);
$box.fadeIn(); // Mostrar tabla
} else {
$box.hide(); // Ocultar si el precio no es válido o es menor a 500
}
}
/**
* Detector de Precios
* Busca cuál es el precio correcto visible en pantalla
*/
function detectarPrecio() {
let precioEncontrado = '';
// CASO 1: Producto Variable con color seleccionado (Precio dinámico)
let precioVariacion = $('.woocommerce-variation-price .amount bdi').text();
// CASO 2: Producto Simple en Oferta (El precio de oferta está dentro de )
let precioOferta = $('.summary .price ins .amount bdi').text();
// CASO 3: Producto Simple Normal
let precioNormal = $('.summary .price > .amount bdi').text();
// CASO 4: Fallback (El último precio visible en el resumen)
let precioGenerico = $('.summary .price .amount bdi').last().text();
// Prioridad: Variación > Oferta > Normal > Genérico
if (precioVariacion) {
precioEncontrado = precioVariacion;
} else if (precioOferta) {
precioEncontrado = precioOferta;
} else if (precioNormal) {
precioEncontrado = precioNormal;
} else {
precioEncontrado = precioGenerico;
}
// Si el precio es un rango (ej: "L100 - L200") y no hay variación, no calculamos
let textoCompleto = $('.summary .price').text();
if (textoCompleto.indexOf('–') > -1 && !precioVariacion) {
$box.hide();
return;
}
recalcularCuotas(precioEncontrado);
}
// --- EVENTOS ---
// 1. Al cargar la página
setTimeout(detectarPrecio, 500);
// 2. Cuando el usuario selecciona una variación (Color/Tamaño) - Evento oficial de Woo
$('.single_variation_wrap').on('show_variation', function(event, variation) {
// variation.display_price devuelve el número limpio directamente (ej: 17980)
if (variation && variation.display_price) {
// Convertimos a string para usar nuestra función de limpieza estándar
recalcularCuotas(variation.display_price.toString());
} else {
// Si falla, intentamos leer el HTML
setTimeout(detectarPrecio, 200);
}
});
// 3. Cuando el usuario des-selecciona la variación
$('.single_variation_wrap').on('hide_variation', function() {
$box.hide();
});
});
@media (max-width: 480px) {
.plan-apartado-box {
padding: 15px !important; /* Menos relleno */
}
.plan-row {
flex-direction: column; /* Apilar elementos verticalmente */
align-items: flex-start !important;
gap: 5px;
}
.plan-row span {
width: 100%;
display: flex;
justify-content: space-between; /* Para que el precio quede a la derecha */
}
.plan-row.highlight {
flex-direction: row; /* Mantener la prima en una sola línea */
}
.disclaimer-box {
font-size: 11px !important; /* Texto legal más pequeño */
}
}
🛋️ Sala Toronto
Descripción breve:
Sala tipo L con diseño moderno y líneas rectas. Incluye respaldos altos tipo almohadón, cojines decorativos y vaseras integradas en ambos brazos. Su estructura es ideal para espacios medianos que buscan funcionalidad y elegancia en una sola pieza.
Colores disponibles:
Café, Gris, Marrón, Rojo, Negro
Medidas:
70″ x 70″
📏 Todas las medidas están en pulgadas
Precio:
Garantía:
✅ 1 año por cualquier desperfecto de fábrica