/* TechCraft V6 — tipografía y acabado del formulario + configurador de retorno */
/* Evitar que estilos heredados en labels e inputs hagan diminutos o desalineados los controles. */
.contact-form{font-family:Montserrat,Arial,sans-serif}
.contact-form h3{font-size:clamp(23px,2.25vw,30px);line-height:1.25;letter-spacing:-.035em}
.contact-form>p:not(.form-note){font-size:12px;line-height:1.65}
.contact-form label{font-size:12px;color:#17354a;font-weight:700;gap:10px;line-height:1.5}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-family:Montserrat,Arial,sans-serif;font-size:14px!important;font-weight:500;line-height:1.45;min-height:48px;letter-spacing:0;background:#f7fafc}
.contact-form textarea{min-height:118px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#738ca0;opacity:1;font-weight:450}
.contact-form .contact-privacy{margin:14px 0 18px}
.contact-form .contact-privacy-label{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;margin:0!important;font-size:12px!important;line-height:1.6!important;font-weight:500!important;color:#36596a!important;cursor:pointer}
.contact-form .contact-privacy-label input[type=checkbox]{appearance:auto!important;display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:#0098e5}
.contact-form .contact-privacy-label span{color:inherit!important;display:inline!important;font-weight:500!important}
.contact-form .contact-privacy-label a{color:#007cad}
.contact-form .honey-field,.contact-form .honey-field[hidden]{display:none!important;visibility:hidden!important}
.contact-form .form-note{font-size:10.5px;line-height:1.65}
.contact-form .form-button{font-family:Montserrat,Arial,sans-serif;font-size:13px;min-height:51px}
.form-setup-notice{font:600 11px/1.6 Montserrat,Arial,sans-serif;background:#fff6e4;border:1px solid #efcf89;border-radius:7px;color:#77531a;padding:12px 14px;margin-top:12px}
.form-setup-notice[hidden]{display:none!important}
/* Configurador legible: contraste, texto, estructura de años y advertencias. */
.quote-lab legend{font-size:12px;letter-spacing:.07em;color:#d7e9f2}
.quote-choice>span{font-size:13px;line-height:1.4;min-height:80px;padding:14px 12px}
.quote-choice b{font-size:16px}
.quote-choice input:disabled+span{opacity:.45;filter:grayscale(.35);text-decoration:none}
.quote-choice.is-unavailable{cursor:not-allowed}
.quote-lab-intro p{font-size:14px;max-width:355px}
.quote-estimate>div{font-size:12px;letter-spacing:0}
.quote-estimate>div>span{line-height:1.5}
.quote-estimate>div>strong{font-size:17px;white-space:nowrap}
.quote-estimate>.quote-total{padding:20px 17px;margin:16px 0 6px}
.quote-estimate .quote-total strong{font-size:clamp(26px,3vw,34px)}
.quote-recurring{border:1px solid rgba(109,227,210,.38);background:rgba(15,163,141,.10);padding:15px 16px;border-radius:7px;align-items:center!important}
.quote-estimate .quote-recurring>div{display:grid;gap:5px}
.quote-estimate .quote-recurring>div>span{font-size:12px;font-weight:800;letter-spacing:.02em;color:#ddf9f7}
.quote-estimate .quote-recurring small{font-size:10px;font-weight:500;color:#b4cdd8;line-height:1.5}
.quote-estimate .quote-recurring>strong{color:#6de3d2;font-size:20px;white-space:normal;text-align:right}
.quote-shop-alert{display:flex;align-items:flex-start;gap:12px;background:#15394c;border:1px solid #3c99b2;border-radius:8px;padding:17px 16px;margin:-3px 0 20px;color:#e9f6fc}
.quote-shop-alert[hidden]{display:none!important}
.quote-alert-icon{border-radius:50%;height:26px;width:26px;display:grid;place-items:center;background:#46cce5;color:#073042;font-size:16px;font-weight:900;flex:0 0 26px}
.quote-shop-alert strong{font-size:13px;line-height:1.5;display:block}
.quote-shop-alert p{font-size:12px;line-height:1.65;margin:6px 0 0;color:#c9e2ed}
.quote-shop-alert b{color:#fff}
.quote-caveat{font-size:11px;line-height:1.7;color:#bdd7e2}
/* Más que costes: oportunidades. Separar hipótesis, resultado y ventajas no financieras. */
.quote-benefits{margin-top:30px;border:1px solid #d9e9ed;border-radius:15px;padding:clamp(23px,3.4vw,46px);background:#fff;box-shadow:0 16px 46px rgba(11,44,62,.05)}
.benefits-heading{margin-bottom:26px;max-width:730px}
.benefits-heading h3{font-size:clamp(29px,3.5vw,42px);line-height:1.16;letter-spacing:-.052em;color:#102d40;margin:10px 0 12px}
.benefits-heading h3 em{color:#0098e5;font-style:normal}
.benefits-heading p{font-size:13px;line-height:1.85;color:#637e8d}
.benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.benefit-input-panel{padding:26px;background:#f1f8fb;border:1px solid #dbeaf2;border-radius:10px}
.benefit-panel-top{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:9px;margin:0 0 28px}
.benefit-panel-top>span:first-child{font-size:11px;font-weight:900;color:#12648b;letter-spacing:.06em}
.benefit-simulation-tag{font-size:9px;font-weight:850;letter-spacing:.06em;border-radius:40px;background:#e0f4ee;color:#08705d;padding:6px 9px}
.benefit-range-label{display:flex;justify-content:space-between;align-items:end;gap:15px;color:#183c50;margin:0 0 12px;font-size:13px;line-height:1.5;font-weight:700}
.benefit-range-label strong{font-size:23px;color:#0078ba;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.benefit-input-panel input[type=range]{display:block;width:100%;accent-color:#0098e5;cursor:pointer;height:24px;margin:0;touch-action:pan-y}
.benefit-scale{display:flex;justify-content:space-between;font-size:10px;color:#7d97a5;margin:0 0 27px}
.benefit-guidance{border-left:3px solid #0fa38d;padding:11px 12px;background:#e5f5f1;font-size:11px;line-height:1.7;color:#4e7080;margin:0}
.benefit-results{background:#0c2a3e;border-radius:10px;color:#fff;padding:26px;display:flex;flex-direction:column}
.benefit-results-kicker{font-size:11px;letter-spacing:.07em;font-weight:850;color:#6dceec;margin-bottom:22px}
.benefit-result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff23;padding:13px 0;color:#c4d9e3;font-size:12px}
.benefit-result-row strong{font-size:19px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.benefit-result-main{display:grid;gap:8px;margin-top:25px;padding:18px 18px 16px;border:1px solid #5bb4bc70;border-radius:7px;background:#12607330}
.benefit-result-main>span{font-size:10px;color:#a0d2d9;font-weight:850;letter-spacing:.08em}
.benefit-result-main strong{font-size:clamp(31px,3.6vw,48px);font-weight:850;letter-spacing:-.06em;color:#64e2d0;font-variant-numeric:tabular-nums}
.benefit-result-main strong.benefit-negative{color:#ffb29a}
.benefit-result-main small{font-size:10px;line-height:1.65;color:#bfd4dd}
.benefit-results>p{font-size:10.5px;line-height:1.7;color:#abc3d0;margin:20px 0 0}
.benefit-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.benefit-perks>div{background:#f6fafc;border:1px solid #e3edf1;padding:21px 18px;border-radius:9px;display:flex;flex-direction:column;gap:7px}
.benefit-perk-icon{width:max-content;min-width:40px;height:40px;border:1px solid #c8e9f5;border-radius:9px;display:grid;place-items:center;color:#008fc5;font-weight:900;font-size:16px;margin-bottom:4px;padding:0 6px}
.benefit-perks strong{font-size:12px;line-height:1.4;color:#153c50}
.benefit-perks p{font-size:11px;line-height:1.6;color:#648091;margin:0}
@media(max-width:850px){.benefits-grid{grid-template-columns:1fr}.quote-benefits{margin-top:23px}}
@media(max-width:610px){.quote-lab legend{font-size:11px}.quote-choice>span{font-size:11px;padding:12px 8px;min-height:75px}.quote-choice b{font-size:13px}.quote-estimate>div{font-size:11px;gap:13px}.quote-estimate>div>strong{font-size:15px}.quote-estimate .quote-total strong{font-size:27px}.quote-estimate .quote-recurring>strong{font-size:17px}.quote-shop-alert{padding:13px 12px}.quote-shop-alert p{font-size:11px}.quote-benefits{padding:23px 14px}.benefits-heading p{font-size:12px}.benefit-input-panel,.benefit-results{padding:20px 16px}.benefit-perks{grid-template-columns:1fr}.benefit-perks>div{padding:15px 17px}.benefit-result-main strong{font-size:34px}.contact-form label{font-size:12px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.benefit-input-panel input[type=range]{scroll-behavior:auto}}

/* La etiqueta de campo y su asterisco obligatorio siempre permanecen en la misma línea. */
.contact-form label:not(.contact-privacy-label){display:block!important}
.contact-form label:not(.contact-privacy-label)>input,.contact-form label:not(.contact-privacy-label)>select,.contact-form label:not(.contact-privacy-label)>textarea{display:block;margin-top:10px}
.contact-form .form-row label>span{display:inline;color:#008cce}
