/* Selector de emojis (marca: tarjeta blanca, radios 16, rojo de marca en foco/seleccion) */
.boton-emojis { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; border:0; border-radius:999px; background:var(--c-f8f3ef, #f8f3ef); color:inherit; font:inherit; font-size:18px; cursor:pointer; transition:background .15s ease, transform .15s ease; flex:none; }
.boton-emojis:hover { background:var(--tinte, #fff1ee); transform:scale(1.05); }
.boton-emojis:focus-visible, .se-tab:focus-visible, .se-emoji:focus-visible { outline:3px solid var(--red, #e11d2e); outline-offset:2px; }
.boton-emojis .txt { font-size:14px; font-weight:600; }
.selector-emojis { position:fixed; z-index:140; width:min(320px, calc(100vw - 16px)); box-sizing:border-box; padding:10px; background:var(--c-ffffff, #fff); border-radius:16px; box-shadow:0 14px 40px var(--c-3c1e14-a2, rgba(60,30,20,.2)); opacity:0; transform:translateY(6px) scale(.98); transition:opacity .18s ease, transform .18s ease; }
.selector-emojis.on { opacity:1; transform:none; }
.selector-emojis.hoja { left:0; right:0; bottom:0; top:auto; width:100%; border-radius:20px 20px 0 0; padding-bottom:max(10px, env(safe-area-inset-bottom)); }
.se-tabs { display:flex; justify-content:center; gap:12px; border-bottom:1px solid var(--c-f1e6df, #f1e6df); padding-bottom:6px; } /* v.38: pestanas centradas y parejas */
.se-tab { flex:0 0 56px; width:56px; display:inline-flex; align-items:center; justify-content:center; padding:0; min-height:44px; border:0; border-radius:12px; background:transparent; font-size:20px; cursor:pointer; }
.se-tab img.ic { width:22px; height:22px; opacity:.65; }
.se-tab[aria-selected="true"] img.ic, .se-tab:hover img.ic { opacity:1; }
.se-tab[aria-selected="true"] { background:var(--tinte, #fff1ee); box-shadow:inset 0 -3px 0 var(--red, #e11d2e); }
.se-titulo { margin:8px 2px 4px; font-size:12px; font-weight:600; color:var(--muted, #7a6a60); }
.se-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(40px, 1fr)); gap:2px; max-height:220px; overflow:auto; }
.se-emoji { min-width:40px; min-height:44px; border:0; border-radius:12px; background:transparent; font-size:22px; cursor:pointer; transition:background .12s ease, transform .12s ease; }
.se-emoji:hover { background:var(--c-f8f3ef, #f8f3ef); transform:scale(1.12); }
.se-emoji { display:inline-flex; align-items:center; justify-content:center; }
.se-png { width:26px; height:26px; display:block; pointer-events:none; }
@media (prefers-reduced-motion: reduce){ .selector-emojis, .se-emoji, .boton-emojis { transition:none; } }
@media (max-width:520px){ .tools .boton-emojis .txt { display:none; } }
/* Espejo de campos: los emojis del mapa se ven como PNG mientras se escribe (el campo sigue siendo el control real). */
.espejo-emojis { position:absolute; z-index:1; box-sizing:border-box; margin:0; border-style:solid; border-color:transparent; background:transparent; overflow:hidden; pointer-events:none; white-space:pre-wrap; overflow-wrap:break-word; }
.espejo-emojis.una-linea { white-space:pre; overflow-wrap:normal; }
.espejo-emojis[hidden] { display:none; }
.campo-con-espejo { color:transparent !important; caret-color:var(--ink, #1c1412); }
.campo-con-espejo::selection { color:transparent; background:var(--c-e11d2e-a22, rgba(225,29,46,.22)); }
.espejo-emoji { position:relative; color:transparent; }
.espejo-emoji img { position:absolute; left:50%; top:50%; width:1.25em; height:1.25em; transform:translate(-50%, -50%); }
@media (forced-colors: active){ .campo-con-espejo { color:CanvasText !important; } .espejo-emojis { display:none !important; } }
/* Buscador del selector: lupa de marca + campo; resultados de todas las categorias; estado vacio con icono de marca. */
.se-buscar { display:flex; align-items:center; gap:8px; min-height:44px; margin-bottom:6px; padding:0 12px; border:1px solid var(--c-f1e6df, #f1e6df); border-radius:999px; background:var(--c-fbf7f4, #fbf7f4); }
.se-buscar:focus-within { border-color:var(--red, #e11d2e); box-shadow:0 0 0 3px var(--c-e11d2e-a14, rgba(225,29,46,.14)); background:var(--c-ffffff, #fff); }
.se-buscar img.ic { width:18px; height:18px; flex:none; }
.se-buscar-campo { flex:1; min-width:0; height:40px; border:0; outline:0; background:transparent; font:inherit; font-size:14px; color:var(--ink, #1c1412); }
.se-buscar-campo::-webkit-search-cancel-button { cursor:pointer; }
.selector-emojis.buscando .se-tab[aria-selected="true"] { background:transparent; box-shadow:none; }
.se-vacio { display:flex; flex-direction:column; align-items:center; gap:4px; padding:22px 8px; text-align:center; color:var(--muted, #7a6a60); }
.se-vacio[hidden], .se-grid[hidden] { display:none; }
.se-vacio img.ic { width:36px; height:36px; padding:10px; border-radius:50%; background:var(--tinte, #fff1ee); }
.se-vacio p { margin:4px 0 0; font-weight:700; color:var(--ink, #1c1412); }
.se-vacio small { font-size:12px; }
.selector-emojis .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.selector-emojis .se-buscar input.se-buscar-campo, .selector-emojis .se-buscar input.se-buscar-campo:focus { margin:0; padding:0; border:0; border-radius:0; box-shadow:none; outline:0; background:transparent; min-height:0; width:auto; }
