/* CEM Mejoras del Directorio */
.cem-rel-mas{margin-top:12px;font-weight:600}
.cem-ficha-datos{display:block;margin-top:6px;line-height:1.5}
.cem-ficha-datos a{font-weight:600;color:#0a6b45}
.cem-botones{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.cem-btn,a.cem-btn,button.cem-btn,.elementor a.cem-btn,.entry-content a.cem-btn{display:inline-block;padding:12px 20px;border:2px solid #0a6b45!important;border-radius:8px;background:#fff!important;color:#0a6b45!important;font-weight:600;font-size:1rem;text-decoration:none!important;line-height:1.2;cursor:pointer;transition:background-color .15s,color .15s}
.cem-btn:hover,.cem-btn:focus,a.cem-btn:hover,a.cem-btn:focus,.elementor a.cem-btn:hover,.elementor a.cem-btn:focus{background:#e7f3ee!important;color:#085537!important}
.cem-btn.cem-btn--principal,a.cem-btn.cem-btn--principal,button.cem-btn.cem-btn--principal,.elementor a.cem-btn.cem-btn--principal{background:#0a6b45!important;color:#fff!important}
.cem-btn.cem-btn--principal:hover,.cem-btn.cem-btn--principal:focus,a.cem-btn.cem-btn--principal:hover,a.cem-btn.cem-btn--principal:focus,.elementor a.cem-btn.cem-btn--principal:hover,.elementor a.cem-btn.cem-btn--principal:focus{background:#063d28!important;border-color:#063d28!important;color:#fff!important}
.cem-btn:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.cem-btn[disabled]{opacity:.6;cursor:wait}
.cem-rel{margin-top:32px}
.cem-rel ul,.cem-ciudades{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cem-rel li,.cem-ciudades li{background:#fff;border:1px solid #e3e3e3;border-radius:8px;padding:12px 14px}
.cem-rel a,.cem-ciudades a{font-weight:600;color:#0a6b45;text-decoration:none}
.cem-rel a{display:block}
.cem-rel span{display:block;font-size:.875em;color:#555;margin-top:4px}
.cem-ciudades li{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cem-n{font-size:.8em;color:#555;background:#f1f1ef;border-radius:999px;padding:2px 8px;white-space:nowrap}
.cem-bloque{margin:40px auto;max-width:1140px;padding:0 16px}
.cem-indice h2{margin-top:32px}
.cem-indice h3{margin:24px 0 4px}
.cem-insignia{display:inline-block;background:#e7f3ee;color:#085537;border-radius:999px;padding:4px 12px;font-size:.875em;font-weight:600;margin:0 0 12px}
.cem-reclamo,.cem-cta{margin-top:28px;padding:18px 20px;border:1px solid #e3e3e3;border-radius:10px;background:#fafaf8}
.cem-reclamo p,.cem-cta p{margin:0 0 12px}
.cem-cta-t{font-weight:700;font-size:1.1em}
.cem-cta-btns{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.cem-panel{max-width:860px;margin:0 auto}
.cem-panel .cem-lead{font-size:1.1em}
.cem-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 20px}
.cem-caja{border:1px solid #e3e3e3;border-radius:10px;padding:20px;margin-bottom:20px;background:#fff}
.cem-form label,.cem-caja form label{display:block;font-weight:600;font-size:.95em}
.cem-form input[type=text],.cem-form input[type=email],.cem-form input[type=tel],.cem-form input[type=password],.cem-form select,.cem-form textarea,.cem-caja input[type=text],.cem-caja input[type=password],.cem-buscar input[type=search]{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #c9c9c4;border-radius:6px;font-weight:400;font-size:1rem;box-sizing:border-box}
.cem-form input[type=file]{display:block;margin-top:6px;font-weight:400}
.cem-check label{font-weight:400}
.cem-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cem-buscar{display:flex;gap:10px;margin-bottom:20px}
.cem-buscar input{margin-top:0!important}
.cem-lista{list-style:none;padding:0;margin:0 0 20px}
.cem-lista li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0;border-bottom:1px solid #eee}
.cem-lista li span{color:#555;font-size:.9em}
.cem-etiqueta{background:#f1f1ef;border-radius:999px;padding:2px 10px;font-size:.8em!important}
.cem-msg{padding:12px 16px;border-radius:8px;margin-bottom:20px}
.cem-msg--ok{background:#e7f3ee;color:#085537}
.cem-msg--aviso{background:#fff6e0;color:#6b4e00}
.cem-msg--error{background:#fdecec;color:#8a1f1f}
.cem-salir{margin-top:32px;font-size:.9em}
@media(max-width:600px){.cem-btn{flex:1 1 100%;text-align:center}.cem-buscar{flex-direction:column}}
