/* ctxd-explora-v1.css · T2A (2-oct-2026): navegación del megaprompt, «¿Qué hacemos hoy?» de la portada y personalización.
   Usa los tokens de ctxd-v1.css (A2): hereda el modo oscuro de :root.dark. Nombre nuevo: si cambia, se publica como -v2. */

/* ---------- navegación: escritorio (>=1024) ---------- */
.ctxd-sec{display:none}
@media (min-width:1024px){
  .ctxd-sec{display:block;background:var(--ctxd-bg);border-bottom:1px solid var(--ctxd-border)}
  .ctxd-sec__l{max-width:80rem;margin:0 auto;padding:0 16px;display:flex;gap:4px;list-style:none;align-items:stretch}
  .ctxd-sec .ctxd-nv__a{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;background:none;cursor:pointer;
    font:var(--ctxd-fw-m) var(--ctxd-fs-14)/1 var(--ctxd-font);color:var(--ctxd-text-2);text-decoration:none;border-bottom:2px solid transparent}
  .ctxd-sec .ctxd-nv__a:hover{color:var(--ctxd-fg)}
  .ctxd-sec .ctxd-nv__a[aria-current="page"]{color:var(--ctxd-fg);border-bottom-color:var(--ctxd-accent)}
  .ctxd-sec [data-nv="pd"]{color:var(--ctxd-accent-text)}
}
/* ---------- navegación: móvil y tableta (<1024): barra inferior fija, misma altura que reserva Mi día (--ctxd-nav-h) ---------- */
.bottom-nav{display:none!important}
.ctxd-tab{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--ctxd-nav-h,72px) + var(--ctxd-safe-b,0px));padding-bottom:var(--ctxd-safe-b,0px);
  background:var(--nav-bg,var(--ctxd-bg));-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--nav-border,var(--ctxd-border))}
.ctxd-tab__l{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--ctxd-nav-h,72px);margin:0;padding:0 4px;list-style:none}
.ctxd-tab .ctxd-nv__a{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  border:0;background:none;cursor:pointer;color:var(--ctxd-text-3);text-decoration:none;font:var(--ctxd-fw-m) var(--ctxd-fs-12)/1.1 var(--ctxd-font);-webkit-tap-highlight-color:transparent}
.ctxd-tab .ctxd-nv__a[aria-current="page"]{color:var(--ctxd-accent-text)}
.ctxd-tab .ctxd-nv__a[aria-current="page"]>span:not(.ctxd-nv__n):not(.ctxd-tab__pdi){font-weight:var(--ctxd-fw-b)}
.ctxd-tab .ctxd-nv__i{width:24px;height:24px}
.ctxd-tab__pd{color:var(--ctxd-accent-text)!important}
.ctxd-tab__pdi{display:flex;align-items:center;justify-content:center;width:40px;height:32px;border-radius:var(--ctxd-r-ctl);background:var(--ctxd-accent);color:var(--ctxd-on-accent)}
.ctxd-tab__pdi .ctxd-nv__i{width:22px;height:22px}
.ctxd-nv__n{min-width:18px;height:18px;padding:0 5px;border-radius:6px;background:var(--ctxd-accent);color:var(--ctxd-on-accent);font:var(--ctxd-fw-b) 11px/18px var(--ctxd-font);text-align:center}
.ctxd-tab .ctxd-nv__n{position:absolute;top:8px;left:calc(50% + 6px)}
.ctxd-nv__a:focus-visible{outline:none;box-shadow:var(--ctxd-focus-ring);border-radius:var(--ctxd-r-ctl)}
@media (max-width:1023.98px){
  body{padding-bottom:calc(var(--ctxd-nav-h,72px) + var(--ctxd-safe-b,0px))}
  #main.pb-16{padding-bottom:0}
}
@media (min-width:1024px){.ctxd-tab{display:none}}
/* Donde el sitio ya no ponía barra (ficha de evento con su compra fija, /perfect-day con su asistente) tampoco va la nuestra.
   CSS desde el primer pintado (canónica en <head>) + clase que pone el JS en navegación de cliente. */
