/* Cotizador de Mudanza — estilos frontend (mobile-first)
   BLINDADO contra temas/Elementor: alto peso de selector + reset de botones. */
.cm-cotizador{--cm-primary:#1B2A6B;--cm-primary-dark:#131f52;--cm-border:#d8dee9;--cm-bg:#fff;--cm-muted:#667085;--cm-radius:10px;max-width:720px;margin:0 auto;font-family:inherit;color:#1a1a1a;box-sizing:border-box}
.cm-cotizador *,.cm-cotizador *::before,.cm-cotizador *::after{box-sizing:border-box}

/* Reset base de TODOS los botones del cotizador (neutraliza estilos de Elementor/tema). */
.cm-cotizador button,
.cm-cotizador .cm-btn{
	-webkit-appearance:none !important;
	appearance:none !important;
	font-family:inherit !important;
	letter-spacing:normal !important;
	text-transform:none !important;
	box-shadow:none !important;
	outline:none;
	margin:0;
}

/* Progreso */
.cm-cotizador .cm-progress{display:flex;justify-content:space-between;gap:.5rem;margin:0 0 1.5rem}
.cm-cotizador .cm-step-dot{flex:1;text-align:center;padding:.5rem 0;border-radius:var(--cm-radius);background:#eef1f6;color:var(--cm-muted);font-weight:600;font-size:.9rem;transition:.2s}
.cm-cotizador .cm-step-dot.is-active{background:var(--cm-primary);color:#fff}

/* Paneles */
.cm-cotizador .cm-panel{display:none;border:none;padding:0;margin:0}
.cm-cotizador .cm-panel.is-active{display:block;animation:cm-fade .25s ease}
@keyframes cm-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cm-pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.cm-cotizador .cm-legend{font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding:0}

/* Campos */
.cm-cotizador .cm-field{margin-bottom:1rem}
.cm-cotizador .cm-field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.95rem}
.cm-cotizador .cm-field input,.cm-cotizador .cm-field select{width:100%;padding:.7rem .85rem;border:1px solid var(--cm-border);border-radius:var(--cm-radius);font-size:1rem;background:var(--cm-bg)}
.cm-cotizador .cm-field input:focus,.cm-cotizador .cm-field select:focus{outline:2px solid var(--cm-primary);outline-offset:1px;border-color:var(--cm-primary)}
.cm-cotizador .cm-field select:disabled{background:#f5f6f8;color:#9aa2b1}

/* Radios / checkboxes */
.cm-cotizador .cm-radio-group{display:flex;flex-wrap:wrap;gap:.75rem}
.cm-cotizador .cm-radio{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border:1px solid var(--cm-border);border-radius:var(--cm-radius);cursor:pointer;font-size:.95rem}
.cm-cotizador .cm-radio input{width:auto;margin:0}

/* Preguntas */
.cm-cotizador .cm-question{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eef1f6}
.cm-cotizador .cm-question-text{font-weight:600;margin:0 0 .6rem}
.cm-cotizador .cm-options{display:flex;flex-direction:column;gap:.5rem}
.cm-cotizador .cm-option{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem .9rem;border:1px solid var(--cm-border);border-radius:var(--cm-radius);cursor:pointer;transition:.15s}
.cm-cotizador .cm-option:hover{border-color:var(--cm-primary);background:#eef0f8}
.cm-cotizador .cm-option input{width:auto;margin-top:.15rem}

/* Inputs de "Otro país / Otra ciudad" */
.cm-cotizador .cm-otro-input{margin-top:.5rem;width:100%;padding:.7rem .85rem;border:1px solid var(--cm-border);border-radius:var(--cm-radius);font-size:1rem;background:var(--cm-bg)}
.cm-cotizador .cm-otro-input:focus{outline:2px solid var(--cm-primary);outline-offset:1px;border-color:var(--cm-primary)}
.cm-cotizador .cm-otro-input[hidden]{display:none}
.cm-cotizador .cm-empresa-field[hidden]{display:none}

/* Grid responsive */
.cm-cotizador .cm-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:560px){.cm-cotizador .cm-grid-2{grid-template-columns:1fr 1fr}}

/* Buscador / sugerencias */
.cm-cotizador .cm-suggestions{list-style:none;margin:.25rem 0 0;padding:0;border:1px solid var(--cm-border);border-radius:var(--cm-radius);max-height:220px;overflow:auto}
.cm-cotizador .cm-suggestions:empty{display:none}
.cm-cotizador .cm-suggestion{padding:.6rem .85rem;cursor:pointer;border-bottom:1px solid #f0f2f5}
.cm-cotizador .cm-suggestion:last-child{border-bottom:none}
.cm-cotizador .cm-suggestion:hover{background:#eef0f8}

/* Carrito */
.cm-cotizador .cm-cart{margin-top:1.25rem}
.cm-cotizador .cm-cart h3{margin:0 0 .5rem;font-size:1.05rem}
.cm-cotizador .cm-cart-table{width:100%;border-collapse:collapse;font-size:.92rem}
.cm-cotizador .cm-cart-table th,.cm-cotizador .cm-cart-table td{padding:.55rem .4rem;text-align:left;border-bottom:1px solid #eef1f6;vertical-align:middle}
.cm-cotizador .cm-cart-table th{color:var(--cm-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.cm-cotizador .cm-cart-empty td{text-align:center;color:var(--cm-muted);padding:1rem}

/* Celda de cantidad con controles +/- BLINDADOS contra Elementor */
.cm-cotizador .cm-qty-cell{display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.cm-cotizador .cm-qty-num{min-width:1.5rem;text-align:center;font-weight:600}
.cm-cotizador button.cm-qty{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:28px !important;
	height:28px !important;
	min-width:28px !important;
	min-height:28px !important;
	max-width:28px !important;
	padding:0 !important;
	border:1px solid var(--cm-border) !important;
	border-radius:6px !important;
	background:#fff !important;
	background-image:none !important;
	color:var(--cm-primary) !important;
	font-size:1rem !important;
	font-weight:700 !important;
	line-height:1 !important;
	cursor:pointer;
	transition:.12s;
	flex:0 0 auto !important;
}
.cm-cotizador button.cm-qty:hover{background:var(--cm-primary) !important;color:#fff !important;border-color:var(--cm-primary) !important}
.cm-cotizador button.cm-remove{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:28px !important;
	height:28px !important;
	min-width:28px !important;
	max-width:28px !important;
	padding:0 !important;
	border:none !important;
	background:transparent !important;
	background-image:none !important;
	color:#d64545 !important;
	font-size:1.35rem !important;
	line-height:1 !important;
	cursor:pointer;
	border-radius:6px !important;
	flex:0 0 auto !important;
}
.cm-cotizador button.cm-remove:hover{background:#fdecec !important}

/* Acciones / botones principales */
.cm-cotizador .cm-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem}
.cm-cotizador .cm-actions .cm-next,.cm-cotizador .cm-actions .cm-submit{margin-left:auto}
.cm-cotizador .cm-btn{
	display:inline-block;
	padding:.75rem 1.5rem !important;
	border:none !important;
	border-radius:var(--cm-radius) !important;
	background:var(--cm-primary) !important;
	background-image:none !important;
	color:#fff !important;
	font-size:1rem !important;
	font-weight:600 !important;
	line-height:1.3 !important;
	cursor:pointer;
	text-decoration:none !important;
	text-align:center;
	transition:.15s;
	width:auto;
}
.cm-cotizador .cm-btn:hover{background:var(--cm-primary-dark) !important;color:#fff !important}
.cm-cotizador .cm-btn:disabled{opacity:.6;cursor:not-allowed}
.cm-cotizador .cm-btn.cm-secondary{background:#eef1f6 !important;color:#1a1a1a !important}
.cm-cotizador .cm-btn.cm-secondary:hover{background:#e2e7ef !important;color:#1a1a1a !important}

/* Pantalla de éxito (reemplaza al wizard) */
.cm-cotizador .cm-success{text-align:center;padding:1rem 0 2rem;animation:cm-fade .3s ease}
.cm-cotizador .cm-success[hidden]{display:none}
.cm-cotizador .cm-success-icon{display:flex;justify-content:center;margin-bottom:1rem;animation:cm-pop .4s ease}
.cm-cotizador .cm-success-title{font-size:1.6rem;font-weight:700;margin:.25rem 0 .5rem;color:#1a1a1a}
.cm-cotizador .cm-success-sub{color:var(--cm-muted);margin:0 0 1.75rem;font-size:1rem}
.cm-cotizador .cm-success-card{max-width:440px;margin:0 auto 1.75rem;border:1px solid var(--cm-border);border-radius:14px;overflow:hidden;background:#fafbfc}
.cm-cotizador .cm-success-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;gap:1rem}
.cm-cotizador .cm-success-row+.cm-success-row{border-top:1px solid var(--cm-border)}
.cm-cotizador .cm-success-label{color:var(--cm-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.cm-cotizador .cm-success-ruta{font-weight:600;font-size:1.05rem;text-align:right}
.cm-cotizador .cm-success-valor{font-weight:700;font-size:1.35rem;color:var(--cm-primary);text-align:right}
.cm-cotizador .cm-success-actions{display:flex;flex-direction:column;gap:.6rem;max-width:440px;margin:0 auto 1rem}
@media(min-width:480px){.cm-cotizador .cm-success-actions{flex-direction:row;justify-content:center}}
.cm-cotizador .cm-success-wa{background:#25d366 !important}
.cm-cotizador .cm-success-wa:hover{background:#1da851 !important}
.cm-cotizador .cm-success-new{margin-top:.5rem}

/* Modal de cotización personalizada (país no cubierto) */
.cm-cotizador .cm-modal-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(15,20,45,.55);animation:cm-fade .2s ease}
.cm-cotizador .cm-modal-overlay[hidden]{display:none}
.cm-cotizador .cm-modal{position:relative;background:#fff;border-radius:16px;max-width:440px;width:100%;padding:2rem 1.75rem;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.25);animation:cm-pop .3s ease}
.cm-cotizador .cm-modal-close{position:absolute;top:.5rem;right:.75rem;background:none !important;border:none;font-size:1.8rem;line-height:1;color:var(--cm-muted);cursor:pointer;padding:.25rem .5rem}
.cm-cotizador .cm-modal-icon{display:flex;justify-content:center;margin-bottom:.75rem}
.cm-cotizador .cm-modal-title{font-size:1.35rem;font-weight:700;margin:.25rem 0 .75rem;color:var(--cm-primary)}
.cm-cotizador .cm-modal-text{color:#3a3f4b;font-size:1rem;line-height:1.55;margin:0 0 1.5rem}
.cm-cotizador .cm-modal-wa{background:#25d366 !important;width:100%}
.cm-cotizador .cm-modal-wa:hover{background:#1da851 !important}

/* --- Textos de ayuda (hint gris) --- */
.cm-cotizador .cm-hint{display:block;margin-top:.3rem;font-size:.82rem;color:var(--cm-muted);line-height:1.35}
.cm-cotizador .cm-field input::placeholder{color:#9aa2b1;opacity:1}

/* --- Mensajes de error e indicación visual --- */
.cm-cotizador .cm-error{display:block;margin-top:.35rem;font-size:.83rem;color:#c0392b;font-weight:600}
.cm-cotizador .cm-error[hidden]{display:none}
.cm-cotizador .cm-field.cm-has-error > label{color:#c0392b}
.cm-cotizador .cm-field.cm-has-error input,
.cm-cotizador .cm-field.cm-has-error select,
.cm-cotizador .cm-field.cm-has-error .cm-otro-input{
	border-color:#c0392b;
	background:#fdf3f2;
}
.cm-cotizador .cm-field.cm-has-error input:focus,
.cm-cotizador .cm-field.cm-has-error select:focus,
.cm-cotizador .cm-field.cm-has-error .cm-otro-input:focus{
	outline:2px solid #c0392b;
	border-color:#c0392b;
}
.cm-cotizador .cm-field.cm-has-error .cm-radio{border-color:#c0392b}

/* --- Métodos alternativos (cliente curioso): lista / fotos --- */
.cm-cotizador .cm-alt-metodos{margin:0 0 1.2rem;padding:1rem;border:1px dashed var(--cm-border);border-radius:var(--cm-radius);background:#f8f9fc}
.cm-cotizador .cm-alt-metodos[hidden]{display:none}
.cm-cotizador .cm-alt-intro{margin:0 0 .6rem;font-size:.9rem;color:var(--cm-muted)}
.cm-cotizador .cm-alt-aviso{margin:.75rem 0 0;font-size:.82rem;line-height:1.5;color:#8a5300;background:#fff4e0;border-left:3px solid #f08a1e;padding:.55rem .75rem;border-radius:6px}
.cm-cotizador .cm-alt-botones{display:flex;gap:.6rem;flex-wrap:wrap}
.cm-cotizador .cm-alt-lista-wrap,.cm-cotizador .cm-alt-fotos-wrap{margin-top:1rem}
.cm-cotizador .cm-alt-lista-wrap[hidden],.cm-cotizador .cm-alt-fotos-wrap[hidden]{display:none}
.cm-cotizador .cm-alt-lista-wrap label,.cm-cotizador .cm-alt-fotos-wrap label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.95rem}
.cm-cotizador #cm-lista-objetos{width:100%;padding:.7rem .85rem;border:1px solid var(--cm-border);border-radius:var(--cm-radius);font-size:1rem;font-family:inherit;resize:vertical}
.cm-cotizador #cm-lista-objetos:focus{outline:2px solid var(--cm-primary);border-color:var(--cm-primary)}
.cm-cotizador #cm-fotos-input{width:100%;padding:.5rem 0}
.cm-cotizador .cm-fotos-preview{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;font-size:.85rem;color:var(--cm-muted)}
.cm-cotizador .cm-foto-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--cm-border)}

/* --- Modal de asesor (verde whatsapp) --- */
.cm-cotizador .cm-asesor-wa{background:#25D366;border-color:#25D366;color:#fff}
.cm-cotizador .cm-asesor-wa:hover{background:#1da851;border-color:#1da851}

/* ---------- Modal informativo del Paso 4 ---------- */
.cm-cotizador .cm-modal-info{max-width:520px;text-align:left}
.cm-cotizador .cm-modal-info .cm-modal-title{text-align:center}
.cm-cotizador .cm-modal-info .cm-modal-text{text-align:center;margin-bottom:1.1rem}
.cm-cotizador .cm-info-rutas{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.75rem}
.cm-cotizador .cm-info-ruta{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--cm-border);background:#f8f9fc}
.cm-cotizador .cm-info-ruta-digital{border-left:4px solid #1B2A6B}
.cm-cotizador .cm-info-ruta-wa{border-left:4px solid #25D366}
.cm-cotizador .cm-info-ruta-icono{font-size:1.5rem;line-height:1;flex:0 0 auto}
.cm-cotizador .cm-info-ruta-texto{font-size:.88rem;line-height:1.5;color:#333}
.cm-cotizador .cm-info-ruta-texto strong:first-child{display:block;margin-bottom:.2rem;font-size:.95rem;color:var(--cm-primary,#1B2A6B)}
.cm-cotizador .cm-info-ok{width:100%;justify-content:center}
@media(max-width:480px){.cm-cotizador .cm-info-ruta{flex-direction:column;gap:.4rem}}
