/* What2Do 2.0 · Explorar (2026-10-19) — orden de la página del Directorio.
   Buscador → UNA fila de control (ubicación + Filtros) → pastillas de intención → RESULTADOS
   (resumen + vista/orden/mapa, Top, cuadrícula, paginador) → canal de repartidores dentro de los
   resultados → acordeones → pie compacto. Usa los tokens y componentes de ds-2.css (w2-sheet, w2-chip,
   w2-row, w2-btn). Medido a 360 / 390 / 1280. */

/* ── Fila de control: chip de ubicación (con GPS) + chip «Filtros» con insignia ───────────────── */
.w2x-ctl{display:flex;align-items:center;gap:8px;margin:10px 0 0;min-width:0}
.w2x-loc{flex:1 1 auto;min-width:0;display:flex;align-items:stretch;height:44px;border:1.5px solid var(--w2-ctl);border-radius:999px;background:#fff;overflow:hidden}
.w2x-loc:focus-within{border-color:var(--w2-brand)}
.w2x-gps{flex:none;width:42px;display:grid;place-items:center;border:0;border-right:1px solid var(--w2-line);background:transparent;color:var(--w2-brand-aa);cursor:pointer;padding:0}
.w2x-gps .ic{width:19px;height:19px}
.w2x-gps[aria-pressed=true]{background:var(--w2-brand-tint);color:var(--w2-brand-ink)}
.w2x-gps.locating .ic{animation:spinloc 1s linear infinite}
@media(prefers-reduced-motion:reduce){.w2x-gps.locating .ic{animation:none}}
html body .w2x-place{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;padding:0 10px 0 12px;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--w2-brand-aa)}
html body .w2x-place>span{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}
html body .w2x-place small{font-size:10px;line-height:1.15;letter-spacing:.07em;text-transform:uppercase;color:var(--w2-muted);font-weight:700}
html body .w2x-place b{max-width:none;margin:1px 0 0;font-size:13.5px;line-height:1.2;color:var(--w2-ink);font-weight:700}
.w2x-place .w2x-caret{width:16px;height:16px;flex:none;color:var(--w2-muted)}
.w2x-place:focus-visible,.w2x-gps:focus-visible{outline:2px solid var(--w2-brand);outline-offset:-3px}

