/* Cabecera morph-nav de aiden.es (WEB-20261007-43): overrides de Aiden sobre el componente de
 * casave.io TAL CUAL (csv-mn.css = csv-hb.css sin tocar). Cada regla es una decisión de Alex,
 * tomada con él en el chat de la dirección sobre el prototipo (direccion/diseno/cabecera-aiden/
 * construir-casave.py, variable `raiz`): está comentada aquí con la misma ronda que allí. */
.csv-mn{--duration-fast:.14s;--duration-spring:.3s;--duration-considered:.4s;--ease-spring:cubic-bezier(.2,.9,.2,1);
  --ease-standard:cubic-bezier(.2,.9,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--font-body:'DM Sans',system-ui,sans-serif;
  --marca:#13967E;--texto:#15130f;--mn-tinta:#15130f;--lift:0 1px 2px rgba(0,0,0,.06)}
/* Alex, 9-oct: la cabecera de las webs comerciales va SIEMPRE en claro. Aiden no tiene modo
   oscuro, así que (igual que en aiden-pages, WEB-20261009-1) se borraron directamente de
   csv-mn.css los dos bloques oscuros que trae casave.io (la media query y `[data-theme=dark]`):
   sin ellos, los tokens de arriba son los únicos que existen y no hace falta ganarles con
   `!important`. */
.csv-mn__tool--txt{width:auto!important;padding:0 12px!important;font-weight:500;font-size:14px;text-decoration:none}
.csv-mn a{text-decoration:none}
/* Alex, 7-oct: a la derecha Accede, bolsa, soporte y, el último del todo, el menú (en estrecho). */
/* Alex, 7-oct (ronda 5): el logotipo alargado se aplastaba en el móvil: aiden.es pone img{max-width:100%}
   y la columna del logo, al apretarse la fila, lo estrechaba sin bajarle la altura. */
html body .csv-mn__brandName img,html body .csv-mn__brandMark img{max-width:none!important}
/* Accede, más pequeño; en el móvil conserva su texto también al encogerse (ronda 8). */
/* Ronda 6: un punto más pequeño todavía (32 px; 30 al encogerse; letra 12,5). */
html body #aiden-accede{height:32px!important;padding:0 12px!important;gap:5px!important;font-size:12.5px!important;
  transition:height var(--tighten),padding var(--tighten),gap var(--tighten),background-color .14s,transform .14s}
html body .csv-mn[data-compact] #aiden-accede{height:30px!important;padding:0 11px!important}
html body #aiden-accede svg{width:15px;height:15px;flex:none}
.aiden-accede-txt{display:inline-block;overflow:hidden;white-space:nowrap;max-width:5.5em;opacity:1;
  transition:max-width var(--tighten),opacity .18s var(--ease-standard)}
/* En el móvil, la barra se queda en logo · Accede · bolsa · menú; soporte, dentro del menú (y la burbuja de chat ya flota abajo). */
/* Ronda 8 (Alex): en el móvil solo Accede (con su texto, también al encogerse) y el menú; bolsa y soporte, dentro. */
html body .csv-mn[data-narrow] #aiden-soporte,html body .csv-mn[data-narrow] #aiden-bolsa{display:none!important}
.csv-mn:not([data-narrow]) .csv-mn__group--ayuda{display:none}
html body .csv-mn__menu .csv-mn__group--ayuda{grid-column:1/-1}
/* Su título, igual que «Servicios», «Empresa» y «Clientes»: no es una etiqueta gris, es otra sección. */
html body .csv-mn__menu .csv-mn__group--ayuda .csv-mn__heading{font-size:15px;font-weight:700;text-transform:none;
  letter-spacing:normal;color:#15130f;padding:14px 2px 6px}
/* Ronda 9 (Alex): Accede, a la derecha del todo; a su izquierda, lupa · bolsa · soporte (en el móvil, solo la lupa). */
html body #csv-mn-sitio{order:1}html body #aiden-bolsa{order:2}html body #aiden-soporte{order:3}html body #aiden-accede{order:4}
html body .csv-mn__menuBtn{order:5}
/* Ronda 7, móvil: bolsa · Accede · menú (Accede pegado al menú) y su icono más grande para que se vea. */
html body .csv-mn[data-narrow] #aiden-accede svg{width:18px;height:18px}
html body .csv-mn__menu .csv-mn__group--bolsa{padding-top:6px}
/* Ronda 11 (Alex), móvil: logo · lupa · Accede · menú; al encogerse, logo · lupa · menú. El pie del menú,
   Bolsa · Accede. Alex: encogida en el móvil (logo · menú) la píldora se quedaba muy corta: un poco más
   larga, con el logo a la izquierda y el menú a la derecha. */
@media (max-width:860px){html body .csv-mn[data-compact] .csv-mn__bar{width:190px!important;justify-content:space-between!important}}
/* Pegado al borde de verdad: la cara tiene 18 px de relleno abajo y a los lados, y «sticky» se para
   antes del relleno; por eso baja 18 px y se ensancha 18 a cada lado (si no, asoma la lista por debajo). */
.aiden-pie{position:sticky;bottom:-18px;z-index:2;display:grid;grid-template-columns:1fr 1.25fr;gap:6px;
  margin:10px -18px -18px;padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));background:#fff;
  border-top:1px solid rgba(21,19,15,.07)}
