/* =============================================================
   negocios-app-9.css — /negocios con experiencia de app (Descubrir · Negocios · Cerca de mí)
   Móvil primero en comportamiento (barra inferior, hojas, historias); PC conserva el encabezado del sitio y las pestañas.
   Al editar este archivo, renómbralo (negocios-app-10.css…) y cambia el nombre en views/negocios.php: así se renueva el caché.
   Sin frameworks ni fuentes de iconos: los iconos son SVG del sprite de app_cards.php.
   ============================================================= */
body.neg-app{
  --neg-navy:#011833; --neg-teal:#007584; --neg-cyan:#00c3dc; --neg-line:#d9e3ed; --neg-bg:#f2fcfd; --neg-soft:#e6f9fc;
  --neg-txt2:#415267; --neg-mut:#587081; --neg-wa:#0b7d62; --neg-gut:16px; --neg-tab-h:60px; --neg-appbar-h:64px;
  background:var(--neg-bg); -webkit-tap-highlight-color:transparent;
}
.neg, .neg *, .neg *::before, .neg *::after, .sheet, .sheet *, .neg-tabbar, .neg-tabbar *{ box-sizing:border-box; }
.neg{ max-width:1120px; margin-inline:auto; padding:0 var(--neg-gut) 3rem; font-family:var(--mpw-font,'Inter',system-ui,sans-serif); color:var(--neg-navy); }
.neg a{ color:inherit; }
.neg button, .sheet button{ font-family:inherit; }
.i{ width:1.15em; height:1.15em; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.2em; }
.neg-sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
[hidden]{ display:none !important; }
.neg a:focus-visible, .neg button:focus-visible, .neg input:focus-visible, .neg-tabbar a:focus-visible, .neg-tabbar button:focus-visible, .sheet a:focus-visible, .sheet button:focus-visible{ outline:3px solid var(--neg-cyan); outline-offset:2px; }
.neg-search__q input:focus-visible{ outline:0; }