:root:has(link[rel="canonical"][href*="ctxplorer.com/events/"]) .ctxd-tab,:root:has(link[rel="canonical"][href*="ctxplorer.com/perfect-day"]) .ctxd-tab,html.ctxd-tab-off .ctxd-tab{display:none}
@media (max-width:1023.98px){
  :root:has(link[rel="canonical"][href*="ctxplorer.com/events/"]) body,:root:has(link[rel="canonical"][href*="ctxplorer.com/perfect-day"]) body,html.ctxd-tab-off body{padding-bottom:0}
  :root:has(link[rel="canonical"][href*="ctxplorer.com/events/"]),:root:has(link[rel="canonical"][href*="ctxplorer.com/perfect-day"]),html.ctxd-tab-off{--ctxd-nav-h:0px}
}

/* ---------- portada: «¿Qué hacemos hoy?» ---------- */
.ctxd-hoy{max-width:80rem;margin:0 auto;padding:24px 16px 8px;font-family:var(--ctxd-font);color:var(--ctxd-fg)}
.ctxd-hoy__in{border:1px solid var(--ctxd-border);border-radius:var(--ctxd-r-card);background:var(--ctxd-card);padding:20px 16px}
.ctxd-hoy__top{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
@media (min-width:1024px){.ctxd-hoy__top{flex-direction:row;align-items:flex-end;justify-content:space-between}.ctxd-hoy__t{flex:1;min-width:0}}
.ctxd-hoy__t{margin:0;font-size:var(--ctxd-fs-28);line-height:var(--ctxd-lh-tight);font-weight:var(--ctxd-fw-x);letter-spacing:-.01em}
.ctxd-hoy__sel{display:flex;flex-direction:column;gap:4px;font-size:var(--ctxd-fs-13);color:var(--ctxd-text-2)}
.ctxd-hoy__sel select{min-height:44px;min-width:180px;padding:0 12px;border:1px solid var(--ctxd-border-strong);border-radius:var(--ctxd-r-ctl);background:var(--ctxd-bg);color:var(--ctxd-fg);font:var(--ctxd-fw-m) var(--ctxd-fs-16) var(--ctxd-font)}
.ctxd-hoy__sug{min-height:44px;margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--ctxd-fs-14);color:var(--ctxd-text-2)}
.ctxd-hoy__sug a,.ctxd-hoy__sug button{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--ctxd-r-ctl);font:var(--ctxd-fw-b) var(--ctxd-fs-14) var(--ctxd-font);text-decoration:none;cursor:pointer}
.ctxd-hoy__sug a{background:var(--ctxd-accent-tint);color:var(--ctxd-accent-text);border:1px solid var(--ctxd-accent-line)}
.ctxd-hoy__sug button{background:none;border:1px solid var(--ctxd-border-strong);color:var(--ctxd-fg)}
.ctxd-skel{display:inline-block;width:min(320px,70%);height:14px;border-radius:4px;background:var(--ctxd-surface-2)}
.ctxd-hoy__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}
.ctxd-hoy__stats li[hidden]{display:none}
.ctxd-hoy__stats a{display:flex;flex-direction:column;gap:2px;min-height:76px;padding:12px;border:1px solid var(--ctxd-border);border-radius:var(--ctxd-r-ctl);background:var(--ctxd-surface);color:var(--ctxd-fg);text-decoration:none}
.ctxd-hoy__stats a:hover{border-color:var(--ctxd-accent-line)}
.ctxd-hoy__stats b{font-size:var(--ctxd-fs-28);line-height:1.1;font-weight:var(--ctxd-fw-x);font-variant-numeric:tabular-nums}
.ctxd-hoy__stats span{font-size:var(--ctxd-fs-13);color:var(--ctxd-text-2)}
.ctxd-hoy__vacio{margin:12px 0 0;padding:12px;border-radius:var(--ctxd-r-ctl);background:var(--ctxd-warn-tint);font-size:var(--ctxd-fs-14);color:var(--ctxd-fg)}
.ctxd-hoy__vacio[hidden]{display:none}
.ctxd-hoy__cta{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px}
.ctxd-hoy__pri,.ctxd-hoy__sec{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 20px;border-radius:var(--ctxd-r-ctl);font:var(--ctxd-fw-b) var(--ctxd-fs-16) var(--ctxd-font);text-decoration:none}
.ctxd-hoy__pri{background:var(--ctxd-accent);color:var(--ctxd-on-accent)!important}
.ctxd-hoy__pri:hover{background:var(--ctxd-accent-hover)}
.ctxd-hoy__sec{border:1px solid var(--ctxd-border-strong);color:var(--ctxd-fg)!important;background:var(--ctxd-bg)}
.ctxd-hoy__tiempo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:var(--ctxd-fs-14);color:var(--ctxd-text-2)}
.ctxd-hoy__tiempo>span{flex-basis:100%}
.ctxd-hoy__tiempo a,.ctxd-hoy__modo button,.ctxd-hoy__gustos-b,.ctxd-hoy__gustos button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--ctxd-border-strong);border-radius:var(--ctxd-r-ctl);background:var(--ctxd-bg);color:var(--ctxd-fg);font:var(--ctxd-fw-m) var(--ctxd-fs-14) var(--ctxd-font);text-decoration:none;cursor:pointer}
.ctxd-hoy__tiempo a:hover,.ctxd-hoy__modo button:hover,.ctxd-hoy__gustos button:hover{border-color:var(--ctxd-accent-line)}
.ctxd-hoy__pers{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ctxd-border)}
.ctxd-hoy__modo{display:inline-flex}
.ctxd-hoy__modo button:first-child{border-radius:var(--ctxd-r-ctl) 0 0 var(--ctxd-r-ctl)}
.ctxd-hoy__modo button:last-child{border-radius:0 var(--ctxd-r-ctl) var(--ctxd-r-ctl) 0;margin-left:-1px}
.ctxd-hoy [aria-pressed="true"]{background:var(--ctxd-accent-tint);border-color:var(--ctxd-accent-text);color:var(--ctxd-accent-text);font-weight:var(--ctxd-fw-b)}
.ctxd-hoy__gustos-b[aria-expanded="true"]{border-color:var(--ctxd-accent-text)}
.ctxd-hoy__gustos{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ctxd-hoy__gustos[hidden],.ctxd-hoy__parati[hidden]{display:none}
.ctxd-hoy__gustos p{flex-basis:100%;margin:0;font-size:var(--ctxd-fs-13);color:var(--ctxd-text-2)}
.ctxd-hoy__parati{margin-top:16px;padding:12px;border-radius:var(--ctxd-r-ctl);background:var(--ctxd-surface)}
.ctxd-hoy__parati h3{margin:0 0 4px;font-size:var(--ctxd-fs-18);font-weight:var(--ctxd-fw-b)}
.ctxd-hoy__parati p{margin:0 0 8px;font-size:var(--ctxd-fs-14);color:var(--ctxd-text-2)}
.ctxd-hoy__parati a{font-weight:var(--ctxd-fw-b);color:var(--ctxd-accent-text);display:inline-flex;align-items:center;min-height:44px}
.ctxd-hoy__fn{margin:12px 0 0;font-size:var(--ctxd-fs-12);color:var(--ctxd-text-3)}
.ctxd-hoy a:focus-visible,.ctxd-hoy button:focus-visible,.ctxd-hoy select:focus-visible{outline:none;box-shadow:var(--ctxd-focus-ring)}
@media (min-width:768px){
  .ctxd-hoy{padding:40px 16px 8px}
  .ctxd-hoy__in{padding:28px}
  .ctxd-hoy__t{font-size:var(--ctxd-fs-36)}
  .ctxd-hoy__stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ctxd-hoy__cta{grid-template-columns:auto auto;justify-content:start}
  .ctxd-hoy__tiempo>span{flex-basis:auto;margin-right:4px}
}
/* héroe de portada: en móvil la altura la marca su contenido para que «¿Qué hacemos hoy?» asome antes */
@media (max-width:767.98px){#main section.min-h-\[88vh\]:has(h1){min-height:0}#main section.min-h-\[88vh\]:has(h1)>div.relative.z-10{padding-top:32px;padding-bottom:40px}}
/* carruseles reordenados por gustos (orden por CSS: no se mueven nodos de React) */
.ctxd-orden{display:flex!important;flex-direction:column}
.ctxd-orden>*{margin-top:0!important;margin-bottom:0!important}
.ctxd-orden.space-y-12{gap:3rem}
@media (prefers-reduced-motion:reduce){.ctxd-tab *,.ctxd-hoy *{transition:none!important}}
@media (forced-colors:active){.ctxd-tab__pdi,.ctxd-nv__n,.ctxd-hoy__pri{border:1px solid CanvasText}}