.csv-mn:not([data-narrow]) .aiden-pie{display:none}
/* casave limita todo lo de la cara a max-width:100%; el pie se ensancha a propósito. */
html body .csv-mn__face .aiden-pie{max-width:none}
html body .aiden-pie__b,html body .aiden-pie__accede,html body .aiden-pie__crea{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:44px;padding:0 10px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;
  text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .14s,transform .14s}
html body .aiden-pie__b{background:rgba(21,19,15,.05);color:#15130f}
html body .aiden-pie__b:active,html body .aiden-pie__accede:active,html body .aiden-pie__crea:active{transform:scale(.97)}
html body .aiden-pie__accede{background:#15130f;color:#fff}
.aiden-pie [data-lot]{width:20px;height:20px}.aiden-pie__accede svg{width:18px;height:18px;flex:none}
/* Ronda 9, móvil: logo · lupa · Accede · menú; al encogerse, logo · lupa · menú.
   Aiden no tiene búsqueda por voz: fuera el micrófono del buscador. */
html body .csv-mn[data-narrow][data-compact] #aiden-accede{display:none!important}
html body #csv-mn-voz{display:none!important}
/* Los títulos de las guías son largos: en la lupa se leen enteros, en dos líneas si hace falta. */
html body .csv-mn__face--sitio .csv-mn__linkText{max-width:none;min-width:0;flex:1}
html body .csv-mn__face--sitio .csv-mn__linkLabel{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
/* aiden.es pinta los campos con borde verde al enfocarlos: dentro del buscador el campo no lleva caja. */
html body .csv-mn__input,html body .csv-mn__input:focus,html body .csv-mn__input:focus-visible{border:0!important;
  outline:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important}
/* Badge de la bolsa (recuento real del carrito, WEB-20261008-24): reutiliza el globo de
   no-leídos del propio componente de casave (.csv-mn__globo) — nada nuevo que mantener.
   El modo "pendiente" (pedido a medio hacer, sin número) es un punto: variante propia,
   casave no la tiene. En el pie del menú móvil el globo cuelga de su propio envoltorio
   (.aiden-pie__bIco), no del tile [data-lot]: ese lo vacía y rehace menu-iconos.js al
   animarse, y se llevaría el badge por delante. */
.csv-mn__globo[data-aiden-bag-badge][hidden]{display:none}
.csv-mn__globo[data-aiden-bag-badge].is-dot{min-width:8px;width:8px;height:8px;padding:0;font-size:0;top:4px;right:3px}
.aiden-pie__bIco .csv-mn__globo[data-aiden-bag-badge]{top:-4px;right:-6px}

/* WEB-20261008-34 (corrige PR #113, REV-20261008-44): el banner superior (`.atb`,
 * astart_top_banner(), configurable desde admin) se quedó sin CSS al dejar de encolarse
 * `header.css` (sustituido por este fichero, WEB-20261007-44) — sus reglas seguían en ese
 * fichero pero nadie las servía, así que el banner no tenía ni posición ni fondo. Se
 * portan aquí TAL CUAL (mismos valores, mismo `.atb--*`/`.atb-cta`/`.atb-close`).
 * El hueco que deja para la cabecera (antes un `--csv-mn-top` fijo por `body.has-topbanner`,
 * que csv-mn.js pisaba igual con su propio inline) ahora lo calcula en JS
 * `assets/js/csv-mn-banners.js`, midiendo el banner real en vez de adivinar su alto. */
.atb{position:fixed;top:0;left:0;right:0;z-index:101;padding:0;overflow:hidden;animation:atbSlideIn .5s cubic-bezier(.16,1,.3,1)}
@keyframes atbSlideIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.atb-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:16px;min-height:40px;padding:8px 48px 8px 20px;font-family:var(--fb);font-size:13px;font-weight:500;line-height:1.3;text-align:center;position:relative}
.atb-text{flex:0 1 auto}
.atb-cta{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:9999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:inherit;font-family:var(--fd);font-weight:700;font-size:11.5px;letter-spacing:.02em;text-decoration:none;white-space:nowrap;transition:all .2s var(--ease);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.atb-cta:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.4);transform:translateY(-1px)}
.atb-cta svg{width:12px;height:12px}
.atb-close{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .3s var(--ease);opacity:.75;font-family:inherit}
.atb-close:hover{opacity:1;background:rgba(255,255,255,.24);transform:translateY(-50%) rotate(90deg);border-color:rgba(255,255,255,.4)}
.atb-close svg{width:12px;height:12px;display:block}
.atb--dark .atb-close,.atb--amber .atb-close{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.14)}
.atb--dark .atb-close:hover,.atb--amber .atb-close:hover{background:rgba(0,0,0,.16);border-color:rgba(0,0,0,.24)}
html.atb-dismissed .atb{display:none!important}
.atb--teal{background:linear-gradient(135deg,#0E7A67 0%,#13967E 50%,#1BB896 100%);color:#fff}
.atb--purple{background:linear-gradient(135deg,#46396F 0%,#574A87 50%,#7B6AB0 100%);color:#fff}
.atb--dark{background:linear-gradient(135deg,#1A1A19 0%,#2A2A28 100%);color:#fff}
.atb--dark .atb-cta{background:linear-gradient(135deg,#FFB8A8,#F28B7B);border-color:transparent;color:#1A1A19}
.atb--dark .atb-cta:hover{background:linear-gradient(135deg,#FFC5B7,#F7A091)}
.atb--amber{background:linear-gradient(135deg,#F28B7B 0%,#FFB8A8 100%);color:#4A1F18}
.atb--amber .atb-cta{background:rgba(74,31,24,.12);border-color:rgba(74,31,24,.2);color:#4A1F18}
@media(max-width:768px){.atb-inner{font-size:12px;padding:7px 14px;gap:10px;min-height:36px;flex-wrap:wrap}.atb-cta{font-size:10.5px;padding:4px 10px}}
.atb--one{background:#efeeeb;color:#141413;box-shadow:inset 0 -1px 0 rgba(31,31,31,.07)}
.atb--one .atb-cta{background:#fff;border-color:rgba(31,31,31,.12);color:#141413;backdrop-filter:none;-webkit-backdrop-filter:none}
.atb--one .atb-cta:hover{background:#fff;border-color:rgba(31,31,31,.22);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.atb--one .atb-close{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1);color:#141413}
.atb--one .atb-close:hover{background:rgba(0,0,0,.1)}
.atb-one-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}
.atb-one-a{font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--n900)}
.atb-one-o{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:#fff;border:1px solid rgba(31,31,31,.14);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.atb-one-o span{font-family:var(--fd);font-weight:700;font-size:12.5px;letter-spacing:-.01em;background:linear-gradient(115deg,#13967E 0%,#3D72B0 40%,#8B5CF6 70%,#F5A623 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@media(max-width:768px){.atb-one-a{font-size:13px}}

/* WEB-20261007-44 (aidenstartup.com): «Crear empresa» no existe en aiden.es — aidenstartup sí
 * vende constitución de empresa y necesita su CTA. Es el mismo componente .csv-mn__action que
 * Accede (cero CSS nuevo, solo una segunda instancia), a su izquierda en la barra. */
html body #aiden-crear-empresa{order:0;background:var(--mn-accion-bg,#15130f)}
html body .csv-mn[data-narrow] #aiden-crear-empresa{display:none!important}
/* En el móvil, el pie del menú pasa de 2 a 3 columnas: Bolsa · Crear empresa · Accede. */
.csv-mn:not([data-narrow]) .aiden-pie{display:none}
html body .csv-mn[data-narrow] .aiden-pie{grid-template-columns:1fr 1.3fr 1.1fr}
html body .aiden-pie__crea{background:#15130f;color:#fff}