/* ---------- Botones ---------- */
.neg-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:0 1.3rem; border-radius:999px; border:1.5px solid transparent; font:800 .92rem/1 var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; cursor:pointer; transition:transform .12s ease, background .15s ease, box-shadow .15s ease; user-select:none; touch-action:manipulation; }
.neg-btn:active{ transform:scale(.97); }
.neg-btn--block{ display:flex; width:100%; }
.neg-btn--primary{ background:var(--neg-cyan); color:var(--neg-navy) !important; box-shadow:0 8px 20px -8px rgba(0,195,220,.7); }
.neg-btn--primary:hover{ background:#12cde4; }
.neg-btn--dark{ background:var(--neg-navy); color:#fff !important; }
.neg-btn--soft{ background:var(--neg-soft); color:var(--neg-navy) !important; border-color:var(--neg-line); }
.neg-btn--line{ background:#fff; color:var(--neg-navy) !important; border-color:var(--neg-cyan); }
.neg-btn--line:hover{ background:var(--neg-cyan); }
.neg-btn[disabled]{ opacity:.65; cursor:progress; }
.neg-link{ background:none; border:0; padding:.5rem; color:var(--neg-teal); font-weight:800; font-size:.9rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

/* ---------- Encabezado y buscador (PC) ---------- */
.neg-head{ display:flex; align-items:flex-end; min-height:5.6rem; margin:1.4rem 0 .15rem; }
.neg-head h1{ display:inline-block; max-width:calc(100% - 350px); margin:0; padding-bottom:.45rem; font-size:clamp(1.5rem,3.4vw,2.1rem); font-weight:800; line-height:1.12; letter-spacing:-.02em; color:var(--neg-navy); }
.neg-appbar{ display:none; }
.neg-search{ display:flex; align-items:center; gap:.7rem; margin:0 0 1.1rem; }
.neg-search__box{ position:relative; flex:1 1 auto; min-width:0; }
.neg-search__q{ display:flex; align-items:center; gap:.55rem; height:54px; padding:.2rem .35rem .2rem 1.3rem; background:#fff; border:1px solid var(--neg-line); border-radius:999px; box-shadow:0 1px 2px rgba(1,24,51,.04); transition:border-color .15s, box-shadow .15s; }
.neg-search__q:focus-within{ border-color:var(--neg-cyan); box-shadow:0 0 0 4px rgba(0,195,220,.16); }
.neg-search__q input{ flex:1 1 0; min-width:0; height:100%; border:0; background:none; outline:0; font:500 1rem var(--mpw-font,'Inter',system-ui,sans-serif); color:var(--neg-navy); }
.neg-search__q input::placeholder{ color:#55707f; opacity:1; }
.neg-search__q input::-webkit-search-cancel-button{ display:none; }
/* Un solo botón a la derecha, como en el chat de Xioh: micrófono mientras no hay texto; en cuanto se teclea, la lupa. */
.neg-search__mic, .neg-search__go{ flex:none; width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; cursor:pointer; touch-action:manipulation; transition:background .15s, transform .12s; }
.neg-search__mic .i, .neg-search__go .i{ width:1.2rem; height:1.2rem; }
.neg-search__mic:active, .neg-search__go:active{ transform:scale(.92); }
.neg-search__mic{ background:#e4eef3; color:var(--neg-navy); }
.neg-search__mic:hover{ background:#d5e6ee; }
.neg-search__go{ display:none; background:var(--neg-cyan); color:var(--neg-navy); }
.neg-search__go:hover{ background:#12cde4; }
.neg-search__q.has-text .neg-search__mic, .neg-search__q.no-mic .neg-search__mic{ display:none; }
.neg-search__q.has-text .neg-search__go, .neg-search__q.no-mic .neg-search__go{ display:grid; }
/* Escuchando: el botón sigue siendo el micrófono (para poder detenerlo) aunque ya se vea lo dictado */
.neg-search__q.is-listening .neg-search__mic{ display:grid; }
.neg-search__q.is-listening .neg-search__go{ display:none; }
.neg-search__mic.rec{ background:#e0245e; color:#fff; animation:neg-rec 1.1s ease-out infinite; }
@keyframes neg-rec{ 0%{ box-shadow:0 0 0 0 rgba(224,36,94,.45); } 100%{ box-shadow:0 0 0 13px rgba(224,36,94,0); } }
.neg-search__cancel{ display:none; }
.neg-locpill{ flex:none; display:inline-flex; align-items:center; gap:.5rem; max-width:330px; height:54px; padding:0 1.1rem; background:#fff; border:1px solid var(--neg-line); border-radius:999px; font:700 .92rem var(--mpw-font,'Inter',system-ui,sans-serif); color:var(--neg-navy); cursor:pointer; transition:border-color .15s; }
.neg-locpill:hover{ border-color:var(--neg-cyan); }
.neg-locpill > span{ font-size:1.2rem; line-height:1; }
.neg-locpill b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
.neg-locpill__chev{ color:var(--neg-mut); width:1rem; height:1rem; }
.neg-country{ display:none; }
/* Sistemas que no dibujan emojis de bandera (Windows): el chip y la píldora ya traen el código o el nombre; en la lista, el código va en una pastilla. */
.no-flags .neg-country__flag[data-cc], .no-flags .neg-locpill > span[data-cc]{ display:none; }
.no-flags .sheet__countries .flag[data-cc]{ font-size:0; }
.no-flags .sheet__countries .flag[data-cc]::before{ content:attr(data-cc); display:inline-block; min-width:1.9rem; padding:.28rem .3rem; border-radius:7px; background:#dfeaf0; color:var(--neg-navy); font:800 .7rem/1 var(--mpw-font,'Inter',system-ui,sans-serif); letter-spacing:.03em; }

/* Autocompletar / recientes / explorar (desplegable en PC; pantalla completa en el celular) */
.neg-find{ position:absolute; z-index:70; top:calc(100% + .4rem); left:0; right:0; max-height:min(66vh,460px); overflow:hidden auto; background:#fff; border:1px solid var(--neg-line); border-radius:18px; box-shadow:0 18px 44px rgba(1,24,51,.16); }
.neg-ac__item{ display:flex; align-items:center; gap:.75rem; padding:.62rem .9rem; text-decoration:none; border-top:1px solid #edf3f6; }
.neg-ac__item:first-child{ border-top:0; }
.neg-ac__item:hover, .neg-ac__item.sel{ background:var(--neg-bg); }
.neg-ac__logo{ position:relative; width:42px; height:42px; flex:none; display:grid; place-items:center; overflow:hidden; border-radius:12px; background:#fff; border:1px solid #e3eef2; color:var(--neg-teal); }
.neg-ac__logo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:2px; background:transparent; }   /* transparente: deja ver el color de fondo del logo (ULTRA) */
.neg-ac__meta{ min-width:0; }
.neg-ac__meta b{ display:block; font-size:.92rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.neg-ac__meta small{ display:block; font-size:.78rem; color:var(--neg-mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.neg-ac__empty{ padding:1rem; text-align:center; color:var(--neg-mut); font-size:.88rem; }
.neg-recent{ padding:.55rem .35rem .2rem; }
.neg-recent__h{ display:flex; align-items:center; justify-content:space-between; padding:.2rem .65rem; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--neg-mut); }
.neg-recent__h button{ background:none; border:0; color:var(--neg-teal); font-weight:800; font-size:.78rem; cursor:pointer; text-transform:none; letter-spacing:0; }
.neg-recent__it{ display:flex; align-items:center; gap:.7rem; width:100%; padding:.62rem .65rem; border:0; border-radius:12px; background:none; color:var(--neg-navy); font-size:.95rem; font-weight:600; text-align:left; cursor:pointer; }
.neg-recent__it:hover{ background:var(--neg-bg); }
.neg-recent__it .i{ color:var(--neg-mut); }
.neg-explore{ display:none; padding:.7rem .95rem 1rem; }
.neg-find[data-mode="ac"] .neg-explore{ display:none !important; }
.neg-explore b{ display:block; margin-bottom:.55rem; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--neg-mut); }
.neg-explore div{ display:flex; flex-wrap:wrap; gap:.45rem; }

/* ---------- Pestañas (PC) ---------- */
.neg-tabs{ display:inline-flex; gap:.25rem; padding:.3rem; margin:0 0 1.1rem; background:#e4eef3; border-radius:999px; }
.neg-tab{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.2rem; border-radius:999px; font:800 .92rem var(--mpw-font,'Inter',system-ui,sans-serif); color:#41596a; text-decoration:none; transition:background .15s, color .15s, box-shadow .15s; }
.neg-tab .i{ width:1.1rem; height:1.1rem; }
.neg-tab:hover:not(.is-on){ color:var(--neg-navy); background:rgba(255,255,255,.5); }
.neg-tab.is-on{ background:#fff; color:var(--neg-navy); box-shadow:0 2px 10px rgba(1,24,51,.12); }
.neg-tab.is-on .i{ color:var(--neg-teal); }

/* ---------- Secciones (chips) ---------- */
.neg-chipsbar{ position:relative; margin:0 0 1.15rem; }
.neg-chips{ display:flex; gap:.5rem; overflow-x:auto; padding:.15rem .1rem .55rem; scrollbar-width:none; scroll-snap-type:x proximity; overscroll-behavior-x:contain; }
.neg-chips::-webkit-scrollbar{ display:none; }
.neg-chip{ flex:0 0 auto; display:inline-flex; align-items:center; min-height:38px; padding:0 1rem; border:1px solid var(--neg-line); border-radius:999px; background:#fff; color:var(--neg-navy); font:700 .86rem var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; white-space:nowrap; cursor:pointer; scroll-snap-align:start; transition:background .15s, color .15s, border-color .15s, transform .12s; touch-action:manipulation; }
.neg-chip:active{ transform:scale(.96); }
.neg-chip:hover{ border-color:var(--neg-navy); }
.neg-chip.is-on{ background:var(--neg-navy); color:#fff !important; border-color:var(--neg-navy); }
.neg-chipsbar__nav{ position:absolute; top:calc(50% - 8px); transform:translateY(-50%); z-index:5; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--neg-line); border-radius:50%; background:#fff; color:var(--neg-navy); box-shadow:0 6px 18px rgba(1,24,51,.16); cursor:pointer; }
.neg-chipsbar__nav.prev{ left:-8px; } .neg-chipsbar__nav.next{ right:-8px; }
.neg-chipsbar__nav:hover{ background:var(--neg-navy); color:#fff; }
@media (hover:none), (pointer:coarse){ .neg-chipsbar__nav{ display:none !important; } }

/* ---------- Distribución ---------- */
.neg-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:1.5rem; align-items:start; }
.neg-main{ min-width:0; }
.neg-side{ display:flex; flex-direction:column; gap:1.1rem; min-width:0; }
.neg-sec-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.15rem 0 .9rem; }
.neg-sec-head h2{ min-width:0; margin:0; font-size:1.15rem; font-weight:800; letter-spacing:-.01em; color:var(--neg-navy); }
.neg-sec-head a{ flex:none; white-space:nowrap; font-weight:800; font-size:.86rem; color:var(--neg-teal); text-decoration:none; }
.neg-feed{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.neg-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.neg-fallback{ margin:0 0 1rem; color:var(--neg-txt2); font-size:.92rem; }
/* Acciones junto a la palabra buscada: llevarla a «Cerca de mí», quitarla… */
.neg-qacts, .cerca__links{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; }
.cerca__links{ margin:.1rem 0 .7rem; }
.neg-ctx{ display:inline-flex; align-items:center; gap:.4rem; min-height:40px; padding:0 .95rem; border:1px solid var(--neg-cyan); border-radius:999px; background:#e9fbfe; color:#07616d !important; font:800 .84rem var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; cursor:pointer; touch-action:manipulation; transition:background .15s, transform .12s; }
.neg-ctx:hover{ background:#d3f6fb; }
.neg-ctx:active{ transform:scale(.97); }
.neg-ctx .i{ width:1.05em; height:1.05em; }
.neg-ctx--ghost{ background:#fff; border-color:var(--neg-line); color:var(--neg-navy) !important; }
.neg-ctx--ghost:hover{ background:var(--neg-soft); }
.neg-more{ display:flex; justify-content:center; margin:1.5rem 0 0; }
.neg-sentinel{ height:1px; }
.neg-empty{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:2.2rem 1.2rem; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 8px 24px rgba(1,24,51,.06); }
.neg-empty__ico{ width:2.6rem; height:2.6rem; color:var(--neg-cyan); margin-bottom:.5rem; }
.neg-empty h3{ margin:0 0 .4rem; font-size:1.1rem; font-weight:800; }
.neg-empty p{ margin:0 0 1.1rem; color:var(--neg-txt2); max-width:36ch; }
.neg-stories-wrap{ display:none; }

/* ---------- Tarjeta de publicación ---------- */
.pcard{ display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 8px 24px rgba(1,24,51,.07); transition:transform .18s ease, box-shadow .18s ease; content-visibility:auto; contain-intrinsic-size:auto 520px; }
.pcard:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(1,24,51,.13); }
.pcard__head{ display:flex; align-items:center; gap:.7rem; padding:.85rem 1rem .75rem; text-decoration:none; color:inherit; }
.pcard__logo, .ncard__logo{ position:relative; flex:none; display:grid; place-items:center; overflow:hidden; background:#fff; border:1px solid #e3eef2; color:var(--neg-teal); }
.pcard__logo{ width:44px; height:44px; border-radius:14px; }
.pcard__logo img, .ncard__logo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:2px; background:transparent; }
.pcard__logo:has(img) .i, .ncard__logo:has(img) .i{ display:none; }
.pcard__who{ min-width:0; flex:1; }
.pcard__name{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.95rem; font-weight:800; line-height:1.2; color:var(--neg-navy); }
.pcard__meta{ display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; color:var(--neg-mut); }
.pcard__media{ position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#e6eff3,#d6e6ec); }
.pcard__media > img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard__ph{ position:absolute; inset:0; display:grid; place-items:center; color:#a9c0cb; }
.pcard__ph .i{ width:2.6rem; height:2.6rem; }
.pcard__tag{ position:absolute; top:.7rem; left:.7rem; display:inline-flex; align-items:center; gap:.3rem; padding:.28rem .65rem; border-radius:999px; color:#fff; font:800 .66rem/1 var(--mpw-font,'Inter',system-ui,sans-serif); text-transform:uppercase; letter-spacing:.04em; box-shadow:0 4px 12px rgba(0,0,0,.22); }
.pcard__grid{ display:flex; width:100%; height:100%; gap:2px; }
.pcard__grid-main{ flex:1 1 60%; min-width:0; overflow:hidden; } .pcard__grid-main img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard__grid-side{ flex:1 1 40%; min-width:0; display:flex; flex-direction:column; gap:2px; }
.pcard__grid-cell{ position:relative; flex:1 1 0; min-height:0; overflow:hidden; } .pcard__grid-cell img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard__grid--2 .pcard__grid-main, .pcard__grid--2 .pcard__grid-side{ flex-basis:50%; }
.pcard__grid-cell.is-more img{ filter:brightness(.55); }
.pcard__grid-plus{ position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:1.2rem; font-weight:800; }
.pcard__body{ display:flex; flex-direction:column; flex:1; padding:.9rem 1rem 1rem; }
.pcard__title{ margin:0 0 .35rem; font-size:1.04rem; font-weight:800; line-height:1.25; letter-spacing:-.01em; }
.pcard__title a{ color:var(--neg-navy); text-decoration:none; }
.pcard__txt{ margin:0 0 .85rem; font-size:.88rem; line-height:1.5; color:var(--neg-txt2); display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pcard__actions{ margin-top:auto; display:flex; align-items:center; gap:.5rem; min-width:0; }
.pcard__cta{ flex:1 1 auto; min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:46px; padding:0 1rem; border-radius:14px; background:var(--neg-navy); color:#fff !important; font:800 .88rem var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; transition:transform .12s ease, filter .15s; touch-action:manipulation; }
.pcard__cta span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pcard__cta.is-wa{ background:var(--neg-teal); }
.pcard__cta:active{ transform:scale(.97); } .pcard__cta:hover{ filter:brightness(1.12); }
.pcard__share{ flex:none; width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--neg-line); border-radius:14px; background:#fff; color:var(--neg-navy); cursor:pointer; transition:background .15s; }
.pcard__share:hover{ background:var(--neg-soft); }

/* ---------- Tarjeta de negocio ---------- */
.ncard{ position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 8px 24px rgba(1,24,51,.07); transition:transform .18s ease, box-shadow .18s ease; content-visibility:auto; contain-intrinsic-size:auto 330px; }
.ncard:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(1,24,51,.13); }
.ncard__cover{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#0f2d3d,#0a8e9c); }
.ncard__cover > img{ width:100%; height:100%; object-fit:cover; display:block; }
.ncard__plan{ position:absolute; top:.6rem; right:.6rem; display:inline-flex; align-items:center; gap:.3rem; padding:.28rem .6rem; border-radius:999px; background:rgba(1,24,51,.84); color:#fff; font:800 .62rem/1 var(--mpw-font,'Inter',system-ui,sans-serif); text-transform:uppercase; letter-spacing:.05em; }
.ncard__plan .i{ width:.95em; height:.95em; color:#69e2e7; }
.ncard__km{ position:absolute; top:.6rem; left:.6rem; z-index:2; display:inline-flex; align-items:center; gap:.3rem; padding:.3rem .65rem; border-radius:999px; background:#fff; color:var(--neg-navy); font:800 .74rem/1 var(--mpw-font,'Inter',system-ui,sans-serif); box-shadow:0 4px 12px rgba(1,24,51,.22); }
.ncard__km .i{ color:var(--neg-teal); }
.ncard__body{ display:flex; flex-direction:column; flex:1; min-width:0; padding:0 1rem 1rem; }
.ncard__logo{ width:58px; height:58px; margin:-30px 0 .5rem; border-radius:16px; border:3px solid #fff; box-shadow:0 6px 16px rgba(1,24,51,.16); }
.ncard__name{ margin:0 0 .2rem; font-size:1.04rem; font-weight:800; line-height:1.2; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ncard__name a{ color:var(--neg-navy); text-decoration:none; }
.ncard__cat{ margin:0 0 .3rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--neg-teal); }
.ncard__loc{ display:flex; align-items:center; gap:.35rem; margin:0 0 .85rem; min-width:0; font-size:.82rem; color:var(--neg-txt2); }
.ncard__loc .i{ color:var(--neg-mut); width:1rem; height:1rem; }
.ncard__loc span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ncard__actions{ margin-top:auto; display:flex; gap:.5rem; flex-wrap:wrap; }
.ncard__btn{ flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:42px; padding:0 .9rem; border-radius:14px; background:var(--neg-navy); color:#fff !important; font:800 .84rem var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; white-space:nowrap; transition:transform .12s ease, filter .15s; touch-action:manipulation; }
.ncard__btn:active{ transform:scale(.97); } .ncard__btn:hover{ filter:brightness(1.14); }
.ncard__btn--ghost{ background:var(--neg-soft); color:var(--neg-navy) !important; border:1px solid var(--neg-line); }
.ncard__btn--ghost:hover{ filter:none; background:#e2eef3; }
/* En «Cerca de mí» la distancia flota sobre la portada */
.ncard__body > .ncard__km{ position:absolute; }

/* ---------- Barra lateral (PC) ---------- */
.neg-side__card{ padding:1.1rem; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 8px 24px rgba(1,24,51,.06); }
.neg-side__card h3{ margin:0 0 .5rem; font-size:1.02rem; font-weight:800; }
.neg-side__all{ display:inline-flex; align-items:center; gap:.35rem; margin-top:.5rem; font-size:.85rem; font-weight:800; color:var(--neg-teal); text-decoration:none; }
.neg-side__all:hover{ text-decoration:underline; }
.sitem{ display:flex; align-items:center; gap:.75rem; padding:.6rem .35rem; border-top:1px solid #edf3f6; border-radius:12px; color:inherit; text-decoration:none; transition:background .15s; }
h3 + .sitem{ border-top:0; }
.sitem:hover{ background:var(--neg-bg); }
.sitem__ph{ position:relative; flex:none; width:46px; height:46px; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:#eef3f6; border:1px solid #e3eef2; font-weight:800; color:var(--neg-navy); }
.sitem__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sitem__ph.is-logo{ background:#fff; } .sitem__ph.is-logo img{ object-fit:contain; padding:5px; }
.sitem__meta{ flex:1; min-width:0; }
.sitem__meta b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; color:var(--neg-navy); }
.sitem__meta small{ display:flex; align-items:center; gap:.3rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; color:var(--neg-mut); }
.sitem__meta small .i{ width:.95rem; height:.95rem; }
.sitem__go{ color:#9ab0bd; }
.neg-cta{ padding:1.3rem; border-radius:20px; background:var(--neg-navy); color:#fff; }
.neg-cta h3{ margin:0 0 .35rem; color:#fff; font-size:1.05rem; font-weight:800; }
.neg-cta p{ margin:0 0 .9rem; color:#cfe0e7; font-size:.86rem; line-height:1.5; }
.neg-cta a{ display:inline-flex; align-items:center; gap:.45rem; min-height:44px; padding:0 1.2rem; border-radius:999px; background:var(--neg-cyan); color:var(--neg-navy) !important; font-weight:800; text-decoration:none; }
.neg-cta--inline{ display:none; }

/* ---------- Historias (destacados, móvil) ---------- */
.neg-stories{ display:flex; gap:.9rem; overflow-x:auto; padding:.1rem var(--neg-gut) .9rem; margin-inline:calc(-1 * var(--neg-gut)); scrollbar-width:none; scroll-snap-type:x proximity; scroll-padding-inline:var(--neg-gut); overscroll-behavior-x:contain; }
.neg-stories::-webkit-scrollbar{ display:none; }
.story{ flex:none; width:74px; display:flex; flex-direction:column; align-items:center; gap:.4rem; text-decoration:none; color:var(--neg-navy); scroll-snap-align:start; touch-action:manipulation; }
.story__ring{ width:70px; height:70px; display:grid; place-items:center; padding:3px; border-radius:50%; background:#cfdfe6; transition:transform .12s ease; }
.story:active .story__ring{ transform:scale(.93); }
.story--plus .story__ring{ background:linear-gradient(135deg,#00c3dc,#0a8e9c); }
.story--ultra .story__ring{ background:linear-gradient(135deg,#ff7a59,#f5a800 28%,#25c47c 52%,#00c3dc 76%,#8b6bff); }
.story__ph{ position:relative; width:100%; height:100%; display:grid; place-items:center; overflow:hidden; border-radius:50%; border:2.5px solid #fff; background:#0f4a5c; }
.story__ph.is-logo{ background:#fff; }
.story__ini{ font-size:1.35rem; font-weight:800; color:#fff; }
.story__ph.is-logo .story__ini{ color:var(--neg-navy); }
.story__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:inherit; }
.story__ph.is-logo img{ object-fit:contain; padding:5px; background:transparent; }   /* transparente: deja ver el color de fondo del logo (ULTRA) */
.story__name{ width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; font-size:.72rem; font-weight:700; color:var(--neg-txt2); }

/* ---------- Cerca de mí ---------- */
.cerca__gate{ display:flex; flex-direction:column; align-items:center; gap:.9rem; padding:2.2rem 1.4rem 1.8rem; text-align:center; background:#fff; border-radius:24px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 12px 32px rgba(1,24,51,.08); }
.cerca__gate h2{ margin:0; font-size:1.35rem; font-weight:800; letter-spacing:-.02em; }
.cerca__gate p{ margin:0; max-width:40ch; color:var(--neg-txt2); line-height:1.55; }
.cerca__gate small{ max-width:40ch; color:var(--neg-mut); font-size:.78rem; line-height:1.45; }
.cerca__pulse{ position:relative; width:76px; height:76px; display:grid; place-items:center; border-radius:50%; background:#e1f8fc; color:var(--neg-teal); }
.cerca__pulse .i{ width:2.1rem; height:2.1rem; }
.cerca__pulse::before, .cerca__pulse::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--neg-cyan); opacity:0; animation:neg-pulse 2.4s ease-out infinite; }
.cerca__pulse::after{ animation-delay:1.2s; }
@keyframes neg-pulse{ 0%{ transform:scale(.8); opacity:.55; } 100%{ transform:scale(1.55); opacity:0; } }
.cerca[data-state="gate"] .cerca__list, .cerca[data-state="gate"] .neg-more, .cerca[data-state="denied"] .cerca__list, .cerca[data-state="denied"] .neg-more{ display:none; }
.cerca__msg{ display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:1.6rem 1.2rem; margin-bottom:1rem; text-align:center; background:#fff; border-radius:20px; box-shadow:0 8px 24px rgba(1,24,51,.06); }
.cerca__msg h3{ margin:0; font-size:1.05rem; font-weight:800; }
.cerca__msg p{ margin:0; max-width:42ch; color:var(--neg-txt2); line-height:1.5; font-size:.92rem; }
.cerca__panel{ margin-bottom:1rem; }
.cerca__sum{ display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; margin:0 0 .7rem; }
.cerca__sum p{ margin:0; font-size:.95rem; line-height:1.4; color:var(--neg-txt2); }
.cerca__sum b{ color:var(--neg-navy); }
.cerca__sum small{ display:block; margin-top:.15rem; color:var(--neg-mut); font-size:.78rem; }
.cerca__refresh{ flex:none; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--neg-line); border-radius:50%; background:#fff; color:var(--neg-navy); cursor:pointer; }
.cerca__refresh.is-spin .i{ animation:neg-spin .8s linear infinite; }
@keyframes neg-spin{ to{ transform:rotate(360deg); } }
.cerca__radios{ display:flex; gap:.45rem; overflow-x:auto; padding:.1rem .1rem .3rem; scrollbar-width:none; }
.cerca__radios::-webkit-scrollbar{ display:none; }

/* ---------- Esqueletos de carga ---------- */
.skel{ display:block; overflow:hidden; padding-bottom:1rem; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(1,24,51,.04), 0 8px 24px rgba(1,24,51,.06); }
.skel__img{ display:block; aspect-ratio:16/9; margin-bottom:1rem; }
.skel--post .skel__img{ aspect-ratio:4/3; }
.skel__l--c{ width:78%; }
.skel__img, .skel__l{ background:linear-gradient(90deg,#e6eff3 25%,#f4f9fb 40%,#e6eff3 60%); background-size:300% 100%; animation:neg-shimmer 1.3s linear infinite; }
.skel__l{ display:block; height:12px; margin:0 1rem .6rem; border-radius:6px; }
.skel__l--a{ width:62%; } .skel__l--b{ width:40%; }
@keyframes neg-shimmer{ from{ background-position:100% 0; } to{ background-position:-100% 0; } }

/* ---------- Hojas (ubicación / menú) ---------- */
.sheet{ padding:0; border:0; color:var(--neg-navy); background:#fff; max-height:90vh; max-height:90dvh; width:100%; max-width:none; margin:auto 0 0; border-radius:26px 26px 0 0; overflow:hidden; font-family:var(--mpw-font,'Inter',system-ui,sans-serif); box-shadow:0 -20px 60px rgba(1,24,51,.3); }
.sheet[open]{ display:flex; flex-direction:column; animation:neg-sheet-in .3s cubic-bezier(.2,.9,.25,1); }
.sheet::backdrop{ background:rgba(1,24,51,.52); animation:neg-fade .2s ease; }
.sheet.is-closing{ animation:neg-sheet-out .2s ease forwards; }
@keyframes neg-sheet-in{ from{ transform:translateY(100%); } to{ transform:none; } }
@keyframes neg-sheet-out{ to{ transform:translateY(100%); } }
@keyframes neg-fade{ from{ opacity:0; } to{ opacity:1; } }
.sheet__grab{ flex:none; width:46px; height:5px; margin:.6rem auto .1rem; border-radius:3px; background:#cddce3; touch-action:none; cursor:grab; }
.sheet__head{ flex:none; display:flex; align-items:center; justify-content:space-between; padding:.5rem 1.2rem .7rem; touch-action:none; }
.sheet__head h2{ margin:0; font-size:1.2rem; font-weight:800; letter-spacing:-.01em; }
.sheet__x{ width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--neg-soft); color:var(--neg-navy); cursor:pointer; }
.sheet__body{ flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:.2rem 1.2rem calc(1.3rem + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:.75rem; }
.sheet__note{ margin:0; padding:.7rem .85rem; border-radius:12px; background:#fff7e0; color:#6b4b00; font-size:.85rem; line-height:1.45; }
.sheet__tip{ margin:0; padding:.75rem .9rem; border-radius:14px; background:#e9fbfe; color:#07616d; font-size:.86rem; line-height:1.5; }
.sheet__tip b{ color:var(--neg-navy); }
/* Selector de país: solo país (la ciudad se escribe en el buscador o la resuelve «Cerca de mí») */
.sheet__countries{ margin:0; padding:0; list-style:none; border-radius:16px; overflow:hidden; background:var(--neg-bg); }
.sheet__countries li + li{ border-top:1px solid var(--neg-line); }
.sheet__countries a{ display:flex; align-items:center; gap:.8rem; min-height:52px; padding:0 1rem; color:var(--neg-navy); font-weight:700; text-decoration:none; }
.sheet__countries a:hover{ background:#e6f9fc; }
.sheet__countries a.is-on{ background:#e1f8fc; color:#07616d; font-weight:800; }
.sheet__countries .flag{ flex:none; width:1.9rem; text-align:center; font-size:1.4rem; line-height:1; }
.sheet__countries a > span:nth-child(2){ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sheet__countries a .i:last-child{ flex:none; color:var(--neg-teal); }
.sheet__sub{ margin:.7rem 0 0; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--neg-mut); }
.sheet__list{ margin:0; padding:0; list-style:none; border-radius:16px; overflow:hidden; background:var(--neg-bg); }
.sheet__list li + li{ border-top:1px solid var(--neg-line); }
.sheet__list a{ display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:0 1rem; color:var(--neg-navy); font-weight:700; text-decoration:none; }
.sheet__list a .i{ color:var(--neg-mut); }
.sheet__legal{ margin:.4rem 0 0; text-align:center; font-size:.8rem; color:var(--neg-mut); }
.sheet__legal a{ color:var(--neg-mut); }

.neg-toast{ position:fixed; z-index:3000; left:50%; bottom:calc(var(--neg-tab-h) + 18px + env(safe-area-inset-bottom)); max-width:min(90vw,420px); padding:.75rem 1.1rem; border-radius:14px; background:var(--neg-navy); color:#fff; font:600 .9rem/1.4 var(--mpw-font,'Inter',system-ui,sans-serif); box-shadow:0 14px 36px rgba(1,24,51,.35); transform:translateX(-50%); animation:neg-toast-in .25s ease; }
@keyframes neg-toast-in{ from{ opacity:0; transform:translate(-50%,12px); } to{ opacity:1; transform:translate(-50%,0); } }

/* ---------- Barra inferior (solo móvil) ---------- */
.neg-tabbar{ display:none; }

/* ===================== PC ===================== */
@media (min-width:761px){
  .neg-appbar{ display:none !important; }
  .sheet{ width:min(450px,94vw); margin:auto; border-radius:26px; }
  .sheet__grab{ display:none; }
  .sheet[open]{ animation:neg-pop-in .22s cubic-bezier(.2,.9,.25,1); }
  @keyframes neg-pop-in{ from{ opacity:0; transform:translateY(14px) scale(.97); } to{ opacity:1; transform:none; } }
  .neg-toast{ bottom:24px; }
}
@media (max-width:900px){
  .neg-layout{ grid-template-columns:minmax(0,1fr); }
  .neg-side{ display:none; }
  .neg-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .neg-cta--inline{ display:block; grid-column:1/-1; }
}

/* ===================== Móvil: se siente una app ===================== */
@media (max-width:760px){
  body.neg-app{ --neg-gut:14px; }
  .mpw-hdr, .mpw-header{ display:none; }                         /* el encabezado comercial se reemplaza por la barra de la app */
  .neg-chipsbar__nav{ display:none !important; }
  .neg{ padding-bottom:1.2rem; }
  .neg-head{ position:absolute; width:1px; height:1px; min-height:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); }
  .neg-top{ position:sticky; top:0; z-index:60; margin:0 calc(-1 * var(--neg-gut)) .35rem; background:#fff; box-shadow:0 1px 0 var(--neg-line); transition:top .26s ease; }
  .neg-top.is-hidden{ top:calc(-1 * (var(--neg-appbar-h) + 64px + env(safe-area-inset-top))); }
  .neg-appbar{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; height:calc(var(--neg-appbar-h) + env(safe-area-inset-top)); padding:env(safe-area-inset-top) var(--neg-gut) 0; }
  .neg-brand{ flex:0 1 auto; min-width:0; display:flex; align-items:center; height:60px; }                 /* logo completo, de la MISMA altura que en el home (56 px) */
  .neg-brand img{ display:block; height:56px; width:auto; max-width:100%; object-fit:contain; }
  .neg-country{ flex:none; display:inline-flex; align-items:center; gap:.3rem; height:34px; padding:0 .5rem 0 .6rem; border:1px solid var(--neg-line); border-radius:999px; background:#fff; color:var(--neg-navy); font:800 .8rem var(--mpw-font,'Inter',system-ui,sans-serif); cursor:pointer; touch-action:manipulation; }
  .neg-country:active{ background:var(--neg-soft); }
  .neg-country__flag{ font-size:1.05rem; line-height:1; }
  .neg-country__chev{ width:.85rem; height:.85rem; color:var(--neg-mut); }
  .neg-search{ display:block; margin:0; padding:0 var(--neg-gut) .65rem; }
  .neg-search__q{ height:48px; padding:0 .3rem 0 1.1rem; background:var(--neg-soft); border-color:transparent; border-radius:16px; box-shadow:none; }
  .neg-search__q:focus-within{ background:#fff; }
  .neg-search__q input{ font-size:16px; }                          /* 16px: iOS no hace zoom al enfocar */
  .neg-search__mic, .neg-search__go{ width:40px; height:40px; }
  .neg-search__mic{ background:#dbe8ef; }
  .neg-locpill{ display:none; }
  .neg-tabs{ display:none; }

  /* Búsqueda a pantalla completa */
  body.is-searching{ overflow:hidden; }
  body.is-searching .neg-top{ position:fixed; inset:0; top:0 !important; z-index:2000; margin:0; overflow-y:auto; overscroll-behavior:contain; background:#fff; }
  body.is-searching .neg-appbar{ display:none; }
  body.is-searching .neg-search{ padding-top:.7rem; }
  body.is-searching .neg-search__box{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:.6rem; }
  body.is-searching .neg-search__cancel{ display:block; height:44px; padding:0 .2rem; background:none; border:0; color:var(--neg-teal); font:800 .95rem var(--mpw-font,'Inter',system-ui,sans-serif); cursor:pointer; }
  body.is-searching .neg-find{ position:static; grid-column:1/-1; margin-top:.5rem; max-height:none; border:0; border-radius:0; box-shadow:none; overflow:visible; }
  body.is-searching .neg-explore{ display:block; }
  body.is-searching .neg-tabbar, body.is-searching .mpw-bot{ display:none; }

  .neg-chipsbar{ margin:0 calc(-1 * var(--neg-gut)) .6rem; }
  .neg-chips{ padding:.15rem var(--neg-gut) .4rem; scroll-padding-inline:var(--neg-gut); }
  .neg-chip{ min-height:36px; }
  .neg-stories-wrap{ display:block; margin-bottom:.2rem; }
  .neg-sec-head{ margin:.3rem 0 .7rem; }
  .neg-feed{ grid-template-columns:minmax(0,1fr); gap:1rem; }
  .neg-grid{ grid-template-columns:minmax(0,1fr); gap:.85rem; }
  .pcard__media{ aspect-ratio:4/3; }
  .pcard__cta, .pcard__share{ height:48px; min-height:48px; }

  /* Tarjeta de negocio compacta: portada a la izquierda, datos a la derecha */
  .ncard{ display:grid; grid-template-columns:112px minmax(0,1fr); }
  .ncard__cover{ aspect-ratio:auto; min-height:100%; }
  .ncard__plan{ top:.45rem; left:.45rem; right:auto; padding:.22rem .5rem; font-size:.56rem; }
  .ncard__body{ position:static; padding:.8rem .9rem .85rem .85rem; }
  .ncard__logo{ position:absolute; left:.5rem; bottom:.5rem; width:36px; height:36px; margin:0; border-radius:11px; border-width:2px; box-shadow:0 4px 10px rgba(1,24,51,.28); }
  .ncard__body > .ncard__km{ position:static; align-self:flex-start; margin-bottom:.4rem; box-shadow:none; background:#e1f8fc; color:#07616d; }
  .ncard__name{ font-size:1rem; }
  .ncard__loc{ margin-bottom:.6rem; }
  .ncard__btn{ min-height:42px; font-size:.82rem; padding:0 .75rem; }
  .ncard__actions{ flex-wrap:nowrap; }
  .ncard__btn--ghost{ flex:0 0 44px; padding:0; }
  .ncard__btn--ghost span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .ncard:hover, .pcard:hover{ transform:none; }
  .skel--biz{ display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto auto 1fr; padding:0; min-height:132px; }
  .skel--biz .skel__img{ grid-row:1 / 4; margin:0; height:100%; aspect-ratio:auto; }
  .skel--biz .skel__l{ margin:.95rem .9rem 0 .85rem; }
  .cerca__gate{ padding:1.8rem 1.1rem 1.5rem; }

  /* Barra inferior */
  .neg-tabbar{ position:fixed; left:0; right:0; bottom:0; z-index:80; display:flex; padding:.25rem .35rem calc(.3rem + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--neg-line); box-shadow:0 -10px 28px rgba(1,24,51,.07); view-transition-name:neg-tabbar; }
  .neg-tabbar__it{ position:relative; flex:1; min-width:0; min-height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; border:0; border-radius:14px; background:none; color:#5b7080; font:700 .68rem var(--mpw-font,'Inter',system-ui,sans-serif); text-decoration:none; cursor:pointer; touch-action:manipulation; transition:color .15s, background .15s; -webkit-user-select:none; user-select:none; }
  .neg-tabbar__it .i{ width:1.5rem; height:1.5rem; transition:transform .18s ease; }
  .neg-tabbar__it span{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .neg-tabbar__it:active{ background:var(--neg-soft); }
  .neg-tabbar__it:active .i{ transform:scale(.88); }
  .neg-tabbar__it.is-on{ color:var(--neg-teal); }
  .neg-tabbar__it.is-on .i{ transform:translateY(-1px); }
  .neg-tabbar__it.is-on::before{ content:""; position:absolute; top:0; width:28px; height:3px; border-radius:0 0 3px 3px; background:var(--neg-cyan); }
  .mpw-footer{ padding-bottom:calc(var(--neg-tab-h) + env(safe-area-inset-bottom)); }   /* que la barra fija no tape el final del pie */

  /* Xioh en móvil: avatar flotante sobre la barra (toca para escribir; la burbuja solo aparece al tocarlo) */
  body.neg-app .mpw-bot{ position:fixed; right:12px; left:auto; top:auto; bottom:calc(var(--neg-tab-h) + 14px + env(safe-area-inset-bottom)); width:58px; height:58px; z-index:75; }
  body.neg-app .mpw-bot__char{ width:58px; height:58px; }
  body.neg-app .mpw-bot__disc{ left:0; width:58px; height:58px; transform:none; animation:none; }
  body.neg-app .mpw-bot__face{ top:0; left:0; width:58px; height:58px; filter:drop-shadow(0 6px 12px rgba(1,24,51,.3)); }
  body.neg-app .mpw-b-plate{ display:inline; }
  body.neg-app .mpw-bot__hand, body.neg-app .mpw-bot__mag{ display:none; }
  body.neg-app .mpw-bot.has-robot{ top:auto; bottom:calc(var(--neg-tab-h) + 10px + env(safe-area-inset-bottom)); right:8px; width:62px; height:78px; }
  body.neg-app .mpw-bot__bubble{ top:auto; bottom:8px; left:auto; right:calc(100% + 4px); max-width:min(64vw,230px); border-radius:14px 14px 4px 14px; font-size:.78rem; }
  body.neg-app .mpw-bot__bubble::after{ top:auto; bottom:12px; left:auto; right:-6px; }
  body.neg-app .mpw-bot:not(.show-bubble) .mpw-bot__bubble{ display:none !important; }
  body.neg-app .mpw-bot{ transition:transform .28s ease, opacity .28s ease; }
  body.neg-app .mpw-bot.is-away{ transform:translateX(88px); opacity:0; pointer-events:none; }
}
@media (max-width:380px){
  .ncard{ grid-template-columns:96px minmax(0,1fr); }
  .neg-tabbar__it{ font-size:.64rem; }
}

/* ===================== Transiciones entre páginas (navegadores que las soportan) ===================== */
@view-transition{ navigation:auto; }
::view-transition-old(root), ::view-transition-new(root){ animation-duration:.18s; }
@media (prefers-reduced-motion:reduce){
  @view-transition{ navigation:none; }
  .neg *, .sheet, .sheet::backdrop, .neg-toast, .cerca__pulse::before, .cerca__pulse::after, .neg-search__mic.rec{ animation:none !important; transition:none !important; }
  .skel__img, .skel__l{ animation:none !important; }
}

/* ===================== v3: horario («Abierto ahora»), WhatsApp / Llamar en Cerca de mí ===================== */
.ncard__hor{ display:flex; align-items:center; gap:.4rem; margin:-.35rem 0 .75rem; font-size:.78rem; font-weight:700; color:var(--neg-mut); }
.ncard__hor::before{ content:""; flex:none; width:8px; height:8px; border-radius:50%; background:currentColor; }
.ncard__hor.is-open{ color:#0b7d62; }
.ncard__hor span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ncard__btn--ico{ flex:1 1 0; min-width:0; padding:0; }
.ncard__btn--ico span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ncard__btn--wa{ background:#e3f6ee; color:#0b7d62 !important; border:1px solid #bfe8d8; }
.ncard__btn--wa:hover{ filter:none; background:#d3efe3; }
.ncard__actions--multi > .ncard__btn:first-child{ flex:1 1 100%; }                 /* PC: «Ver perfil» arriba y los íconos en una segunda fila */
.cerca__links{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
.cerca__links::-webkit-scrollbar{ display:none; }
.cerca__links .neg-ctx{ flex:none; white-space:nowrap; }
.neg-ctx--open{ background:#fff; border-color:var(--neg-line); color:var(--neg-navy) !important; }
.neg-ctx--open:hover{ background:var(--neg-soft); }
.neg-dot{ width:9px; height:9px; border-radius:50%; background:#9bb0bc; }
.neg-ctx--open.is-on{ background:#e3f6ee; border-color:#0b7d62; color:#07583f !important; }
.neg-ctx--open.is-on .neg-dot{ background:#0b7d62; box-shadow:0 0 0 3px rgba(11,125,98,.2); }
@media (max-width:760px){
  .ncard__hor{ margin:-.3rem 0 .6rem; }
  .ncard__actions--multi{ gap:.35rem; }
  .ncard__actions--multi > .ncard__btn:first-child{ flex:1 1 auto; min-width:0; padding:0 .5rem; }
  .ncard__actions--multi > .ncard__btn:first-child .i{ display:none; }              /* con tres botones de ícono, «Ver perfil» va sin flecha para no apretar */
  .ncard__btn--ico{ flex:0 0 38px; width:38px; padding:0; }
}

/* ===================== v4: usabilidad (todo se entiende sin que nadie lo explique) ===================== */
/* Pestañas de PC con una línea que dice qué hay en cada una */
.neg-tabsrow{ display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1.1rem; margin:0 0 1.1rem; }
.neg-tabsrow .neg-tabs{ margin:0; }
.neg-tabhint{ margin:0; color:var(--neg-txt2); font-size:.9rem; }
/* «Prueba con…»: ideas de qué buscar (solo en la búsqueda a pantalla completa) */
.neg-try{ display:none; padding:.7rem .95rem .2rem; }
.neg-find[data-mode="ac"] .neg-try{ display:none !important; }
.neg-try b{ display:block; margin-bottom:.55rem; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--neg-mut); }
.neg-try div{ display:flex; flex-wrap:wrap; gap:.45rem; }
/* «Abierto ahora» como un filtro más, en la misma fila que las distancias */
.neg-chip--open{ gap:.45rem; }
.neg-chip--open .neg-dot{ flex:none; }
.neg-chip--open.is-on{ background:#e3f6ee; border-color:#0b7d62; color:#07583f !important; }
.neg-chip--open.is-on .neg-dot{ background:#0b7d62; box-shadow:0 0 0 3px rgba(11,125,98,.2); }
.cerca__radios .neg-chip--open{ margin-right:.35rem; position:relative; }
.cerca__radios .neg-chip--open::after{ content:""; position:absolute; right:-.55rem; top:20%; bottom:20%; width:1px; background:var(--neg-line); }
/* «Actualizar» con texto: se entiende qué hace */
.cerca__refresh{ width:auto; height:40px; padding:0 .85rem; display:inline-flex; align-items:center; gap:.4rem; border-radius:999px; font:800 .8rem var(--mpw-font,'Inter',system-ui,sans-serif); }
.cerca__refresh .i{ width:1em; height:1em; }
@media (max-width:760px){
  .neg-tabhint{ display:none; }
  .neg-country{ height:36px; }
  .neg-country b{ max-width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.is-searching .neg-try{ display:block; }
}
.neg-search__q input{ text-overflow:ellipsis; }

/* v4b: la lista de países se ve completa (y se desliza); «Actualizar» como enlace claro bajo el resumen */
.sheet__countries, .sheet__tip, .sheet__note{ flex:none; }
.cerca__sum{ flex-direction:column; align-items:flex-start; gap:.15rem; }
.cerca__refresh{ width:auto; height:auto; padding:.3rem 0; border:0; background:none; color:var(--neg-teal); font-weight:800; font-size:.86rem; text-decoration:underline; text-underline-offset:3px; }

/* ===================== v10: «Cerca de mí» igual que en el buscador del Directorio ===================== */
/* Distancia: un chip que abre una hoja con control deslizante; «Actualizar» solo ícono en móvil y con texto en PC */
.neg-chip--dist, .neg-chip--ico{ gap:.4rem; }
.neg-chip--dist .i, .neg-chip--ico .i{ width:1.05em; height:1.05em; flex:none; }
.neg-chip--dist b{ font-weight:800; }
.neg-chip--ico.is-spin .i{ animation:neg-spin .8s linear infinite; }
@media (max-width:760px){
  .neg-chip--ico{ width:38px; padding:0; justify-content:center; }
  .neg-chip--ico .rt{ display:none; }
}
.dist{ gap:.9rem; }
.dist__v{ font-size:1.05rem; color:var(--neg-txt2); }
.dist__v b{ font-size:2.3rem; font-weight:800; color:var(--neg-navy); }
.dist input[type=range]{ width:100%; height:36px; accent-color:var(--neg-teal); }
.dist__t{ display:flex; justify-content:space-between; padding:0 4px; margin-top:-.7rem; font-size:.78rem; font-weight:700; color:var(--neg-mut); }
