/* Selector de comuna del cliente (prefijo .cm) */
.cm-field{display:grid;gap:5px}
.cm{position:relative}
.cm-input{width:100%}
.cm.cm-inline{width:100%}
.cm-hint{color:#667691;font-size:11.5px;font-weight:500}
.cm-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #cfdaeb;border-radius:14px;box-shadow:0 14px 34px rgba(11,31,77,.18)}
.cm-list[hidden]{display:none}
.cm-opt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;font-size:14px;color:#0b1b3d}
.cm-opt b{font-weight:700}.cm-opt small{color:#7b8aa3;font-size:11.5px;white-space:nowrap}
.cm-list .cm-opt:hover,.cm-list .cm-opt.is-active,.cm-results .cm-opt:hover,.cm-results .cm-opt:focus-visible{background:#eef5ff}
.cm-opt.is-current{background:#e3efff}.cm-opt.is-current b::after{content:" ✓";color:#0b63f6}
.cm-none{padding:12px;color:#667691;font-size:13px}
/* Cuadro de la barra superior */
.cm-pick{display:grid;gap:10px}
.cm-search{width:100%;font:inherit;font-size:15px;padding:11px 14px;border:1px solid #cfdaeb;border-radius:12px;background:#fff;color:#0b1b3d}
.cm-search:focus{outline:2px solid #9cc4ff;border-color:#0b63f6}
.cm-count{margin:0;color:#667691;font-size:12.5px}
.cm-results{max-height:min(46vh,340px);overflow:auto;margin:0;padding:4px;list-style:none;border:1px solid #e3eaf4;border-radius:14px}
.cm-results button.cm-opt{border:0;background:none}
.cm-note{margin:0;color:#667691;font-size:12.5px;line-height:1.4}
body[data-page="panel"] .cm-pick p,body[data-page="panel"] .cm-field .cm-hint{color:#667691}
.cp2-commune{cursor:pointer}
/* En el formulario de la piscina, los campos se alinean arriba aunque la comuna lleve una ayuda debajo. */
.portal-pool-form .portal-fields>label{align-content:start}
