.mconf{ width:min(430px, calc(100vw - 2 * var(--pad))); max-width:none;
  padding:0; border:none; border-radius:18px; background:var(--bg); color:var(--fg);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.6); }
.mconf::backdrop{ background:rgba(0,0,0,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.mconf[open]{ animation:mmodal-entra .28s var(--ease-out) both; }
.mconf[open]::backdrop{ animation:mmodal-fondo-entra .28s var(--ease-out) both; }
.mconf__caja{ padding:clamp(24px,2.6vw,32px); }
.mconf__titulo{ margin:0 0 8px; font-size:1.08rem; font-weight:800; line-height:1.3;
  letter-spacing:-.02em; text-wrap:balance; }
.mconf__texto{ margin:0; font-size:.9rem; font-weight:300; line-height:1.5; opacity:.7; }
.mconf__acciones{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap;
  gap:10px; margin-top:clamp(20px,2.2vw,26px); }
.mmodal{ --verde:var(--marca); --verde-oscuro:var(--marca-oscuro);
  width:min(810px, calc(100vw - 2 * var(--pad))); max-width:none; max-height:calc(100vh - 40px);
  padding:0; border:none; border-radius:20px; background:var(--bg); color:var(--fg);
  box-shadow:0 60px 120px -50px rgba(0,0,0,.55); overflow:visible; }
.mmodal::backdrop{ background:rgba(0,0,0,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
@keyframes mmodal-entra{ from{ opacity:0; transform:translateY(16px) scale(.98); } to{ opacity:1; transform:none; } }
@keyframes mmodal-sale{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(8px) scale(.99); } }
@keyframes mmodal-fondo-entra{ from{ opacity:0; } to{ opacity:1; } }
@keyframes mmodal-fondo-sale{ from{ opacity:1; } to{ opacity:0; } }
.mmodal[open]{ animation:mmodal-entra .36s var(--ease-out) both; }
.mmodal[open]::backdrop{ animation:mmodal-fondo-entra .36s var(--ease-out) both; }
.mmodal.is-cerrando{ animation:mmodal-sale .22s var(--ease-out) both; }
.mmodal.is-cerrando::backdrop{ animation:mmodal-fondo-sale .22s var(--ease-out) both; }
.mmodal__caja{ position:relative; max-height:calc(100vh - 40px); overflow-y:auto; overscroll-behavior:contain;
  padding:clamp(24px,2.6vw,36px); border-radius:inherit; }
.mmodal__cerrar{ position:absolute; top:clamp(16px,1.6vw,22px); right:clamp(16px,1.6vw,22px); z-index:2;
  display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  padding:0; border:1px solid rgba(0,0,0,.12); border-radius:999px;
  background:transparent; color:inherit; cursor:pointer;
  transition:background .25s var(--ease-out), border-color .25s var(--ease-out); }
.mmodal__cerrar:hover{ background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.22); }
.mmodal__cerrar svg{ width:19px; height:19px; display:block; }
.mmodal__titulo{ margin:0; padding-right:48px; font-size:clamp(1.35rem,2.3vw,1.85rem); font-weight:300; line-height:1.14;
  letter-spacing:-.03em; }
.mmodal__titulo strong{ font-weight:800; }
.mmodal__titulo-paso[hidden]{ display:none; }
.mmodal__progreso{ display:flex; gap:6px; margin:clamp(18px,2vw,26px) 0 0; padding:0; }
.mmodal__progreso i{ display:block; flex:1; height:3px; border-radius:999px; background:rgba(0,0,0,.12);
  transition:background .3s var(--ease-out); }
.mmodal__progreso i.is-activo{ background:var(--verde); }
.mmodal__paso{ margin:0; padding:0; border:none; }
.mmodal__paso[hidden]{ display:none; }
.mmodal__pregunta{ display:block; padding:0; margin:clamp(18px,2vw,26px) 0 0;
  font-size:.85rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.55; }
.mmodal__atras{ padding:0; border:none; background:none; color:inherit; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  font-size:.8rem; font-weight:700; opacity:.6;
  transition:opacity .25s var(--ease-out); }
.mmodal__atras:hover{ opacity:1; }
.mmodal__atras span{ transition:transform .3s var(--ease-out); }
.mmodal__atras:hover span{ transform:translateX(-3px); }
.mmodal__rejilla{ margin-top:clamp(20px,2.2vw,28px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(10px,1.4vw,18px) clamp(22px,2.6vw,38px); }
.mmodal__grupo{ margin:0; padding:0; border:none; border-top:1px solid var(--border); }
.mmodal__grupo-titulo{ display:flex; align-items:center; gap:11px; width:100%;
  padding:8px 0 6px; font-size:.82rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; opacity:.7; }
.mmodal__grupo-img{ flex:none; width:30px; height:30px; object-fit:contain; display:block;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.18)); }
.mmodal__check{ position:relative; display:flex; align-items:flex-start; gap:11px;
  padding:6px 8px 6px 0; border-radius:8px; cursor:pointer;
  font-size:.9rem; font-weight:400; line-height:1.3; }
.mmodal__check input{ flex:none; appearance:none; -webkit-appearance:none; margin:1px 0 0;
  width:19px; height:19px; border:1.5px solid rgba(0,0,0,.28); border-radius:5px;
  background:transparent; cursor:pointer;
  transition:background .2s var(--ease-out), border-color .2s var(--ease-out); }
.mmodal__check input:checked{ background-color:var(--verde); border-color:var(--verde);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4.5 4.5L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.mmodal__check input:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.mmodal__check:hover span{ opacity:1; }
.mmodal__check span{ opacity:.82; text-wrap:balance; transition:opacity .2s var(--ease-out); }
.mmodal__campos{ display:grid; grid-template-columns:1fr;
  gap:clamp(16px,1.8vw,22px); margin-top:clamp(18px,2vw,26px); }
.mmodal__campo{ display:flex; flex-direction:column; gap:6px; }
.mmodal__campo--ancho{ grid-column:1 / -1; }
.mmodal__etiqueta{ font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  opacity:.55; }
.mmodal__obliga{ color:var(--accent); font-weight:800; }
.mmodal__etiqueta em{ font-style:normal; font-weight:400; text-transform:none; letter-spacing:0; }
.mmodal__campo input, .mmodal__campo textarea{ width:100%; padding:10px 13px;
  border:1px solid rgba(0,0,0,.14); border-radius:10px; background:transparent; color:inherit;
  font:inherit; font-size:.92rem; resize:vertical;
  transition:border-color .25s var(--ease-out); }
.mmodal__campo input:focus, .mmodal__campo textarea:focus{ outline:none; border-color:var(--fg); }
.mmodal__campo input:user-invalid, .mmodal__campo textarea:user-invalid{ border-color:var(--accent); }
.mmodal__legal{ display:flex; align-items:flex-start; gap:11px; margin-top:16px;
  font-size:.86rem; font-weight:300; line-height:1.45; cursor:pointer; }
.mmodal__legal input{ flex:none; appearance:none; -webkit-appearance:none; margin:1px 0 0;
  width:19px; height:19px; border:1.5px solid rgba(0,0,0,.28); border-radius:5px;
  background:transparent; cursor:pointer;
  transition:background .2s var(--ease-out), border-color .2s var(--ease-out); }
.mmodal__legal input:checked{ background-color:var(--verde); border-color:var(--verde);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4.5 4.5L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.mmodal__legal input:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.mmodal__legal input:user-invalid{ border-color:var(--accent); }
.mmodal__legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px;
  transition:color .25s var(--ease-out); }
.mmodal__legal a:hover{ color:var(--accent); }
.mmodal__pie{ display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin-top:clamp(24px,2.6vw,34px); }
.mmodal__pie:has(.mmodal__enviar:only-child){ justify-content:flex-end; }
.mmodal__enviar{ flex:none; padding:14px 28px; }
.micro-cierre{ min-height:0; padding-top:clamp(70px,10vh,130px); padding-bottom:clamp(80px,11vh,150px); }
.micro-cierre .section__inner{ text-align:center; }
.micro-cierre .lead{ margin-inline:auto; }
.micro-cierre__vias{ display:flex; flex-direction:column; align-items:center; gap:26px; }
.micro-cierre__iconos{ display:flex; align-items:center; gap:14px; }
.micro-cierre__iconos a{ display:grid; place-items:center; width:52px; height:52px; border-radius:50%;
  border:1px solid var(--border-strong); color:inherit;
  transition:background-color .18s var(--ease-out), color .18s var(--ease-out),
             border-color .18s var(--ease-out), transform .18s var(--ease-out); }
.micro-cierre__iconos a:hover{ background:var(--marca); color:#fff; border-color:var(--marca); transform:translateY(-2px); }
.micro-cierre__iconos svg{ width:22px; height:22px; display:block; }
@media (max-width:760px){
.mmodal__rejilla{ grid-template-columns:1fr; }
.mmodal__campos{ grid-template-columns:1fr; }
.mmodal__enviar{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion: reduce){
.mmodal[open], .mmodal[open]::backdrop,
  .mmodal.is-cerrando, .mmodal.is-cerrando::backdrop{ animation:none; }
}
body[data-page="transform"] .tmodal{ --marca:#1a9b57; --marca-oscuro:#147a44; --verde:#1a9b57; }
body[data-page="transform"] .micro-cierre__iconos a:hover{ background:#1a1410; border-color:#1a1410; }
body[data-page="transform"] .micro-cierre{ border-top:0; }
.tmodal .mmodal__caja{ padding:clamp(26px, 3.4vw, 44px); }
.tmodal .lead-form-card{ max-width:none; margin:clamp(14px, 1.6vw, 20px) 0 0; padding:0; border:0; border-radius:0; box-shadow:none; background:none; align-items:stretch; }
.tmodal .lead-form-progress{ max-width:none; margin:0 0 6px; }
.tmodal .lead-form-progress span{ height:3px; }
.tmodal .lead-form, .tmodal .lead-form .field-group{ max-width:none; }
.tmodal .lead-form .field-q{ font-size:1.05rem; font-weight:800; line-height:1.35; }
.tmodal .lead-form .choices{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px 18px; }
.tmodal .lead-form .choice{
  display:flex; align-items:flex-start; gap:11px; padding:0; border:0; background:none; font-size:1rem; line-height:1.4; cursor:pointer;
}
.tmodal .lead-form .choice input{
  flex:none; appearance:none; -webkit-appearance:none; width:20px; height:20px; margin:1px 0 0;
  border:1.5px solid rgba(26,20,16,.28); border-radius:6px; background:#fff; cursor:pointer;
  transition:background-color .2s, border-color .2s;
}
.tmodal .lead-form .choice input[type="radio"]{ border-radius:50%; }
.tmodal .lead-form .choice input:checked{
  background-color:var(--verde); border-color:var(--verde);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4.5 4.5L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:13px 13px;
}
.tmodal .lead-form .choice input:focus-visible{ outline:2px solid #1a1410; outline-offset:2px; }
.tmodal .lead-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea){
  width:100%; padding:10px 13px; border:1px solid rgba(26,20,16,.2); border-radius:10px; background:#fff; font:inherit; font-size:1rem;
}
.tmodal .lead-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea):focus{ outline:none; border-color:#1a1410; }
.tmodal .lead-form__nav{ margin-top:22px; }
.tmodal .lead-form__contact-alt{ display:none; }
.tmodal :is(.lead-form, .lead-form__step, .lead-form fieldset){ border:0; box-shadow:none; background:none; padding-left:0; padding-right:0; }
.tmodal .lead-form__step{ padding-top:0; padding-bottom:0; min-height:0; }
body[data-page="transform"] .tmodal .lead-form-card{ border:0; border-radius:0; padding:0; box-shadow:none; background:none; }
body[data-page="transform"] .tmodal .lead-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea){ border:1px solid rgba(26,20,16,.2); border-radius:10px; padding:10px 13px; background:#fff; }
body[data-page="transform"] .tmodal .lead-form textarea{ min-height:92px; }
.ir-configurador{
  position:fixed; left:50%; bottom:28px; z-index:40; display:inline-flex; align-items:center; gap:10px;
  padding:17px 30px; border:0; border-radius:999px; background:#f1b434; color:#1a1410;
  font:inherit; font-size:1rem; font-weight:800; text-decoration:none; cursor:pointer; white-space:nowrap;
  box-shadow:0 18px 36px -16px rgba(241,180,52,.85);
  transform:translate(-50%, 0); transition:opacity .35s var(--ease-out), transform .35s var(--ease-out), visibility .35s;
}
.ir-configurador:hover{ background:#e8a820; }
.ir-configurador svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.ir-configurador:is(.is-oculto, .is-oculto-inicio), body.modal-abierto .ir-configurador{ opacity:0; visibility:hidden; transform:translate(-50%, 16px); pointer-events:none; }
@media (max-width:900px){
.ir-configurador{ bottom:28px; padding:15px 24px; }
}
body[data-page="transform"] .micro-cierre{ display:none; }
