{"id":15089,"date":"2026-04-10T17:15:18","date_gmt":"2026-04-10T15:15:18","guid":{"rendered":"https:\/\/magon.es\/sandwich-panel-thermal-insulation-calculator\/"},"modified":"2026-04-14T10:40:45","modified_gmt":"2026-04-14T08:40:45","slug":"calculateur-disolation-thermique-pour-panneaux-sandwich","status":"publish","type":"page","link":"https:\/\/magon.es\/fr\/calculateur-disolation-thermique-pour-panneaux-sandwich\/","title":{"rendered":"Calculateur d&rsquo;isolation thermique pour panneaux sandwich"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"15089\" class=\"elementor elementor-15089 elementor-14938\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5cdcbb5 e-con-full e-flex e-con e-parent\" data-id=\"5cdcbb5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4d3c44f elementor-widget elementor-widget-html\" data-id=\"4d3c44f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Calculateur d'Isolation Thermique pour Panneaux Sandwich | Masterpanel Mag\u00f3n<\/title>\r\n<meta name=\"description\" content=\"Calculez gratuitement l'\u00e9paisseur de panneau sandwich n\u00e9cessaire pour votre projet. R\u00e9sultats bas\u00e9s sur des donn\u00e9es certifi\u00e9es EN14509. B\u00e2timents industriels, chambres froides et r\u00e9glementation thermique. Fabriqu\u00e9 par Masterpanel Mag\u00f3n.\">\r\n<meta name=\"keywords\" content=\"calculateur isolation thermique, \u00e9paisseur panneau sandwich, coefficient U panneau, EN14509, isolation chambre froide, b\u00e2timent industriel panneau sandwich, masterpanel\">\r\n\r\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self' https:\/\/magon.es; script-src 'self' 'unsafe-inline' https:\/\/cdnjs.cloudflare.com https:\/\/www.google.com https:\/\/www.gstatic.com https:\/\/fonts.googleapis.com; style-src 'self' 'unsafe-inline' https:\/\/fonts.googleapis.com; font-src 'self' https:\/\/fonts.gstatic.com; img-src 'self' https:\/\/magon.es data:; connect-src 'self' https:\/\/magon.es https:\/\/apidatos.ree.es; frame-src 'none'; object-src 'none';\">\r\n<meta name=\"robots\" content=\"index, follow\">\r\n<meta name=\"author\" content=\"Master Panel, S.L. \u2014 Mag\u00f3n\">\r\n<link rel=\"canonical\" href=\"https:\/\/www.magon.es\/fr\/calculateur-isolation-thermique-panneau-sandwich\/\">\r\n\r\n<meta property=\"og:title\" content=\"Calculadora de Aislamiento T\u00e9rmico para Panel S\u00e1ndwich | Masterpanel\">\r\n<meta property=\"og:description\" content=\"Calculez l'\u00e9paisseur de panneau sandwich n\u00e9cessaire pour votre projet avec des donn\u00e9es certifi\u00e9es EN14509.\">\r\n<meta property=\"og:type\" content=\"website\">\r\n<meta property=\"og:url\" content=\"https:\/\/www.magon.es\/fr\/calculateur-isolation-thermique-panneau-sandwich\/\">\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Barlow+Condensed:wght@700;800&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n\/* \u2500\u2500 RESET & BASE \u2500\u2500 *\/\r\n*,*::before,*::after { box-sizing: border-box; }\r\n\r\n:root {\r\n  --or:    #e8a000;\r\n  --or2:   #f5b800;\r\n  --or-lt: #fff8e6;\r\n  --dk:    #1a1a1a;\r\n  --dk2:   #2a2a2a;\r\n  --gray:  #4a4a4a;\r\n  --mid:   #888;\r\n  --light: #f5f5f3;\r\n  --lighter:#fafaf8;\r\n  --white: #ffffff;\r\n  --bdr:   #e0ddd8;\r\n  --green: #2d6a27;\r\n  --gbg:   #edf5ec;\r\n  --gbrd:  #b8d9b5;\r\n  --red:   #a0341e;\r\n  --rbg:   #faecea;\r\n  --rbrd:  #e8b5aa;\r\n  --info:  #1a5fa0;\r\n  --ibg:   #e8f0fb;\r\n  --ibrd:  #b0cdf0;\r\n  --r:  4px;\r\n  --rl: 8px;\r\n  --max: 1100px;\r\n  font-family: 'Barlow', sans-serif;\r\n}\r\n\r\nhtml { scroll-behavior: smooth; }\r\nbody { margin: 0; background: var(--white); color: var(--dk); font-size: 14px; line-height: 1.5; -webkit-text-size-adjust: 100%; }\r\n.mp-land { width: 100%; }\r\n.mp-land-inner { max-width: var(--max); margin: 0 auto; padding: 0 1.5rem; }\r\n\r\n\/* \u2500\u2500 HERO \u2500\u2500 *\/\r\n.mp-hero {\r\n  background: linear-gradient(135deg, #ffffff 0%, #fdfcf8 40%, #fffbee 75%, #fff5cc 100%);\r\n  border-bottom: 3px solid var(--or);\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.mp-hero::before {\r\n  content: '';\r\n  position: absolute; inset: 0;\r\n  background-image: repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(232,160,0,.06) 40px,rgba(232,160,0,.06) 41px);\r\n  pointer-events: none;\r\n}\r\n.mp-hero::after {\r\n  content: '';\r\n  position: absolute;\r\n  bottom: -40px; left: 50%; transform: translateX(-50%);\r\n  width: 60%; height: 100px;\r\n  background: radial-gradient(ellipse at center, rgba(232,160,0,.18) 0%, transparent 70%);\r\n  pointer-events: none;\r\n}\r\n\r\n.mp-hero-inner {\r\n  max-width: var(--max);\r\n  margin: 0 auto;\r\n  padding: 0 1.5rem;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: flex-start;\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n.mp-hero-content { padding: 34px 0 30px; max-width: 680px; width: 100%; }\r\n\r\n.mp-hero-eyebrow {\r\n  display: inline-flex; align-items: center; gap: 7px;\r\n  font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;\r\n  color: #7a4800; margin-bottom: 16px;\r\n  background: rgba(232,160,0,.13); border: 1px solid rgba(232,160,0,.35);\r\n  padding: 5px 12px; border-radius: 3px;\r\n}\r\n.mp-hero-eyebrow::before { content: ''; width: 5px; height: 5px; background: var(--or); border-radius: 50%; }\r\n\r\n.mp-hero h1 {\r\n  font-family: 'Barlow Condensed', sans-serif;\r\n  \/* Tama\u00f1o calculado para que Barlow Condensed quede en 2 l\u00edneas exactas\r\n     con el <br> expl\u00edcito en cualquier ancho >= 500px *\/\r\n  font-size: clamp(22px, 2.6vw, 38px);\r\n  font-weight: 800; color: var(--dk);\r\n  line-height: 1.1; letter-spacing: -.01em;\r\n  margin: 0 0 14px;\r\n  \/* Sin max-width restrictivo para que no comprima las l\u00edneas *\/\r\n  max-width: none;\r\n  \/* Evitar que el navegador rompa donde no queremos *\/\r\n  overflow-wrap: normal;\r\n  word-break: keep-all;\r\n}\r\n.mp-hero h1 em { color: var(--or); font-style: normal; }\r\n\r\n.mp-hero-desc { font-size: 14px; color: var(--gray); line-height: 1.75; margin-bottom: 28px; max-width: 520px; }\r\n\r\n.mp-hero-actions { display: flex; align-items: center; flex-wrap: wrap; }\r\n\r\n.mp-cta-hero {\r\n  display: inline-flex; align-items: center; gap: 8px;\r\n  background: var(--or); color: var(--dk);\r\n  font-weight: 800; font-size: 13px;\r\n  padding: 14px 28px; border-radius: var(--r);\r\n  text-decoration: none; letter-spacing: .05em; text-transform: uppercase;\r\n  transition: background .15s, transform .12s; border: none; cursor: pointer;\r\n  box-shadow: 0 4px 20px rgba(232,160,0,.3);\r\n}\r\n.mp-cta-hero:hover { background: var(--or2); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(232,160,0,.4); }\r\n\r\n.mp-hero-deco { display: none !important; }\r\n\r\n\/* \u2500\u2500 BARRA FABRICANTE \u2500\u2500 *\/\r\n.mp-brand-strip { background: var(--dk); border-bottom: 1px solid #333; }\r\n.mp-brand-strip-inner {\r\n  max-width: var(--max); margin: 0 auto; padding: 14px 1.5rem;\r\n  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\r\n}\r\n.mp-brand-strip-txt { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .1em; flex-shrink: 0; }\r\n.mp-brand-strip-sep { width: 1px; height: 18px; background: rgba(255,255,255,.12); flex-shrink: 0; }\r\n.mp-brand-strip img { height: 22px; width: auto; opacity: .85; }\r\n.mp-brand-strip-norms { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }\r\n.mp-norm-chip {\r\n  font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;\r\n  color: rgba(255,255,255,.4); background: rgba(255,255,255,.06);\r\n  border: 1px solid rgba(255,255,255,.1); padding: 3px 9px; border-radius: 3px;\r\n}\r\n\r\n\/* \u2500\u2500 CALCULADORA \u2500\u2500 *\/\r\n.mp-calc-section { background: var(--light); padding: 0 0 56px; border-bottom: 1px solid var(--bdr); }\r\n.mp-calc-anchor { display: block; position: relative; top: -80px; visibility: hidden; }\r\n.mp-calc-wrap { max-width: 980px; margin: 0 auto; padding: 0 1.5rem; }\r\n.mp-calc-label { text-align: center; padding: 36px 0 20px; }\r\n.mp-calc-label-tag {\r\n  display: inline-block; background: var(--or); color: var(--dk);\r\n  font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;\r\n  padding: 4px 12px; border-radius: 3px; margin-bottom: 10px;\r\n}\r\n.mp-calc-label h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(20px, 3vw, 30px); font-weight: 800; color: var(--dk); letter-spacing: -.01em; margin: 0 0 6px; }\r\n.mp-calc-label p { font-size: 14px; color: var(--mid); }\r\n\r\n.slbl {\r\n  font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;\r\n  color: var(--or); margin-bottom: 10px; display: flex; align-items: center; gap: 8px;\r\n}\r\n.slbl::after { content: ''; flex: 1; height: 1px; background: var(--bdr); }\r\n\r\n.card { background: var(--white); border-radius: var(--rl); border: 1px solid var(--bdr); padding: 1.4rem; margin-bottom: .75rem; }\r\n.card-dark { background: var(--dk2); border-radius: var(--rl); border: 1px solid #333; padding: 1.4rem; margin-bottom: .75rem; }\r\n\r\n\/* \u2500\u2500 GRIDS BOTONES \u2500\u2500 *\/\r\n.panel-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }\r\n.pbtn {\r\n  padding: 14px 6px 12px; border: 2px solid var(--bdr); border-radius: var(--r);\r\n  background: var(--lighter); cursor: pointer; text-align: center; transition: all .15s;\r\n  font-family: inherit; position: relative; min-width: 0;\r\n}\r\n.pbtn:hover { border-color: var(--or); background: var(--or-lt); }\r\n.pbtn.active { border-color: var(--or); background: #fff3cc; }\r\n.pbtn .pi { font-size: 18px; display: block; margin-bottom: 4px; }\r\n.pbtn .pn { font-size: 11px; font-weight: 700; color: var(--dk); display: block; line-height: 1.3; }\r\n.pbtn .ps { font-size: 10px; color: var(--mid); margin-top: 2px; display: block; }\r\n.pbtn .ptag {\r\n  position: absolute; top: 4px; right: 4px; font-size: 9px; font-weight: 700;\r\n  padding: 1px 4px; border-radius: 3px; background: var(--ibg); color: var(--info); border: .5px solid var(--ibrd);\r\n}\r\n.pbtn.active .pn { color: #6e4000; }\r\n\r\n.tipo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }\r\n.tbtn {\r\n  padding: 14px 8px; border: 2px solid var(--bdr); border-radius: var(--r);\r\n  background: var(--lighter); cursor: pointer; text-align: center; transition: all .15s; font-family: inherit;\r\n}\r\n.tbtn:hover { border-color: var(--or); background: var(--or-lt); }\r\n.tbtn.active { border-color: var(--or); background: #fff3cc; }\r\n.tbtn .ti { font-size: 20px; display: block; margin-bottom: 5px; }\r\n.tbtn .tn { font-size: 13px; font-weight: 700; color: var(--dk); display: block; }\r\n.tbtn .ts { font-size: 11px; color: var(--mid); margin-top: 2px; display: block; }\r\n.tbtn.active .tn { color: #6e4000; }\r\n.tbtn.active .ts { color: #a06000; }\r\n.tbtn.disabled { opacity: .38; cursor: not-allowed; }\r\n\r\n.clim-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 10px; }\r\n.climbtn { padding: 10px 8px; border: 1.5px solid var(--bdr); border-radius: var(--r); background: var(--lighter); cursor: pointer; text-align: center; font-family: inherit; transition: all .15s; }\r\n.climbtn:hover { border-color: var(--or); background: var(--or-lt); }\r\n.climbtn.active { border-color: var(--or); background: #fff3cc; }\r\n.climbtn .cn { font-size: 12px; font-weight: 700; color: var(--dk); display: block; }\r\n.climbtn .cs { font-size: 10px; color: var(--mid); margin-top: 2px; display: block; }\r\n.climbtn.active .cn { color: #6e4000; }\r\n\r\n.cam-btns { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }\r\n.cbtn { padding: 12px 8px; border: 1.5px solid var(--bdr); border-radius: var(--r); background: var(--lighter); cursor: pointer; text-align: center; font-family: inherit; transition: all .15s; }\r\n.cbtn:hover { border-color: var(--or); background: var(--or-lt); }\r\n.cbtn.active { border-color: var(--or); background: #fff3cc; }\r\n.cbtn .cn { font-size: 12px; font-weight: 700; color: var(--dk); display: block; }\r\n.cbtn .cr { font-size: 10px; color: var(--mid); margin-top: 2px; display: block; }\r\n.cbtn.active .cn { color: #6e4000; }\r\n\r\n.row { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 12px; }\r\n.row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n.field { display: flex; flex-direction: column; gap: 5px; }\r\n.field label { font-size: 11px; font-weight: 700; color: var(--gray); text-transform: uppercase; letter-spacing: .05em; }\r\n.field .hint { font-size: 10px; color: var(--mid); }\r\ninput[type=number],input[type=text],input[type=email],input[type=tel],select {\r\n  height: 40px; padding: 0 12px; font-size: 14px; font-family: inherit; font-weight: 600;\r\n  border: 1.5px solid var(--bdr); border-radius: var(--r); background: var(--lighter);\r\n  color: var(--dk); transition: border-color .15s, box-shadow .15s; width: 100%;\r\n  -webkit-appearance: none; appearance: none;\r\n}\r\nselect {\r\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\r\n  background-repeat: no-repeat;\r\n  background-position: right 12px center;\r\n  padding-right: 36px;\r\n}\r\ninput:focus,select:focus { outline: none; border-color: var(--or); box-shadow: 0 0 0 3px rgba(232,160,0,.12); background: #fff; }\r\ninput.error { border-color: var(--red)!important; box-shadow: 0 0 0 3px rgba(160,52,30,.10)!important; }\r\n.field-error { font-size: 11px; color: var(--red); margin-top: 3px; display: none; }\r\n.field-error.show { display: block; }\r\n.hidden { display: none!important; }\r\n.elem-note { font-size: 11px; color: var(--info); font-weight: 600; margin-top: 4px; }\r\n\r\n.infobox {\r\n  background: var(--ibg); border: 1px solid var(--ibrd); border-radius: var(--r);\r\n  padding: 10px 14px; font-size: 12px; color: var(--info); margin-top: 8px; font-weight: 600;\r\n}\r\n\r\n\/* \u2500\u2500 PANEL CHIP \u2500\u2500 *\/\r\n.panel-chip {\r\n  background: var(--dk2); border-radius: var(--rl); border: 1px solid #333;\r\n  padding: 1.1rem 1.4rem; display: flex; align-items: center; justify-content: space-between;\r\n  gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem;\r\n}\r\n.pc-tag { font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--or); margin-bottom: 3px; }\r\n.pc-name { font-size: 18px; font-weight: 700; color: #fff; font-family: 'Barlow Condensed', sans-serif; }\r\n.pc-desc { font-size: 12px; color: #d0d0d0; margin-top: 2px; }\r\n.pc-esps { font-size: 11px; color: #c0c0c0; margin-top: 5px; }\r\n.pc-esps span { display: inline-block; background: #444; padding: 2px 7px; border-radius: 3px; margin: 2px 2px 0 0; font-weight: 600; color: #ffffff; }\r\n.pc-lambda { background: var(--or); border-radius: var(--r); padding: 10px 18px; text-align: center; min-width: 120px; flex-shrink: 0; }\r\n.pc-lambda .lv { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 800; color: var(--dk); display: block; }\r\n.pc-lambda .ll { font-size: 10px; font-weight: 700; color: rgba(0,0,0,.5); text-transform: uppercase; letter-spacing: .05em; }\r\n\r\n\/* \u2500\u2500 RESULTADO \u2500\u2500 *\/\r\n.res-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 1.1rem; }\r\n.metric { background: #333; border-radius: var(--r); padding: 18px 12px; text-align: center; }\r\n.metric .ml { font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #bbbbbb; margin-bottom: 7px; }\r\n.metric .mv { font-family: 'Barlow Condensed', sans-serif; font-size: 34px; font-weight: 700; color: #fff; line-height: 1; }\r\n.metric .mu { font-size: 11px; color: #aaaaaa; margin-top: 4px; }\r\n.metric.hero { background: var(--or); }\r\n.metric.hero .ml { color: rgba(0,0,0,.45); }\r\n.metric.hero .mv { color: var(--dk); }\r\n.metric.hero .mu { color: rgba(0,0,0,.4); }\r\n\r\n.bar-wrap { margin-bottom: 1.1rem; }\r\n.bar-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }\r\n.bar-hd .bl { font-size: 11px; color: #bbbbbb; }\r\n.bar-hd .bv { font-size: 11px; font-weight: 700; color: #fff; }\r\n.bar-track { height: 5px; background: #333; border-radius: 3px; overflow: hidden; }\r\n.bar-fill { height: 100%; background: var(--or); border-radius: 3px; transition: width .5s cubic-bezier(.4,0,.2,1); }\r\n\r\n.alert { border-radius: var(--r); padding: 13px 15px; font-size: 13px; line-height: 1.55; }\r\n.at { font-weight: 700; font-size: 13px; margin-bottom: 3px; }\r\n.a-ok { background: var(--gbg); border: 1px solid var(--gbrd); }\r\n.a-ok .at { color: var(--green); }\r\n.a-ok .ab { color: #2f5f2a; }\r\n.a-warn { background: var(--rbg); border: 1px solid var(--rbrd); }\r\n.a-warn .at { color: var(--red); }\r\n.a-warn .ab { color: #802a16; }\r\n\r\n.comp-table-wrap { margin-top: 1rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }\r\n.comp-table { width: 100%; border-collapse: collapse; font-size: 12px; min-width: 340px; }\r\n.comp-table th { background: #333; color: #ffffff; padding: 7px 10px; text-align: center; font-weight: 700; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }\r\n.comp-table th:first-child { text-align: left; }\r\n.comp-table td { padding: 7px 10px; border-bottom: .5px solid #333; color: #e0e0e0; text-align: center; }\r\n.comp-table td:first-child { text-align: left; font-weight: 600; color: #ffffff; }\r\n.comp-table tr.hl td { background: rgba(232,160,0,.12); color: #f5b800; font-weight: 700; }\r\n.comp-table tr.hl td:first-child { color: var(--or); }\r\n\r\n.frow { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #333; font-size: 11px; color: #bbbbbb; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }\r\n.frow code { font-family: 'Courier New', monospace; font-size: 11px; background: #333; color: #f0b828; padding: 2px 6px; border-radius: 3px; }\r\n\r\n\/* \u2500\u2500 AHORRO \u2500\u2500 *\/\r\n.ahorro-card { background: var(--dk2); border-radius: var(--rl); border: 1px solid #333; padding: 1.2rem 1.4rem; margin-bottom: .75rem; }\r\n.ahorro-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: .8rem; }\r\n.ahorro-metric { background: #333; border-radius: var(--r); padding: 14px 10px; text-align: center; }\r\n.ahorro-metric .aml { font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #bbbbbb; margin-bottom: 5px; }\r\n.ahorro-metric .amv { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 700; color: var(--or); line-height: 1; }\r\n.ahorro-metric .amu { font-size: 11px; color: #aaaaaa; margin-top: 3px; }\r\n.ahorro-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }\r\n.ahorro-note { font-size: 10px; color: #aaaaaa; margin-top: 8px; line-height: 1.5; }\r\n\r\n.ahorro-card .field label,\r\n.card-dark .field label { color: #cccccc !important; }\r\n.ahorro-card .field .hint,\r\n.card-dark .field .hint { color: #aaaaaa !important; }\r\n\r\n.energia-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 8px; }\r\n.ebtn { padding: 10px 6px; border: 1.5px solid var(--bdr); border-radius: var(--r); background: var(--lighter); cursor: pointer; text-align: center; font-family: inherit; transition: all .15s; }\r\n.ebtn:hover { border-color: var(--or); background: var(--or-lt); }\r\n.ebtn.active { border-color: var(--or); background: #fff3cc; }\r\n.ebtn .en { font-size: 12px; font-weight: 700; color: var(--dk); display: block; }\r\n.ebtn .ep { font-size: 11px; color: var(--mid); margin-top: 2px; display: block; font-family: 'Courier New', monospace; }\r\n.ebtn .es { font-size: 9px; color: var(--mid); margin-top: 1px; display: block; }\r\n.ebtn.active .en { color: #6e4000; }\r\n.ebtn.active .ep { color: #a06000; }\r\n.precio-status { font-size: 10px; color: #bbbbbb; display: flex; align-items: center; gap: 5px; margin-top: 4px; }\r\n.dot-live { width: 6px; height: 6px; border-radius: 50%; background: var(--green); display: inline-block; animation: blink 1.8s infinite; }\r\n.dot-fijo { width: 6px; height: 6px; border-radius: 50%; background: var(--or); display: inline-block; }\r\n@keyframes blink { 0%,100%{opacity:1}50%{opacity:.25} }\r\n\r\n.frigo-note { margin-bottom: .75rem; background: var(--ibg); border: 1px solid var(--ibrd); border-radius: var(--rl); padding: 1rem 1.2rem; }\r\n.frigo-note .fn-title { font-size: 11px; font-weight: 700; color: var(--info); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }\r\n.frigo-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }\r\n.frigo-table { width: 100%; border-collapse: collapse; font-size: 11px; min-width: 420px; }\r\n.frigo-table th { background: var(--info); color: #fff; padding: 5px 8px; text-align: left; font-weight: 600; font-size: 10px; }\r\n.frigo-table td { padding: 5px 8px; border-bottom: .5px solid var(--ibrd); color: var(--dk); }\r\n.frigo-table tr:last-child td { border-bottom: none; }\r\n.frigo-table tr:nth-child(even) td { background: rgba(26,95,160,.04); }\r\n\r\n.compat-warn { background: #fff8e0; border: 1px solid #f0d070; border-radius: var(--r); padding: 10px 14px; font-size: 12px; color: #6e4000; margin-bottom: .75rem; display: flex; align-items: flex-start; gap: 8px; }\r\n.compat-warn .cw-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }\r\n\r\n.reset-btn { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #777; font-family: inherit; font-size: 12px; font-weight: 600; padding: 7px 12px; border-radius: var(--r); border: 1px solid var(--bdr); cursor: pointer; transition: all .15s; margin-bottom: .75rem; }\r\n.reset-btn:hover { background: var(--rbg); color: var(--red); border-color: var(--rbrd); }\r\n\r\n.pdf-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--dk); color: var(--white); font-family: inherit; font-size: 13px; font-weight: 700; padding: 14px 20px; border-radius: var(--r); border: none; cursor: pointer; letter-spacing: .04em; text-transform: uppercase; transition: all .15s; margin-top: 1rem; width: 100%; justify-content: center; min-height: 48px; }\r\n.pdf-btn:hover { background: var(--or); color: var(--dk); }\r\n\r\n.cta { background: var(--or); border-radius: var(--rl); padding: 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1.4rem; }\r\n.cta p { font-size: 12px; color: rgba(0,0,0,.52); margin-top: 3px; margin-bottom: 0; }\r\n.cta strong { font-size: 15px; font-weight: 700; color: var(--dk); display: block; }\r\n.cta-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--dk); color: var(--white); font-family: inherit; font-size: 12px; font-weight: 700; padding: 12px 20px; border-radius: var(--r); border: 2px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap; letter-spacing: .04em; text-transform: uppercase; transition: background .15s, color .15s, border-color .15s; }\r\n.cta-btn:hover { background: var(--white); color: var(--or); border-color: var(--white); }\r\n\r\n.fnote { text-align: center; margin-top: 2rem; font-size: 11px; color: var(--mid); line-height: 1.65; padding-top: 1.4rem; border-top: 1px solid var(--bdr); }\r\n.fnote a { color: var(--or); text-decoration: none; }\r\n\r\n\/* \u2500\u2500 SECCIONES CONTENIDO \u2500\u2500 *\/\r\n.mp-content-section { padding: 60px 0; background: var(--white); }\r\n.mp-content-section.alt { background: var(--light); }\r\n.mp-section-tag { display: inline-block; background: rgba(232,160,0,.12); color: #7a4800; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 12px; border-radius: 3px; margin-bottom: 10px; border: .5px solid rgba(232,160,0,.3); }\r\n.mp-section-h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(20px, 3vw, 32px); font-weight: 800; color: var(--dk); letter-spacing: -.01em; margin: 0 0 10px; }\r\n.mp-section-h2 em { color: var(--or); font-style: normal; }\r\n.mp-section-lead { font-size: 15px; color: var(--gray); line-height: 1.7; margin-bottom: 32px; max-width: 680px; }\r\n.mp-body { font-size: 15px; color: var(--gray); line-height: 1.75; margin-bottom: 14px; }\r\n.mp-body strong { color: var(--dk); }\r\n.mp-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }\r\n\r\n.mp-formula { background: var(--dk2); border-radius: var(--rl); padding: 18px 22px; margin: 18px 0; border-left: 4px solid var(--or); }\r\n.mp-formula code { display: block; font-size: 16px; font-weight: 700; color: var(--or); font-family: 'Courier New', monospace; margin-bottom: 12px; word-break: break-all; }\r\n.mp-formula ul { list-style: none; padding: 0; margin: 0; }\r\n.mp-formula ul li { font-size: 13px; color: #aaa; padding: 3px 0; display: flex; gap: 8px; }\r\n.mp-formula ul li::before { content: '\u2014'; color: var(--or); flex-shrink: 0; }\r\n\r\n\/* \u2500\u2500 ZONAS CTE \u2500\u2500 *\/\r\n.mp-zonas-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 24px 0; }\r\n.mp-zona-card { background: var(--white); border: 1px solid var(--bdr); border-radius: var(--rl); padding: 16px; position: relative; overflow: hidden; }\r\n.mp-zona-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--or); }\r\n.mp-zona-letter { font-family: 'Barlow Condensed', sans-serif; font-size: 30px; font-weight: 800; color: var(--or); line-height: 1; margin-bottom: 4px; }\r\n.mp-zona-name { font-size: 12px; color: var(--gray); margin-bottom: 8px; line-height: 1.4; }\r\n.mp-zona-vals { font-size: 11px; color: var(--mid); }\r\n.mp-zona-vals span { display: block; }\r\n\r\n\/* \u2500\u2500 TABLA CTE \u2500\u2500 *\/\r\n.cte-u-table { width: 100%!important; border-collapse: collapse!important; border-spacing: 0!important; font-size: 13px!important; table-layout: auto!important; }\r\n.cte-u-table .cte-th { background: #1a1a1a!important; color: #ffffff!important; padding: 11px 16px!important; font-size: 11px!important; font-weight: 700!important; letter-spacing: .06em!important; text-transform: uppercase!important; border: none!important; white-space: nowrap!important; }\r\n.cte-u-table .cte-th--left { text-align: left!important; }\r\n.cte-u-table .cte-th--center { text-align: center!important; }\r\n.cte-u-table .cte-tr--odd td { background: #fafaf8!important; }\r\n.cte-u-table .cte-tr--even td { background: #ffffff!important; }\r\n.cte-u-table .cte-tr--highlight td { background: #fffbee!important; }\r\n.cte-u-table .cte-tr--highlight td:first-child { box-shadow: inset 4px 0 0 #e8a000!important; }\r\n.cte-u-table .cte-td { padding: 10px 16px!important; border: none!important; border-bottom: 1px solid #e8e5e0!important; font-size: 13px!important; color: #1a1a1a!important; vertical-align: middle!important; }\r\n.cte-u-table .cte-tr--last td { border-bottom: none!important; }\r\n.cte-u-table .cte-td--zona { font-weight: 800!important; font-size: 18px!important; white-space: nowrap!important; color: #1a1a1a!important; }\r\n.cte-u-table .cte-td--or { color: #e8a000!important; }\r\n.cte-u-table .cte-td--center { text-align: center!important; white-space: nowrap!important; }\r\n.cte-u-table .cte-td--bold { font-weight: 700!important; }\r\n.cte-u-table .cte-td--prov { color: #666666!important; font-size: 12px!important; text-align: left!important; }\r\n\r\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\r\n.mp-faq-item { border-bottom: 1px solid var(--bdr); }\r\n.mp-faq-q { width: 100%; text-align: left; padding: 18px 0; background: none; border: none; font-size: 15px; font-weight: 700; color: var(--dk); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-family: inherit; }\r\n.mp-faq-q:hover { color: var(--or); }\r\n.mp-faq-icon { width: 22px; height: 22px; background: var(--or); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; font-weight: 700; color: var(--dk); transition: transform .2s; }\r\n.mp-faq-item.open .mp-faq-icon { transform: rotate(45deg); }\r\n.mp-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; font-size: 14px; color: var(--gray); line-height: 1.75; }\r\n.mp-faq-item.open .mp-faq-a { max-height: 500px; padding-bottom: 18px; }\r\n\r\n\/* \u2500\u2500 ENLACES \u2500\u2500 *\/\r\n.mp-body a, .mp-section-lead a, .mp-faq-a a {\r\n  color: var(--or); text-decoration: underline; text-decoration-color: rgba(232,160,0,.4);\r\n  text-underline-offset: 2px; font-weight: 600; transition: color .15s;\r\n}\r\n.mp-body a:hover, .mp-section-lead a:hover, .mp-faq-a a:hover { color: var(--or2); text-decoration-color: var(--or2); }\r\n\r\n\/* \u2500\u2500 TABLA ESPESOR \u2500\u2500 *\/\r\n.mp-esp-table {\r\n  width: 100%; border-collapse: collapse; font-size: 13px;\r\n  margin: 20px 0;\r\n}\r\n.mp-esp-table th {\r\n  background: var(--dk); color: #fff; padding: 10px 14px;\r\n  font-size: 11px; font-weight: 700; letter-spacing: .06em;\r\n  text-transform: uppercase; text-align: left;\r\n}\r\n.mp-esp-table th:not(:first-child) { text-align: center; }\r\n.mp-esp-table td { padding: 9px 14px; border-bottom: 1px solid var(--bdr); color: var(--dk); vertical-align: middle; }\r\n.mp-esp-table td:not(:first-child) { text-align: center; font-weight: 700; }\r\n.mp-esp-table tr:last-child td { border-bottom: none; }\r\n.mp-esp-table tr:nth-child(even) td { background: var(--lighter); }\r\n.mp-esp-table .esp-rec { color: var(--or); font-weight: 800; }\r\n.mp-esp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--bdr); border-radius: var(--rl); overflow: hidden; }\r\n\/* \u2500\u2500 PIE DE P\u00c1GINA \u2500\u2500 *\/\r\n.mp-footer { background: #111111; border-top: 3px solid var(--or); padding: 28px 0 22px; }\r\n.mp-footer-inner { max-width: var(--max); margin: 0 auto; padding: 0 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }\r\n.mp-footer-copy { font-size: 12px; color: rgba(255,255,255,.45); font-weight: 600; }\r\n.mp-footer-links { display: flex; gap: 20px; flex-wrap: wrap; }\r\n.mp-footer-links a { font-size: 11px; color: rgba(255,255,255,.38); text-decoration: none; font-weight: 600; letter-spacing: .04em; transition: color .15s; }\r\n.mp-footer-links a:hover { color: var(--or); }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   MODAL FORMULARIO\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.modal-bg {\r\n  position: fixed; inset: 0; background: rgba(0,0,0,.65); z-index: 1000;\r\n  display: flex; align-items: center; justify-content: center;\r\n  padding: 1rem;\r\n  backdrop-filter: blur(6px);\r\n  -webkit-backdrop-filter: blur(6px);\r\n  overflow-y: auto;\r\n  -webkit-overflow-scrolling: touch;\r\n}\r\n.modal {\r\n  background: var(--white);\r\n  border-radius: 14px;\r\n  padding: 0;\r\n  width: 100%;\r\n  max-width: 640px;\r\n  position: relative;\r\n  max-height: calc(100dvh - 2rem);\r\n  max-height: calc(100vh - 2rem);\r\n  overflow-y: auto;\r\n  -webkit-overflow-scrolling: touch;\r\n  box-shadow: 0 32px 100px rgba(0,0,0,.4);\r\n  margin: auto;\r\n}\r\n.modal-header {\r\n  background: var(--dk);\r\n  border-radius: 14px 14px 0 0;\r\n  padding: 22px 24px 18px;\r\n  position: sticky;\r\n  top: 0;\r\n  z-index: 10;\r\n}\r\n.modal-header::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0; height: 3px;\r\n  background: linear-gradient(90deg, var(--or), var(--or2));\r\n  border-radius: 14px 14px 0 0;\r\n}\r\n.modal-header h2 {\r\n  font-family: 'Barlow Condensed', sans-serif;\r\n  font-size: 22px; font-weight: 800;\r\n  color: #fff; margin: 0 0 5px;\r\n  letter-spacing: -.01em;\r\n  padding-right: 44px;\r\n}\r\n.modal-header .modal-sub { font-size: 12px; color: rgba(255,255,255,.5); margin: 0; line-height: 1.5; }\r\n.modal-close {\r\n  position: absolute; top: 14px; right: 16px;\r\n  font-size: 16px; cursor: pointer; color: rgba(255,255,255,.65);\r\n  background: rgba(255,255,255,.1); border: none;\r\n  width: 32px; height: 32px; border-radius: 50%;\r\n  display: flex; align-items: center; justify-content: center;\r\n  transition: all .15s; touch-action: manipulation;\r\n}\r\n.modal-close:hover { background: rgba(255,255,255,.2); color: #fff; }\r\n.modal-body { padding: 24px 28px 22px; }\r\n\r\n\/* Campos *\/\r\n.mfield { display: flex; flex-direction: column; gap: 5px; margin-bottom: 15px; }\r\n.mfield label {\r\n  font-size: 10px; font-weight: 700; color: var(--gray);\r\n  text-transform: uppercase; letter-spacing: .07em;\r\n  display: flex; align-items: center; gap: 5px;\r\n}\r\n.mfield label .req { color: var(--or); font-size: 13px; line-height: 1; }\r\n.mfield label .opt-tag { font-size: 9px; color: var(--mid); font-weight: 400; text-transform: none; letter-spacing: 0; background: var(--light); padding: 1px 5px; border-radius: 3px; }\r\n\r\n\/* Dos columnas iguales: Pa\u00eds | Provincia *\/\r\n.modal-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }\r\n\/* Provincia oculta hasta seleccionar Espa\u00f1a *\/\r\n.modal-prov-wrap { display: none; }\r\n.modal-prov-wrap.show { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n\/* Inputs \u2014 font-size 16px evita zoom iOS *\/\r\n.mfield input,\r\n.mfield select {\r\n  height: 48px;\r\n  padding: 0 14px;\r\n  font-size: 16px;\r\n  font-family: inherit; font-weight: 500;\r\n  border: 1.5px solid var(--bdr); border-radius: 6px;\r\n  background: var(--lighter); color: var(--dk);\r\n  transition: border-color .15s, box-shadow .15s;\r\n  width: 100%; -webkit-appearance: none; appearance: none;\r\n}\r\n.mfield select {\r\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\r\n  background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px;\r\n}\r\n.mfield input:focus, .mfield select:focus { outline: none; border-color: var(--or); box-shadow: 0 0 0 3px rgba(232,160,0,.12); background: #fff; }\r\n.mfield input.m-error, .mfield select.m-error { border-color: var(--red)!important; box-shadow: 0 0 0 3px rgba(160,52,30,.1)!important; }\r\n.mfield .m-err-txt { font-size: 11px; color: var(--red); margin-top: 3px; display: none; }\r\n.mfield .m-err-txt.show { display: block; }\r\n\r\n\/* Checkbox GDPR \u2014 nativo funcional *\/\r\n.gdpr-row {\r\n  display: flex; flex-direction: row; align-items: flex-start;\r\n  gap: 10px; margin-bottom: 4px;\r\n}\r\n.gdpr-row input[type=\"checkbox\"] {\r\n  -webkit-appearance: checkbox !important;\r\n  appearance: checkbox !important;\r\n  width: 18px; height: 18px; min-width: 18px;\r\n  flex-shrink: 0; margin-top: 2px;\r\n  cursor: pointer;\r\n  border: none; padding: 0; background: none; box-shadow: none;\r\n  accent-color: var(--or);\r\n}\r\n.gdpr-row label {\r\n  font-size: 12px; text-transform: none; letter-spacing: 0;\r\n  color: var(--gray); font-weight: 400; cursor: pointer;\r\n  line-height: 1.5; flex: 1; display: block;\r\n}\r\n.gdpr-row label a { color: var(--or); text-decoration: underline; }\r\n.gdpr-err { font-size: 11px; color: var(--red); display: none; margin-bottom: 10px; }\r\n.gdpr-err.show { display: block; }\r\n\r\n\/* Bot\u00f3n *\/\r\n.modal-submit {\r\n  width: 100%; height: 52px;\r\n  background: var(--or); color: var(--dk);\r\n  font-family: inherit; font-size: 15px; font-weight: 800;\r\n  border: none; border-radius: 6px; cursor: pointer;\r\n  letter-spacing: .05em; text-transform: uppercase;\r\n  transition: background .15s, transform .12s, box-shadow .15s;\r\n  margin-top: 6px;\r\n  display: flex; align-items: center; justify-content: center; gap: 8px;\r\n  touch-action: manipulation; -webkit-tap-highlight-color: transparent;\r\n  box-shadow: 0 4px 20px rgba(232,160,0,.3);\r\n}\r\n.modal-submit:hover { background: var(--or2); box-shadow: 0 6px 28px rgba(232,160,0,.4); }\r\n.modal-submit:active { transform: scale(0.98); }\r\n.modal-submit:disabled { background: #ccc; color: #999; cursor: not-allowed; transform: none; box-shadow: none; }\r\n.modal-legal { font-size: 11px; color: var(--mid); margin-top: 12px; line-height: 1.6; text-align: center; }\r\n.modal-legal a { color: var(--or); text-decoration: none; }\r\n\r\n\/* Success *\/\r\n.modal-ok { padding: 40px 28px; text-align: center; }\r\n.modal-ok .ok-icon { font-size: 56px; display: block; margin-bottom: 16px; }\r\n.modal-ok h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 800; color: var(--green); margin-bottom: 8px; }\r\n.modal-ok p { font-size: 13px; color: var(--mid); line-height: 1.6; }\r\n.modal-ok .ok-detail { background: var(--gbg); border: 1px solid var(--gbrd); border-radius: var(--rl); padding: 14px 16px; margin: 16px 0; font-size: 12px; color: var(--green); font-weight: 600; text-align: left; }\r\n.modal-ok .ok-close-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--dk); color: #fff; font-family: inherit; font-size: 13px; font-weight: 700; padding: 12px 24px; border-radius: var(--r); border: none; cursor: pointer; margin-top: 16px; letter-spacing: .04em; text-transform: uppercase; transition: background .15s; }\r\n.modal-ok .ok-close-btn:hover { background: #333; }\r\n\r\n\/* Spinner *\/\r\n.modal-submit .spinner { width: 18px; height: 18px; border: 2px solid rgba(0,0,0,.25); border-top-color: var(--dk); border-radius: 50%; animation: spin .7s linear infinite; display: none; }\r\n.modal-submit.loading .spinner { display: block; }\r\n.modal-submit.loading .btn-txt { opacity: .5; }\r\n@keyframes spin { to { transform: rotate(360deg); } }\r\n\r\n\/* Ctx msg *\/\r\n#ctx-msg { position: fixed; z-index: 9999; background: var(--dk); color: #fff; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 600; padding: 10px 16px; border-radius: 8px; border-left: 3px solid var(--or); box-shadow: 0 4px 20px rgba(0,0,0,.3); pointer-events: none; opacity: 0; transition: opacity .2s; white-space: nowrap; max-width: calc(100vw - 2rem); }\r\n#ctx-msg.show { opacity: 1; }\r\n\r\n.mp-calc-zone, .mp-calc-zone .card, .mp-calc-zone .card-dark,\r\n.mp-calc-zone .ahorro-card, .mp-calc-zone .panel-chip { user-select: none; -webkit-user-select: none; }\r\n.mp-calc-zone input, .mp-calc-zone select { user-select: text!important; -webkit-user-select: text!important; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESPONSIVE \u2014 900px\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n@media (max-width: 900px) {\r\n  .mp-hero-content { padding: 36px 0 30px; }\r\n  .mp-2col { grid-template-columns: 1fr; }\r\n  .mp-zonas-grid { grid-template-columns: repeat(2,1fr); }\r\n  .mp-brand-strip-norms { display: none; }\r\n  .mp-content-section { padding: 40px 0; }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESPONSIVE \u2014 640px (tablet\/m\u00f3vil)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n@media (max-width: 640px) {\r\n  \/* Hero *\/\r\n  .mp-hero-content { padding: 28px 0 24px; }\r\n  .mp-hero-desc { font-size: 14px; margin-bottom: 20px; }\r\n  .mp-hero-actions { flex-direction: column; align-items: stretch; }\r\n  .mp-cta-hero { justify-content: center; padding: 16px 24px; font-size: 14px; }\r\n\r\n  \/* Brand strip *\/\r\n  .mp-brand-strip-inner { gap: 10px; flex-wrap: nowrap; }\r\n  .mp-brand-strip-txt { font-size: 10px; }\r\n\r\n  \/* Calculadora *\/\r\n  .mp-calc-label { padding: 24px 0 16px; }\r\n  .mp-calc-wrap { padding: 0 1rem; }\r\n  .mp-calc-label h2 { font-size: 18px; }\r\n  .mp-calc-label p { font-size: 13px; }\r\n  .card { padding: 1rem; }\r\n  .card-dark { padding: 1rem; }\r\n\r\n  \/* Panel grid: 2 columnas en m\u00f3vil *\/\r\n  .panel-grid { grid-template-columns: repeat(2,1fr); gap: 6px; }\r\n  .pbtn { padding: 12px 6px 10px; }\r\n  .pbtn .pi { font-size: 16px; }\r\n  .pbtn .pn { font-size: 10px; }\r\n\r\n  \/* Tipo\/c\u00e1mara\/climatizaci\u00f3n: 1 columna *\/\r\n  .tipo-grid { grid-template-columns: 1fr; gap: 6px; }\r\n  .tbtn { padding: 12px 10px; display: flex; align-items: center; gap: 10px; text-align: left; }\r\n  .tbtn .ti { font-size: 22px; flex-shrink: 0; margin-bottom: 0; }\r\n  .tbtn .tn { font-size: 14px; }\r\n  .tbtn .ts { font-size: 11px; }\r\n\r\n  .clim-grid { grid-template-columns: 1fr; gap: 6px; }\r\n  .climbtn { padding: 12px 10px; display: flex; align-items: center; gap: 10px; text-align: left; }\r\n  .climbtn .cn { font-size: 13px; }\r\n  .climbtn .cs { font-size: 11px; }\r\n\r\n  .cam-btns { grid-template-columns: 1fr; gap: 6px; }\r\n  .cbtn { padding: 12px 10px; }\r\n  .cbtn .cn { font-size: 13px; }\r\n\r\n  \/* Campos num\u00e9ricos nave *\/\r\n  .row { grid-template-columns: 1fr; }\r\n  .row-2 { grid-template-columns: 1fr; }\r\n\r\n  \/* Resultado *\/\r\n  .res-grid { grid-template-columns: 1fr 1fr; }\r\n  .res-grid .metric:last-child { grid-column: span 2; }\r\n  .metric .mv { font-size: 28px; }\r\n  .metric .ml { font-size: 8px; }\r\n\r\n  \/* Panel chip *\/\r\n  .panel-chip { flex-direction: column; align-items: flex-start; gap: .75rem; }\r\n  .pc-lambda { width: 100%; }\r\n  .pc-lambda .lv { font-size: 22px; }\r\n  .pc-esps span { font-size: 10px; }\r\n\r\n  \/* Ahorro *\/\r\n  .ahorro-card { padding: 1rem; }\r\n  .ahorro-grid { grid-template-columns: 1fr 1fr; }\r\n  .ahorro-grid .ahorro-metric:last-child { grid-column: span 2; }\r\n  .ahorro-metric .amv { font-size: 22px; }\r\n  .ahorro-inputs { grid-template-columns: 1fr; }\r\n  .energia-grid { grid-template-columns: 1fr; gap: 6px; }\r\n  .ebtn { display: flex; align-items: center; gap: 10px; text-align: left; }\r\n  .ebtn .en { font-size: 13px; flex: 1; }\r\n\r\n  \/* CTA *\/\r\n  .cta { flex-direction: column; align-items: stretch; }\r\n  .cta-btn { text-align: center; justify-content: center; }\r\n\r\n  \/* Zonas *\/\r\n  .mp-zonas-grid { grid-template-columns: 1fr 1fr; gap: 8px; }\r\n  .mp-zona-card { padding: 12px; }\r\n  .mp-zona-letter { font-size: 24px; }\r\n\r\n  \/* Tabla CTE *\/\r\n  .cte-u-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }\r\n  .cte-u-table { min-width: 480px; }\r\n\r\n  \/* FAQ *\/\r\n  .mp-faq-q { font-size: 13px; padding: 14px 0; }\r\n\r\n  \/* Footer *\/\r\n  .mp-footer-inner { flex-direction: column; align-items: flex-start; gap: 12px; }\r\n  .mp-footer-links { gap: 12px; }\r\n\r\n  \/* Contenido *\/\r\n  .mp-content-section { padding: 32px 0; }\r\n  .mp-land-inner { padding: 0 1rem; }\r\n  .mp-body { font-size: 14px; }\r\n  .mp-section-lead { font-size: 14px; }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESPONSIVE MODAL \u2014 m\u00f3vil\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n@media (max-width: 640px) {\r\n  .modal-bg { align-items: flex-end; padding: 0; }\r\n  .modal { border-radius: 18px 18px 0 0; max-width: 100%; max-height: 94vh; }\r\n  .modal-header { border-radius: 18px 18px 0 0; }\r\n  .modal-header::before { border-radius: 18px 18px 0 0; }\r\n  .modal-header h2 { font-size: 18px; }\r\n  .modal-body { padding: 16px 18px 20px; }\r\n  \/* En m\u00f3vil: pa\u00eds y provincia apilados *\/\r\n  .modal-row-2 { grid-template-columns: 1fr; gap: 0; }\r\n  .modal-prov-wrap.show { display: flex; }\r\n  .mfield input, .mfield select { height: 52px; font-size: 16px; }\r\n  .modal-submit { height: 56px; font-size: 15px; }\r\n  .modal-ok { padding: 28px 16px; }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   MUY PEQUE\u00d1O \u2014 360px\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n@media (max-width: 380px) {\r\n  .panel-grid { grid-template-columns: repeat(2,1fr); }\r\n  .pbtn .pn { font-size: 9px; }\r\n  .pbtn .ps { font-size: 9px; }\r\n  .res-grid { grid-template-columns: 1fr; }\r\n  .res-grid .metric:last-child { grid-column: 1; }\r\n  .ahorro-grid { grid-template-columns: 1fr; }\r\n  .ahorro-grid .ahorro-metric:last-child { grid-column: 1; }\r\n  .mp-zonas-grid { grid-template-columns: 1fr; }\r\n}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"mp-land\">\r\n\r\n<!-- \u2550\u2550\u2550 HERO \u2550\u2550\u2550 -->\r\n<section class=\"mp-hero\" id=\"mp-hero-section\">\r\n  <div class=\"mp-hero-inner\">\r\n    <div class=\"mp-hero-content\">\r\n      <div class=\"mp-hero-eyebrow\">Outil technique gratuit<\/div>\r\n      <!-- H1 siempre en 2 l\u00edneas:\r\n           L\u00ednea 1: \"Calculadora de aislamiento t\u00e9rmico\"\r\n           L\u00ednea 2: \"para panel s\u00e1ndwich\" -->\r\n      <h1>Calculateur d'<em>isolation thermique<\/em><br>pour panneaux sandwich<\/h1>\r\n      <p class=\"mp-hero-desc\">D\u00e9couvrez exactement quelle \u00e9paisseur de panneau sandwich votre projet n\u00e9cessite pour respecter la r\u00e9glementation en vigueur. R\u00e9sultats bas\u00e9s sur des donn\u00e9es certifi\u00e9es EN14509.<\/p>\r\n      <div class=\"mp-hero-actions\">\r\n        <a href=\"#calculadora\" class=\"mp-cta-hero\">Utiliser le calculateur<\/a>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"mp-hero-deco\" aria-hidden=\"true\">\r\n      <div class=\"mp-hero-deco-item\"><span class=\"mp-hero-deco-val\">\u03bb 0.021<\/span><span class=\"mp-hero-deco-lbl\">W\/mK \u2014 Conductividad PUR<\/span><\/div>\r\n      <div class=\"mp-hero-deco-item\"><span class=\"mp-hero-deco-val\">EN14509<\/span><span class=\"mp-hero-deco-lbl\">Norma certificaci\u00f3n EU<\/span><\/div>\r\n      <div class=\"mp-hero-deco-item\"><span class=\"mp-hero-deco-val\">CTE HE1<\/span><span class=\"mp-hero-deco-lbl\">Normativa espa\u00f1ola<\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 BARRA FABRICANTE \u2550\u2550\u2550 -->\r\n<div class=\"mp-brand-strip\" role=\"complementary\" aria-label=\"Fabricante\">\r\n  <div class=\"mp-brand-strip-inner\">\r\n    <span class=\"mp-brand-strip-txt\">Fabriqu\u00e9 par<\/span>\r\n    <div class=\"mp-brand-strip-sep\"><\/div>\r\n    <img decoding=\"async\" src=\"https:\/\/magon.es\/wp-content\/uploads\/2023\/01\/master-panel-calado-blanco-home-bg.webp\" alt=\"Master Panel\" loading=\"lazy\">\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 CALCULADORA \u2550\u2550\u2550 -->\r\n<section class=\"mp-calc-section\" aria-labelledby=\"calc-heading\">\r\n  <span id=\"calculadora\" class=\"mp-calc-anchor\" aria-hidden=\"true\"><\/span>\r\n  <div class=\"mp-calc-wrap\">\r\n    <div class=\"mp-calc-label\">\r\n      <div class=\"mp-calc-label-tag\">Outil interactif<\/div>\r\n      <h2 id=\"calc-heading\">Calculez l'\u00e9paisseur de panneau sandwich dont vous avez besoin<\/h2>\r\n      <p>S\u00e9lectionnez votre panneau, le type de projet et les conditions. Le r\u00e9sultat est imm\u00e9diat.<\/p>\r\n    <\/div>\r\n    <div class=\"mp-calc-zone\">\r\n      <button class=\"reset-btn\" onclick=\"resetCalc()\">\u21ba Nouveau calcul<\/button>\r\n\r\n      <!-- PASO 1 -->\r\n      <div class=\"card\">\r\n        <div class=\"slbl\">\u00c9tape 1 \u2014 Pour quel type de construction est le panneau ?<\/div>\r\n        <div class=\"panel-grid\">\r\n          <button class=\"pbtn\" onclick=\"setPanel('masterc')\" id=\"pbtn-masterc\"><span class=\"pi\">\ud83c\udfd7\ufe0f<\/span><span class=\"pn\">Master-C<\/span><span class=\"ps\">Toiture<\/span><span class=\"ptag\">7 esp.<\/span><\/button>\r\n          <button class=\"pbtn\" onclick=\"setPanel('masterf')\" id=\"pbtn-masterf\"><span class=\"pi\">\ud83e\uddf1<\/span><span class=\"pn\">Master-F<\/span><span class=\"ps\">Fa\u00e7ade<\/span><span class=\"ptag\">6 esp.<\/span><\/button>\r\n          <button class=\"pbtn active\" onclick=\"setPanel('frigo')\" id=\"pbtn-frigo\"><span class=\"pi\">\ud83e\uddca<\/span><span class=\"pn\">Master-Frigo<\/span><span class=\"ps\">Chambre froide<\/span><span class=\"ptag\">5 esp.<\/span><\/button>\r\n          <button class=\"pbtn\" onclick=\"setPanel('modul')\" id=\"pbtn-modul\"><span class=\"pi\">\ud83c\udfe0<\/span><span class=\"pn\">Master-Modul<\/span><span class=\"ps\">Modulaire<\/span><span class=\"ptag\">3 esp.<\/span><\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- PASO 2 -->\r\n      <div class=\"card\">\r\n        <div class=\"slbl\">\u00c9tape 2 \u2014 Quelle est l'utilisation de l'espace ?<\/div>\r\n        <div class=\"tipo-grid\">\r\n          <button class=\"tbtn active\" onclick=\"setTipo('nave')\" id=\"tbtn-nave\"><span class=\"ti\">\ud83c\udfed<\/span><span class=\"tn\">Entrep\u00f4t \/ hangar<\/span><span class=\"ts\">Usage industriel g\u00e9n\u00e9ral<\/span><\/button>\r\n          <button class=\"tbtn\" onclick=\"setTipo('camara')\" id=\"tbtn-camara\"><span class=\"ti\">\u2744\ufe0f<\/span><span class=\"tn\">Chambre froide<\/span><span class=\"ts\">Froid industriel<\/span><\/button>\r\n          <button class=\"tbtn\" onclick=\"setTipo('vivienda')\" id=\"tbtn-vivienda\"><span class=\"ti\">\ud83c\udfe0<\/span><span class=\"tn\">Habitation \/ b\u00e2timent<\/span><span class=\"ts\">R\u00e9glementation thermique<\/span><\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"compat-warn hidden\" id=\"compat-warn\"><span class=\"cw-icon\">\u26a0\ufe0f<\/span><span id=\"compat-warn-text\"><\/span><\/div>\r\n\r\n      <!-- PASO 3: NAVE -->\r\n      <div class=\"card\" id=\"card-nave\">\r\n        <div class=\"slbl\">\u00c9tape 3 \u2014 Conditions du projet<\/div>\r\n        <div class=\"row\" style=\"margin-bottom:12px\">\r\n          <div class=\"field\">\r\n            <label>Temp\u00e9rature int\u00e9rieure souhait\u00e9e (\u00b0C)<\/label>\r\n            <input type=\"number\" id=\"nave-ti\" value=\"18\" min=\"-10\" max=\"40\" oninput=\"calcular()\">\r\n            <span class=\"hint\">Temp\u00e9rature habituelle \u00e0 l'int\u00e9rieur du b\u00e2timent<\/span>\r\n          <\/div>\r\n          <div class=\"field\">\r\n            <label>Temp\u00e9rature ext\u00e9rieure minimale (\u00b0C)<\/label>\r\n            <input type=\"number\" id=\"nave-te\" value=\"-5\" min=\"-20\" max=\"30\" oninput=\"calcular()\">\r\n            <span class=\"hint\">Le jour le plus froid de l'ann\u00e9e dans votre r\u00e9gion<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\" style=\"margin-bottom:8px\">\r\n          <label>Le b\u00e2timent sera-t-il climatis\u00e9 ?<\/label>\r\n          <div class=\"clim-grid\">\r\n            <button class=\"climbtn\" onclick=\"setClim('si')\" id=\"climbtn-si\"><span class=\"cn\">Oui, climatis\u00e9<\/span><span class=\"cs\">Contr\u00f4le pr\u00e9cis de temp\u00e9rature<\/span><\/button>\r\n            <button class=\"climbtn active\" onclick=\"setClim('parcial')\" id=\"climbtn-parcial\"><span class=\"cn\">Partiellement<\/span><span class=\"cs\">Chauffage de base uniquement<\/span><\/button>\r\n            <button class=\"climbtn\" onclick=\"setClim('no')\" id=\"climbtn-no\"><span class=\"cn\">Non, sans climatisation<\/span><span class=\"cs\">Protection vent\/pluie uniquement<\/span><\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div id=\"nave-u-info\" class=\"infobox\"><\/div>\r\n      <\/div>\r\n\r\n      <!-- PASO 3: C\u00c1MARA -->\r\n      <div class=\"card hidden\" id=\"card-camara\">\r\n        <div class=\"slbl\">\u00c9tape 3 \u2014 Type de chambre froide<\/div>\r\n        <div class=\"cam-btns\">\r\n          <button class=\"cbtn active\" onclick=\"setCamara('conservacion')\" id=\"cbtn-conservacion\"><span class=\"cn\">Conservation positive<\/span><span class=\"cr\">0\u00b0C \u00e0 +8\u00b0C<\/span><\/button>\r\n          <button class=\"cbtn\" onclick=\"setCamara('congelacion')\" id=\"cbtn-congelacion\"><span class=\"cn\">Cong\u00e9lation<\/span><span class=\"cr\">-18\u00b0C \u00e0 -25\u00b0C<\/span><\/button>\r\n          <button class=\"cbtn\" onclick=\"setCamara('ultracongelacion')\" id=\"cbtn-ultracongelacion\"><span class=\"cn\">Surg\u00e9lation<\/span><span class=\"cr\">-26\u00b0C \u00e0 -46\u00b0C<\/span><\/button>\r\n        <\/div>\r\n        <div id=\"camara-info\" class=\"infobox\" style=\"margin-top:12px\"><\/div>\r\n      <\/div>\r\n\r\n      <!-- PASO 3: VIVIENDA -->\r\n      <div class=\"card hidden\" id=\"card-vivienda\">\r\n        <div class=\"slbl\">\u00c9tape 3 \u2014 Localisation du projet<\/div>\r\n        <div class=\"row-2\">\r\n          <div class=\"field\">\r\n            <label>Province<\/label>\r\n            <select id=\"viv-prov\" onchange=\"onProvChange()\"><option value=\"\">\u2014 S\u00e9lectionner une province \u2014<\/option><\/select>\r\n            <span class=\"hint\">La zone climatique CTE est attribu\u00e9e automatiquement<\/span>\r\n          <\/div>\r\n          <div class=\"field\">\r\n            <label>\u00c9l\u00e9ment constructif<\/label>\r\n            <select id=\"viv-elem\" onchange=\"calcular()\">\r\n              <option value=\"cubierta\">Toiture \/ toiture plate<\/option>\r\n              <option value=\"fachada\">Fa\u00e7ade \/ mur ext\u00e9rieur<\/option>\r\n              <option value=\"suelo\">Plancher \/ dalle<\/option>\r\n            <\/select>\r\n            <span class=\"elem-note hidden\" id=\"elem-note\"><\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div id=\"zona-info\" class=\"infobox hidden\" style=\"margin-top:10px\"><\/div>\r\n      <\/div>\r\n\r\n      <!-- PANEL CHIP -->\r\n      <div class=\"panel-chip\">\r\n        <div><div class=\"pc-tag\" id=\"pc-tag\"><\/div><div class=\"pc-name\" id=\"pc-name\"><\/div><div class=\"pc-desc\" id=\"pc-desc\"><\/div><div class=\"pc-esps\" id=\"pc-esps\"><\/div><\/div>\r\n        <div class=\"pc-lambda\"><span class=\"lv\">0.021<\/span><span class=\"ll\">W\/mK \u2014 \u03bb PUR<\/span><\/div>\r\n      <\/div>\r\n\r\n      <!-- TABLA FRIGO -->\r\n      <div class=\"frigo-note hidden\" id=\"frigo-recom\">\r\n        <div class=\"fn-title\">\u00c9paisseurs minimales recommand\u00e9es \u2014 Master-Frigo (fiche technique officielle)<\/div>\r\n        <div class=\"frigo-table-wrap\">\r\n          <table class=\"frigo-table\">\r\n            <thead><tr><th>Type<\/th><th>Plage (\u00b0C)<\/th><th>Mur int.<\/th><th>Plafond int.<\/th><th>Mur ext.<\/th><th>Plafond ext.<\/th><\/tr><\/thead>\r\n            <tbody>\r\n              <tr><td>Conservation<\/td><td>+15 a +4<\/td><td>60mm<\/td><td>60mm<\/td><td>60mm<\/td><td>60mm<\/td><\/tr>\r\n              <tr><td>Conservation<\/td><td>+4 a -4<\/td><td>60mm<\/td><td>60mm<\/td><td>80mm<\/td><td>80mm<\/td><\/tr>\r\n              <tr><td>Conservation<\/td><td>-4 a -10<\/td><td>80mm<\/td><td>80mm<\/td><td>80mm<\/td><td>100mm<\/td><\/tr>\r\n              <tr><td>Cong\u00e9lation<\/td><td>-10 a -18<\/td><td>100mm<\/td><td>100mm<\/td><td>100mm<\/td><td>100mm<\/td><\/tr>\r\n              <tr><td>Cong\u00e9lation<\/td><td>-18 a -26<\/td><td>100mm<\/td><td>100mm<\/td><td>120mm<\/td><td>120mm<\/td><\/tr>\r\n              <tr><td>Cong\u00e9lation<\/td><td>-26 a -40<\/td><td>120mm<\/td><td>120mm<\/td><td>150mm<\/td><td>150mm<\/td><\/tr>\r\n              <tr><td>Surg\u00e9lation rapide<\/td><td>-40 a -46<\/td><td>150mm<\/td><td>150mm<\/td><td>150mm<\/td><td>150mm<\/td><\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- RESULTADO -->\r\n      <div class=\"card-dark\">\r\n        <div class=\"slbl\" style=\"color:var(--or)\">R\u00e9sultat du calcul<\/div>\r\n        <div class=\"res-grid\">\r\n          <div class=\"metric\"><div class=\"ml\">\u00c9paisseur minimale<\/div><div class=\"mv\" id=\"res-esp\">\u2014<\/div><div class=\"mu\">mm th\u00e9orique<\/div><\/div>\r\n          <div class=\"metric hero\"><div class=\"ml\">\u00c9paisseur recommand\u00e9e<\/div><div class=\"mv\" id=\"res-com\">\u2014<\/div><div class=\"mu\">mm catalogue<\/div><\/div>\r\n          <div class=\"metric\"><div class=\"ml\">Coefficient U r\u00e9sultant<\/div><div class=\"mv\" id=\"res-u\">\u2014<\/div><div class=\"mu\">W\/m\u00b2K certifi\u00e9<\/div><\/div>\r\n        <\/div>\r\n        <div class=\"bar-wrap\">\r\n          <div class=\"bar-hd\"><span class=\"bl\">Marge par rapport \u00e0 la limite exig\u00e9e<\/span><span class=\"bv\" id=\"bar-pct\">\u2014<\/span><\/div>\r\n          <div class=\"bar-track\"><div class=\"bar-fill\" id=\"bar-fill\" style=\"width:0%\"><\/div><\/div>\r\n        <\/div>\r\n        <div id=\"alert-box\" class=\"alert a-ok\"><div class=\"at\" id=\"alert-title\">\u2014<\/div><div class=\"ab\" id=\"alert-body\">\u2014<\/div><\/div>\r\n        <div class=\"comp-table-wrap\"><table class=\"comp-table\" id=\"comp-table\"><\/table><\/div>\r\n        <div class=\"frow\"><span>Formule EN ISO 6946 :<\/span><code>U = 1 \/ (Rsi + e\/\u03bb + Rse)<\/code><span>Rsi=0.13 \u00b7 Rse=0.04 m\u00b2K\/W \u00b7 \u03bb=0.021 W\/mK<\/span><\/div>\r\n      <\/div>\r\n\r\n      <!-- AHORRO ENERG\u00c9TICO -->\r\n      <div class=\"ahorro-card\">\r\n        <div class=\"slbl\" style=\"color:var(--or)\">Estimation des \u00e9conomies d'\u00e9nergie<\/div>\r\n        <div class=\"energia-grid\">\r\n          <button class=\"ebtn active\" onclick=\"setEnergia('gas')\" id=\"ebtn-gas\"><span class=\"en\">Gaz naturel<\/span><span class=\"ep\" id=\"ep-gas\">0.043 \u20ac\/kWh<\/span><span class=\"es\">Tarif r\u00e9glement\u00e9<\/span><\/button>\r\n          <button class=\"ebtn\" onclick=\"setEnergia('elec')\" id=\"ebtn-elec\"><span class=\"en\">\u00c9lectricit\u00e9<\/span><span class=\"ep\" id=\"ep-elec\">cargando...<\/span><span class=\"es\">Prix temps r\u00e9el<\/span><\/button>\r\n          <button class=\"ebtn\" onclick=\"setEnergia('gasoil')\" id=\"ebtn-gasoil\"><span class=\"en\">Fioul domestique<\/span><span class=\"ep\" id=\"ep-gasoil\">0.095 \u20ac\/kWh<\/span><span class=\"es\">Prix indicatif<\/span><\/button>\r\n        <\/div>\r\n        <div class=\"precio-status\" id=\"precio-status\"><span class=\"dot-fijo\" id=\"precio-dot\"><\/span><span id=\"precio-status-txt\">Gaz naturel tarif r\u00e9glement\u00e9 T1 2026<\/span><\/div>\r\n        <div class=\"ahorro-inputs\">\r\n          <div class=\"field\"><label>Surface \u00e0 couvrir (m\u00b2)<\/label><input type=\"number\" id=\"ah-sup\" value=\"1000\" step=\"100\" min=\"10\" max=\"100000\" oninput=\"calcular()\"><span class=\"hint\">M\u00e8tres carr\u00e9s totaux du projet<\/span><\/div>\r\n          <div class=\"field\"><label>Rendement du syst\u00e8me (%)<\/label><input type=\"number\" id=\"ah-rend\" value=\"90\" step=\"1\" min=\"50\" max=\"350\" oninput=\"calcular()\"><span class=\"hint\">Chaudi\u00e8re gaz \u224890% \u00b7 Pompe \u00e0 chaleur \u2248300% \u00b7 Fioul \u224885%<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ahorro-grid\">\r\n          <div class=\"ahorro-metric\"><div class=\"aml\">Perte de chaleur (panneau rec.)<\/div><div class=\"amv\" id=\"ah-perdida\">\u2014<\/div><div class=\"amu\">W\/m\u00b2 conditions de conception<\/div><\/div>\r\n          <div class=\"ahorro-metric\"><div class=\"aml\">\u00c9conomie vs. sans isolation<\/div><div class=\"amv\" id=\"ah-pct\">\u2014<\/div><div class=\"amu\">% chaleur retenue<\/div><\/div>\r\n          <div class=\"ahorro-metric\"><div class=\"aml\">\u00c9conomies annuelles estim\u00e9es<\/div><div class=\"amv\" id=\"ah-euros\">\u2014<\/div><div class=\"amu\" id=\"ah-euros-sub\">\u20ac\/a\u00f1o \u00b7 3.000 h\/a\u00f1o<\/div><\/div>\r\n        <\/div>\r\n        <div class=\"ahorro-note\">* Estimation indicative bas\u00e9e sur 3 000 h\/an de fonctionnement.<\/div>\r\n      <\/div>\r\n\r\n      <!-- AVISO -->\r\n      <div style=\"background:#fff8e0;border:1px solid #f0d070;border-radius:var(--rl);padding:1.2rem 1.4rem;margin-bottom:.75rem\">\r\n        <div style=\"font-size:11px;font-weight:700;color:#6e4000;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px\">\u26a0 Avis important \u2014 \u00c0 lire avant de t\u00e9l\u00e9charger<\/div>\r\n        <p style=\"font-size:12px;color:#7a4e00;line-height:1.65;margin-bottom:6px\">Les r\u00e9sultats de ce calculateur sont <strong>indicatifs et non contraignants<\/strong>. Les valeurs de coefficient U et de r\u00e9sistance R proviennent de fiches techniques certifi\u00e9es EN14509.<\/p>\r\n        <p style=\"font-size:12px;color:#7a4e00;line-height:1.65;margin:0\">Avant d'appliquer ces donn\u00e9es \u00e0 un projet r\u00e9el, il est <strong>indispensable de consulter un professionnel qualifi\u00e9<\/strong>.<\/p>\r\n      <\/div>\r\n\r\n      <button class=\"pdf-btn\" onclick=\"abrirModal()\">\ud83d\udcc4 T\u00e9l\u00e9charger le rapport PDF<\/button>\r\n\r\n      <div class=\"cta\">\r\n        <div><strong>Besoin d'un devis pour votre projet ?<\/strong><p>Notre \u00e9quipe technique vous conseille sans engagement.<\/p><\/div>\r\n        <a class=\"cta-btn\" href=\"https:\/\/magon.es\" target=\"_blank\" rel=\"noopener\">Demander un devis \u2192<\/a>\r\n      <\/div>\r\n\r\n      <div class=\"fnote\">\r\n        Herramienta orientativa. Valores U\/R certificados seg\u00fan EN14509. Consultar con t\u00e9cnico competente antes de aplicar en obra real.\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 QU\u00c9 ESPESOR NECESITO SEG\u00daN EL USO \u2550\u2550\u2550 -->\r\n<section class=\"mp-content-section\" id=\"epaisseur-panneau-sandwich-selon-usage\">\r\n  <div class=\"mp-land-inner\">\r\n    <div class=\"mp-section-tag\">Guide des \u00e9paisseurs<\/div>\r\n    <h2 class=\"mp-section-h2\">Quelle \u00e9paisseur de panneau sandwich faut-il <em>selon l'usage<\/em> ?<\/h2>\r\n    <p class=\"mp-section-lead\">L'\u00e9paisseur du panneau sandwich d\u00e9pend de l'usage du b\u00e2timent, de la zone climatique et des exigences d'isolation thermique. Un entrep\u00f4t industriel n'a pas les m\u00eames besoins qu'une chambre froide ou une habitation. Les valeurs ci-dessous sont <strong>approximatives et indicatives<\/strong> : obtenez l'\u00e9paisseur exacte pour votre projet en utilisant le calculateur ci-dessus, qui travaille avec les valeurs U certifi\u00e9es selon EN14509.<\/p>\r\n\r\n    <h3 style=\"font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--dk);margin:0 0 10px;letter-spacing:-.01em;\">\ud83c\udfed B\u00e2timents industriels et entrep\u00f4ts<\/h3>\r\n    <p class=\"mp-body\">Dans les b\u00e2timents industriels, le facteur cl\u00e9 est la diff\u00e9rence de temp\u00e9rature entre l'int\u00e9rieur et l'ext\u00e9rieur et la pr\u00e9sence ou non d'une climatisation. Plus le diff\u00e9rentiel thermique est \u00e9lev\u00e9 et plus le contr\u00f4le de la temp\u00e9rature est pr\u00e9cis, plus l'isolation n\u00e9cessaire sera importante. Consultez les fiches du <a href=\"https:\/\/magon.es\/productos\/panel-sandwich-cubierta\/\" target=\"_blank\" rel=\"noopener noreferrer\">panneau de toiture Master-C<\/a> et du <a href=\"https:\/\/magon.es\/productos\/panel-sandwich-para-fachadas\/\" target=\"_blank\" rel=\"noopener noreferrer\">panneau de fa\u00e7ade Master-F<\/a> pour voir toutes les \u00e9paisseurs disponibles.<\/p>\r\n    <div class=\"mp-esp-table-wrap\">\r\n      <table class=\"mp-esp-table\">\r\n        <thead><tr><th>Situation<\/th><th>Toiture (approx.)<\/th><th>Fa\u00e7ade (approx.)<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>Sans climatisation \/ protection de base<\/td><td class=\"esp-rec\">\u2248 40 mm<\/td><td class=\"esp-rec\">\u2248 40 mm<\/td><\/tr>\r\n          <tr><td>Chauffage de base ou partiel<\/td><td class=\"esp-rec\">\u2248 60 mm<\/td><td class=\"esp-rec\">\u2248 50 mm<\/td><\/tr>\r\n          <tr><td>Climatisation compl\u00e8te<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><\/tr>\r\n          <tr><td>Processus industriel \/ temp\u00e9rature contr\u00f4l\u00e9e<\/td><td class=\"esp-rec\">\u2248 100 mm<\/td><td class=\"esp-rec\">\u2248 80\u2013100 mm<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n    <p class=\"mp-body\" style=\"font-size:12px;color:var(--mid);\">* Valeurs approximatives. Utilisez le calculateur avec les temp\u00e9ratures r\u00e9elles de votre projet pour obtenir l'\u00e9paisseur exacte et le coefficient U certifi\u00e9.<\/p>\r\n\r\n    <h3 style=\"font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--dk);margin:32px 0 10px;letter-spacing:-.01em;\">\ud83c\udfe0 Habitations et b\u00e2timents \u2014 r\u00e9glementation thermique<\/h3>\r\n    <p class=\"mp-body\">Pour les b\u00e2timents r\u00e9sidentiels et tertiaires construits en Espagne, la r\u00e9glementation <a href=\"https:\/\/www.codigotecnico.org\/pdf\/Documentos\/HE\/DBHE.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">CTE DB-HE1 (D\u00e9cret Royal 450\/2022)<\/a> fixe des coefficients U maximum par zone climatique. \u00c0 titre indicatif, les zones c\u00f4ti\u00e8res du sud et de l'est n\u00e9cessitent moins d'isolation, tandis que l'int\u00e9rieur, le nord et les zones de montagne requi\u00e8rent une plus grande \u00e9paisseur en toiture comme en fa\u00e7ade. Le calculateur attribue automatiquement la zone climatique \u00e0 la s\u00e9lection de la province. Pour la construction modulaire, consultez le <a href=\"https:\/\/magon.es\/productos\/panel-sandwich-modular\/\" target=\"_blank\" rel=\"noopener noreferrer\">panneau modulaire Master-Modul<\/a>.<\/p>\r\n    <div class=\"mp-esp-table-wrap\">\r\n      <table class=\"mp-esp-table\">\r\n        <thead><tr><th>Zone CTE<\/th><th>Toiture (approx.)<\/th><th>Fa\u00e7ade (approx.)<\/th><th>U max. r\u00e9f\u00e9rence<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>Zone \u03b1 \/ A \u2014 Canaries, Andalousie<\/td><td class=\"esp-rec\">\u2248 40\u201350 mm<\/td><td class=\"esp-rec\">\u2248 40 mm<\/td><td style=\"color:var(--mid);font-size:12px\">0,73 \/ 0,62 W\/m\u00b2K<\/td><\/tr>\r\n          <tr><td>Zone B \u2014 Levant, Bal\u00e9ares<\/td><td class=\"esp-rec\">\u2248 50\u201360 mm<\/td><td class=\"esp-rec\">\u2248 50 mm<\/td><td style=\"color:var(--mid);font-size:12px\">0,52 \/ 0,44 W\/m\u00b2K<\/td><\/tr>\r\n          <tr><td>Zone C \u2014 Madrid, Barcelone, Tol\u00e8de<\/td><td class=\"esp-rec\">\u2248 60\u201380 mm<\/td><td class=\"esp-rec\">\u2248 60 mm<\/td><td style=\"color:var(--mid);font-size:12px\">0,41 \/ 0,35 W\/m\u00b2K<\/td><\/tr>\r\n          <tr><td>Zone D \u2014 Castille, Navarre, La Rioja<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><td style=\"color:var(--mid);font-size:12px\">0,38 \/ 0,32 W\/m\u00b2K<\/td><\/tr>\r\n          <tr><td>Zone E \u2014 \u00c1vila, Soria, zones de montagne<\/td><td class=\"esp-rec\">\u2248 80\u2013100 mm<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><td style=\"color:var(--mid);font-size:12px\">0,35 \/ 0,29 W\/m\u00b2K<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n    <p class=\"mp-body\" style=\"font-size:12px;color:var(--mid);margin-top:8px;\">* Valeurs approximatives bas\u00e9es sur les \u00e9paisseurs du catalogue disponible. L'\u00e9paisseur concr\u00e8te d\u00e9pend du panneau choisi et de ses caract\u00e9ristiques certifi\u00e9es selon EN14509.<\/p>\r\n\r\n    <h3 style=\"font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--dk);margin:32px 0 10px;letter-spacing:-.01em;\">\u2744\ufe0f Chambres froides<\/h3>\r\n    <p class=\"mp-body\">Les chambres froides ne sont pas r\u00e9gies par le CTE mais par le gradient de temp\u00e9rature entre l'int\u00e9rieur et l'environnement ext\u00e9rieur : plus le diff\u00e9rentiel thermique est grand, plus l'\u00e9paisseur n\u00e9cessaire sera importante. Le <a href=\"https:\/\/magon.es\/productos\/panel-sandwich-frigorifico\/\" target=\"_blank\" rel=\"noopener noreferrer\">panneau frigorifique Master-Frigo<\/a> est certifi\u00e9 sp\u00e9cifiquement pour cet usage avec des mousses haute densit\u00e9 et des jonctions herm\u00e9tiques qui \u00e9vitent les ponts thermiques. Confirmez toujours l'\u00e9paisseur finale avec notre \u00e9quipe technique.<\/p>\r\n    <div class=\"mp-esp-table-wrap\">\r\n      <table class=\"mp-esp-table\">\r\n        <thead><tr><th>Type de chambre<\/th><th>Temp. int\u00e9rieure approx.<\/th><th>Mur (approx.)<\/th><th>Plafond (approx.)<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>Conservation positive<\/td><td>0\u00b0C \u00e0 +8\u00b0C<\/td><td class=\"esp-rec\">\u2248 60 mm<\/td><td class=\"esp-rec\">\u2248 60 mm<\/td><\/tr>\r\n          <tr><td>Conservation n\u00e9gative<\/td><td>\u22124\u00b0C \u00e0 \u221210\u00b0C<\/td><td class=\"esp-rec\">\u2248 80 mm<\/td><td class=\"esp-rec\">\u2248 100 mm<\/td><\/tr>\r\n          <tr><td>Cong\u00e9lation<\/td><td>\u221210\u00b0C \u00e0 \u221225\u00b0C<\/td><td class=\"esp-rec\">\u2248 100\u2013120 mm<\/td><td class=\"esp-rec\">\u2248 100\u2013120 mm<\/td><\/tr>\r\n          <tr><td>Surg\u00e9lation \/ rafale<\/td><td>\u221226\u00b0C \u00e0 \u221246\u00b0C<\/td><td class=\"esp-rec\">\u2248 150 mm<\/td><td class=\"esp-rec\">\u2248 150 mm<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n    <p class=\"mp-body\" style=\"font-size:12px;color:var(--mid);margin-top:8px;\">* Valeurs approximatives selon la fiche technique Master-Frigo. Consultez toujours un ing\u00e9nieur sp\u00e9cialis\u00e9 pour confirmer l'\u00e9paisseur finale de votre projet.<\/p>\r\n    <p class=\"mp-body\" style=\"margin-top:14px;\">Des doutes sur quel panneau convient le mieux \u00e0 votre projet ? Consultez le <a href=\"https:\/\/magon.es\/masterpanel-fabricantes-panel-sandwich\/\" target=\"_blank\" rel=\"noopener noreferrer\">catalogue complet des panneaux Masterpanel<\/a> ou utilisez le calculateur ci-dessus pour obtenir l'\u00e9paisseur exacte avec le coefficient U certifi\u00e9.<\/p>\r\n  <\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 QU\u00c9 ES LA TRANSMITANCIA U \u2550\u2550\u2550 -->\r\n<section class=\"mp-content-section\" id=\"que-es-transmitancia-termica\">\r\n  <div class=\"mp-land-inner\">\r\n    <div>\r\n      <div class=\"mp-section-tag\">Concepts techniques<\/div>\r\n      <h2 class=\"mp-section-h2\">Qu'est-ce que le <em>coefficient U (transmittance thermique)<\/em> et pourquoi d\u00e9termine-t-il l'\u00e9paisseur du panneau ?<\/h2>\r\n      <p class=\"mp-body\">Le <strong>coefficient U (transmittance thermique)<\/strong> mesure la quantit\u00e9 de chaleur traversant un panneau sandwich par m\u00e8tre carr\u00e9 pour chaque degr\u00e9 de diff\u00e9rence de temp\u00e9rature entre l'int\u00e9rieur et l'ext\u00e9rieur, exprim\u00e9 en <strong>W\/m\u00b2K<\/strong>. Plus la valeur U est basse, meilleure est l'isolation thermique du panneau.<\/p>\r\n      <p class=\"mp-body\">La <a href=\"https:\/\/www.codigotecnico.org\/pdf\/Documentos\/HE\/DBHE.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">r\u00e9glementation espagnole <strong>CTE DB-HE1<\/strong><\/a> fixe des valeurs U maximales selon la zone climatique et l'\u00e9l\u00e9ment constructif. El c\u00e1lculo sigue la norma <a href=\"https:\/\/www.une.org\/encuentra-tu-norma\/busca-tu-norma\/norma\/?c=N0050491\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>EN ISO 6946<\/strong><\/a> con datos certificados <a href=\"https:\/\/www.une.org\/encuentra-tu-norma\/busca-tu-norma\/norma\/?c=N0051040\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>EN14509<\/strong><\/a>:<\/p>\r\n      <div class=\"mp-formula\">\r\n        <code>U = 1 \/ (Rsi + e\/\u03bb + Rse)<\/code>\r\n        <ul>\r\n          <li><strong>Rsi = 0,13 m\u00b2K\/W<\/strong> \u2014 r\u00e9sistance superficielle int\u00e9rieure<\/li>\r\n          <li><strong>Rse = 0,04 m\u00b2K\/W<\/strong> \u2014 r\u00e9sistance superficielle ext\u00e9rieure<\/li>\r\n          <li><strong>e<\/strong> \u2014 \u00e9paisseur du noyau en m\u00e8tres<\/li>\r\n          <li><strong>\u03bb = 0,021 W\/mK<\/strong> \u2014 conductivit\u00e9 thermique du polyur\u00e9thane PUR Masterpanel<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n      <p class=\"mp-body\">Avec cette formule, un <strong>panneau de 80 mm<\/strong> obtient U = 0,26 W\/m\u00b2K, suffisant pour respecter la norme CTE dans toutes les zones climatiques d'Espagne pour l'\u00e9l\u00e9ment toiture.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 ZONAS CTE \u2550\u2550\u2550 -->\r\n<section class=\"mp-content-section alt\" id=\"zonas-climaticas-cte-espana\">\r\n  <div class=\"mp-land-inner\">\r\n    <div class=\"mp-section-tag\">Norme CTE DB-HE1 2022<\/div>\r\n    <h2 class=\"mp-section-h2\">Zones climatiques CTE en Espagne : <em>valeurs U maximales par province<\/em><\/h2>\r\n    <p class=\"mp-section-lead\">Le CTE DB-HE1 (D\u00e9cret Royal 450\/2022) classe l'Espagne en 6 zones climatiques. Le calculateur attribue automatiquement la zone \u00e0 la s\u00e9lection de la province.<\/p>\r\n    <div class=\"mp-zonas-grid\">\r\n      <div class=\"mp-zona-card\"><div class=\"mp-zona-letter\">\u03b1<\/div><div class=\"mp-zona-name\">\u00celes Canaries, c\u00f4te sud<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,94 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,80 W\/m\u00b2K<\/span><\/div><\/div>\r\n      <div class=\"mp-zona-card\"><div class=\"mp-zona-letter\">A<\/div><div class=\"mp-zona-name\">Almer\u00eda, C\u00e1diz, M\u00e1laga, Sevilla<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,73 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,62 W\/m\u00b2K<\/span><\/div><\/div>\r\n      <div class=\"mp-zona-card\"><div class=\"mp-zona-letter\">B<\/div><div class=\"mp-zona-name\">Alicante, Murcie, Valence, Bal\u00e9ares<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,52 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,44 W\/m\u00b2K<\/span><\/div><\/div>\r\n      <div class=\"mp-zona-card\" style=\"border-top-color:var(--or);background:#fffcf0;\"><div class=\"mp-zona-letter\">C<\/div><div class=\"mp-zona-name\">Barcelona, Madrid, Toledo, Badajoz<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,41 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,35 W\/m\u00b2K<\/span><\/div><\/div>\r\n      <div class=\"mp-zona-card\"><div class=\"mp-zona-letter\">D<\/div><div class=\"mp-zona-name\">Burgos, Salamanque, Valladolid, Navarre<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,38 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,32 W\/m\u00b2K<\/span><\/div><\/div>\r\n      <div class=\"mp-zona-card\"><div class=\"mp-zona-letter\">E<\/div><div class=\"mp-zona-name\">\u00c1vila, S\u00e9govie, Soria, zones de montagne<\/div><div class=\"mp-zona-vals\"><span>Cubierta: U \u2264 0,35 W\/m\u00b2K<\/span><span>Fachada: U \u2264 0,29 W\/m\u00b2K<\/span><\/div><\/div>\r\n    <\/div>\r\n    <p style=\"font-size:12px;color:var(--mid);margin-top:16px;\">Source : <a href=\"https:\/\/www.codigotecnico.org\/pdf\/Documentos\/HE\/DBHE.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:var(--or);font-weight:600;\">CTE DB-HE1 (D\u00e9cret Royal 450\/2022)<\/a>. Valeurs U maximales admissibles pour toitures et fa\u00e7ades en construction neuve. <a href=\"https:\/\/www.codigotecnico.org\/Programas\/AplicacionZonasClimaticas.html\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:var(--or);font-weight:600;\">Consulter la zone climatique de votre municipalit\u00e9 \u2192<\/a><\/p>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 TABLA CTE \u2550\u2550\u2550 -->\r\n<section class=\"mp-content-section\" id=\"transmitancia-u-cte-cubiertas-fachadas\">\r\n  <div class=\"mp-land-inner\">\r\n    <div>\r\n      <div class=\"mp-section-tag\">R\u00e9glementation en vigueur<\/div>\r\n      <h2 class=\"mp-section-h2\">Quel <em>coefficient U<\/em> exige le CTE pour les toitures et fa\u00e7ades ?<\/h2>\r\n      <p class=\"mp-body\">Le <strong>Code Technique de la Construction espagnol (CTE) \u2014 Document de Base HE1<\/strong>, dans sa r\u00e9vision du <a href=\"https:\/\/www.codigotecnico.org\/pdf\/Documentos\/HE\/DBHE.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">D\u00e9cret Royal 450\/2022<\/a>, fixe les valeurs maximales de coefficient U admissibles pour les \u00e9l\u00e9ments de l'enveloppe dans les b\u00e2timents neufs et les grandes r\u00e9novations.<\/p>\r\n      <div style=\"overflow-x:auto;margin:18px 0;-webkit-overflow-scrolling:touch;\">\r\n        <table class=\"cte-u-table\">\r\n          <thead>\r\n            <tr>\r\n              <th class=\"cte-th cte-th--left\">Zone CTE<\/th>\r\n              <th class=\"cte-th cte-th--center\">Toiture U max.<\/th>\r\n              <th class=\"cte-th cte-th--center\">Fa\u00e7ade U max.<\/th>\r\n              <th class=\"cte-th cte-th--left\">Provinces repr\u00e9sentatives<\/th>\r\n            <\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr class=\"cte-tr cte-tr--odd\"><td class=\"cte-td cte-td--zona cte-td--or\">\u03b1<\/td><td class=\"cte-td cte-td--center\">0,94 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center\">0,80 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">\u00celes Canaries, c\u00f4te sud<\/td><\/tr>\r\n            <tr class=\"cte-tr cte-tr--even\"><td class=\"cte-td cte-td--zona\">A<\/td><td class=\"cte-td cte-td--center\">0,73 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center\">0,62 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">Almer\u00eda, C\u00e1diz, M\u00e1laga, Sevilla<\/td><\/tr>\r\n            <tr class=\"cte-tr cte-tr--odd\"><td class=\"cte-td cte-td--zona\">B<\/td><td class=\"cte-td cte-td--center\">0,52 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center\">0,44 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">Alicante, Murcie, Valence, Bal\u00e9ares<\/td><\/tr>\r\n            <tr class=\"cte-tr cte-tr--highlight\"><td class=\"cte-td cte-td--zona cte-td--or\">C<\/td><td class=\"cte-td cte-td--center cte-td--bold\">0,41 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center cte-td--bold\">0,35 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">Barcelona, Madrid, Toledo, Badajoz<\/td><\/tr>\r\n            <tr class=\"cte-tr cte-tr--odd\"><td class=\"cte-td cte-td--zona\">D<\/td><td class=\"cte-td cte-td--center\">0,38 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center\">0,32 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">Burgos, Salamanque, Valladolid, Navarre<\/td><\/tr>\r\n            <tr class=\"cte-tr cte-tr--even cte-tr--last\"><td class=\"cte-td cte-td--zona\">E<\/td><td class=\"cte-td cte-td--center\">0,35 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--center\">0,29 W\/m\u00b2K<\/td><td class=\"cte-td cte-td--prov\">\u00c1vila, S\u00e9govie, Soria, zones de montagne<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n      <p class=\"mp-body\"><strong>Comment conna\u00eetre la zone climatique de votre municipalit\u00e9 ?<\/strong> Le <a href=\"https:\/\/www.codigotecnico.org\/Programas\/AplicacionZonasClimaticas.html\" target=\"_blank\" rel=\"noopener noreferrer\">moteur de recherche des zones climatiques CTE<\/a> permet de consulter directement la zone attribu\u00e9e \u00e0 toute municipalit\u00e9 d'Espagne.<\/p>\r\n      <div style=\"background:var(--ibg);border:1px solid var(--ibrd);border-radius:var(--rl);padding:1rem 1.4rem;margin-top:18px;\">\r\n        <p style=\"font-size:12px;color:var(--info);margin:0;font-weight:600;\">\ud83d\udccc Note : Les valeurs du tableau correspondent au CTE DB-HE1 en vigueur (D\u00e9cret Royal 450\/2022). Consultez toujours le texte officiel consolid\u00e9 sur <a href=\"https:\/\/www.codigotecnico.org\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:var(--info);\">codigotecnico.org<\/a> avant de r\u00e9diger tout projet technique.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 FAQ \u2550\u2550\u2550 -->\r\n<section class=\"mp-content-section\" id=\"preguntas-frecuentes-aislamiento-panel-sandwich\">\r\n  <div class=\"mp-land-inner\">\r\n    <div>\r\n      <div class=\"mp-section-tag\">Foire aux questions<\/div>\r\n      <h2 class=\"mp-section-h2\">Questions fr\u00e9quentes sur <em>l'isolation thermique avec panneaux sandwich<\/em><\/h2>\r\n      <div style=\"margin-top:28px;\">\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Quelle \u00e9paisseur de panneau sandwich faut-il pour mon b\u00e2timent industriel ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">Cela d\u00e9pend de la diff\u00e9rence de temp\u00e9rature et du type de syst\u00e8me de chauffage\/climatisation. Para naves sin climatizaci\u00f3n con \u0394T de 20\u00b0C se un panneau de 40-50 mm avec U \u2264 0,55 W\/m\u00b2K est recommand\u00e9. Para naves climatizadas con control preciso de temperatura 60-80 mm avec U \u2264 0,35 W\/m\u00b2K est recommand\u00e9. Utilisez le calculateur pour obtenir l'\u00e9paisseur exacte.<\/div>\r\n        <\/div>\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Quelle est l'\u00e9paisseur minimale de panneau pour une chambre froide ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">L'\u00e9paisseur varie selon la temp\u00e9rature : conservation (0\u00b0C \u00e0 +8\u00b0C) \u2192 60 mm ; cong\u00e9lation (-18\u00b0C \u00e0 -25\u00b0C) \u2192 100 mm ; surg\u00e9lation (-26\u00b0C \u00e0 -46\u00b0C) \u2192 120-150 mm. Valores para Master-Frigo con \u03bb = 0,021 W\/mK seg\u00fan ficha t\u00e9cnica oficial.<\/div>\r\n        <\/div>\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Comment calcule-t-on le coefficient U d'un panneau sandwich ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">Selon EN ISO 6946 : U = 1 \/ (Rsi + e\/\u03bb + Rse). Avec Rsi = 0,13 m\u00b2K\/W, Rse = 0,04 m\u00b2K\/W, e en m\u00e8tres et \u03bb = 0,021 W\/mK (PUR Masterpanel). Les valeurs certifi\u00e9es EN14509 sont celles utilis\u00e9es par ce calculateur.<\/div>\r\n        <\/div>\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Quel coefficient U maximum exige le CTE pour les toitures et fa\u00e7ades ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">Selon le CTE DB-HE1 (version 2022) : Zone \u03b1 \u2192 0,94\/0,80 ; Zone A \u2192 0,73\/0,62 ; Zone B \u2192 0,52\/0,44 ; Zone C (Madrid, Tol\u00e8de) \u2192 0,41\/0,35 ; Zone D \u2192 0,38\/0,32 ; Zone E \u2192 0,35\/0,29 W\/m\u00b2K (toiture\/fa\u00e7ade). Le calculateur attribue votre zone \u00e0 la s\u00e9lection de la province.<\/div>\r\n        <\/div>\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Le rapport PDF du calculateur a-t-il une validit\u00e9 technique officielle ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">Le rapport est indicatif et non contraignant. Les calculs sont bas\u00e9s sur EN ISO 6946 et les valeurs certifi\u00e9es EN14509, mais ne remplacent pas un projet technique sign\u00e9 par un professionnel qualifi\u00e9 (architecte ou ing\u00e9nieur).<\/div>\r\n        <\/div>\r\n        <div class=\"mp-faq-item\">\r\n          <button class=\"mp-faq-q\" onclick=\"mpFaq(this)\" aria-expanded=\"false\">Les panneaux sandwich ont-ils une r\u00e9sistance au feu ?<span class=\"mp-faq-icon\">+<\/span><\/button>\r\n          <div class=\"mp-faq-a\">Oui. Les panneaux sandwich Masterpanel avec noyau PUR\/PIR peuvent atteindre les classements REI-30 et REI-60 selon l'\u00e9paisseur et la configuration des t\u00f4les. La norme applicable est <strong>EN 13501-1<\/strong> et le <strong>CTE DB-SI<\/strong>.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 PIE DE P\u00c1GINA \u2550\u2550\u2550 -->\r\n<footer class=\"mp-footer\" role=\"contentinfo\">\r\n  <div class=\"mp-footer-inner\">\r\n    <span class=\"mp-footer-copy\">\u00a9 2026 Mag\u00f3n Empresas. Tous droits r\u00e9serv\u00e9s.<\/span>\r\n    <nav class=\"mp-footer-links\" aria-label=\"Legal\">\r\n      <a href=\"https:\/\/magon.es\/aviso-legal\/\" target=\"_blank\" rel=\"noopener\">Mentions l\u00e9gales<\/a>\r\n      <a href=\"https:\/\/magon.es\/politica-privacidad\/\" target=\"_blank\" rel=\"noopener\">Politique de confidentialit\u00e9<\/a>\r\n      <a href=\"https:\/\/magon.es\/politica-cookies\/\" target=\"_blank\" rel=\"noopener\">Politique de cookies<\/a>\r\n    <\/nav>\r\n  <\/div>\r\n<\/footer>\r\n\r\n<\/div><!-- \/.mp-land -->\r\n\r\n<div id=\"ctx-msg\">\ud83d\ude04 Bel essai \u2014 \u00a9 Master Panel, S.L. Tous droits r\u00e9serv\u00e9s<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 MODAL FORMULARIO \u2550\u2550\u2550 -->\r\n<div class=\"modal-bg hidden\" id=\"modal\">\r\n  <div class=\"modal\">\r\n    <div class=\"modal-header\">\r\n      <button class=\"modal-close\" onclick=\"cerrarModal()\" aria-label=\"Cerrar\">\u2715<\/button>\r\n      <h2>\ud83d\udcc4 T\u00e9l\u00e9chargez votre rapport PDF<\/h2>\r\n      <p class=\"modal-sub\">Remplissez vos coordonn\u00e9es et vous recevrez le rapport de votre calcul thermique. Le t\u00e9l\u00e9chargement d\u00e9marre automatiquement \u00e0 l'envoi.<\/p>\r\n    <\/div>\r\n    <div id=\"modal-form-wrap\">\r\n      <div class=\"modal-body\">\r\n\r\n        <div class=\"mfield\">\r\n          <label>Nom complet <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" id=\"m-nombre\" placeholder=\"Votre nom et pr\u00e9nom\" maxlength=\"100\" autocomplete=\"name\">\r\n          <span class=\"m-err-txt\" id=\"err-nombre\">Veuillez entrer votre nom.<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"mfield\">\r\n          <label>T\u00e9l\u00e9phone <span class=\"opt-tag\">Optionnel<\/span><\/label>\r\n          <input type=\"tel\" id=\"m-telefono\" placeholder=\"+33 6 00 00 00 00\" maxlength=\"20\" autocomplete=\"tel\">\r\n          <span class=\"m-err-txt\" id=\"err-telefono\">Format invalide.<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"mfield\">\r\n          <label>Adresse e-mail <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"email\" id=\"m-email\" placeholder=\"vous@email.com\" maxlength=\"150\" autocomplete=\"email\">\r\n          <span class=\"m-err-txt\" id=\"err-email\">Veuillez entrer un e-mail valide.<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"mfield\">\r\n          <label>Entreprise <span class=\"opt-tag\">Optionnel<\/span><\/label>\r\n          <input type=\"text\" id=\"m-empresa\" placeholder=\"Nom de votre entreprise\" maxlength=\"120\" autocomplete=\"organization\">\r\n        <\/div>\r\n\r\n        <!-- Pa\u00eds: obligatorio, todos los pa\u00edses del shortcode CF7 -->\r\n        <div class=\"mfield\">\r\n          <label>Pays <span class=\"req\">*<\/span><\/label>\r\n          <select id=\"m-pais\" onchange=\"onModalPaisChange()\">\r\n            <option value=\"\">\u2014 S\u00e9lectionnez votre pays \u2014<\/option>\r\n            <optgroup label=\"Espa\u00f1a\"><option value=\"Espa\u00f1a\">Espa\u00f1a<\/option><\/optgroup>\r\n            <optgroup label=\"Europa\">\r\n              <option>Alemania<\/option><option>Andorra<\/option><option>Austria<\/option>\r\n              <option>B\u00e9lgica<\/option><option>Bulgaria<\/option><option>Chipre<\/option>\r\n              <option>Croacia<\/option><option>Dinamarca<\/option><option>Eslovaquia<\/option>\r\n              <option>Eslovenia<\/option><option>Estonia<\/option><option>Finlandia<\/option>\r\n              <option>Francia<\/option><option>Grecia<\/option><option>Hungr\u00eda<\/option>\r\n              <option>Irlanda<\/option><option>Islandia<\/option><option>Italia<\/option>\r\n              <option>Letonia<\/option><option>Liechtenstein<\/option><option>Lituania<\/option>\r\n              <option>Luxemburgo<\/option><option>Malta<\/option><option>M\u00f3naco<\/option>\r\n              <option>Noruega<\/option><option>Pa\u00edses Bajos<\/option><option>Polonia<\/option>\r\n              <option>Portugal<\/option><option>Reino Unido<\/option><option>Rep\u00fablica Checa<\/option>\r\n              <option>Ruman\u00eda<\/option><option>Suecia<\/option><option>Suiza<\/option>\r\n              <option>Turqu\u00eda<\/option><option>Ucrania<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"Am\u00e9rica Latina\">\r\n              <option>Argentina<\/option><option>Bolivia<\/option><option>Brasil<\/option>\r\n              <option>Chile<\/option><option>Colombia<\/option><option>Costa Rica<\/option>\r\n              <option>Cuba<\/option><option>Ecuador<\/option><option>El Salvador<\/option>\r\n              <option>Guatemala<\/option><option>Honduras<\/option><option>M\u00e9xico<\/option>\r\n              <option>Nicaragua<\/option><option>Panam\u00e1<\/option><option>Paraguay<\/option>\r\n              <option>Per\u00fa<\/option><option>Puerto Rico<\/option><option>Rep\u00fablica Dominicana<\/option>\r\n              <option>Uruguay<\/option><option>Venezuela<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"\u00c1frica\">\r\n              <option>Angola<\/option><option>Argelia<\/option><option>Cabo Verde<\/option>\r\n              <option>Camer\u00fan<\/option><option>Costa de Marfil<\/option><option>Egipto<\/option>\r\n              <option>Ghana<\/option><option>Guinea Ecuatorial<\/option><option>Kenia<\/option>\r\n              <option>Libia<\/option><option>Marruecos<\/option><option>Mozambique<\/option>\r\n              <option>Nigeria<\/option><option>Senegal<\/option><option>Sud\u00e1frica<\/option>\r\n              <option>T\u00fanez<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"Am\u00e9rica del Norte\">\r\n              <option>Canad\u00e1<\/option><option>Estados Unidos<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"Oriente Medio\">\r\n              <option>Arabia Saud\u00ed<\/option><option>Catar<\/option>\r\n              <option>Emiratos \u00c1rabes Unidos<\/option><option>Israel<\/option>\r\n              <option>Jordania<\/option><option>Kuwait<\/option><option>L\u00edbano<\/option>\r\n              <option>Om\u00e1n<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"Asia y Ocean\u00eda\">\r\n              <option>Australia<\/option><option>China<\/option><option>Filipinas<\/option>\r\n              <option>India<\/option><option>Indonesia<\/option><option>Jap\u00f3n<\/option>\r\n              <option>Malasia<\/option><option>Nueva Zelanda<\/option><option>Singapur<\/option>\r\n              <option>Corea del Sur<\/option><option>Tailandia<\/option><option>Vietnam<\/option>\r\n            <\/optgroup>\r\n            <option value=\"Otro\">Otro<\/option>\r\n          <\/select>\r\n          <span class=\"m-err-txt\" id=\"err-pais\">Veuillez s\u00e9lectionner votre pays.<\/span>\r\n        <\/div>\r\n\r\n        <!-- Provincia: solo aparece si elige Espa\u00f1a -->\r\n        <div class=\"mfield modal-prov-wrap\" id=\"m-prov-wrap\">\r\n          <label>Province<\/label>\r\n          <select id=\"m-provincia\">\r\n            <option value=\"\">\u2014 S\u00e9lectionner une province \u2014<\/option>\r\n            <option>\u00c1lava<\/option><option>Albacete<\/option><option>Alicante<\/option>\r\n            <option>Almer\u00eda<\/option><option>Asturias<\/option><option>\u00c1vila<\/option>\r\n            <option>Badajoz<\/option><option>Baleares<\/option><option>Barcelona<\/option>\r\n            <option>Burgos<\/option><option>C\u00e1ceres<\/option><option>C\u00e1diz<\/option>\r\n            <option>Cantabria<\/option><option>Castell\u00f3n<\/option><option>Ceuta<\/option>\r\n            <option>Ciudad Real<\/option><option>C\u00f3rdoba<\/option><option>A Coru\u00f1a<\/option>\r\n            <option>Cuenca<\/option><option>Girona<\/option><option>Granada<\/option>\r\n            <option>Guadalajara<\/option><option>Guip\u00fazcoa<\/option><option>Huelva<\/option>\r\n            <option>Huesca<\/option><option>Ja\u00e9n<\/option><option>La Rioja<\/option>\r\n            <option>Las Palmas<\/option><option>Le\u00f3n<\/option><option>Lleida<\/option>\r\n            <option>Lugo<\/option><option>Madrid<\/option><option>M\u00e1laga<\/option>\r\n            <option>Melilla<\/option><option>Murcia<\/option><option>Navarra<\/option>\r\n            <option>Ourense<\/option><option>Palencia<\/option><option>Pontevedra<\/option>\r\n            <option>Salamanca<\/option><option>Santa Cruz de Tenerife<\/option>\r\n            <option>Segovia<\/option><option>Sevilla<\/option><option>Soria<\/option>\r\n            <option>Tarragona<\/option><option>Teruel<\/option><option>Toledo<\/option>\r\n            <option>Valencia<\/option><option>Valladolid<\/option><option>Vizcaya<\/option>\r\n            <option>Zamora<\/option><option>Zaragoza<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"gdpr-row\">\r\n          <input type=\"checkbox\" id=\"m-gdpr\">\r\n          <label for=\"m-gdpr\">J'ai lu et j'accepte la <a href=\"https:\/\/magon.es\/politica-privacidad\/\" target=\"_blank\">politique de confidentialit\u00e9<\/a> <span style=\"color:var(--or);font-weight:700\">*<\/span><\/label>\r\n        <\/div>\r\n        <div class=\"gdpr-err\" id=\"err-gdpr\">Vous devez accepter la politique de confidentialit\u00e9.<\/div>\r\n\r\n        <button class=\"modal-submit\" id=\"modal-submit-btn\" onclick=\"enviarFormulario()\">\r\n          <span class=\"btn-txt\">T\u00e9l\u00e9charger le PDF maintenant<\/span>\r\n          <div class=\"spinner\"><\/div>\r\n        <\/button>\r\n\r\n        <p class=\"modal-legal\">Donn\u00e9es prot\u00e9g\u00e9es \u00b7 Nous ne partageons pas vos informations \u00b7 <a href=\"https:\/\/magon.es\/politica-privacidad\/\" target=\"_blank\">Politique de confidentialit\u00e9<\/a>.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"modal-ok hidden\" id=\"modal-ok\">\r\n      <span class=\"ok-icon\">\u2705<\/span>\r\n      <h3>PDF t\u00e9l\u00e9charg\u00e9 avec succ\u00e8s !<\/h3>\r\n      <div class=\"ok-detail\" id=\"modal-ok-detail\"><\/div>\r\n      <p>Notre \u00e9quipe technique peut vous contacter pour vous conseiller sans engagement.<\/p>\r\n      <button class=\"ok-close-btn\" onclick=\"cerrarModal()\">Fermer<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!--\r\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n  SHORTCODE CF7 PARA WORDPRESS\r\n  [contact-form-7 id=\"6380ecc\" title=\"Formulario calculadora aislamiento\"]\r\n  ID formulario: 14949 \u00b7 ID p\u00e1gina: 14938\r\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\r\n  PLANTILLA CF7 (campo \"Formulario\"):\r\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  [text* nombre placeholder \"Tu nombre y apellidos\"]\r\n  [tel* telefono placeholder \"+34 600 000 000\"]\r\n  [email* email placeholder \"tu@correo.com\"]\r\n  [text empresa placeholder \"Nombre de empresa (opcional)\"]\r\n  [text pais placeholder \"Pa\u00eds\"]\r\n  [text provincia placeholder \"Provincia\"]\r\n  [text tipo_panel placeholder \"Panel seleccionado\"]\r\n  [text espesor placeholder \"Espesor recomendado\"]\r\n  [text m2 placeholder \"Superficie en m\u00b2\"]\r\n  [textarea datos_calculo placeholder \"Datos del c\u00e1lculo\"]\r\n  [acceptance* gdpr-14949] He le\u00eddo y acepto la pol\u00edtica de privacidad\r\n  [submit \"Enviar\"]\r\n\r\n  NOTA SOBRE EL CAMPO GDPR:\r\n  El nombre del campo acceptance debe ser \"gdpr-{ID}\" donde {ID} es el ID del\r\n  formulario (14949). Por eso en el fetch enviamos 'gdpr-14949': 'on'.\r\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n-->\r\n\r\n<script>\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 DATOS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nconst PANELES = {\r\n  masterc:{name:'Master-C',tag:'Panneau toiture',desc:'Toitures industrielles, modulaires et commerciales.',\r\n    datos:[[30,9.61,0.67,1.50],[40,10.00,0.51,1.95],[50,10.39,0.41,2.42],\r\n           [60,10.78,0.35,2.90],[80,11.56,0.26,3.85],[100,12.34,0.21,4.80],[120,13.12,0.17,5.74]]},\r\n  masterf:{name:'Master-F',tag:'Panneau fa\u00e7ade',desc:'Fa\u00e7ades industrielles, commerciales et r\u00e9sidentielles.',\r\n    datos:[[35,9.08,0.62,1.62],[40,9.28,0.54,1.86],[50,9.67,0.43,2.34],\r\n           [60,10.06,0.35,2.85],[80,10.84,0.26,3.80],[100,11.62,0.21,4.76]]},\r\n  frigo:{name:'Master-Frigo',tag:'Panneau frigorifique',desc:'Chambres froides, industrie agroalimentaire.',\r\n    datos:[[60,9.94,0.36,2.76],[80,10.72,0.27,3.75],[100,11.50,0.21,4.71],\r\n           [120,12.28,0.18,5.67],[150,13.45,0.14,7.09]]},\r\n  modul:{name:'Master-Modul',tag:'Panneau modulaire',desc:'Constructions modulaires et pr\u00e9fabriqu\u00e9es. Murs uniquement.',\r\n    datos:[[35,8.96,0.66,1.53],[40,9.16,0.57,1.76],[50,9.55,0.45,2.24]]}\r\n};\r\nconst PROVINCIAS_CTE = {\r\n  'Almer\u00eda':'A','C\u00e1diz':'A','Huelva':'A','M\u00e1laga':'A','Sevilla':'A','Ceuta':'A','Melilla':'A',\r\n  'Alicante':'B','Baleares':'B','Murcia':'B','Valencia':'B','Castell\u00f3n':'B','Tarragona':'B',\r\n  'Barcelona':'C','Girona':'C','A Coru\u00f1a':'C','Asturias':'C','Cantabria':'C','Ourense':'C',\r\n  'Pontevedra':'C','Vizcaya':'C','Toledo':'C','Badajoz':'C','C\u00e1ceres':'C','C\u00f3rdoba':'C','Granada':'C','Ja\u00e9n':'C',\r\n  'Lugo':'D','\u00c1lava':'D','Guip\u00fazcoa':'D','La Rioja':'D','Navarra':'D','Albacete':'D',\r\n  'Ciudad Real':'D','Cuenca':'D','Guadalajara':'D','Palencia':'D','Salamanca':'D',\r\n  'Valladolid':'D','Zamora':'D','Madrid':'D','Lleida':'D','Huesca':'D','Teruel':'D','Zaragoza':'D',\r\n  '\u00c1vila':'E','Burgos':'E','Le\u00f3n':'E','Segovia':'E','Soria':'E',\r\n  'Las Palmas':'\u03b1','Santa Cruz de Tenerife':'\u03b1'\r\n};\r\nconst CTE_U = {\r\n  '\u03b1':{cubierta:0.94,fachada:0.80,suelo:0.90},'A':{cubierta:0.73,fachada:0.62,suelo:0.68},\r\n  'B':{cubierta:0.52,fachada:0.44,suelo:0.50},'C':{cubierta:0.41,fachada:0.35,suelo:0.37},\r\n  'D':{cubierta:0.38,fachada:0.32,suelo:0.34},'E':{cubierta:0.35,fachada:0.29,suelo:0.31}\r\n};\r\nconst CAMARA_U={conservacion:0.25,congelacion:0.20,ultracongelacion:0.15};\r\nconst CAMARA_LABEL={conservacion:'Conservation positive (0\u00b0C \u00e0 +8\u00b0C)',congelacion:'Cong\u00e9lation (-18\u00b0C \u00e0 -25\u00b0C)',ultracongelacion:'Surg\u00e9lation (-26\u00b0C \u00e0 -46\u00b0C)'};\r\nconst CLIM_FACTOR={si:1.0,parcial:0.80,no:0.55};\r\nconst CLIM_LABEL={si:'b\u00e2timent climatis\u00e9 (contr\u00f4le pr\u00e9cis)',parcial:'chauffage de base',no:'sans climatisation'};\r\n\r\nlet panelKey='frigo',tipo='nave',tipoCamera='conservacion',climNav='parcial';\r\nlet resultadoActual={};\r\n\r\nconst PRECIOS_BASE={\r\n  gas:{precio:0.043,label:'Gaz naturel tarif r\u00e9glement\u00e9 T1 2026',rend_default:90,live:false},\r\n  elec:{precio:0.18,label:'\u00c9lectricit\u00e9 \u00b7 chargement...',rend_default:100,live:true},\r\n  gasoil:{precio:0.095,label:'Fioul domestique \u00b7 prix indicatif',rend_default:85,live:false}\r\n};\r\nlet energiaKey='gas';\r\nlet preciosEnergia={...PRECIOS_BASE};\r\n\r\nasync function cargarPrecioElec(){\r\n  try{\r\n    const hoy=new Date().toISOString().split('T')[0];\r\n    const url=`https:\/\/apidatos.ree.es\/es\/datos\/mercados\/precios-mercados-tiempo-real?start_date=${hoy}T00:00&end_date=${hoy}T23:59&time_trunc=hour`;\r\n    const res=await fetch(url,{signal:AbortSignal.timeout(5000)});\r\n    if(!res.ok) throw new Error();\r\n    const data=await res.json();\r\n    const pvpc=data?.included?.find(i=>i.id==='600');\r\n    if(pvpc&&pvpc.attributes?.values?.length){\r\n      const vals=pvpc.attributes.values;\r\n      const media=vals.reduce((s,v)=>s+v.value,0)\/vals.length\/1000;\r\n      const pf=parseFloat((media*1.215).toFixed(4));\r\n      preciosEnergia.elec.precio=pf;\r\n      preciosEnergia.elec.label=`Electricidad PVPC hoy \u00b7 ${pf.toFixed(3)} \u20ac\/kWh \u00b7 REE`;\r\n      preciosEnergia.elec.live=true;\r\n      document.getElementById('ep-elec').textContent=pf.toFixed(3)+' \u20ac\/kWh';\r\n      if(energiaKey==='elec') actualizarStatusEnergia();\r\n      calcular(); return;\r\n    }throw new Error();\r\n  }catch{\r\n    preciosEnergia.elec.precio=0.175;\r\n    preciosEnergia.elec.label='Electricidad \u00b7 precio orientativo';\r\n    preciosEnergia.elec.live=false;\r\n    document.getElementById('ep-elec').textContent='~0,175 \u20ac\/kWh';\r\n    if(energiaKey==='elec') actualizarStatusEnergia();\r\n    calcular();\r\n  }\r\n}\r\n\r\nfunction setEnergia(e){energiaKey=e;['gas','elec','gasoil'].forEach(x=>document.getElementById('ebtn-'+x).classList.toggle('active',x===e));document.getElementById('ah-rend').value=preciosEnergia[e].rend_default;actualizarStatusEnergia();calcular();}\r\nfunction actualizarStatusEnergia(){const p=preciosEnergia[energiaKey];document.getElementById('precio-dot').className=p.live?'dot-live':'dot-fijo';document.getElementById('precio-status-txt').textContent=p.label;}\r\nfunction getPrecioEnergia(){return preciosEnergia[energiaKey].precio;}\r\n\r\nfunction poblarProvincias(){\r\n  const provs=Object.keys(PROVINCIAS_CTE).sort();\r\n  const sel=document.getElementById('viv-prov');\r\n  if(sel) provs.forEach(p=>{const o=document.createElement('option');o.value=p;o.textContent=p;sel.appendChild(o);});\r\n}\r\n\r\nfunction onPaisChange(){\r\n  const pais=document.getElementById('m-pais').value;\r\n  const provWrap=document.getElementById('m-prov-wrap');\r\n  provWrap.classList.toggle('show', pais==='Espa\u00f1a');\r\n}\r\n\r\nconst COMPAT={\r\n  masterc:{usos:['nave','vivienda'],default:'nave',warn:{camara:'Master-C est un panneau de toiture. Utilisez Master-Frigo pour les chambres froides.'},elemViv:['cubierta'],elemNote:'\u2b06 Master-C est un panneau de toiture. Applicable uniquement \u00e0 l\\'\u00e9l\u00e9ment \"Toiture\".'},\r\n  masterf:{usos:['nave','vivienda'],default:'nave',warn:{camara:'Master-F est un panneau de fa\u00e7ade. Utilisez Master-Frigo pour les chambres froides.'},elemViv:['fachada','suelo'],elemNote:'\u2b05 Master-F est un panneau de fa\u00e7ade. Pour la toiture, utilisez Master-C.'},\r\n  frigo:{usos:['camara'],default:'camara',warn:{nave:'Master-Frigo est un panneau de chambre froide. Pour les b\u00e2timents industriels, utilisez Master-C ou Master-F.',vivienda:'Master-Frigo n\\'est pas utilis\u00e9 dans les habitations. Utilisez Master-F ou Master-Modul.'},elemViv:[],elemNote:''},\r\n  modul:{usos:['vivienda','nave'],default:'vivienda',warn:{camara:'Master-Modul est pour la construction modulaire. Utilisez Master-Frigo pour les chambres froides.'},elemViv:['fachada','suelo'],elemNote:'\u2b05 Master-Modul est un panneau mural. Pour la toiture, utilisez Master-C.'}\r\n};\r\n\r\nfunction aplicarCompatibilidad(){\r\n  const c=COMPAT[panelKey];\r\n  const warnBox=document.getElementById('compat-warn');\r\n  const elemNote=document.getElementById('elem-note');\r\n  const elemSel=document.getElementById('viv-elem');\r\n  ['nave','camara','vivienda'].forEach(t=>document.getElementById('tbtn-'+t).classList.toggle('disabled',!c.usos.includes(t)));\r\n  if(!c.usos.includes(tipo)){\r\n    const warn=c.warn[tipo];tipo=c.default;\r\n    ['nave','camara','vivienda'].forEach(x=>{document.getElementById('card-'+x).classList.toggle('hidden',x!==tipo);document.getElementById('tbtn-'+x).classList.toggle('active',x===tipo);});\r\n    document.getElementById('frigo-recom').classList.toggle('hidden',tipo!=='camara');\r\n    if(warn){warnBox.classList.remove('hidden');document.getElementById('compat-warn-text').textContent=warn;}\r\n  }else{warnBox.classList.add('hidden');}\r\n  if(tipo==='vivienda'&&c.elemViv.length>0){\r\n    Array.from(elemSel.options).forEach(opt=>{opt.disabled=!c.elemViv.includes(opt.value);});\r\n    if(!c.elemViv.includes(elemSel.value))elemSel.value=c.elemViv[0];\r\n    if(c.elemNote){elemNote.textContent=c.elemNote;elemNote.classList.remove('hidden');}else elemNote.classList.add('hidden');\r\n  }else{Array.from(elemSel.options).forEach(opt=>{opt.disabled=false;});elemNote.classList.add('hidden');}\r\n}\r\n\r\nfunction setPanel(p){panelKey=p;Object.keys(PANELES).forEach(k=>document.getElementById('pbtn-'+k).classList.toggle('active',k===p));aplicarCompatibilidad();renderChip();calcular();}\r\nfunction setTipo(t){if(!COMPAT[panelKey].usos.includes(t))return;tipo=t;['nave','camara','vivienda'].forEach(x=>{document.getElementById('card-'+x).classList.toggle('hidden',x!==t);document.getElementById('tbtn-'+x).classList.toggle('active',x===t);});document.getElementById('frigo-recom').classList.toggle('hidden',t!=='camara');document.getElementById('compat-warn').classList.add('hidden');aplicarCompatibilidad();calcular();}\r\nfunction setClim(c){climNav=c;['si','parcial','no'].forEach(x=>document.getElementById('climbtn-'+x).classList.toggle('active',x===c));calcular();}\r\nfunction setCamara(c){tipoCamera=c;['conservacion','congelacion','ultracongelacion'].forEach(x=>document.getElementById('cbtn-'+x).classList.toggle('active',x===c));calcular();}\r\nfunction onProvChange(){const prov=document.getElementById('viv-prov').value;const zona=PROVINCIAS_CTE[prov];const zi=document.getElementById('zona-info');if(zona){zi.classList.remove('hidden');zi.textContent='Province : '+prov+' \u2192 Zone CTE : '+zona;}else zi.classList.add('hidden');calcular();}\r\n\r\nfunction resetCalc(){\r\n  panelKey='frigo';Object.keys(PANELES).forEach(k=>document.getElementById('pbtn-'+k).classList.toggle('active',k==='frigo'));\r\n  tipo='camara';setClim('parcial');setCamara('conservacion');\r\n  document.getElementById('nave-ti').value=18;document.getElementById('nave-te').value=-5;\r\n  document.getElementById('viv-prov').value='';document.getElementById('zona-info').classList.add('hidden');\r\n  document.getElementById('ah-sup').value=1000;document.getElementById('compat-warn').classList.add('hidden');\r\n  aplicarCompatibilidad();renderChip();calcular();window.scrollTo({top:0,behavior:'smooth'});\r\n}\r\n\r\nfunction getUobjetivo(){\r\n  if(tipo==='nave'){\r\n    const ti=parseFloat(document.getElementById('nave-ti').value)||18;\r\n    const te=parseFloat(document.getElementById('nave-te').value)||-5;\r\n    const dT=Math.abs(ti-te);\r\n    let uBase=dT<10?0.90:dT<15?0.70:dT<20?0.55:dT<25?0.45:dT<35?0.38:0.30;\r\n    const u=parseFloat((uBase*CLIM_FACTOR[climNav]).toFixed(2));\r\n    document.getElementById('nave-u-info').textContent='Avec \u0394T='+dT+'\u00b0C et '+CLIM_LABEL[climNav]+', U recommand\u00e9 est \u2264 '+u+' W\/m\u00b2K.';\r\n    return u;\r\n  }\r\n  if(tipo==='camara'){const u=CAMARA_U[tipoCamera];document.getElementById('camara-info').textContent=CAMARA_LABEL[tipoCamera]+' \u2014 U cible \u2264 '+u+' W\/m\u00b2K.';return u;}\r\n  const prov=document.getElementById('viv-prov').value;const zona=PROVINCIAS_CTE[prov];\r\n  if(!zona)return 0.41;return CTE_U[zona][document.getElementById('viv-elem').value];\r\n}\r\n\r\nfunction renderChip(){\r\n  const p=PANELES[panelKey];\r\n  document.getElementById('pc-tag').textContent=p.tag;document.getElementById('pc-name').textContent=p.name;\r\n  document.getElementById('pc-desc').textContent=p.desc;\r\n  document.getElementById('pc-esps').innerHTML='\u00c9paisseurs : '+p.datos.map(d=>'<span>'+d[0]+'mm<\/span>').join('');\r\n}\r\n\r\nfunction calcular(){\r\n  const Uo=getUobjetivo();const p=PANELES[panelKey];\r\n  const candidato=p.datos.find(d=>d[2]<=Uo);const row=candidato||p.datos[p.datos.length-1];\r\n  const ecom=row[0],Uc=row[2],Rc=row[3];\r\n  const Rmin=1\/Uo-0.13-0.04;const emin=Math.max(1,Math.ceil(Rmin*0.021*1000));\r\n  document.getElementById('res-esp').textContent=emin;document.getElementById('res-com').textContent=ecom;document.getElementById('res-u').textContent=Uc.toFixed(2);\r\n  const margen=(Uo-Uc)\/Uo*100;\r\n  document.getElementById('bar-fill').style.width=Math.min(100,Math.max(0,margen)).toFixed(1)+'%';\r\n  document.getElementById('bar-pct').textContent=margen>0?'+'+margen.toFixed(1)+'% meilleur que la limite':'N\\'atteint pas l\\'objectif';\r\n  const box=document.getElementById('alert-box'),tit=document.getElementById('alert-title'),bod=document.getElementById('alert-body');\r\n  if(!candidato){box.className='alert a-warn';tit.textContent='L\\'objectif n\\'est pas atteint avec les \u00e9paisseurs de '+p.name;bod.textContent='\u00c9paisseur maximale ('+ecom+' mm) donne U='+Uc.toFixed(2)+' W\/m\u00b2K. Contactez notre \u00e9quipe.';}\r\n  else{box.className='alert a-ok';tit.textContent='\u2713 Conforme \u2014 \u00c9paisseur recommand\u00e9e : '+ecom+' mm de '+p.name;bod.textContent='U='+Uc.toFixed(2)+' W\/m\u00b2K \u00b7 R='+Rc.toFixed(2)+' m\u00b2K\/W \u00b7 '+Math.abs(margen).toFixed(1)+'% sous la limite de '+Uo.toFixed(3)+' W\/m\u00b2K.';}\r\n  let html='<thead><tr><th style=\"text-align:left\">Espesor<\/th><th>U (W\/m\u00b2K)<\/th><th>R (m\u00b2K\/W)<\/th><th>Peso (kg\/m\u00b2)<\/th><th>\u00bfCumple?<\/th><\/tr><\/thead><tbody>';\r\n  p.datos.forEach(d=>{const ok=d[2]<=Uo,isRec=d[0]===ecom&&ok;html+=`<tr class=\"${isRec?'hl':''}\"><td>${d[0]} mm${isRec?' \u25c0 rec.':''}<\/td><td>${d[2].toFixed(2)}<\/td><td>${d[3].toFixed(2)}<\/td><td>${d[1].toFixed(2)}<\/td><td style=\"color:${ok?'#3a7035':'#a0341e'};font-weight:700\">${ok?'\u2713':'\u2717'}<\/td><\/tr>`;});\r\n  document.getElementById('comp-table').innerHTML=html+'<\/tbody>';\r\n  const precio=getPrecioEnergia();const sup=parseFloat(document.getElementById('ah-sup').value)||1000;\r\n  const rend=(parseFloat(document.getElementById('ah-rend').value)||90)\/100;\r\n  const ti2=tipo==='nave'?(parseFloat(document.getElementById('nave-ti').value)||18):(tipo==='camara'?-20:20);\r\n  const te2=tipo==='nave'?(parseFloat(document.getElementById('nave-te').value)||-5):(tipo==='camara'?25:0);\r\n  const dT2=Math.abs(ti2-te2);const perdida=Uc*dT2;const sinAis=6.0*dT2;\r\n  const pctAh=Math.min(99,((sinAis-perdida)\/sinAis*100));\r\n  const kWhAn=(sinAis-perdida)*sup*3000\/1000;const eurosAn=kWhAn*precio\/rend;\r\n  const energiaLabels={gas:'gaz naturel',elec:'\u00e9lectricit\u00e9',gasoil:'fioul domestique'};\r\n  document.getElementById('ah-perdida').textContent=perdida.toFixed(1);\r\n  document.getElementById('ah-pct').textContent=pctAh.toFixed(0)+'%';\r\n  document.getElementById('ah-euros').textContent=Math.round(eurosAn).toLocaleString('es-ES')+'\u20ac';\r\n  document.getElementById('ah-euros-sub').textContent='\u20ac\/an \u00b7 '+energiaLabels[energiaKey]+' \u00b7 3 000 h';\r\n  resultadoActual={panel:p.name,panelTag:p.tag,emin,ecom,Uc,Rc,Uo,margen:margen.toFixed(1),cumple:!!candidato,\r\n    perdida:perdida.toFixed(1),pctAhorro:pctAh.toFixed(0),eurosAnual:Math.round(eurosAn),dT:dT2,\r\n    tipo,tipoCamera:tipo==='camara'?CAMARA_LABEL[tipoCamera]:'',climNav:tipo==='nave'?CLIM_LABEL[climNav]:'',\r\n    precio,precioLabel:preciosEnergia[energiaKey].label,energiaKey,energiaNombre:energiaLabels[energiaKey],\r\n    rend:Math.round(rend*100),sup,fecha:new Date().toLocaleDateString('es-ES')};\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 PDF \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nfunction sp(t){\r\n  if(typeof t!=='string')return String(t);\r\n  return t.replace(\/\u00e1\/g,'a').replace(\/\u00e9\/g,'e').replace(\/\u00ed\/g,'i').replace(\/\u00f3\/g,'o').replace(\/\u00fa\/g,'u')\r\n    .replace(\/\u00c1\/g,'A').replace(\/\u00c9\/g,'E').replace(\/\u00cd\/g,'I').replace(\/\u00d3\/g,'O').replace(\/\u00da\/g,'U')\r\n    .replace(\/\u00f1\/g,'n').replace(\/\u00d1\/g,'N').replace(\/\u03bb\/g,'lambda').replace(\/\u00b2\/g,'2')\r\n    .replace(\/\u00b0\/g,'o').replace(\/\u00b7\/g,' - ').replace(\/\u2014\/g,'-').replace(\/\u20ac\/g,'EUR')\r\n    .replace(\/a\u00f1o\/g,'ano').replace(\/[^\\x00-\\xFF]\/g,'?');\r\n}\r\n\r\nfunction generarPDF(){\r\n  if(!window.jspdf||!resultadoActual.panel) return false;\r\n  const {jsPDF}=window.jspdf;\r\n  const doc=new jsPDF({unit:'mm',format:'a4'});\r\n  const W=210,M=18;\r\n  doc.setFillColor(26,26,26);doc.rect(0,0,W,42,'F');\r\n  doc.setFillColor(232,160,0);doc.rect(M-4,0,4,42,'F');\r\n  doc.setTextColor(255,255,255);doc.setFontSize(18);doc.setFont('helvetica','bold');\r\n  doc.text(sp('Rapport d\\'Isolation Thermique'),M+2,16);\r\n  doc.setFontSize(11);doc.setFont('helvetica','normal');doc.setTextColor(170,170,170);\r\n  doc.text(sp('Panneau Sandwich Masterpanel - Calcul technique'),M+2,24);\r\n  doc.setTextColor(232,160,0);doc.setFontSize(9);\r\n  doc.text(sp('magon.es  -  +34 925 519 926  -  masterpanel@magon.es'),M+2,33);\r\n  let y=50;\r\n  doc.setFillColor(232,160,0);doc.rect(M,y,W-2*M,10,'F');\r\n  doc.setFontSize(9);doc.setFont('helvetica','bold');doc.setTextColor(26,26,26);\r\n  doc.text(sp('PANEL: '+resultadoActual.panel.toUpperCase()+' - '+resultadoActual.panelTag.toUpperCase()),M+4,y+7);\r\n  y+=16;\r\n  const bw=(W-2*M-8)\/3;\r\n  [{label:'\u00c9paisseur minimale',val:resultadoActual.emin+' mm',sub:'calcul\u00e9e',hero:false},\r\n   {label:'\u00c9paisseur recommand\u00e9e',val:resultadoActual.ecom+' mm',sub:'catalogue EN14509',hero:true},\r\n   {label:'Coefficient U',val:resultadoActual.Uc.toFixed(2)+' W\/m2K',sub:'certifi\u00e9 EN14509',hero:false}\r\n  ].forEach((b,i)=>{\r\n    const bx=M+i*(bw+4);\r\n    doc.setFillColor(b.hero?232:38,b.hero?160:38,b.hero?0:38);doc.rect(bx,y,bw,22,'F');\r\n    doc.setFontSize(7);doc.setFont('helvetica','normal');doc.setTextColor(b.hero?80:150,b.hero?60:150,b.hero?0:150);\r\n    doc.text(sp(b.label.toUpperCase()),bx+3,y+6);\r\n    doc.setFontSize(15);doc.setFont('helvetica','bold');doc.setTextColor(b.hero?26:255,b.hero?26:255,b.hero?26:255);\r\n    doc.text(sp(b.val),bx+3,y+16);\r\n    doc.setFontSize(7);doc.setFont('helvetica','normal');doc.setTextColor(b.hero?80:150,b.hero?60:150,b.hero?0:150);\r\n    doc.text(sp(b.sub),bx+3,y+21);\r\n  });\r\n  y+=30;\r\n  const c=resultadoActual.cumple;\r\n  doc.setFillColor(c?237:250,c?245:236,c?237:234);doc.rect(M,y,W-2*M,14,'F');\r\n  doc.setFontSize(9);doc.setFont('helvetica','bold');doc.setTextColor(c?58:160,c?112:52,c?53:30);\r\n  doc.text(sp(c?'CONFORME - Marge '+Math.abs(resultadoActual.margen)+'% sous la limite de '+resultadoActual.Uo.toFixed(3)+' W\/m2K':'NON CONFORME - Consulter un sp\u00e9cialiste'),M+4,y+9);\r\n  y+=20;\r\n  doc.setFontSize(8);doc.setFont('helvetica','bold');doc.setTextColor(100,100,100);doc.text(sp('PARAM\u00c8TRES TECHNIQUES'),M,y);y+=6;\r\n  const params=[\r\n    ['Conductivit\u00e9 thermique (lambda)','0,021 W\/mK (Polyur\u00e9thane PUR)'],\r\n    ['R\u00e9sistance thermique (R)',resultadoActual.Rc.toFixed(2)+' m2K\/W'],\r\n    ['Coefficient U cible maximum',resultadoActual.Uo.toFixed(3)+' W\/m2K'],\r\n    ['Type de projet',resultadoActual.tipo==='nave'?'Entrep\u00f4t\/hangar ('+resultadoActual.climNav+')':resultadoActual.tipo==='camara'?'Chambre froide - '+resultadoActual.tipoCamera:'Habitation\/b\u00e2timent CTE DB-HE1'],\r\n    ['Norme de calcul','EN ISO 6946 - EN14509 - CTE DB-HE1'],\r\n  ];\r\n  params.forEach((p,i)=>{\r\n    doc.setFillColor(i%2===0?250:255,i%2===0?248:255,i%2===0?244:255);doc.rect(M,y,W-2*M,7,'F');\r\n    doc.setFont('helvetica','bold');doc.setFontSize(9);doc.setTextColor(60,60,60);doc.text(sp(p[0]),M+3,y+5);\r\n    doc.setFont('helvetica','normal');doc.setTextColor(26,26,26);doc.text(sp(p[1]),M+80,y+5);y+=7;\r\n  });\r\n  y+=8;\r\n  doc.setFillColor(232,160,0);doc.rect(M,y,W-2*M,8,'F');\r\n  doc.setFontSize(8);doc.setFont('helvetica','bold');doc.setTextColor(26,26,26);\r\n  doc.text(sp('\u00c9CONOMIES - '+resultadoActual.energiaNombre.toUpperCase()+' - '+resultadoActual.sup.toLocaleString('es-ES')+' m\u00b2 - 3 000 h\/an'),M+4,y+5);y+=12;\r\n  [['\u00c9nergie',resultadoActual.energiaNombre+' - '+resultadoActual.precio.toFixed(3)+' EUR\/kWh'],\r\n   ['Rendement',resultadoActual.rend+'%'],\r\n   ['Perte de chaleur',resultadoActual.perdida+' W\/m2'],\r\n   ['\u00c9conomie vs. sans isolation',resultadoActual.pctAhorro+'%'],\r\n   ['\u00c9conomies annuelles estim\u00e9es',resultadoActual.eurosAnual.toLocaleString('es-ES')+' EUR\/an']\r\n  ].forEach((a,i)=>{\r\n    doc.setFillColor(i%2===0?250:255,i%2===0?248:255,i%2===0?244:255);doc.rect(M,y,W-2*M,7,'F');\r\n    doc.setFont('helvetica','bold');doc.setFontSize(9);doc.setTextColor(60,60,60);doc.text(sp(a[0]),M+3,y+5);\r\n    doc.setFont('helvetica','normal');doc.setTextColor(26,26,26);doc.text(sp(a[1]),M+85,y+5);y+=7;\r\n  });\r\n  y+=8;\r\n  doc.setFontSize(7);doc.setTextColor(150,150,150);doc.setFont('helvetica','italic');\r\n  doc.text(sp('Rapport indicatif. EN ISO 6946 \/ EN14509. Consulter un professionnel qualifi\u00e9 avant application sur chantier r\u00e9el.'),M,y,{maxWidth:W-2*M});\r\n  doc.setFillColor(26,26,26);doc.rect(0,282,W,15,'F');\r\n  doc.setFontSize(8);doc.setFont('helvetica','normal');doc.setTextColor(170,170,170);\r\n  doc.text('Master Panel S.L. - Esquivias (Toledo) - +34 925 519 926 - www.magon.es',M,291);\r\n  doc.setTextColor(232,160,0);doc.text('magon.es',W-M-15,291);\r\n  doc.save('rapport-masterpanel-'+resultadoActual.ecom+'mm.pdf');\r\n  return true;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MODAL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nfunction onModalPaisChange(){\r\n  const pais = document.getElementById('m-pais').value;\r\n  document.getElementById('m-prov-wrap').classList.toggle('show', pais === 'Espa\u00f1a');\r\n  if(pais !== 'Espa\u00f1a') document.getElementById('m-provincia').value = '';\r\n}\r\n\r\nfunction abrirModal(){\r\n  document.getElementById('modal').classList.remove('hidden');\r\n  document.getElementById('modal-form-wrap').classList.remove('hidden');\r\n  document.getElementById('modal-ok').classList.add('hidden');\r\n  ['nombre','email','telefono','pais'].forEach(f=>{\r\n    const el=document.getElementById('m-'+f);\r\n    const err=document.getElementById('err-'+f);\r\n    if(el) el.classList.remove('m-error');\r\n    if(err) err.classList.remove('show');\r\n  });\r\n  document.getElementById('err-gdpr').classList.remove('show');\r\n  document.getElementById('m-prov-wrap').classList.remove('show');\r\n  const modal=document.querySelector('.modal');\r\n  if(modal) modal.scrollTop=0;\r\n  document.body.style.overflow='hidden';\r\n}\r\n\r\nfunction cerrarModal(){\r\n  document.getElementById('modal').classList.add('hidden');\r\n  document.body.style.overflow='';\r\n}\r\n\r\ndocument.getElementById('modal').addEventListener('click',function(e){\r\n  if(e.target===this) cerrarModal();\r\n});\r\ndocument.addEventListener('keydown',function(e){\r\n  if(e.key==='Escape'&&!document.getElementById('modal').classList.contains('hidden')) cerrarModal();\r\n});\r\n\r\nfunction validarFormulario(){\r\n  let ok = true;\r\n  const setErr = (field, show) => {\r\n    const el  = document.getElementById('m-' + field);\r\n    const err = document.getElementById('err-' + field);\r\n    if(el)  el.classList.toggle('m-error', show);\r\n    if(err) err.classList.toggle('show', show);\r\n  };\r\n  const nombre = document.getElementById('m-nombre').value.trim();\r\n  const email  = document.getElementById('m-email').value.trim();\r\n  const tel    = document.getElementById('m-telefono').value.trim();\r\n  const pais   = document.getElementById('m-pais').value;\r\n  const gdpr   = document.getElementById('m-gdpr').checked;\r\n\r\n  if(nombre.length < 2)                           { setErr('nombre',true); ok=false; } else setErr('nombre',false);\r\n  if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email))  { setErr('email',true);  ok=false; } else setErr('email',false);\r\n  if(tel && tel.replace(\/\\D\/g,'').length < 6)     { setErr('telefono',true); ok=false; } else setErr('telefono',false);\r\n  if(!pais)                                       { setErr('pais',true);   ok=false; } else setErr('pais',false);\r\n  if(!gdpr){ document.getElementById('err-gdpr').classList.add('show'); ok=false; }\r\n  else       document.getElementById('err-gdpr').classList.remove('show');\r\n  return ok;\r\n}\r\n\r\nfunction enviarFormulario(){\r\n  if(!validarFormulario()) return;\r\n  const btn = document.getElementById('modal-submit-btn');\r\n  btn.classList.add('loading'); btn.disabled = true;\r\n\r\n  const SITE_KEY      = '6Lfi1o0nAAAAAKef__HF07S9Y26C8xyCNYh5IjlG';\r\n  const CF7_FORM_ID   = '14949';\r\n  const CF7_CONTAINER = '14938';\r\n  const CF7_ENDPOINT  = `\/wp-json\/contact-form-7\/v1\/contact-forms\/${CF7_FORM_ID}\/feedback`;\r\n\r\n  const panelMap = {\r\n    'Master-C':'Master-C (Cubierta)', 'Master-F':'Master-F (Fachada)',\r\n    'Master-Frigo':'Master-Frigo (Frigor\u00edfico)', 'Master-Modul':'Master-Modul (Modular)'\r\n  };\r\n\r\n  const datos = {\r\n    nombre:    document.getElementById('m-nombre').value.trim(),\r\n    email:     document.getElementById('m-email').value.trim(),\r\n    telefono:  document.getElementById('m-telefono').value.trim(),\r\n    empresa:   document.getElementById('m-empresa').value.trim(),\r\n    pais:      document.getElementById('m-pais').value,\r\n    provincia: document.getElementById('m-provincia').value,\r\n    tipopanel: panelMap[resultadoActual.panel] || '',\r\n    espesor:   (resultadoActual.ecom || '') + 'mm',\r\n    m2:        String(resultadoActual.sup || ''),\r\n    calculo:   JSON.stringify({\r\n      panel: resultadoActual.panel, espesor: (resultadoActual.ecom||'')+'mm',\r\n      U: resultadoActual.Uc, R: resultadoActual.Rc,\r\n      tipo: resultadoActual.tipo, fecha: resultadoActual.fecha\r\n    })\r\n  };\r\n\r\n  function doSubmit(token){\r\n    const fd = new FormData();\r\n    fd.set('_wpcf7',                CF7_FORM_ID);\r\n    fd.set('_wpcf7_version',        '6.1.5');\r\n    fd.set('_wpcf7_locale',         'es_ES');\r\n    fd.set('_wpcf7_unit_tag',       `wpcf7-f${CF7_FORM_ID}-p${CF7_CONTAINER}-o1`);\r\n    fd.set('_wpcf7_container_post', CF7_CONTAINER);\r\n    if(token) fd.set('_wpcf7_recaptcha_response', token);\r\n\r\n    fd.set('nombre',          datos.nombre);\r\n    fd.set('telefono',        datos.telefono);\r\n    fd.set('email',           datos.email);\r\n    fd.set('empresa',         datos.empresa);\r\n    fd.set('pais',            datos.pais);\r\n    fd.set('provincia',       datos.provincia);\r\n    fd.set('tipo_panel',      datos.tipopanel);\r\n    fd.set('espesor',         datos.espesor);\r\n    fd.set('m2',              datos.m2);\r\n    fd.set('datos_calculo',   datos.calculo);\r\n    fd.set('gdpr',            document.getElementById('m-gdpr').checked ? 'acepto' : '');\r\n\r\n    fetch(CF7_ENDPOINT, { method:'POST', body:fd, signal:AbortSignal.timeout(15000) })\r\n      .then(r => r.json())\r\n      .then(json => {\r\n        btn.classList.remove('loading'); btn.disabled = false;\r\n        if(json.status === 'mail_sent'){\r\n          generarPDF();\r\n          document.getElementById('modal-form-wrap').classList.add('hidden');\r\n          document.getElementById('modal-ok').classList.remove('hidden');\r\n          (function(){\r\n            const d = document.getElementById('modal-ok-detail');\r\n            d.innerHTML = '';\r\n            const p1 = document.createElement('span');\r\n            p1.innerHTML = `<strong>Panel:<\/strong> ${resultadoActual.panel||'\u2014'} \u00b7 <strong>Espesor:<\/strong> ${resultadoActual.ecom||'\u2014'} mm \u00b7 <strong>U:<\/strong> ${resultadoActual.Uc?resultadoActual.Uc.toFixed(2):'\u2014'} W\/m\u00b2K<br>`;\r\n            const p2 = document.createElement('span');\r\n            p2.textContent = ''; const lbl = document.createElement('strong');\r\n            lbl.textContent = 'Enviado para: '; const em = document.createElement('span');\r\n            em.textContent = datos.email; p2.appendChild(lbl); p2.appendChild(em);\r\n            d.appendChild(p1); d.appendChild(p2);\r\n          })();\r\n        } else {\r\n          const det = json.invalid_fields\r\n            ? '\\n\\nCampos con error:\\n' + json.invalid_fields.map(f=>'\u2022 '+f.field+': '+f.message).join('\\n')\r\n            : '';\r\n          alert((json.message||'Error al enviar.') + det);\r\n        }\r\n      })\r\n      .catch(err => {\r\n        btn.classList.remove('loading'); btn.disabled = false;\r\n        generarPDF();\r\n        document.getElementById('modal-form-wrap').classList.add('hidden');\r\n        document.getElementById('modal-ok').classList.remove('hidden');\r\n        (function(){\r\n            const d = document.getElementById('modal-ok-detail');\r\n            d.innerHTML = '';\r\n            const p1 = document.createElement('span');\r\n            p1.innerHTML = `<strong>Panel:<\/strong> ${resultadoActual.panel||'\u2014'} \u00b7 <strong>Espesor:<\/strong> ${resultadoActual.ecom||'\u2014'} mm<br>`;\r\n            const lbl = document.createElement('strong'); lbl.textContent = 'Enviado para: ';\r\n            const em = document.createElement('span'); em.textContent = datos.email;\r\n            d.appendChild(p1); d.appendChild(lbl); d.appendChild(em);\r\n          })();\r\n      });\r\n  }\r\n\r\n  if(typeof grecaptcha !== 'undefined'){\r\n    grecaptcha.ready(function(){\r\n      grecaptcha.execute(SITE_KEY, {action:'submit'})\r\n        .then(token => doSubmit(token))\r\n        .catch(()   => doSubmit(''));\r\n    });\r\n  } else {\r\n    doSubmit('');\r\n  }\r\n}\r\n\r\n\/* \u2500\u2500 Scroll suave \u2500\u2500 *\/\r\ndocument.querySelectorAll('a[href=\"#calculadora\"]').forEach(a=>{\r\n  a.addEventListener('click',e=>{e.preventDefault();document.getElementById('calculadora').scrollIntoView({behavior:'smooth'});});\r\n});\r\n\r\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\r\nfunction mpFaq(btn){\r\n  const item=btn.closest('.mp-faq-item');\r\n  const isOpen=item.classList.contains('open');\r\n  document.querySelectorAll('.mp-faq-item.open').forEach(el=>{el.classList.remove('open');el.querySelector('.mp-faq-q').setAttribute('aria-expanded','false');});\r\n  if(!isOpen){item.classList.add('open');btn.setAttribute('aria-expanded','true');}\r\n}\r\n\r\n\/* \u2500\u2500 Clic derecho \/ devtools \u2500\u2500 *\/\r\nconst ctxMsg=document.getElementById('ctx-msg');let ctxT=null;\r\ndocument.addEventListener('contextmenu',function(e){\r\n  e.preventDefault();\r\n  ctxMsg.style.top=Math.min(e.clientY,window.innerHeight-80)+'px';\r\n  ctxMsg.style.left=Math.min(e.clientX,window.innerWidth-300)+'px';\r\n  ctxMsg.style.transform='';\r\n  ctxMsg.classList.add('show');clearTimeout(ctxT);ctxT=setTimeout(()=>ctxMsg.classList.remove('show'),4000);\r\n});\r\ndocument.addEventListener('click',function(){if(ctxMsg.classList.contains('show')){ctxMsg.classList.remove('show');clearTimeout(ctxT);}});\r\ndocument.addEventListener('keydown',function(e){\r\n  if(e.key==='F12'||(e.ctrlKey&&e.key==='u')||(e.ctrlKey&&e.shiftKey&&['i','I','j','J','c','C'].includes(e.key))){\r\n    e.preventDefault();ctxMsg.style.top='20px';ctxMsg.style.left='50%';ctxMsg.style.transform='translateX(-50%)';\r\n    ctxMsg.classList.add('show');clearTimeout(ctxT);ctxT=setTimeout(()=>{ctxMsg.classList.remove('show');ctxMsg.style.transform='';},4000);\r\n  }\r\n});\r\n\r\n\/* \u2500\u2500 ARRANQUE \u2500\u2500 *\/\r\npoblarProvincias();aplicarCompatibilidad();renderChip();calcular();cargarPrecioElec();\r\n<\/script>\r\n\r\n<script src=\"https:\/\/www.google.com\/recaptcha\/api.js?render=6Lfi1o0nAAAAAKef__HF07S9Y26C8xyCNYh5IjlG\"><\/script>\r\n\r\n<!--\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n  INSTRUCCIONES WORDPRESS \u2014 CONTACT FORM 7\r\n  Shortcode: [contact-form-7 id=\"6380ecc\" title=\"Formulario calculadora aislamiento\"]\r\n  Form ID: 14949  |  Page ID: 14938\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\r\n\u26a0\ufe0f MUY IMPORTANTE \u2014 El contenedor del shortcode en la p\u00e1gina WP\r\nDEBE usar visibility:hidden + height:0, NO display:none.\r\nCon display:none WordPress\/CF7 no renderiza el nonce y el env\u00edo\r\nfalla con \"Ha ocurrido un error\". Usa exactamente esto:\r\n\r\n<div style=\"visibility:hidden;height:0;overflow:hidden;position:absolute;\">\r\n[contact-form-7 id=\"6380ecc\" title=\"Formulario calculadora aislamiento\"]\r\n<\/div>\r\n\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 PLANTILLA CF7 (pesta\u00f1a \"Formulario\") \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n[text* nombre placeholder \"Tu nombre y apellidos\"]\r\n[tel telefono placeholder \"+34 600 000 000\"]\r\n[email* email placeholder \"tu@correo.com\"]\r\n[text empresa placeholder \"Nombre de empresa (opcional)\"]\r\n[select* pais include_blank \"Espa\u00f1a\" \"Alemania\" \"Andorra\" \"Austria\" \"B\u00e9lgica\" \"Bulgaria\" \"Chipre\" \"Croacia\" \"Dinamarca\" \"Eslovaquia\" \"Eslovenia\" \"Estonia\" \"Finlandia\" \"Francia\" \"Grecia\" \"Hungr\u00eda\" \"Irlanda\" \"Islandia\" \"Italia\" \"Letonia\" \"Liechtenstein\" \"Lituania\" \"Luxemburgo\" \"Malta\" \"M\u00f3naco\" \"Noruega\" \"Pa\u00edses Bajos\" \"Polonia\" \"Portugal\" \"Reino Unido\" \"Rep\u00fablica Checa\" \"Ruman\u00eda\" \"Suecia\" \"Suiza\" \"Turqu\u00eda\" \"Ucrania\" \"Argentina\" \"Bolivia\" \"Brasil\" \"Chile\" \"Colombia\" \"Costa Rica\" \"Cuba\" \"Ecuador\" \"El Salvador\" \"Guatemala\" \"Honduras\" \"M\u00e9xico\" \"Nicaragua\" \"Panam\u00e1\" \"Paraguay\" \"Per\u00fa\" \"Puerto Rico\" \"Rep\u00fablica Dominicana\" \"Uruguay\" \"Venezuela\" \"Angola\" \"Argelia\" \"Cabo Verde\" \"Camer\u00fan\" \"Costa de Marfil\" \"Egipto\" \"Ghana\" \"Guinea Ecuatorial\" \"Kenia\" \"Libia\" \"Marruecos\" \"Mozambique\" \"Nigeria\" \"Senegal\" \"Sud\u00e1frica\" \"T\u00fanez\" \"Canad\u00e1\" \"Estados Unidos\" \"Arabia Saud\u00ed\" \"Catar\" \"Emiratos \u00c1rabes Unidos\" \"Israel\" \"Jordania\" \"Kuwait\" \"L\u00edbano\" \"Om\u00e1n\" \"Australia\" \"China\" \"Filipinas\" \"India\" \"Indonesia\" \"Jap\u00f3n\" \"Malasia\" \"Nueva Zelanda\" \"Singapur\" \"Corea del Sur\" \"Tailandia\" \"Vietnam\" \"Otro\"]\r\n[select provincia include_blank \"\u00c1lava\" \"Albacete\" \"Alicante\" \"Almer\u00eda\" \"Asturias\" \"\u00c1vila\" \"Badajoz\" \"Baleares\" \"Barcelona\" \"Burgos\" \"C\u00e1ceres\" \"C\u00e1diz\" \"Cantabria\" \"Castell\u00f3n\" \"Ceuta\" \"Ciudad Real\" \"C\u00f3rdoba\" \"Cuenca\" \"Girona\" \"Granada\" \"Guadalajara\" \"Guip\u00fazcoa\" \"Huelva\" \"Huesca\" \"Ja\u00e9n\" \"A Coru\u00f1a\" \"La Rioja\" \"Las Palmas\" \"Le\u00f3n\" \"Lleida\" \"Lugo\" \"Madrid\" \"M\u00e1laga\" \"Melilla\" \"Murcia\" \"Navarra\" \"Ourense\" \"Palencia\" \"Pontevedra\" \"Salamanca\" \"Santa Cruz de Tenerife\" \"Segovia\" \"Sevilla\" \"Soria\" \"Tarragona\" \"Teruel\" \"Toledo\" \"Valencia\" \"Valladolid\" \"Vizcaya\" \"Zamora\" \"Zaragoza\"]\r\n[select* tipo_panel \"Master-C (Cubierta)\" \"Master-F (Fachada)\" \"Master-Frigo (Frigor\u00edfico)\" \"Master-Modul (Modular)\"]\r\n[text espesor placeholder \"Ej: 80mm\"]\r\n[text m2 placeholder \"Ej: 1000\"]\r\n[hidden datos_calculo \"\"]\r\n[acceptance* gdpr] He le\u00eddo y acepto la pol\u00edtica de privacidad\r\n[submit \"Descargar PDF\"]\r\n\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 CORREO CF7 (pesta\u00f1a \"Correo\") \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\nPara: frojas@magon.es\r\nDe: wordpress@magon.es\r\nAsunto: Nueva consulta calculadora \u2014 [tipo_panel] [espesor]\r\n\r\nCuerpo:\r\nNueva consulta desde la calculadora de aislamiento t\u00e9rmico.\r\n\r\nNombre: [nombre]\r\nTel\u00e9fono: [telefono]\r\nEmail: [email]\r\nEmpresa: [empresa]\r\nPa\u00eds: [pais]\r\nProvincia: [provincia]\r\n\r\nPanel seleccionado: [tipo_panel]\r\nEspesor recomendado: [espesor]\r\nSuperficie: [m2] m\u00b2\r\n\r\nDatos t\u00e9cnicos del c\u00e1lculo:\r\n[datos_calculo]\r\n\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nCHECKLIST ANTES DE PROBAR:\r\n1. El shortcode en la p\u00e1gina usa visibility:hidden, NO display:none\r\n2. El campo \"pais\" en CF7 es [select* pais include_blank \"Espa\u00f1a\" ...]\r\n   con TODOS los pa\u00edses listados arriba\r\n3. La pesta\u00f1a Correo tiene: Para: frojas@magon.es \/ De: wordpress@magon.es\r\n4. Instala Flamingo para guardar env\u00edos en BD\r\n5. Comprueba en Ajustes \u2192 CF7 que el correo de admin es correcto\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n-->\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Calculateur d&rsquo;Isolation Thermique pour Panneaux Sandwich | Masterpanel Mag\u00f3n Outil technique gratuit Calculateur d&rsquo;isolation thermiquepour panneaux sandwich D\u00e9couvrez exactement quelle \u00e9paisseur de panneau sandwich votre projet n\u00e9cessite pour respecter la&#8230;<\/p>\n","protected":false},"author":10,"featured_media":15087,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"content-type":"","rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","footnotes":""},"class_list":["post-15089","page","type-page","status-publish","has-post-thumbnail"],"_links":{"self":[{"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/pages\/15089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/comments?post=15089"}],"version-history":[{"count":9,"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/pages\/15089\/revisions"}],"predecessor-version":[{"id":15126,"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/pages\/15089\/revisions\/15126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/media\/15087"}],"wp:attachment":[{"href":"https:\/\/magon.es\/fr\/wp-json\/wp\/v2\/media?parent=15089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}