.ihf{--ihf-c:#2B6A29;--ihf-c2:#EEF5EE;--ihf-t:#1b2430;--ihf-b:#cfd8e3;--ihf-r:10px;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ihf-t);max-width:880px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.ihf *,.ihf *::before,.ihf *::after{box-sizing:border-box}
.ihf h2{font-size:1.5rem;margin:.2em 0 .8em;color:var(--ihf-c)}.ihf h3{margin:.2em 0 .6em}
.ihf-sec{border:1px solid var(--ihf-b);border-radius:var(--ihf-r);padding:16px;margin:0 0 16px;min-width:0}
.ihf-sec legend{font-weight:700;color:var(--ihf-c);padding:0 8px}
.ihf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:8px}
.ihf-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;min-width:0}
.ihf-field label{font-size:.9rem;font-weight:600}
.ihf input[type=text],.ihf input[type=number],.ihf input[type=email],.ihf input[type=tel],.ihf input[type=date],.ihf input[type=time],.ihf select{width:100%;padding:11px 12px;font:inherit;border:1px solid var(--ihf-b);border-radius:8px;background:#fff;color:inherit;min-height:44px}
.ihf input:focus,.ihf select:focus{outline:2px solid var(--ihf-c);outline-offset:1px}
.ihf small{color:#5b6775}.ihf-err{color:#b3261e;font-size:.85rem;min-height:0}.has-err input,.has-err select{border-color:#b3261e}
.ihf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.ihf-card{--pc:#2f6db5;display:flex;flex-direction:column;gap:4px;border:2px solid color-mix(in srgb,var(--pc) 45%,#fff);background:#f6f8fb;background:color-mix(in srgb,var(--pc) 16%,#fff);border-radius:var(--ihf-r);padding:12px;cursor:pointer;position:relative;transition:box-shadow .15s,border-color .15s}
.ihf-card:hover{border-color:color-mix(in srgb,var(--pc) 60%,#fff)}
.ihf-card input{position:absolute;opacity:0}.ihf-card:has(input:checked){border-color:var(--pc);background:color-mix(in srgb,var(--pc) 28%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--pc) 35%,transparent)}
.ihf-card:has(input:checked)::after{content:"✓ Elegido";position:absolute;top:8px;right:10px;font-size:.75rem;font-weight:700;color:var(--pc)}
.ihf-card:has(input:focus-visible){outline:2px solid var(--pc);outline-offset:2px}
.ihf-card-t{font-weight:700;padding-right:58px}.ihf-card-d{font-size:.85rem;color:#5b6775}.ihf-card-px{font-size:.85rem;font-weight:600;color:#3a4a5c}
.ihf-card-f,.ihf-feat{margin:2px 0 0;padding:0;list-style:none;font-size:.85rem;color:#44505e}.ihf-card-f li,.ihf-feat li{position:relative;padding-left:18px;margin:2px 0}.ihf-card-f li::before,.ihf-feat li::before{content:"✓";position:absolute;left:0;color:var(--pc);font-weight:700}
.ihf-feat{font-size:.95rem}.ihf-feat li{margin:6px 0}
.ihf-link{align-self:flex-start;margin-top:4px;background:none;border:0;padding:4px 0;font:inherit;font-size:.85rem;font-weight:600;color:var(--ihf-c);text-decoration:underline;cursor:pointer;min-height:32px}
.ihf-cmpbar{margin-bottom:10px}.ihf-cmpbar:empty{display:none}
.ihf-opts,.ihf-pay{display:flex;flex-direction:column;gap:6px}.ihf-grp{font-weight:700;margin-top:8px;color:var(--ihf-c)}
.ihf-check,.ihf-radio{display:flex;gap:10px;align-items:center;padding:8px 4px;cursor:pointer}.ihf-check input,.ihf-radio input{width:20px;height:20px;flex:none}
.ihf-total{background:var(--ihf-c2);border-radius:var(--ihf-r);padding:14px 16px;margin:8px 0 16px}.ihf-total:empty{display:none}
.ihf-total-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.ihf-total-row strong{font-size:1.5rem;color:var(--ihf-c)}
.ihf-btn{background:var(--ihf-c);color:#fff;border:0;border-radius:8px;padding:13px 22px;font:inherit;font-weight:700;cursor:pointer;min-height:46px}
.ihf-btn:hover{filter:brightness(1.12)}.ihf-btn:disabled{opacity:.55;cursor:wait}.ihf-btn-alt{background:#fff;color:var(--ihf-c);border:2px solid var(--ihf-c)}.ihf-btn-sm{padding:8px 14px;min-height:44px}
.ihf-btns{display:flex;gap:12px;flex-wrap:wrap}.ihf-btns .ihf-btn{flex:1 1 220px}
.ihf-row{display:flex;gap:8px}.ihf-client{border-top:2px dashed var(--ihf-b);margin-top:16px;padding-top:16px}
.ihf-ok{background:#e6f4ea;border-radius:8px;padding:10px 12px;font-weight:600}
.ihf-msg{background:#fdecea;color:#7a1712;border-radius:8px;padding:12px;margin-top:12px}
.ihf-done{text-align:center;padding:24px 8px}.ihf-code{background:var(--ihf-c2);border-radius:var(--ihf-r);padding:16px;margin-top:12px;display:flex;flex-direction:column;gap:6px}.ihf-code strong{font-size:1.6rem;letter-spacing:.12em;word-break:break-all}
.ihf-quote{border:1px solid var(--ihf-b);border-radius:var(--ihf-r);padding:16px;margin-top:16px}.ihf-hint{color:#5b6775}
.ihf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:480px){.ihf{padding:0 12px}.ihf-sec{padding:12px}.ihf-total-row strong{font-size:1.3rem}}
@media (prefers-color-scheme:dark){.ihf.ihf-auto-dark{--ihf-t:#e8ecf1;--ihf-c2:#1d2a3a;--ihf-b:#3a4756}.ihf.ihf-auto-dark input,.ihf.ihf-auto-dark select{background:#111a24}}
.ihf-iva{display:block;margin-top:4px;opacity:.75}

.ihf-total{position:sticky;bottom:0;z-index:5;box-shadow:0 -4px 14px rgba(18,57,95,.14);border:1px solid color-mix(in srgb,var(--ihf-c) 25%,#fff)}
.ihf-need{display:block;color:#7a5200}
.ihf-modal{position:fixed;inset:0;z-index:99999;background:rgba(16,24,34,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.ihf-modal-box{position:relative;background:#fff;color:var(--ihf-t);border-radius:14px;max-width:min(960px,100%);max-height:90vh;overflow:auto;padding:22px 20px 20px;box-shadow:0 20px 60px rgba(0,0,0,.35);width:100%}
.ihf-modal-box h3{margin:0 36px 10px 0;color:var(--ihf-c);font-size:1.25rem}
.ihf-modal-x{position:absolute;top:8px;right:10px;width:40px;height:40px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#5b6775}
.ihf-pm{--pc:#2f6db5;border-left:5px solid var(--pc);padding-left:14px}
.ihf-cmp-wrap{overflow-x:auto}
.ihf-cmp{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;font-size:.92rem}
.ihf-cmp th,.ihf-cmp td{padding:9px 10px;border-bottom:1px solid var(--ihf-b);text-align:center;vertical-align:middle}
.ihf-cmp thead th{--pc:#2f6db5;background:color-mix(in srgb,var(--pc) 14%,#fff);border-top:4px solid var(--pc);position:sticky;top:0}
.ihf-cmp thead th span{display:block;font-weight:700;margin-bottom:6px}
.ihf-cmp thead th.is-sel{background:color-mix(in srgb,var(--pc) 24%,#fff)}
.ihf-cmp tbody th{text-align:left;font-weight:600;position:sticky;left:0;background:#fff;min-width:170px}
.ihf-cmp td{color:#2e6b3a;font-weight:700}.ihf-cmp td:not(:empty){font-weight:600}
body:has(.ihf-modal){overflow:hidden}
@media (max-width:480px){.ihf-modal{padding:0;align-items:flex-end}.ihf-modal-box{border-radius:14px 14px 0 0;max-height:92vh}}

.ihf-g{display:grid;gap:12px;margin-bottom:8px}.ihf-g1{grid-template-columns:1fr}.ihf-g2{grid-template-columns:1fr 1fr}.ihf-g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.ihf-g3{grid-template-columns:1fr 1fr}.ihf-g3>.ihf-field:first-child{grid-column:1/-1}}
@media(max-width:340px){.ihf-g2,.ihf-g3{grid-template-columns:1fr}}
.ihf-g .ihf-field{margin-bottom:0}
.ihf-card-px-b{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--pc) 40%,transparent)}
.ihf-save{display:block;color:#1a7f4b;font-weight:600;font-size:.8rem;margin-top:2px}.ihf-save:empty{display:none}
.ihf-terms{align-items:flex-start}.ihf-terms a{text-decoration:underline}
.ihf-warn{background:#fff6e5;border:1px solid #f0c36d;border-radius:8px;padding:10px 12px;color:#6b4a00}

.ihf-disp:empty{display:none}.ihf-disp{margin:4px 0 10px;padding:8px 12px;border-radius:8px;font-size:.9rem;border:1px solid}
.ihf-disp-ok{background:#e8f6ee;border-color:#8fd0aa;color:#14653a}.ihf-disp-rev{background:#fff3e0;border-color:#f0b35c;color:#8a4b00}.ihf-disp-no{background:#fdeceb;border-color:#e59a96;color:#9b1c14}

.ihf-card:has(input:checked)::after{color:#2b3a4a}
.ihf-card-px{display:flex;flex-direction:column;gap:1px;line-height:1.35}.ihf-px-min{text-align:center;font-size:.8rem;font-weight:600;margin-top:3px;color:#5b6775}
.ihf-sum{border:1px solid #d6dde6;border-radius:var(--ihf-r);padding:12px 16px;margin:8px 0;background:#fff}.ihf-sum h3{margin:0 0 6px;font-size:1rem}
.ihf-sum-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #eef1f5;font-size:.92rem}.ihf-sum-row span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.ihf-sum-h{font-weight:600}.ihf-sum-sub{padding-left:14px;color:#5b6775;font-size:.85rem}.ihf-sum-st{font-weight:700}
.ihf-sum-disc{color:#c0261f;font-weight:600}
.ihf-sum-total{margin-top:6px;padding:10px 12px;border:0;border-radius:8px;background:var(--ihf-c,#2e7d32);color:#fff;font-weight:800;font-size:1.1rem}
.ihf-legend{margin:8px 0 0;padding:8px 12px;border-radius:8px;font-size:.88rem;font-weight:600;text-align:center}.ihf-leg-con{background:#e8f5ec;color:#1a5c36}.ihf-leg-cot{background:#f1f4f8;color:#44505e;font-weight:500}
.ihf-savebox{text-align:center;margin-top:10px}.ihf-savebox p{margin:4px 0;font-size:1rem;font-weight:700}.ihf-save-no{color:#c0261f}.ihf-save-ok{color:#1a7f4b}

/* 2.1.0 — más cómodo: campos grandes, fases y tarjetas con aire */
.ihf-sec{padding:22px 22px 14px;border-radius:16px;box-shadow:0 1px 3px rgba(20,40,70,.06);scroll-margin-top:84px}
.ihf-sec legend{font-size:1.05rem;padding:0 10px}
.ihf-field{gap:6px;margin-bottom:14px}.ihf-field label{font-size:.95rem}
.ihf input[type=text],.ihf input[type=number],.ihf input[type=email],.ihf input[type=tel],.ihf input[type=date],.ihf input[type=time],.ihf select{min-height:52px;padding:13px 14px;font-size:16px;border-radius:12px}
.ihf-check,.ihf-radio{min-height:52px;padding:10px 8px;border-radius:10px}.ihf-check:hover,.ihf-radio:hover{background:#f4f8fc}.ihf-check input,.ihf-radio input{width:24px;height:24px}
.ihf-g{gap:16px}
.ihf-steps{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:10px 4px;margin:0 0 16px;border-bottom:1px solid var(--ihf-b);scrollbar-width:none}
.ihf-steps::-webkit-scrollbar{display:none}
.ihf-step{display:flex;align-items:center;gap:8px;flex:none;padding:7px 14px 7px 8px;border-radius:999px;background:#f1f4f8;color:#5b6775;text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}
.ihf-step b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d5dde6;color:#fff;font-size:.8rem}
.ihf-step.is-cur{background:var(--ihf-c);color:#fff}.ihf-step.is-cur b{background:rgba(255,255,255,.28)}
.ihf-step.is-done b{background:#2e9d5b}.ihf-step.is-done b::before{content:"✓";font-size:.85rem}.ihf-step.is-done b{font-size:0}
.ihf-step.is-done.is-cur b{background:#2e9d5b}
@media(max-width:560px){.ihf-sec{padding:16px 14px 8px}.ihf-step span{max-width:110px;overflow:hidden;text-overflow:ellipsis}}

/* 3.6.0: pasos del cotizador más compactos; en pantallas anchas pasan a una segunda fila en vez de cortarse */
.ihf-step{padding:6px 12px 6px 6px;font-size:.82rem;gap:6px}
.ihf-step b{width:22px;height:22px;font-size:.75rem}
.ihf-step.is-done b{background:#3D9C3A}
@media(min-width:700px){.ihf-steps{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}}

/* 3.6.4: pestañas con ícono, cortas; en pantallas anchas se reparten el ancho en una sola fila */
.ihf-step{padding:6px 12px 6px 6px;font-size:.84rem}
.ihf-step b{width:26px;height:26px;background:#fff;color:inherit;font-size:.95rem;box-shadow:0 0 0 1px #dfe6dd}
.ihf-step.is-cur b{background:rgba(255,255,255,.95);box-shadow:none}
.ihf-step.is-done b{background:#3D9C3A;box-shadow:none}
.ihf-step.is-done b{color:#fff}
.ihf-steps{flex-wrap:nowrap;overflow-x:auto}.ihf-step{flex:1 0 auto;justify-content:center}
/* 3.27.9: horas disponibles como botones */
.ihf-slots{margin-top:4px}.ihf-slot-grid{display:flex;flex-wrap:wrap;gap:6px}
.ihf-slot{appearance:none;border:1.5px solid;border-radius:999px;padding:5px 12px;font:600 .9rem/1.2 inherit;cursor:pointer;background:#fff;min-width:64px;text-align:center;transition:background .15s,box-shadow .15s}
.ihf-slot-ok{border-color:#8fd0aa;color:#14653a;background:#f1faf4}.ihf-slot-ok:hover{background:#e0f3e7}
.ihf-slot-rev{border-color:#f0b35c;color:#8a4b00;background:#fff8ec}.ihf-slot-rev:hover{background:#ffefd6}
.ihf-slot.is-sel.ihf-slot-ok{background:#1f8a4c;border-color:#1f8a4c;color:#fff;box-shadow:0 0 0 3px rgba(31,138,76,.2)}
.ihf-slot.is-sel.ihf-slot-rev{background:#d9822b;border-color:#d9822b;color:#fff;box-shadow:0 0 0 3px rgba(217,130,43,.2)}
.ihf-slot:focus-visible{outline:2px solid #2f6db5;outline-offset:2px}
.ihf-slot-leg{margin:8px 0 0;font-size:.8rem;color:#5b6775;display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap}.ihf-slot-leg span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ihf-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.ihf-dot-ok{background:#8fd0aa}.ihf-dot-rev{background:#f0b35c}
.ihf-slot-grid.is-loading{opacity:.55}

/* 3.27.9: horas agrupadas por Mañana / Tarde; en celular fecha arriba y 4 horas por fila */
.ihf-slot-groups{display:flex;flex-direction:column;gap:8px}.ihf-slot-band{display:flex;flex-direction:column;gap:4px}
.ihf-slot-lbl{font-size:.78rem;font-weight:700;color:#5b6775;text-transform:uppercase;letter-spacing:.04em}
.ihf-slot-row{display:flex;flex-wrap:wrap;gap:6px}
.ihf-slot{padding:4px 10px;min-width:58px;font-size:.85rem}
@media(max-width:620px){.ihf-g-fh{grid-template-columns:1fr!important}.ihf-slot-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ihf-slot{min-width:0;padding:7px 0;font-size:.9rem}}
/* 3.27.9: botón de WhatsApp para pedir confirmación */
.ihf-wa{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 16px;border-radius:999px;background:#25d366;color:#fff!important;font-weight:700;font-size:.92rem;text-decoration:none!important;box-shadow:0 2px 6px rgba(37,211,102,.35)}
.ihf-wa:hover{background:#1ebe5b}.ihf-wa svg{width:18px;height:18px;fill:#fff;flex:0 0 auto}
.ihf-disp-rev .ihf-wa-wrap{display:block;text-align:center}
.ihf-disp-wa{text-align:center}

/* 3.27.33: ítems cortos con detalle ⓘ y grupos */
.ihf-i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;border:1px solid #9bb59a;background:#fff;color:#3f6b3a;font:700 10px/1 Georgia,serif;font-style:italic;cursor:pointer;padding:0;vertical-align:middle}
.ihf-i:hover,.ihf-i:focus{background:#3f9c34;color:#fff;border-color:#3f9c34;outline:none}
.ihf-i-d{display:block;margin:3px 0 2px;font-size:.8rem;font-weight:400;color:#5f6b5c;line-height:1.35}
.ihf-fg{margin:12px 0 2px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#3f9c34}
.ihf-cmp tr.ihf-cmp-g th{background:#f1f7ef;color:#2B6A29;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;text-align:left;position:static}
.ihf-cmp td.no{color:#b6c0b4;font-weight:400}
.ihf-card-f li.ihf-card-n{color:#6b7a63;font-size:.78rem;padding-left:0}.ihf-card-f li.ihf-card-n::before{content:none}
