instalacion_caldera/guia_calefaccion_hogar.html

1224 lines
49 KiB
HTML

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Plan Técnico de Instalación - Peisa Prima Tec Doble Servicio</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root {
--bg: #0b0f19;
--surface: #131b2e;
--surface-card: #18233c;
--surface-hover: #1f2d4d;
--border: #233354;
--border-accent: #334e7d;
--text: #f1f5f9;
--text-muted: #94a3b8;
--text-sub: #64748b;
--primary: #3b82f6;
--primary-glow: rgba(59, 130, 246, 0.25);
--accent: #06b6d4;
--c-mandada: #ef4444; /* Rojo Calefacción */
--c-acs: #f97316; /* Naranja Agua Caliente */
--c-gas: #eab308; /* Amarillo Gas */
--c-fria: #0284c7; /* Azul Red */
--c-retorno: #6366f1; /* Indigo Retorno */
--c-alivio: #64748b; /* Gris Desagüe Alivio */
--c-electric: #10b981; /* Verde Electricidad */
--radius-sm: 8px;
--radius-md: 14px;
--radius-lg: 20px;
--shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}
[data-theme="light"] {
--bg: #f8fafc;
--surface: #ffffff;
--surface-card: #f1f5f9;
--surface-hover: #e2e8f0;
--border: #cbd5e1;
--border-accent: #94a3b8;
--text: #0f172a;
--text-muted: #475569;
--text-sub: #64748b;
--primary: #2563eb;
--primary-glow: rgba(37, 99, 235, 0.15);
--shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Plus Jakarta Sans', sans-serif;
background-color: var(--bg);
color: var(--text);
line-height: 1.6;
padding: 0 0 60px 0;
transition: background-color 0.3s, color 0.3s;
}
/* Container */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
/* Top Nav */
header {
background: rgba(19, 27, 46, 0.85);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border);
position: sticky;
top: 0;
z-index: 100;
padding: 16px 0;
}
.nav-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}
.brand {
display: flex;
align-items: center;
gap: 12px;
}
.brand-logo {
width: 40px;
height: 40px;
background: linear-gradient(135deg, #ef4444, #f97316);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: 800;
font-size: 20px;
box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}
.brand-title {
font-family: 'Outfit', sans-serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: -0.02em;
}
.brand-subtitle {
font-size: 0.75rem;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.08em;
font-weight: 600;
}
.nav-actions {
display: flex;
align-items: center;
gap: 10px;
}
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 18px;
border-radius: var(--radius-sm);
font-size: 0.875rem;
font-weight: 600;
cursor: pointer;
border: 1px solid transparent;
transition: all 0.2s ease;
text-decoration: none;
}
.btn-secondary {
background: var(--surface-card);
color: var(--text);
border-color: var(--border);
}
.btn-secondary:hover {
background: var(--surface-hover);
border-color: var(--border-accent);
}
.btn-primary {
background: linear-gradient(135deg, var(--primary), #2563eb);
color: white;
box-shadow: 0 4px 14px var(--primary-glow);
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 6px 20px var(--primary-glow);
}
/* Hero */
.hero {
padding: 40px 0 24px;
}
.badge-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 16px;
}
.badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 12px;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.badge-primary { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.3); }
.badge-success { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-warning { background: rgba(234, 179, 8, 0.15); color: #facc15; border: 1px solid rgba(234, 179, 8, 0.3); }
.hero-title {
font-family: 'Outfit', sans-serif;
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.03em;
margin-bottom: 12px;
background: linear-gradient(to right, #ffffff, #94a3b8);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
[data-theme="light"] .hero-title {
background: linear-gradient(to right, #0f172a, #334155);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.hero-desc {
font-size: 1.1rem;
color: var(--text-muted);
max-width: 850px;
}
/* Grid Sections */
.grid-2 {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 24px;
margin-top: 28px;
}
@media (max-width: 950px) {
.grid-2 {
grid-template-columns: 1fr;
}
}
.card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 24px;
box-shadow: var(--shadow);
position: relative;
overflow: hidden;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 14px;
border-bottom: 1px solid var(--border);
}
.card-title {
font-family: 'Outfit', sans-serif;
font-size: 1.3rem;
font-weight: 700;
display: flex;
align-items: center;
gap: 10px;
}
.card-subtitle {
font-size: 0.85rem;
color: var(--text-muted);
}
/* SVG Blueprint Styles */
.blueprint-box {
background: #060913;
border-radius: var(--radius-md);
border: 1px solid var(--border-accent);
padding: 20px 10px;
position: relative;
overflow-x: auto;
}
[data-theme="light"] .blueprint-box {
background: #0f172a;
}
.blueprint-svg {
width: 100%;
min-width: 620px;
height: auto;
display: block;
margin: 0 auto;
}
/* Pipe cards selector / interactive */
.pipes-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 12px;
margin-top: 20px;
}
.pipe-badge-card {
background: var(--surface-card);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 14px;
transition: all 0.2s;
cursor: pointer;
position: relative;
}
.pipe-badge-card:hover, .pipe-badge-card.active {
transform: translateY(-2px);
border-color: var(--pipe-color, var(--primary));
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.pipe-dot {
width: 12px;
height: 12px;
border-radius: 50%;
display: inline-block;
margin-right: 6px;
background-color: var(--pipe-color);
box-shadow: 0 0 10px var(--pipe-color);
}
.pipe-num {
font-size: 0.75rem;
font-weight: 800;
color: var(--text-sub);
text-transform: uppercase;
}
.pipe-name {
font-weight: 700;
font-size: 0.95rem;
margin: 4px 0 2px;
}
.pipe-thread {
font-family: monospace;
font-size: 0.85rem;
color: #38bdf8;
font-weight: 600;
}
.pipe-dist {
font-size: 0.8rem;
color: var(--text-muted);
margin-top: 4px;
}
/* Table Styles */
.table-container {
overflow-x: auto;
margin-top: 14px;
}
table {
width: 100%;
border-collapse: collapse;
text-align: left;
font-size: 0.9rem;
}
th {
background: var(--surface-card);
color: var(--text-muted);
font-weight: 700;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.05em;
padding: 12px 14px;
border-bottom: 2px solid var(--border);
}
td {
padding: 12px 14px;
border-bottom: 1px solid var(--border);
}
tr:hover td {
background: var(--surface-hover);
}
.tag-thread {
font-family: monospace;
font-weight: 700;
padding: 2px 8px;
border-radius: 4px;
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
display: inline-block;
}
/* Checklist Section */
.checklist-group {
display: flex;
flex-direction: column;
gap: 12px;
}
.checklist-item {
display: flex;
align-items: flex-start;
gap: 14px;
background: var(--surface-card);
padding: 14px 18px;
border-radius: var(--radius-md);
border: 1px solid var(--border);
transition: background 0.2s, border-color 0.2s;
cursor: pointer;
}
.checklist-item:hover {
background: var(--surface-hover);
border-color: var(--border-accent);
}
.checklist-item.checked {
opacity: 0.65;
background: rgba(16, 185, 129, 0.05);
border-color: rgba(16, 185, 129, 0.3);
}
.checklist-item.checked .item-title {
text-decoration: line-through;
}
.custom-checkbox {
width: 22px;
height: 22px;
border-radius: 6px;
border: 2px solid var(--border-accent);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 2px;
transition: all 0.2s;
}
.checklist-item.checked .custom-checkbox {
background: #10b981;
border-color: #10b981;
}
.item-content {
flex: 1;
}
.item-title {
font-weight: 700;
font-size: 0.95rem;
margin-bottom: 2px;
}
.item-spec {
font-size: 0.85rem;
color: var(--text-muted);
}
/* Callouts / Alerts */
.alert {
padding: 16px 20px;
border-radius: var(--radius-md);
margin: 20px 0;
display: flex;
gap: 14px;
align-items: flex-start;
border: 1px solid transparent;
font-size: 0.9rem;
}
.alert-warning {
background: rgba(234, 179, 8, 0.1);
border-color: rgba(234, 179, 8, 0.3);
color: #fef08a;
}
[data-theme="light"] .alert-warning { color: #854d0e; }
.alert-info {
background: rgba(6, 182, 212, 0.1);
border-color: rgba(6, 182, 212, 0.3);
color: #a5f3fc;
}
[data-theme="light"] .alert-info { color: #0e7490; }
.alert-danger {
background: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.3);
color: #fca5a5;
}
[data-theme="light"] .alert-danger { color: #991b1b; }
.alert-icon {
font-size: 1.3rem;
line-height: 1;
flex-shrink: 0;
}
/* Step by step timeline */
.timeline {
position: relative;
padding-left: 32px;
margin-top: 20px;
}
.timeline::before {
content: '';
position: absolute;
left: 11px;
top: 10px;
bottom: 20px;
width: 2px;
background: var(--border);
}
.timeline-step {
position: relative;
margin-bottom: 24px;
}
.timeline-step:last-child {
margin-bottom: 0;
}
.timeline-dot {
position: absolute;
left: -32px;
top: 0;
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--surface-card);
border: 2px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 800;
color: var(--primary);
}
.step-title {
font-weight: 700;
font-size: 1.05rem;
margin-bottom: 4px;
}
.step-desc {
font-size: 0.9rem;
color: var(--text-muted);
}
/* Print styling */
@media print {
body {
background: white !important;
color: black !important;
}
header, .nav-actions, .checklist-item .custom-checkbox, .theme-toggle {
display: none !important;
}
.card {
border: 1px solid #ccc !important;
box-shadow: none !important;
background: white !important;
page-break-inside: avoid;
margin-bottom: 20px;
}
.blueprint-box {
background: white !important;
border: 1px solid #999 !important;
}
.blueprint-svg text {
fill: #111 !important;
}
.blueprint-svg rect, .blueprint-svg path {
stroke: #222 !important;
}
}
</style>
</head>
<body data-theme="dark">
<!-- Header -->
<header>
<div class="container nav-wrapper">
<div class="brand">
<div class="brand-logo">P</div>
<div>
<div class="brand-title">Peisa Prima Tec · Guía de Instalación</div>
<div class="brand-subtitle">Doble Servicio (Calefacción + Agua Caliente)</div>
</div>
</div>
<div class="nav-actions">
<button class="btn btn-secondary theme-toggle" onclick="toggleTheme()" id="themeBtn" title="Cambiar Tema">
🌓 Tema
</button>
<button class="btn btn-primary" onclick="window.print()">
🖨️ Imprimir / Guardar PDF
</button>
</div>
</div>
</header>
<main class="container">
<!-- Hero -->
<section class="hero">
<div class="badge-row">
<span class="badge badge-primary">Doble Servicio (DS)</span>
<span class="badge badge-success">Conexión con Flexibles</span>
<span class="badge badge-warning">Tiro Forzado Ø 60/100</span>
<span class="badge badge-primary">5 Años Garantía</span>
</div>
<h1 class="hero-title">Plan de Replanteo y Conexión en Pared</h1>
<p class="hero-desc">
Guía técnica de replanteo para albañilería, plomería e instalación de gas. Medidas exactas oficiales extraídas del manual del fabricante, esquema de alturas sobre Nivel de Piso Terminado (NPT) y despiece de materiales.
</p>
</section>
<!-- Interactive Blueprint Card -->
<section class="card" style="margin-top: 10px;">
<div class="card-header">
<div>
<h2 class="card-title">📐 Esquema Técnico Frontal de Pared y Boiler</h2>
<div class="card-subtitle">Cotas exactas milimétricas para perforaciones, amurado de codos y tiraje de humos</div>
</div>
<div style="font-size: 0.85rem; color: var(--accent); font-weight: 600;">
Ancho caldera: 400 mm | Alto: 700 mm | Prof.: 320 mm
</div>
</div>
<!-- SVG Blueprint -->
<div class="blueprint-box">
<svg class="blueprint-svg" viewBox="0 0 900 680" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- Grid Background Lines -->
<defs>
<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
<path d="M 40 0 L 0 0 0 40" fill="none" stroke="#1e293b" stroke-width="0.8" stroke-opacity="0.5"/>
</pattern>
<linearGradient id="calderaGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#1e293b"/>
<stop offset="100%" stop-color="#0f172a"/>
</linearGradient>
<linearGradient id="flueGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#64748b"/>
<stop offset="100%" stop-color="#475569"/>
</linearGradient>
</defs>
<rect width="900" height="680" fill="url(#grid)" />
<!-- LEVEL LINES (Horizontal guides) -->
<!-- NPT (Suelo) -->
<line x1="60" y1="620" x2="840" y2="620" stroke="#475569" stroke-width="2" stroke-dasharray="6 4" />
<text x="70" y="612" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700">NPT ± 0.00 m (Piso Terminado)</text>
<!-- Altura Bocas de Pared (+75 cm) -->
<line x1="60" y1="470" x2="840" y2="470" stroke="#3b82f6" stroke-width="1.5" stroke-dasharray="4 4" stroke-opacity="0.7"/>
<text x="70" y="462" fill="#60a5fa" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700">+ 0.75 m (Eje Codos Hembra en Pared)</text>
<!-- Altura Base Caldera (+95 cm) -->
<line x1="60" y1="410" x2="840" y2="410" stroke="#10b981" stroke-width="1.5" stroke-dasharray="4 4" stroke-opacity="0.7"/>
<text x="70" y="402" fill="#34d399" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700">+ 0.95 m (Base de Caldera colgada)</text>
<!-- Altura Tope Caldera (+1.65 m) -->
<line x1="60" y1="130" x2="840" y2="130" stroke="#94a3b8" stroke-width="1" stroke-dasharray="3 3" stroke-opacity="0.5"/>
<text x="70" y="122" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700">+ 1.65 m (Tope Caldera - Altura 700 mm)</text>
<!-- Altura Eje Chimenea (+1.75 m) -->
<line x1="60" y1="60" x2="840" y2="60" stroke="#f59e0b" stroke-width="1.2" stroke-dasharray="4 4"/>
<text x="70" y="52" fill="#f59e0b" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700">+ 1.75 m (Eje Conducto Coaxial Ø60/100)</text>
<!-- Vano Técnico Bracket (+20 a +25 cm) -->
<path d="M 800 410 L 815 410 L 815 470 L 800 470" stroke="#06b6d4" stroke-width="1.5" fill="none"/>
<text x="825" y="445" fill="#06b6d4" font-family="'Plus Jakarta Sans', sans-serif" font-size="11" font-weight="700">Vano 20-25 cm</text>
<text x="825" y="458" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="10">Flexibles + Llaves</text>
<!-- BOILER BODY (400 mm ancho x 700 mm alto en escala: x=300 a x=700, y=130 a y=410) -->
<!-- Scaled: width=400px, height=280px -->
<rect x="300" y="130" width="400" height="280" rx="12" fill="url(#calderaGrad)" stroke="#38bdf8" stroke-width="2.5" />
<!-- Brand and Display -->
<text x="500" y="220" fill="#f8fafc" font-family="'Outfit', sans-serif" font-size="18" font-weight="800" text-anchor="middle" letter-spacing="2">PEISA</text>
<text x="500" y="238" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="11" font-weight="600" text-anchor="middle">PRIMA TEC DS</text>
<!-- Digital Display panel -->
<rect x="440" y="320" width="120" height="40" rx="8" fill="#0b1120" stroke="#1e293b" stroke-width="1.5"/>
<text x="500" y="345" fill="#38bdf8" font-family="monospace" font-size="16" font-weight="700" text-anchor="middle">48 °C | 1.3 bar</text>
<!-- Flue exit (Chimenea coaxial arriba centrado x=500) -->
<rect x="460" y="80" width="80" height="50" rx="4" fill="url(#flueGrad)" stroke="#94a3b8" stroke-width="2"/>
<circle cx="500" cy="80" r="30" fill="#334155" stroke="#f59e0b" stroke-width="2"/>
<circle cx="500" cy="80" r="16" fill="#1e293b" stroke="#f59e0b" stroke-width="2"/>
<text x="500" y="40" fill="#f59e0b" font-family="'Plus Jakarta Sans', sans-serif" font-size="11" font-weight="700" text-anchor="middle">COAXIAL Ø 60/100 mm</text>
<text x="500" y="20" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" text-anchor="middle">Centrado (a 200 mm de cada lado) | Pendiente 1% al exterior</text>
<!-- Boiler Width Dimension Line -->
<line x1="300" y1="105" x2="700" y2="105" stroke="#94a3b8" stroke-width="1.2"/>
<line x1="300" y1="100" x2="300" y2="110" stroke="#94a3b8" stroke-width="1.2"/>
<line x1="700" y1="100" x2="700" y2="110" stroke="#94a3b8" stroke-width="1.2"/>
<text x="500" y="100" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="700" text-anchor="middle">400 mm Ancho Total</text>
<!-- 5 CONNECTION PIPES (Vertical axes in boiler and wall) -->
<!--
Boiler left = 300
P1 (Mandada): 300 + 52 = 352
P2 (ACS): 352 + 65 = 417
P3 (Gas): 417 + 65 = 482
P4 (Agua F): 482 + 60 = 542
P5 (Retorno): 542 + 75 = 617
Right edge: 617 + 83 = 700 (Match perfect!)
-->
<!-- PIPE 1: Mandada Calefacción (Rojo) -->
<g id="pipe1-group">
<line x1="352" y1="410" x2="352" y2="470" stroke="#ef4444" stroke-width="7" stroke-linecap="round"/>
<circle cx="352" cy="410" r="7" fill="#ef4444" stroke="#fff" stroke-width="1.5"/>
<circle cx="352" cy="470" r="9" fill="#1e293b" stroke="#ef4444" stroke-width="3"/>
<text x="352" y="495" fill="#ef4444" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="800" text-anchor="middle">①</text>
<text x="352" y="512" fill="#f8fafc" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">MANDADA</text>
<text x="352" y="525" fill="#ef4444" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">3/4” H</text>
<text x="352" y="540" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">52 mm</text>
</g>
<!-- PIPE 2: Salida ACS (Naranja) -->
<g id="pipe2-group">
<line x1="417" y1="410" x2="417" y2="470" stroke="#f97316" stroke-width="5" stroke-linecap="round"/>
<circle cx="417" cy="410" r="6" fill="#f97316" stroke="#fff" stroke-width="1.5"/>
<circle cx="417" cy="470" r="8" fill="#1e293b" stroke="#f97316" stroke-width="3"/>
<text x="417" y="495" fill="#f97316" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="800" text-anchor="middle">②</text>
<text x="417" y="512" fill="#f8fafc" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">SALIDA ACS</text>
<text x="417" y="525" fill="#f97316" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">1/2” H</text>
<text x="417" y="540" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">65 mm</text>
</g>
<!-- PIPE 3: Entrada Gas (Amarillo) -->
<g id="pipe3-group">
<line x1="482" y1="410" x2="482" y2="470" stroke="#eab308" stroke-width="7" stroke-linecap="round"/>
<circle cx="482" cy="410" r="8" fill="#eab308" stroke="#fff" stroke-width="1.5"/>
<circle cx="482" cy="470" r="10" fill="#1e293b" stroke="#eab308" stroke-width="3"/>
<text x="482" y="495" fill="#eab308" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="800" text-anchor="middle">③</text>
<text x="482" y="512" fill="#f8fafc" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">GAS</text>
<text x="482" y="525" fill="#eab308" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">3/4” H</text>
<text x="482" y="540" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">65 mm</text>
</g>
<!-- PIPE 4: Entrada Agua Fría Red (Azul) -->
<g id="pipe4-group">
<line x1="542" y1="410" x2="542" y2="470" stroke="#0284c7" stroke-width="5" stroke-linecap="round"/>
<circle cx="542" cy="410" r="6" fill="#0284c7" stroke="#fff" stroke-width="1.5"/>
<circle cx="542" cy="470" r="8" fill="#1e293b" stroke="#0284c7" stroke-width="3"/>
<text x="542" y="495" fill="#38bdf8" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="800" text-anchor="middle">④</text>
<text x="542" y="512" fill="#f8fafc" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">AGUA FRÍA</text>
<text x="542" y="525" fill="#38bdf8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">1/2” H</text>
<text x="542" y="540" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">60 mm</text>
</g>
<!-- PIPE 5: Retorno Calefacción (Indigo) -->
<g id="pipe5-group">
<line x1="617" y1="410" x2="617" y2="470" stroke="#6366f1" stroke-width="7" stroke-linecap="round"/>
<circle cx="617" cy="410" r="7" fill="#6366f1" stroke="#fff" stroke-width="1.5"/>
<circle cx="617" cy="470" r="9" fill="#1e293b" stroke="#6366f1" stroke-width="3"/>
<!-- Filter Y symbol on pipe 5 -->
<rect x="608" y="432" width="18" height="14" rx="3" fill="#4338ca" stroke="#818cf8" stroke-width="1.2"/>
<text x="617" y="443" fill="#fff" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" font-weight="700" text-anchor="middle">Y</text>
<text x="617" y="495" fill="#818cf8" font-family="'Plus Jakarta Sans', sans-serif" font-size="12" font-weight="800" text-anchor="middle">⑤</text>
<text x="617" y="512" fill="#f8fafc" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">RETORNO</text>
<text x="617" y="525" fill="#818cf8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">3/4” H</text>
<text x="617" y="540" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">75 mm</text>
</g>
<!-- SAFETY RELIEF DRAIN (Desagüe sobrepresión 3 bar) -->
<g id="drain-group">
<circle cx="670" cy="410" r="4" fill="#64748b" stroke="#94a3b8" stroke-width="1"/>
<path d="M 670 410 L 670 570 L 690 570" stroke="#64748b" stroke-width="2.5" stroke-dasharray="3 3"/>
<rect x="685" y="560" width="30" height="20" rx="4" fill="#334155" stroke="#94a3b8" stroke-width="1.5"/>
<text x="700" y="574" fill="#cbd5e1" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" font-weight="700" text-anchor="middle">DESAGÜE</text>
<text x="730" y="595" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9">Válvula Alivio 3 bar</text>
</g>
<!-- ELECTRIC PLUG (Toma 220V) -->
<g id="electric-group">
<rect x="210" y="440" width="40" height="40" rx="8" fill="#1e293b" stroke="#10b981" stroke-width="2"/>
<circle cx="230" cy="460" r="12" fill="#0f172a"/>
<text x="230" y="465" fill="#10b981" font-family="'Plus Jakarta Sans', sans-serif" font-size="14" font-weight="800" text-anchor="middle">⚡</text>
<text x="230" y="495" fill="#10b981" font-family="'Plus Jakarta Sans', sans-serif" font-size="10" font-weight="700" text-anchor="middle">TOMA 220V</text>
<text x="230" y="508" fill="#94a3b8" font-family="'Plus Jakarta Sans', sans-serif" font-size="9" text-anchor="middle">Con tierra (izq.)</text>
</g>
<!-- Cumulative Dimension Bar (Ruler at bottom) -->
<line x1="300" y1="565" x2="700" y2="565" stroke="#475569" stroke-width="1.5"/>
<circle cx="300" cy="565" r="3" fill="#94a3b8"/>
<circle cx="352" cy="565" r="3" fill="#ef4444"/>
<circle cx="417" cy="565" r="3" fill="#f97316"/>
<circle cx="482" cy="565" r="3" fill="#eab308"/>
<circle cx="542" cy="565" r="3" fill="#0284c7"/>
<circle cx="617" cy="565" r="3" fill="#6366f1"/>
<circle cx="700" cy="565" r="3" fill="#94a3b8"/>
<text x="300" y="582" fill="#94a3b8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">0 cm</text>
<text x="352" y="582" fill="#ef4444" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">5.2 cm</text>
<text x="417" y="582" fill="#f97316" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">11.7 cm</text>
<text x="482" y="582" fill="#eab308" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">18.2 cm</text>
<text x="542" y="582" fill="#38bdf8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">24.2 cm</text>
<text x="617" y="582" fill="#818cf8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">31.7 cm</text>
<text x="700" y="582" fill="#94a3b8" font-family="monospace" font-size="10" font-weight="700" text-anchor="middle">40.0 cm</text>
</svg>
</div>
<!-- Quick Pipes Summary Cards -->
<div class="pipes-summary">
<div class="pipe-badge-card" style="--pipe-color: var(--c-mandada)">
<div class="pipe-num"><span class="pipe-dot"></span> Caño 1 · Calefacción</div>
<div class="pipe-name">Mandada Calefacción</div>
<div class="pipe-thread">Codo 3/4” Hembra</div>
<div class="pipe-dist">Distancia: <strong>52 mm</strong> del borde izq.</div>
</div>
<div class="pipe-badge-card" style="--pipe-color: var(--c-acs)">
<div class="pipe-num"><span class="pipe-dot"></span> Caño 2 · Sanitario</div>
<div class="pipe-name">Salida Agua Caliente</div>
<div class="pipe-thread">Codo 1/2” Hembra</div>
<div class="pipe-dist">Distancia: <strong>65 mm</strong> del anterior</div>
</div>
<div class="pipe-badge-card" style="--pipe-color: var(--c-gas)">
<div class="pipe-num"><span class="pipe-dot"></span> Caño 3 · Combustible</div>
<div class="pipe-name">Entrada de Gas</div>
<div class="pipe-thread">Codo 3/4” Hembra</div>
<div class="pipe-dist">Distancia: <strong>65 mm</strong> del anterior</div>
</div>
<div class="pipe-badge-card" style="--pipe-color: var(--c-fria)">
<div class="pipe-num"><span class="pipe-dot"></span> Caño 4 · Red de Agua</div>
<div class="pipe-name">Entrada Agua Fría</div>
<div class="pipe-thread">Codo 1/2” Hembra</div>
<div class="pipe-dist">Distancia: <strong>60 mm</strong> del anterior</div>
</div>
<div class="pipe-badge-card" style="--pipe-color: var(--c-retorno)">
<div class="pipe-num"><span class="pipe-dot"></span> Caño 5 · Calefacción</div>
<div class="pipe-name">Retorno Calefacción</div>
<div class="pipe-thread">Codo 3/4” Hembra</div>
<div class="pipe-dist">Distancia: <strong>75 mm</strong> del anterior</div>
</div>
</div>
</section>
<!-- Main Content Layout -->
<div class="grid-2">
<!-- Left Column: Specs Table & Detailed Dimensions -->
<div style="display: flex; flex-direction: column; gap: 24px;">
<!-- Table Card -->
<section class="card">
<div class="card-header">
<h2 class="card-title">📋 Tabla de Replanteo en Pared</h2>
<span class="badge badge-primary">5 Conexiones</span>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<th>N°</th>
<th>Circuito</th>
<th>Rosca Pared</th>
<th>Rosca Caldera</th>
<th>Dist. Parcial</th>
<th>Cota Acumulada</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong style="color: var(--c-mandada)">①</strong></td>
<td><strong>Mandada Calefacción</strong><br><small style="color:var(--text-muted)">Salida a radiadores / piso</small></td>
<td><span class="tag-thread">3/4” H</span></td>
<td>3/4” M</td>
<td>52 mm</td>
<td><strong>5,2 cm</strong></td>
</tr>
<tr>
<td><strong style="color: var(--c-acs)">②</strong></td>
<td><strong>Salida ACS</strong><br><small style="color:var(--text-muted)">Agua Caliente Sanitaria</small></td>
<td><span class="tag-thread">1/2” H</span></td>
<td>1/2” M</td>
<td>65 mm</td>
<td><strong>11,7 cm</strong></td>
</tr>
<tr>
<td><strong style="color: var(--c-gas)">③</strong></td>
<td><strong>Entrada de Gas</strong><br><small style="color:var(--text-muted)">Gas Natural / Licuado</small></td>
<td><span class="tag-thread">3/4” H</span></td>
<td>3/4” M</td>
<td>65 mm</td>
<td><strong>18,2 cm</strong></td>
</tr>
<tr>
<td><strong style="color: var(--c-fria)">④</strong></td>
<td><strong>Entrada Agua Fría</strong><br><small style="color:var(--text-muted)">Alimentación red y llenado</small></td>
<td><span class="tag-thread">1/2” H</span></td>
<td>1/2” M</td>
<td>60 mm</td>
<td><strong>24,2 cm</strong></td>
</tr>
<tr>
<td><strong style="color: var(--c-retorno)">⑤</strong></td>
<td><strong>Retorno Calefacción</strong><br><small style="color:var(--text-muted)">Retorno del circuito cerrado</small></td>
<td><span class="tag-thread">3/4” H</span></td>
<td>3/4” M</td>
<td>75 mm</td>
<td><strong>31,7 cm</strong></td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info">
<span class="alert-icon">💡</span>
<div>
<strong>¿Cómo dejar los codos en la pared?</strong><br>
Todos los codos con rosca hembra (con inserto metálico de latón para termofusión o epoxi de gas) deben quedar <strong>apuntando hacia el frente, nivelados y al ras del cerámico/revoque terminado</strong>.
</div>
</div>
</section>
<!-- Profundidad y Flexibles Card -->
<section class="card">
<div class="card-header">
<h2 class="card-title">🔄 Profundidad y Flexibles Extensibles</h2>
<span class="badge badge-success">Solución Práctica</span>
</div>
<p style="font-size: 0.95rem; color: var(--text-muted); margin-bottom: 16px;">
El plano oficial de Peisa marca que las tomas de agua están a <strong>111 mm</strong> y la de gas a <strong>121 mm</strong> del lomo (pared trasera). Al usar flexibles extensibles de acero inoxidable:
</p>
<div style="background: var(--surface-card); padding: 18px; border-radius: var(--radius-md); border-left: 4px solid var(--primary); margin-bottom: 16px;">
<h4 style="font-size: 1rem; margin-bottom: 6px; color: var(--text);">¿Por qué los flexibles resuelven la profundidad?</h4>
<p style="font-size: 0.88rem; color: var(--text-muted);">
Las bocas quedan embutidas en la pared a <strong>75 cm de altura</strong> y la caldera colgada a <strong>95-100 cm</strong>. Ese desnivel vertical de 20-25 cm permite que los flexibles suban formando una suave curva hacia adelante, salvando los 11,1 cm y 12,1 cm sin forzar las roscas ni las virolas de la caldera.
</p>
</div>
<div class="alert alert-warning">
<span class="alert-icon">⚠️</span>
<div>
<strong>Regla de oro de estanqueidad:</strong><br>
Las tuercas locas de los flexibles tienen <strong>asiento plano</strong>. Se colocan <strong>únicamente con su junta plana de goma o elastómero</strong> (y junta aprobada para gas). <u>Nunca enrollar cinta de teflón ni sella-roscas en las roscas de tuerca loca</u>, ya que el teflón deforma la junta e impide que asiente plano.
</div>
</div>
</section>
<!-- Guía de obra paso a paso -->
<section class="card">
<div class="card-header">
<h2 class="card-title">🔨 Secuencia de Instalación en Obra</h2>
<span class="badge badge-primary">Paso a Paso</span>
</div>
<div class="timeline">
<div class="timeline-step">
<div class="timeline-dot">1</div>
<div class="step-title">Replanteo y Canaletas en Pared</div>
<div class="step-desc">
Trazar la línea horizontal a 75 cm sobre el piso terminado (NPT). Picar y colocar los 5 codos rosca hembra con las distancias exactas (52 - 65 - 65 - 60 - 75 mm). Dejar prevista la boca de desagüe abierto a un lateral y la caja para el enchufe 220V con tierra.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">2</div>
<div class="step-title">Terminación de Pared y Revestimiento</div>
<div class="step-desc">
Revocar y colocar cerámicos o porcelanatos. Asegurarse de que los codos no queden hundidos detrás del azulejo para que las llaves de paso rosquen con soltura.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">3</div>
<div class="step-title">Colgado de la Caldera</div>
<div class="step-desc">
Pegar la plantilla de cartón provista por Peisa en la pared, asegurando que la base quede a 95-100 cm del suelo y nivelada. Perforar con broca, colocar los tarugos y escarpias metálicas, y colgar la caldera.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">4</div>
<div class="step-title">Armado de Válvulas y Filtro en "Y"</div>
<div class="step-desc">
Enroscar las llaves esféricas con media unión en los codos de pared. En el caño de Retorno de calefacción (⑤), colocar el <strong>Filtro en "Y"</strong> con el tapón hacia abajo y la flecha apuntando hacia la caldera.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">5</div>
<div class="step-title">Conexión de Flexibles Extensibles</div>
<div class="step-desc">
Conectar los 5 flexibles entre las llaves de corte y las boquillas de la caldera con sus respectivas juntas planas. Conectar el desagüe flexible de la válvula de alivio de 3 bar hacia la boca de desagüe.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">6</div>
<div class="step-title">Salida de Humos Coaxial Ø60/100</div>
<div class="step-desc">
Instalar el conducto coaxial con 1% de pendiente descendente hacia el exterior. Si el tramo horizontal total es menor a 1 metro, colocar el restrictor de humos en la boca del ventilador.
</div>
</div>
<div class="timeline-step">
<div class="timeline-dot">7</div>
<div class="step-title">Presurización, Purga y Puesta en Marcha</div>
<div class="step-desc">
Abrir la llave de paso de agua fría, abrir la perilla de llenado de la caldera hasta alcanzar <strong>1.2 a 1.5 bar</strong> en el manómetro. Purgar el aire de radiadores o colectores de piso radiante y verificar la estanqueidad.
</div>
</div>
</div>
</section>
</div>
<!-- Right Column: Interactive Checklist & Buy List -->
<div style="display: flex; flex-direction: column; gap: 24px;">
<!-- Checklist de Materiales Card -->
<section class="card">
<div class="card-header">
<h2 class="card-title">🛒 Lista de Compras</h2>
<span class="badge badge-success" id="checklistProgress">0 / 8 listos</span>
</div>
<p style="font-size: 0.85rem; color: var(--text-muted); margin-bottom: 16px;">
Podés ir marcando los elementos que ya compraste. El estado se guarda automáticamente en tu navegador.
</p>
<div class="checklist-group" id="checklistGroup">
<div class="checklist-item" onclick="toggleItem(this, 'mat1')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">2x Llaves esféricas de 3/4” con media unión</div>
<div class="item-spec">Para corte de Mandada y Retorno de calefacción</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat2')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">1x Llave de paso para gas de 3/4” aprobada</div>
<div class="item-spec">Con matrícula ENARGAS para gas natural o GL</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat3')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">1x Llave esférica de 1/2” con media unión</div>
<div class="item-spec">Para corte de Entrada de Agua Fría sanitaria</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat4')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">1x Filtro en “Y” de bronce de 3/4”</div>
<div class="item-spec">Con malla de acero inoxidable (retorno de calefacción)</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat5')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">2x Flexibles de acero inoxidable 3/4” (20-40 cm)</div>
<div class="item-spec">Extensibles para calefacción con juntas planas</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat6')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">2x Flexibles de acero inoxidable 1/2” (20-40 cm)</div>
<div class="item-spec">Extensibles para agua sanitaria (fría y ACS)</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat7')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">1x Flexible de acero inoxidable de Gas 3/4”</div>
<div class="item-spec">Aprobado ENARGAS con funda amarilla termocontraíble</div>
</div>
</div>
<div class="checklist-item" onclick="toggleItem(this, 'mat8')">
<div class="custom-checkbox">✓</div>
<div class="item-content">
<div class="item-title">1x Kit de ventilación coaxial Ø 60/100 mm</div>
<div class="item-spec">Codo 90° + tubo concéntrico con terminal antiviento</div>
</div>
</div>
</div>
</section>
<!-- Distancias de Seguridad y Ventilación Card -->
<section class="card">
<div class="card-header">
<h2 class="card-title">📏 Espacios Libres Reglamentarios</h2>
<span class="badge badge-warning">Norma Peisa</span>
</div>
<div style="display: flex; flex-direction: column; gap: 14px; font-size: 0.9rem;">
<div style="display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border);">
<span style="color: var(--text-muted);">Espacio superior libre (al techo)</span>
<strong style="color: var(--primary);">Mínimo 400 mm</strong>
</div>
<div style="display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border);">
<span style="color: var(--text-muted);">Espacios laterales (costados)</span>
<strong>Mínimo 50 mm (rec. 100 mm)</strong>
</div>
<div style="display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border);">
<span style="color: var(--text-muted);">Espacio libre inferior (a mesada)</span>
<strong>Mínimo 350 mm</strong>
</div>
<div style="display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border);">
<span style="color: var(--text-muted);">Distancia recomendada al suelo</span>
<strong style="color: var(--c-electric);">900 a 1100 mm</strong>
</div>
<div style="display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border);">
<span style="color: var(--text-muted);">Eje de chimenea desde pared</span>
<strong style="color: var(--c-gas);">198 mm exactos</strong>
</div>
</div>
<div class="alert alert-danger" style="margin-top: 18px; margin-bottom: 0;">
<span class="alert-icon">🚫</span>
<div>
<strong>Gas Licuado (GL / Garrafa / Chancha):</strong><br>
Por normativa reglamentaria de ENARGAS, las calderas alimentadas a gas licuado <u>jamás pueden instalarse en subsuelos</u>.
</div>
</div>
</section>
<!-- Datos Técnicos Eléctricos e Hidráulicos -->
<section class="card">
<div class="card-header">
<h2 class="card-title">⚡ Parámetros de Operación</h2>
<span class="badge badge-primary">Peisa Prima Tec</span>
</div>
<div style="font-size: 0.88rem; display: flex; flex-direction: column; gap: 10px;">
<p>• <strong>Presión de trabajo circuito calefacción:</strong> 1.0 a 1.5 bar (máx. 3 bar).</p>
<p>• <strong>Presión agua sanitaria de red:</strong> 1.0 a 4.5 bar (si la red supera 4.5 bar colocar regulador de presión).</p>
<p>• <strong>Alimentación eléctrica:</strong> 220 V CA - 50 Hz | Consumo eléctrico: 150 W.</p>
<p>• <strong>Vaso de expansión incorporado:</strong> 8 litros (presión de precarga 1 bar).</p>
<p>• <strong>Bomba circuladora:</strong> 3 velocidades con purgador automático de aire incorporado.</p>
</div>
</section>
</div>
</div>
</main>
<script>
// Theme toggle
function toggleTheme() {
const body = document.body;
const current = body.getAttribute('data-theme');
const next = current === 'dark' ? 'light' : 'dark';
body.setAttribute('data-theme', next);
localStorage.setItem('caldera_theme', next);
}
// Load saved theme
(function() {
const saved = localStorage.getItem('caldera_theme');
if (saved) {
document.body.setAttribute('data-theme', saved);
}
})();
// Checklist persistence
function toggleItem(elem, id) {
elem.classList.toggle('checked');
const isChecked = elem.classList.contains('checked');
localStorage.setItem('checklist_' + id, isChecked ? '1' : '0');
updateChecklistProgress();
}
function updateChecklistProgress() {
const items = document.querySelectorAll('.checklist-item');
let checkedCount = 0;
items.forEach(item => {
if (item.classList.contains('checked')) checkedCount++;
});
const badge = document.getElementById('checklistProgress');
badge.textContent = `${checkedCount} / ${items.length} listos`;
if (checkedCount === items.length) {
badge.className = 'badge badge-success';
} else {
badge.className = 'badge badge-primary';
}
}
// Restore checklist on load
(function() {
const items = document.querySelectorAll('.checklist-item');
items.forEach((item, index) => {
const id = 'mat' + (index + 1);
if (localStorage.getItem('checklist_' + id) === '1') {
item.classList.add('checked');
}
});
updateChecklistProgress();
})();
</script>
</body>
</html>