:root{--o:#2B4DB3;--o-cta:#22409A;--o-cta-h:#1A327A;--o-soft:#EEF2FF;--o-line:#C7D2FE}
:focus-visible{outline-color:#2B4DB3}
/* Motor «red Ofert»: complementos sobre site.css de OfertObra (mismo sistema de diseño; colores por web en :root arriba). */
.eng-logo{display:block;height:34px;width:auto}
.foot .eng-logo{height:32px;margin-bottom:10px}
.eng-staging{background:#1D1D1F;color:#fff;text-align:center;font:600 12px/1.2 var(--ff);padding:6px 10px;letter-spacing:.04em}
.eng-hero{padding:34px 0 18px;background:linear-gradient(180deg,var(--o-soft),#fff)}
.eng-hero .hero-in{display:block}
.eng-hero h1{font-size:clamp(1.7rem,4.4vw,2.6rem);max-width:22ch}
.eng-hero .lead{max-width:62ch;font-size:1.08rem}
.eng-trust{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:14px 0 6px}
.eng-trust li{position:relative;padding-left:22px;font-size:.95rem}
.eng-trust li:before{content:"";position:absolute;left:0;top:.42em;width:12px;height:12px;border-radius:50%;background:var(--o)}
.eng-cats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.eng-cat{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:#fff;box-shadow:var(--sh-s)}
.eng-cat:hover{border-color:var(--o);color:var(--ink)}
.eng-cat b{font-family:var(--fh);font-size:1.05rem}
.eng-cat span{color:var(--mute);font-size:.93rem;line-height:1.45}
.eng-two{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media(min-width:960px){.eng-two{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.eng-narrow{max-width:760px}
.eng-how-s{padding-left:1.2em}.eng-how-s li{margin:0 0 .8em}
.eng-links{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px 8px}
.eng-links a{display:inline-block;padding:5px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;background:#fff}
.eng-links a:hover{border-color:var(--o)}
.eng-faq{border-bottom:1px solid var(--line);padding:10px 0}
.eng-faq summary{cursor:pointer;font-weight:600}
.eng-faq p{margin:.6em 0 0;color:var(--ink2)}
.eng-q{border-left:3px solid var(--o-line);padding:4px 0 2px 12px;margin:6px 0 10px}
.eng-yn{border:0;padding:0;margin:0 0 4px}
.eng-yn .chip{display:inline-flex;margin-right:6px}
.eng-warn{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px}
.eng-notice{background:var(--o-soft);border:1px solid var(--o-line);border-radius:var(--r-s);padding:12px 14px;margin:12px 0}
.eng-notice p:last-child{margin-bottom:0}
.eng-urgent{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px}
.eng-draft{background:#fef3c7;border:2px dashed #b45309;color:#78350f;font-weight:700;padding:10px 12px;border-radius:8px;margin:0 0 16px}
.eng-prices{width:100%;border-collapse:collapse;margin:8px 0 10px;background:#fff}
.eng-prices th,.eng-prices td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.eng-prices td{font-weight:700;white-space:nowrap}
.eng-prices small{font-weight:400;color:var(--mute)}
.eng-provs{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px}
.eng-net li{margin-bottom:4px}.eng-net small{display:block;opacity:.75}
.eng-modules{margin-top:10px}
.eng-details{margin:8px 0}
fieldset{border:0;padding:0;margin:0 0 6px;min-width:0}
legend{font-weight:600;margin:10px 0 6px;padding:0}
.legal h2{font-size:1.15rem;margin-top:1.4em}
.legal table{border-collapse:collapse;width:100%}.legal th,.legal td{border:1px solid var(--line);padding:6px 8px;text-align:left}
.eng-calc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh-s)}
.eng-calc .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.eng-out{font-family:var(--fh);font-size:1.5rem;font-weight:800;color:var(--o-cta)}
.eng-small{font-size:.86rem;color:var(--mute)}
.eng-cmp{width:100%;border-collapse:collapse;background:#fff;font-size:.93rem}
.eng-cmp th,.eng-cmp td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.eng-flag{color:#b91c1c;font-weight:600}
@media(max-width:600px){.eng-calc .row2{grid-template-columns:1fr}.eng-prices th,.eng-prices td{padding:6px}}
/* Grid children must shrink around long category lists on 390px screens. */
.eng-pro-grid>*,.eng-two>*,.acc-grid>*{min-width:0}
.eng-prices{table-layout:fixed;font-size:.92rem}
.eng-prices th{overflow-wrap:anywhere;width:48%}
.eng-prices td{white-space:normal;overflow-wrap:anywhere}
#club-qr{background:white;padding:16px;width:max-content;max-width:100%}
.acc-form input,.acc-form textarea,.acc-form select{max-width:100%;box-sizing:border-box}
.acc nav,.acc-nav{flex-wrap:wrap}
.eng-hero .hero-in{display:grid;gap:28px;align-items:center;grid-template-columns:minmax(0,1fr)}
.eng-brand-art{display:block;width:100%;max-width:480px;height:auto;justify-self:center}
@media(min-width:960px){.eng-hero .hero-in:has(.eng-brand-art){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
@media(max-width:600px){.eng-brand-art{max-width:280px}.eng-hero{padding-top:28px}}
.eng-more{border:1px solid var(--line);border-radius:var(--r-s);padding:4px 12px;margin:10px 0 14px;background:#FAFAF9}
.eng-more>summary{cursor:pointer;font-weight:600;padding:8px 0;color:var(--o-cta)}
.eng-more[open]{padding-bottom:10px}
.ui-files{list-style:none;padding:0;margin:6px 0;display:flex;flex-wrap:wrap;gap:6px}
.ui-files li{font-size:.85rem;background:#F2F1EF;border-radius:8px;padding:4px 8px}
.ui-files li.bad{background:#FDECEC;color:var(--err)}
/* R3 — formulario W1 por pasos (sin JS: un solo formulario largo con secciones) */
.eng-step{border:0;padding:0;margin:0 0 10px;min-width:0}
.eng-step-h{font-family:var(--fh);font-size:1.12rem;font-weight:700;margin:6px 0 8px;padding:0}
.eng-qi{margin:0 0 4px}
.eng-qi>.eng-notice{margin-top:4px}
.eng-stepped .eng-off{display:none!important}
.eng-prog{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:2px 0 4px}
.eng-prog[hidden],.eng-nextw[hidden]{display:none}
.eng-back{background:none;border:0;padding:6px 2px;min-height:40px;font:600 .95rem var(--ff);color:var(--o-cta);cursor:pointer}
.eng-back[hidden]{display:none}
.eng-prog-t{margin-left:auto;font-size:.86rem;color:var(--mute);outline:0}
.eng-bar{flex-basis:100%;height:4px;background:var(--line);border-radius:4px;overflow:hidden}
.eng-bar i{display:block;height:100%;width:0;background:var(--o);transition:width .2s}
.eng-nextw{margin-top:10px}
.eng-dur{margin:0}
.eng-dur>legend{font-weight:600;margin:6px 0}
.eng-dur-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.eng-stepped .form-sub[hidden]{display:none}
.eng-form-card{scroll-margin-top:6px}
/* cabecera: enlace a la Cuenta Ofert en el idioma de la página */
.eng-acc{font-weight:600;font-size:.92rem;text-decoration:none;white-space:nowrap;margin-left:auto}
.eng-acc+.top-nav{margin-left:8px}
@media(max-width:420px){.eng-acc{font-size:.82rem}.top-in .btn-sm{padding-left:10px;padding-right:10px}}
.eng-qi>.eng-notice{font-size:.93rem;line-height:1.45;padding:10px 12px}
/* pasos W1: opciones más compactas en móvil (2 columnas, objetivo táctil ≥ 44 px) y leyendas de campo con la letra del texto */
.eng-step fieldset>legend,.eng-dur>legend{font-family:var(--ff);font-size:1rem;font-weight:650;margin:8px 0 6px}
@media(max-width:600px){.eng-stepped .eng-q .subtypes{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;border:0;padding:0}
.eng-stepped .eng-q .chip span{min-height:44px;padding:7px 8px 7px 34px}.eng-stepped .eng-q .chip span:before{left:9px}}
.eng-stepped .eng-q .chip{min-width:0}.eng-stepped .eng-q .chip span{overflow-wrap:anywhere;hyphens:auto}