html body .w2x-ctl>.dirFilters{flex:none;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html body .w2x-ctl>.dirFilters>summary{display:flex;align-items:center;gap:6px;min-height:44px;height:44px;padding:0 14px;border:1.5px solid var(--w2-ctl);border-radius:999px;background:#fff}
html body .w2x-ctl>.dirFilters>summary:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}
html body .w2x-ctl .dirFilterAction{min-height:0;padding:0;gap:6px;background:transparent;color:var(--w2-brand-aa);font:700 13.5px/1 var(--w2-font)}
html body .w2x-ctl .dirFilters[open]>summary{background:var(--w2-brand-aa);border-color:var(--w2-brand-aa)}
html body .w2x-ctl .dirFilters[open] .dirFilterAction{background:transparent;color:#fff}
.w2x-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--w2-cta);color:#fff;font:700 11.5px/20px var(--w2-font);text-align:center}
.w2x-badge[hidden]{display:none}

/* ── Hoja inferior de filtros (w2-sheet). El estado lo manda el <details>: funciona aun sin JS. ── */
html.w2x-sheet-open,html.w2x-sheet-open body{overflow:hidden}
html body .w2x-ctl>.dirFilters[open]::before{content:"";position:fixed;inset:0;z-index:10005;background:rgba(15,23,42,.45);animation:w2xFade .2s ease-out}
html body .dirFilters>.dirFiltersBody.w2-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:10010;width:auto;max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 16px;border:0;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 48px -20px rgba(15,23,42,.45);text-align:left;transform:none;visibility:visible;animation:w2xUp .28s var(--w2-ease)}
html body .dirFilters>.dirFiltersBody.w2-sheet::before{margin:10px auto 4px}
@keyframes w2xUp{from{transform:translateY(60px);opacity:.3}to{transform:none;opacity:1}}
@keyframes w2xFade{from{opacity:0}}
@media(min-width:900px){
  html body .dirFilters>.dirFiltersBody.w2-sheet{left:50%;right:auto;bottom:auto;top:50%;width:560px;max-height:84vh;border-radius:24px;transform:translate(-50%,-50%);animation:w2xPop .22s var(--w2-ease)}
  html body .dirFilters>.dirFiltersBody.w2-sheet::before{display:none}
  @keyframes w2xPop{from{transform:translate(-50%,-46%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}
}
@media(prefers-reduced-motion:reduce){html body .dirFilters>.dirFiltersBody.w2-sheet,html body .w2x-ctl>.dirFilters[open]::before{animation:none}}
.w2x-sheethead{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -16px;padding:8px 16px 10px;background:#fff;border-bottom:1px solid var(--w2-line)}
.w2x-sheethead b{font:750 17px/1.2 var(--w2-font);color:var(--w2-ink)}
.w2x-x{flex:none;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--w2-line);border-radius:999px;background:#fff;color:var(--w2-ink);cursor:pointer}
.w2x-x .ic{width:18px;height:18px}
.w2x-x:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}

/* Secciones de la hoja: los renglones de siempre, con su icono de línea y su rótulo como encabezado. */
html body .dirFiltersBody .cityrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin:16px 0 0;font-size:13px;color:var(--w2-muted)}
html body .dirFiltersBody .cityrow>.ic{width:17px;height:17px;flex:none;color:var(--w2-brand-aa)}
html body .dirFiltersBody .cityrow>span[data-i],
html body .dirFiltersBody .alphaBrowse>span,
html body .dirFiltersBody .recentPlaces>span,
.w2x-label{flex:1 0 calc(100% - 30px);display:block;margin:0;padding:0;font:800 11px/1.2 var(--w2-font);letter-spacing:.07em;text-transform:uppercase;color:var(--w2-muted)}
html body .dirFiltersBody .statepickbox{position:relative;display:flex;flex-direction:column;flex:1 0 100%;width:100%;max-width:100%;min-width:0;z-index:4}
html body .dirFiltersBody .statebtn{width:100%;max-width:100%;min-height:44px;padding:0 14px;border:1.5px solid var(--w2-ctl);border-radius:14px;background:#fff;color:var(--w2-ink);font:650 14px/1.2 var(--w2-font);text-align:left}
html body .dirFiltersBody .statePanel{position:static;left:auto;right:auto;top:auto;width:100%;max-width:100%;max-height:none;margin-top:8px;box-shadow:none;border:1px solid var(--w2-line);border-radius:16px}
html body .dirFiltersBody .statePanel .stateList{max-height:46vh;max-height:46dvh;overflow:auto;overscroll-behavior:contain}
html body .dirFiltersBody .stateSearch input{font-size:16px}
html body .dirFiltersBody .locbtn{width:auto;height:40px;padding:0 14px;gap:6px;border:1.5px solid var(--w2-ctl);font:650 13px/1 var(--w2-font)}
html body .dirFiltersBody .locbtn .locbtn-t{display:inline}
html body .dirFiltersBody .ghostbtn{min-height:40px;padding:0 14px;border:1.5px solid var(--w2-ctl);font:650 13px/1 var(--w2-font);display:inline-flex;align-items:center;gap:6px}
html body .dirFiltersBody .ghostbtn .ic{width:16px;height:16px}
html body .dirFiltersBody #catsel{flex:1 0 100%;width:100%;min-height:44px;padding:0 12px;border:1.5px solid var(--w2-ctl);border-radius:14px;background:#fff;color:var(--w2-ink);font:650 16px/1.2 var(--w2-font)}
html body .dirFiltersBody .recentPlaces{display:flex;flex-direction:column;gap:8px;margin:14px 0 0}
html body .dirFiltersBody .recentPlaces[hidden]{display:none}
html body .dirFiltersBody .recentPlaces>span{padding:0}
html body .dirFiltersBody .recentPlaces button{min-height:36px;padding:0 12px;font:650 13px/1 var(--w2-font);border-color:var(--w2-line)}
html body .dirFiltersBody .alphaBrowse{margin:16px 0 0}
/* 4.0: la letra se elige con el índice deslizable junto a los resultados; aquí queda UNA fila. */
html body .dirFiltersBody .alphaRail{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:8px -16px 0;padding:0 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body .dirFiltersBody .alphaRail::-webkit-scrollbar{display:none}
html body .dirFiltersBody .alphaRail button{flex:none}
html body .dirFiltersBody .alphaRail button{height:36px;min-width:36px;padding:0 8px;border:1px solid var(--w2-line);border-radius:10px;background:#fff;color:var(--w2-body);font:700 13px/1 var(--w2-font)}
html body .dirFiltersBody .alphaRail button:first-child{min-width:60px}
html body .dirFiltersBody .alphaRail button.on{background:var(--w2-brand-aa);border-color:var(--w2-brand-aa);color:#fff}
.w2x-svc{display:flex;flex-direction:column;gap:8px;margin:16px 0 0}
.w2x-svc .w2-chip{align-self:flex-start}
.w2x-svcrow{padding:10px 12px}
.w2x-svcic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--w2-cta-tint);color:var(--w2-cta-hover)}
.w2x-svcic .ic{width:21px;height:21px}
.w2x-svcrow b{display:block;font:700 14px/1.25 var(--w2-font);color:var(--w2-ink)}
.w2x-svcrow small{display:block;font-size:12px;line-height:1.35;color:var(--w2-muted);margin-top:2px}
.w2x-sheetfoot{position:sticky;bottom:0;z-index:3;display:flex;gap:8px;margin:18px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--w2-line)}
.w2x-sheetfoot .w2-btn{flex:1;min-height:46px}

/* ── Intenciones: UNA fila deslizable de pastillas con icono de línea (sin emojis) ───────────────── */
html body .intents{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;grid-template-columns:none!important;overflow-x:auto!important;margin:10px 0 0!important;padding:2px 1px 4px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
html body .intents::-webkit-scrollbar{display:none}
html body .intents .intent,html body .intents .w2x-chipdrv{flex:0 0 auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center;gap:6px!important;width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 13px!important;border:1px solid var(--w2-line)!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important;color:var(--w2-ink)!important;font:600 13.5px/1 var(--w2-font)!important;white-space:nowrap!important;text-align:left;text-decoration:none;scroll-snap-align:start;cursor:pointer}
html body .intents .intent .ic,html body .intents .w2x-chipdrv .ic{width:16px!important;height:16px!important;flex:none;color:var(--w2-brand-ink)!important}
html body .intents .intent.on{background:var(--w2-brand-aa)!important;border-color:var(--w2-brand-aa)!important;color:#fff!important}
html body .intents .intent.on .ic{color:#fff!important}
html body .intents .w2x-chipdrv{border-color:#fed7aa!important;background:var(--w2-cta-tint)!important;color:var(--w2-cta-hover)!important}
html body .intents .w2x-chipdrv .ic{color:var(--w2-cta-hover)!important}
html body .intents :is(.intent,.w2x-chipdrv):focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}
@media(hover:hover){html body .intents{scrollbar-width:thin}}
html body .wwdAssistHint{margin:6px 2px 0!important;font-size:12px!important;line-height:1.4}
html body .wwdAssistHint:empty{display:none}

/* ── Resultados: resumen + vista / orden / mapa en el mismo renglón ───────────────────────────── */
.w2x-results{margin-top:12px;scroll-margin-top:72px}
/* Los controles flotan a la derecha y el resumen los rodea: un resumen largo no se vuelve una columna angosta. */
.w2x-reshead{display:flow-root;margin:0 0 8px;min-width:0}
html body .w2x-reshead .count{display:block;min-width:0;min-height:40px;margin:0!important;padding:2px 2px 0!important;border:0!important;border-radius:0!important;background:none!important;font:650 13px/1.35 var(--w2-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--w2-ink)!important;overflow-wrap:anywhere}
html body #resultTools.resultTools{float:right;display:flex;align-items:center;gap:6px;margin:0 0 4px 10px;grid-template-columns:none}
html body #resultTools .w2x-tool{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 10px;border:1.5px solid var(--w2-ctl);border-radius:12px;background:#fff;color:var(--w2-brand-aa);font:650 13px/1 var(--w2-font);text-decoration:none;cursor:pointer;box-sizing:border-box}
html body #resultTools .w2x-tool .ic{width:18px;height:18px;flex:none}
html body #resultTools .w2x-tool select{position:absolute;inset:0;width:100%;min-width:0;height:100%;min-height:40px;margin:0;padding:0;border:0;border-radius:12px;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none}
html body #resultTools .w2x-tool:focus-within{outline:2px solid var(--w2-brand);outline-offset:2px}
html body #resultTools.w2x-sorted .w2x-tool:nth-child(2){background:var(--w2-brand-tint)}
.w2x-toolv{display:none;font-style:normal;white-space:nowrap;color:var(--w2-ink)}
.w2x-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:600px){.w2x-toolv{display:inline}html body #resultTools .w2x-tool{padding:0 12px}}
html body .refineLoc{margin:0 0 8px}
/* El Top pagado sigue ANTES del orgánico (nunca se entierra), pero compacto. */
html body .rankBar{margin:4px 0 8px}
html body .rankBar .rankCard{padding:12px}
html body .rankBar .rankHead{flex-wrap:nowrap;align-items:flex-start}
html body .rankBar .rankHead>div{min-width:0}
html body .rankBar .rankTitle{font-size:14.5px}
html body .rankBar .rankSub{font-size:12px;margin-top:2px}
html body .rankBar .rankReset{flex:none;font-size:11px;white-space:nowrap}
html body .rankBar .rankFree{padding:8px 10px;margin-top:8px}
html body .rankBar .rankFree b{font-size:13.5px}
html body .rankBar .rankFree span{font-size:12px;margin-top:1px}
html body .rankBar .rankActs{margin-top:8px}
html body .rankBar .rankCta{min-height:38px;padding:8px 12px;font-size:12.5px}
html body .rankBar .rankProt{margin-top:6px;font-size:11px;line-height:1.4}
html body .rankBar .rankLedgerLink{margin:4px 0 0;font-size:11.5px}
html body .rankBar .rankDiv{margin:12px 0 8px}

/* ── Canal de repartidores: tarjeta compacta DENTRO de los resultados ─────────────────────────── */
.w2x-drvslot{grid-column:1/-1;min-width:0}
.w2x-drvhome{margin:14px 0 0}
.w2x-drvhome:empty{display:none}
html body .driverChannel{margin:2px 0;padding:12px!important;border:1px solid #fed7aa;border-radius:20px!important;background:linear-gradient(135deg,#fff7ed,#fff 62%);box-shadow:var(--w2-shadow);scroll-margin-top:76px}
html body .driverChannelHead{gap:10px;margin-bottom:8px}
html body .driverChannelHead span{color:var(--w2-cta-hover);font-size:10.5px}
html body .driverChannelHead h2{font-size:15.5px;margin:2px 0 0}
html body .driverChannelHead p{font-size:12px;margin-top:2px}
html body .driverChannelHeadActions{flex-wrap:wrap;gap:6px}
html body .driverChannelHeadActions>a,html body .driverChannelHeadActions>button{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;font-size:12px}
html body .driverChannelRail{gap:8px}
html body .driverChannelEmpty{padding:4px 2px 0;font-size:12px}
@media(max-width:560px){html body .driverChannelHeadActions{overflow:visible}html body .driverChannelHeadActions>a,html body .driverChannelHeadActions>button{font-size:11.5px;padding:0 11px}}

/* ── Paginador: «Página P de T» + negocios por página ─────────────────────────────────────────── */
html body .pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 4px;flex-wrap:wrap;transition:opacity .2s}
html body .pager[aria-busy=true]{opacity:.55}
html body .pager:empty{display:none}
html body .pager .pgbtn{flex:none;min-height:40px;padding:0 14px;font:700 13px/1 var(--w2-font)}
.w2x-pgmid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
html body .w2x-pginfo{font:700 14px/1.3 var(--w2-font);color:var(--w2-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
html body .w2x-pp{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1 var(--w2-font);color:var(--w2-muted)}
/* 16px sólo para que iOS no acerque la pantalla al tocarlo; se dibuja compacto. */
html body .w2x-pp select{height:30px;padding:0 4px;border:1.5px solid var(--w2-ctl);border-radius:9px;background:#fff;color:var(--w2-ink);font:650 16px/1 var(--w2-font)}
@media(min-width:600px){.w2x-pgmid{flex-direction:row;justify-content:center;gap:12px}}

/* ── Lo demás, al final y compacto ───────────────────────────────────────────────────────────── */
html body .emergencyRail{margin:16px 0 0}
html body .addbanner{margin:18px 0 0;padding:14px 16px;gap:10px;border-radius:18px}
html body .addbanner b{font-size:15.5px}
html body .addbanner p{font-size:12.5px;margin-top:2px}
html body .addbanner a{padding:9px 16px;font-size:13.5px}
.w2x-more{display:grid;gap:8px;margin:16px 0 0}
.w2x-acc,.w2x-legal{border:1px solid var(--w2-line);border-radius:14px;background:#fff}
.w2x-acc>summary,.w2x-legal>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;font:650 13.5px/1.3 var(--w2-font);color:var(--w2-ink)}
.w2x-acc>summary::-webkit-details-marker,.w2x-legal>summary::-webkit-details-marker{display:none}
.w2x-acc>summary::after,.w2x-legal>summary::after{content:"";flex:none;width:7px;height:7px;margin-top:-3px;border-right:2px solid var(--w2-muted);border-bottom:2px solid var(--w2-muted);transform:rotate(45deg);transition:transform .2s}
.w2x-acc[open]>summary::after,.w2x-legal[open]>summary::after{transform:rotate(-135deg);margin-top:3px}
.w2x-acc>summary:focus-visible,.w2x-legal>summary:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px;border-radius:14px}
html body .w2x-acc .searchGuide,.w2x-note{margin:0;padding:0 14px 14px;font-size:12.5px;line-height:1.55;color:var(--w2-muted)}
html body footer.f.w2x-foot{padding:14px 16px 18px;font-size:12px;line-height:1.5;text-align:center}
.w2x-footline{margin:0;font:500 12px/1.5 var(--w2-font);color:var(--w2-muted)}
.w2x-footline a{color:var(--w2-brand-aa);text-decoration:none;font-weight:600}
.w2x-legal{max-width:920px;margin:10px auto 0;text-align:left}
.w2x-legal>summary{min-height:40px;font-size:12.5px;color:var(--w2-brand-ink)}
.w2x-legalbody{padding:0 14px 14px;font-size:12px;line-height:1.6;color:var(--w2-muted)}
@media(max-width:899px){html body footer.f.w2x-foot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
/* 2.0b (dueño 2026-10-19): «lo primero es la barra de búsqueda y los negocios». Nada entre el resumen y
   las tarjetas salvo un #1 REAL (pagado, que sí es un resultado). La promo «el #1 está libre», el canal de
   repartidores y emergencias van DESPUÉS de los resultados; siguen a un toque desde Filtros y atajos. */
#w2xResults{display:flex;flex-direction:column}
#w2xResults > .w2x-reshead{order:0}
#w2xResults > #w2xCats{order:0}
#w2xResults > #refineLoc{order:1}
#w2xResults > #rankBar{order:2}
#w2xResults > #grid{order:3}
#w2xResults > #pager{order:4}
#w2xResults > #rankBar:has(.rankFree){order:5;margin-top:14px}
#w2xResults > #w2xDriverHome{order:6}
#w2xResults > #emergencyRail{order:7}
#w2xResults > :not(.w2x-reshead):not(#w2xCats):not(#refineLoc):not(#rankBar):not(#grid):not(#pager):not(#w2xDriverHome):not(#emergencyRail){order:8}
#grid > .w2x-drvslot{order:999}
@media(max-width:720px){
  main > .hero.xhero{min-height:0 !important;padding:10px 14px !important;margin-bottom:8px !important;border-radius:16px}
  main > .hero.xhero .xin{padding:0 !important}
  main > .hero.xhero .xin h1{font-size:19px !important;line-height:1.2 !important;margin:6px 0 0 !important}
  main > .hero.xhero .xin p{display:none}
}

/* ── 3.0 (dueño 2026-10-19) · Panel «Servicios útiles cerca» ─────────────────────────────────────
   Emergencias · Repartidores · Destaca tu negocio en UNA tarjeta con pestañas. Tamaños de ds-2.css:
   cuerpo 13–15px, títulos 16–18px. Todo con `html body` para ganarle a w2d.css / modo experiencia. */
html body .w2x-util{margin:18px 0 0;padding:14px 14px 12px;border:1px solid var(--w2-line);border-radius:var(--w2-r-lg);background:#fff;box-shadow:var(--w2-shadow);scroll-margin-top:76px;min-width:0}
html body .w2x-utilhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;min-width:0}
html body .w2x-utilhead h2{margin:0;font:750 17px/1.25 var(--w2-font);letter-spacing:-.01em;color:var(--w2-ink)}
html body .w2x-utilhead span{min-width:0;font:600 12.5px/1.3 var(--w2-font);color:var(--w2-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .w2x-tabs{display:flex;gap:6px;margin:0 0 12px;padding:3px;border-radius:14px;background:var(--w2-sunk);overflow-x:auto;scrollbar-width:none}
html body .w2x-tabs::-webkit-scrollbar{display:none}
html body .w2x-tabs [role=tab]{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:var(--w2-body);font:650 13.5px/1 var(--w2-font);white-space:nowrap;cursor:pointer}
html body .w2x-tabs [role=tab] .ic{width:16px;height:16px;flex:none}
html body .w2x-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--w2-ink);box-shadow:0 1px 3px rgba(15,23,42,.14)}
html body .w2x-tabs [role=tab][data-w2x-tab=em][aria-selected=true]{color:var(--w2-danger)}
html body .w2x-tabs [role=tab][data-w2x-tab=drv][aria-selected=true]{color:var(--w2-cta-hover)}
html body .w2x-tabs [role=tab][data-w2x-tab=biz][aria-selected=true]{color:var(--w2-brand-aa)}
html body .w2x-tabs [role=tab]:focus-visible{outline:2px solid var(--w2-brand);outline-offset:1px}
/* En teléfono las tres pestañas caben siempre: sin icono, texto que puede partirse en dos renglones. */
@media(max-width:560px){
  html body .w2x-tabs{overflow:visible}
  html body .w2x-tabs [role=tab]{flex:1 1 0;min-width:0;min-height:40px;padding:4px 6px;font-size:13px;line-height:1.15;white-space:normal;text-align:center}
  html body .w2x-tabs [role=tab] .ic{display:none}
}
html body .w2x-emmore{margin:6px 0 0}
html body .w2x-emmore>summary{display:inline-flex;align-items:center;min-height:36px;padding:0 4px;cursor:pointer;font:700 13px/1 var(--w2-font);color:var(--w2-brand-aa);list-style:none}
html body .w2x-emmore>summary::-webkit-details-marker{display:none}
html body .w2x-emmore>summary:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px;border-radius:8px}
html body .w2x-emmore[open]>summary{margin-bottom:6px}
html body .w2x-pane[hidden]{display:none}
html body .w2x-pane{min-width:0}

/* Emergencias: botones de llamada grandes al toque (911 + números locales encontrados) y lista compacta. */
html body .w2x-emquick{display:flex;flex-wrap:wrap;gap:8px}
html body .w2x-call{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1.5px solid #fecaca;border-radius:999px;background:var(--w2-danger-tint);color:var(--w2-danger);font:700 14px/1 var(--w2-font);text-decoration:none;max-width:100%}
html body .w2x-call span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .w2x-call .ic{width:17px;height:17px;flex:none}
html body .w2x-call.w2x-call911{background:var(--w2-danger);border-color:var(--w2-danger);color:#fff}
html body .w2x-call:focus-visible{outline:2px solid var(--w2-danger);outline-offset:2px}
html body .w2x-emnote{margin:8px 0 0;font:500 13px/1.45 var(--w2-font);color:var(--w2-muted)}
html body .w2x-pane .emergencyRail{margin:12px 0 0}
html body .w2x-emsub{margin:0 0 6px;font:800 11.5px/1.2 var(--w2-font);letter-spacing:.06em;text-transform:uppercase;color:var(--w2-muted)}
html body .w2x-emlist{list-style:none;margin:0;padding:0;border:1px solid var(--w2-line);border-radius:14px;overflow:hidden}
html body .w2x-emrow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--w2-line);min-width:0}
html body .w2x-emrow:first-child{border-top:0}
html body .w2x-eminfo{flex:1 1 auto;min-width:0;text-decoration:none}
html body .w2x-eminfo b{display:block;font:650 14px/1.3 var(--w2-font);color:var(--w2-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .w2x-eminfo small{display:block;margin-top:1px;font:500 12.5px/1.35 var(--w2-font);color:var(--w2-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .w2x-emacts{flex:none;display:flex;gap:6px}
html body .w2x-emacts a{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:999px;font:700 12.5px/1 var(--w2-font);text-decoration:none}
html body .w2x-emacts .w2x-emcall{background:var(--w2-danger-tint);color:var(--w2-danger)}
html body .w2x-emacts .w2x-emroute{border:1px solid var(--w2-line);color:var(--w2-brand-aa);background:#fff}

/* Repartidores: el canal de siempre, sin tarjeta dentro de tarjeta. */
html body .w2x-pane .w2x-drvhome{margin:0}
html body .w2x-pane .driverChannel{margin:0;padding:0!important;border:0;border-radius:0!important;background:none;box-shadow:none}
html body .w2x-pane .driverChannelHead{flex-direction:column;gap:8px;margin-bottom:10px}
html body .w2x-pane .driverChannelHead span{font-size:11px;letter-spacing:.06em}
html body .w2x-pane .driverChannelHead h2{font-size:16px;line-height:1.3;margin:2px 0 0}
html body .w2x-pane .driverChannelHead p{font-size:13px;line-height:1.45;margin-top:2px}
html body .w2x-pane .driverChannelHeadActions{width:100%;overflow:visible}
html body .w2x-pane .driverChannelHeadActions>a,html body .w2x-pane .driverChannelHeadActions>button{min-height:36px;padding:0 12px;font-size:13px}
html body .w2x-pane .driverChannelEmpty,html body .w2x-pane .driverChannelLoading{font-size:13px}

/* Destaca tu negocio: el #1 libre de la plaza (subasta pública) y «Agrégalo gratis», compactos. */
html body .w2x-rankslot:empty{display:none}
html body .w2x-rankslot .rankBar{margin:0 0 10px}
html body .w2x-rankslot .rankDiv{display:none}
html body .w2x-rankslot .rankCard{padding:12px;border-radius:14px}
html body .w2x-rankslot .rankTitle{font-size:15px}
html body .w2x-rankslot .rankSub,html body .w2x-rankslot .rankFree span{font-size:13px}
html body .w2x-rankslot .rankFree b{font-size:14px}
html body .w2x-rankslot .rankCta{font-size:13px}
html body .w2x-rankslot .rankProt,html body .w2x-rankslot .rankLedgerLink,html body .w2x-rankslot .rankReset{font-size:12px}
html body .w2x-pane .addbanner{margin:0;padding:12px 14px;gap:10px;border:1px solid #fed7aa;border-radius:14px;background:var(--w2-cta-tint);color:var(--w2-ink);box-shadow:none}
html body .w2x-pane .addbanner b{font-size:15px;color:var(--w2-ink)}
html body .w2x-pane .addbanner p{font-size:13px;line-height:1.45;color:var(--w2-body);opacity:1}
html body .w2x-pane .addbanner a{min-height:38px;display:inline-flex;align-items:center;padding:0 16px;background:var(--w2-cta);color:#fff;font-size:13.5px}

/* «Lleva What2Do contigo» tras el panel, en el mismo tamaño compacto. */
html body .w2x-util ~ .wwdShareApps{margin:12px 0 0;padding:12px 14px;gap:10px;border-radius:var(--w2-r)}
html body .w2x-util ~ .wwdShareApps .wwdShareAppsCopy b{font-size:15px}
html body .w2x-util ~ .wwdShareApps .wwdShareAppsCopy span{font-size:13px}
html body .w2x-util ~ .wwdShareApps .wwdShareBtn,html body .w2x-util ~ .wwdShareApps .wwdAppsBtn{min-height:38px;padding:0 14px;font-size:13px}
html body .w2x-acc>summary{font-size:13.5px}
/* iOS hace zoom automático al enfocar campos de menos de 16px y la página queda ampliada (el chat y la barra
   «brincaban»). Todos los campos de texto del Directorio a 16px. */
html body input#q,html body input#aiSearch,html body .searchbox input,html body .wwd-search input{font-size:16px!important}

/* ── 4.0 (dueño 2026-10-19) · Identidad de cada tarjeta ──────────────────────────────────────────
   Foto real (<img>) encima; sin foto, monograma con las iniciales sobre un tono derivado del nombre y
   una insignia con el icono del giro en el color de su categoría (ds-2). Nunca una foto inventada. */
html body .grid .card .cover.w2x-cv{background:var(--w2x-mbg,#e2e8f0)!important;color:var(--w2x-mink,#334155)}
html body .grid .card .cover.w2x-cv::before{display:none}
.w2x-mono{position:relative;z-index:0;font:800 clamp(28px,9vw,42px)/1 var(--w2-font);letter-spacing:.02em;color:var(--w2x-mink,#334155);-webkit-user-select:none;user-select:none}
html body .grid.vlist .w2x-mono{font-size:21px}
html body .grid.vmini .w2x-mono{font-size:18px}
.w2x-img{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;transition:opacity .25s ease-out;background:transparent}
.w2x-img.ok{opacity:1;background:#f8fafc}
@media(prefers-reduced-motion:reduce){.w2x-img{transition:none}}
.w2x-catb{position:absolute;right:8px;bottom:8px;z-index:2;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.2)}
.w2x-catb .ic{width:16px;height:16px}
html body .grid.vlist .w2x-catb,html body .grid.vmini .w2x-catb{right:3px;bottom:3px;width:20px;height:20px}
html body .grid.vlist .w2x-catb .ic,html body .grid.vmini .w2x-catb .ic{width:12px;height:12px}
html body .grid .card .cover.w2x-cv .crown,html body .grid .card .cover.w2x-cv .destflag{z-index:3}

/* ── 4.0 · Tarjetas fantasma al cambiar de página (no un bloque con spinner) ───────────────────── */
html body .grid .card.sk.w2x-sk{height:auto;min-height:0;display:flex;flex-direction:column;gap:9px;padding:0 0 16px;border:1px solid var(--w2-line);background:#fff;animation:none;overflow:hidden}
.w2x-sk .w2x-skc{display:block;aspect-ratio:4/3;border-radius:0}
.w2x-sk .w2x-skl{display:block;height:12px;width:72%;margin:0 12px;border-radius:6px}
.w2x-sk .w2x-sks{width:46%}
html body .grid.vlist .card.sk.w2x-sk{flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px;gap:8px 12px}
html body .grid.vlist .w2x-sk .w2x-skc{width:74px;height:64px;aspect-ratio:auto;border-radius:12px;flex:none}
html body .grid.vlist .w2x-sk .w2x-skl{flex:1 1 50%;margin:0}
html body .grid.vlist .w2x-sk .w2x-sks{display:none}
html body .grid.vmini .w2x-sk .w2x-skc{aspect-ratio:auto;height:58px}

/* ── 4.0 · Paginador: ‹ Anterior · 1 2 3 … 118 · Siguiente › ───────────────────────────────────── */
.w2x-pages{order:-1;flex:1 0 100%;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;margin:0 0 4px}
.w2x-pg{flex:none;min-width:40px;height:40px;padding:0 9px;display:inline-grid;place-items:center;border:1px solid var(--w2-line);border-radius:999px;background:#fff;color:var(--w2-ink);font:650 13.5px/1 var(--w2-font);font-variant-numeric:tabular-nums;cursor:pointer;box-sizing:border-box}
button.w2x-pg:hover{border-color:var(--w2-brand)}
button.w2x-pg:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}
.w2x-pg.on{background:var(--w2-brand-aa);border-color:var(--w2-brand-aa);color:#fff;cursor:default}
.w2x-pg.off{color:var(--w2-muted);background:transparent;border-color:transparent;cursor:default}
.w2x-pgdots{flex:none;padding:0 1px;color:var(--w2-muted);font:700 13px/1 var(--w2-font)}
html body .pager .pgbtn span{font-size:16px;line-height:0}

/* ── 4.0 · Letra activa: «Quitar letra» bajo el resumen ─────────────────────────────────────────── */
.w2x-letterx{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin:4px 0 0;padding:0 11px;border:1px solid var(--w2-line);border-radius:999px;background:#fff;color:var(--w2-brand-aa);font:650 12.5px/1 var(--w2-font);cursor:pointer}
.w2x-letterx[hidden]{display:none}
.w2x-letterx .ic{width:13px;height:13px}
.w2x-letterx:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}

/* ── 4.0 · Índice por letra (A–Z, #) — tira delgada a la derecha, burbuja al arrastrar ─────────── */
.w2x-scrub{position:fixed;top:50%;right:0;z-index:40;width:44px;height:min(68vh,460px);transform:translateY(-50%);display:flex;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s ease-out;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:ns-resize;outline:none}
.w2x-scrub[data-show=true]{opacity:1;pointer-events:auto}
.w2x-scrub:focus-visible{opacity:1;pointer-events:auto}
.w2x-scrub ol{list-style:none;width:22px;height:100%;margin:0;padding:6px 0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;border:1px solid var(--w2-line);border-radius:999px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px -6px rgba(15,23,42,.35)}
.w2x-scrub li{width:16px;height:14px;display:grid;place-items:center;font:700 10px/1 var(--w2-font);color:var(--w2-brand-aa)}
.w2x-scrub li.on{height:16px;border-radius:50%;background:var(--w2-brand-aa);color:#fff}
.w2x-scrub.drag ol{background:#fff;border-color:var(--w2-ctl)}
.w2x-scrub:focus-visible ol{outline:2px solid var(--w2-brand);outline-offset:2px}
.w2x-bubble{position:fixed;top:0;left:0;z-index:41;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--w2-brand-aa);color:#fff;font:800 30px/1 var(--w2-font);box-shadow:0 18px 40px -16px rgba(15,23,42,.55);opacity:0;transform:scale(.85);pointer-events:none;transition:opacity .12s,transform .12s}
.w2x-bubble[data-show=true]{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.w2x-scrub,.w2x-bubble{transition:none}}
/* En teléfono la tira usa un canal propio para no tapar los botones de las tarjetas. */
html.w2x-scrub-on body #grid{margin-right:12px}
@media(max-height:520px){.w2x-scrub li{font-size:9px;height:11px}}

/* ── 4.1 · Selector de ubicación por niveles: migas «México › Estado › Municipio», filas de 44px ── */
html body .dirFiltersBody .statePanel .w2x-crumbs{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;padding:8px 12px 2px}
html body .dirFiltersBody .statePanel .w2x-crumbs button{min-height:36px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--w2-brand-aa);font:700 13.5px/1.2 var(--w2-font);cursor:pointer;text-align:left}
html body .dirFiltersBody .statePanel .w2x-crumbs button[aria-current]{color:var(--w2-ink);cursor:default}
html body .dirFiltersBody .statePanel .w2x-crumbs button:focus-visible{outline:2px solid var(--w2-brand);outline-offset:1px}
.w2x-crsep{color:var(--w2-muted);font-weight:700}
html body .dirFiltersBody .statePanel .stateList{animation:w2xFade .18s ease-out}
html body .dirFiltersBody .statePanel .stateList .w2x-locrow{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;box-sizing:border-box;gap:10px;width:100%;min-height:48px;padding:8px 12px;border:0;border-bottom:1px solid var(--w2-line);background:#fff;text-align:left;cursor:pointer;color:var(--w2-ink)}
html body .dirFiltersBody .statePanel .w2x-loct{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;white-space:normal}
html body .dirFiltersBody .statePanel .w2x-loct b{font:650 14.5px/1.25 var(--w2-font);color:var(--w2-ink)}
html body .dirFiltersBody .statePanel .w2x-loct span{font:500 12.5px/1.3 var(--w2-font);color:var(--w2-muted)}
html body .dirFiltersBody .statePanel .w2x-chev{flex:none;width:18px;height:18px;color:var(--w2-muted)}
html body .dirFiltersBody .statePanel .w2x-locall{background:var(--w2-brand-tint)}
html body .dirFiltersBody .statePanel .w2x-locall b{color:var(--w2-brand-ink)}
html body .dirFiltersBody .statePanel .w2x-locup .w2x-locrow{background:var(--w2-soft)}
html body .dirFiltersBody .statePanel .w2x-locrow:focus-visible{outline:2px solid var(--w2-brand);outline-offset:-2px}
html body .dirFiltersBody .statePanel .w2x-locmsg{margin:0;padding:14px 12px;font:500 13.5px/1.4 var(--w2-font);color:var(--w2-muted)}
.w2x-retry{min-height:36px;margin-left:6px;padding:0 12px;border:1px solid var(--w2-ctl);border-radius:999px;background:#fff;color:var(--w2-brand-aa);font:700 13px/1 var(--w2-font)}
@media(prefers-reduced-motion:reduce){html body .dirFiltersBody .statePanel .stateList{animation:none}}

/* ── 4.2 · Categorías precisas, agrupadas ─────────────────────────────────────────────────────────
   Resultados: UNA fila deslizable de familias con su conteo; con una activa, chip fijo «Comer ›
   Taquerías ×» (pegado arriba al desplazarse) y sus subcategorías. Hoja: buscador + familias plegables. */
.w2x-cats{margin:0 0 10px;min-width:0}
.w2x-cats[hidden]{display:none}
.w2x-catrow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 1px 4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
.w2x-catrow::-webkit-scrollbar{display:none}
.w2x-catrow .w2-chip{flex:none;height:36px;padding:0 12px;font-size:13.5px;scroll-snap-align:start}
.w2x-catrow .w2-chip small{font:700 11.5px/1 var(--w2-font);color:var(--w2-muted);font-variant-numeric:tabular-nums}
.w2x-catrow .w2-chip[aria-pressed=true] small{color:#fff;opacity:.85}
.w2x-cats.on{position:sticky;top:60px;z-index:6;margin:0 -2px 10px;padding:6px 2px 2px;background:var(--w2-bg,#fff);box-shadow:0 8px 12px -12px rgba(15,23,42,.35)}
.w2x-catactive{display:flex;margin:0 0 6px}
.w2x-catx{display:inline-flex;align-items:center;gap:8px;min-height:40px;max-width:100%;padding:0 12px 0 10px;border:1.5px solid var(--w2-brand-aa);border-radius:999px;background:var(--w2-brand-tint);color:var(--w2-brand-ink);font:700 14px/1.2 var(--w2-font);cursor:pointer}
.w2x-catx span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w2x-catx i{font-style:normal;color:var(--w2-muted);margin:0 2px}
.w2x-catx .ic{width:17px;height:17px;flex:none}
.w2x-catx:focus-visible,.w2x-catrow .w2-chip:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}
html body .dirFiltersBody .w2x-catbrowse{margin:10px 0 0}
.w2x-catq{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1.5px solid var(--w2-ctl);border-radius:14px;background:#fff;color:var(--w2-muted)}
.w2x-catq:focus-within{border-color:var(--w2-brand)}
.w2x-catq .ic{width:18px;height:18px;flex:none}
html body .w2x-catq input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:500 16px/1.2 var(--w2-font)!important;color:var(--w2-ink)}
.w2x-catfams{margin:8px 0 0;border:1px solid var(--w2-line);border-radius:16px;overflow:hidden}
.w2x-catfam{border-top:1px solid var(--w2-line)}
.w2x-catfam:first-child{border-top:0}
.w2x-catfam[hidden]{display:none}
.w2x-catfam>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;cursor:pointer;color:var(--w2-ink)}
.w2x-catfam>summary::-webkit-details-marker{display:none}
.w2x-catfam>summary .ic{width:19px;height:19px;flex:none;color:var(--w2-brand-aa)}
.w2x-catfam>summary b{flex:1;min-width:0;font:700 14.5px/1.25 var(--w2-font)}
.w2x-catfam>summary span{font:700 12.5px/1 var(--w2-font);color:var(--w2-muted);font-variant-numeric:tabular-nums}
.w2x-catfam>summary::after{content:"";flex:none;width:7px;height:7px;margin:-3px 2px 0 0;border-right:2px solid var(--w2-muted);border-bottom:2px solid var(--w2-muted);transform:rotate(45deg);transition:transform .2s}
.w2x-catfam[open]>summary::after{transform:rotate(-135deg);margin-top:3px}
.w2x-catfam>summary:focus-visible{outline:2px solid var(--w2-brand);outline-offset:-2px}
.w2x-catsubs{display:flex;flex-wrap:wrap;gap:6px;padding:2px 14px 14px}
.w2x-catsub{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--w2-line);border-radius:999px;background:#fff;color:var(--w2-ink);font:600 13.5px/1.2 var(--w2-font);cursor:pointer;text-align:left}
.w2x-catsub[hidden]{display:none}
.w2x-catsub span{font:700 11.5px/1 var(--w2-font);color:var(--w2-muted);font-variant-numeric:tabular-nums}
.w2x-catsub.w2x-catall{background:var(--w2-brand-tint);border-color:var(--w2-brand-tint-2);color:var(--w2-brand-ink)}
.w2x-catsub[aria-pressed=true]{background:var(--w2-brand-aa);border-color:var(--w2-brand-aa);color:#fff}
.w2x-catsub[aria-pressed=true] span{color:#fff}
.w2x-catsub:focus-visible{outline:2px solid var(--w2-brand);outline-offset:2px}
.w2x-catmsg{margin:0;padding:12px 14px;font:500 13px/1.45 var(--w2-font);color:var(--w2-muted)}
