/* ══ MENÚ MÓVIL ══ */
#mnv{position:fixed;inset:0;z-index:1200;visibility:hidden;opacity:0;
  transition:opacity .22s cubic-bezier(.2,.8,.3,1),visibility .22s}
#mnv.on{visibility:visible;opacity:1}
#mnv .velo{position:absolute;inset:0;background:rgba(26,26,26,.55)}
#mnv .panel{position:absolute;top:0;right:0;bottom:0;width:min(340px,86vw);background:#fff;
  box-shadow:-8px 0 40px rgba(0,0,0,.2);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.8,.3,1);overflow-y:auto}
#mnv.on .panel{transform:translateX(0)}
#mnv .ptop{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;
  border-bottom:1px solid #EFEFEF}
#mnv .ptop b{font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;color:#1A1A1A;
  letter-spacing:.06em;text-transform:uppercase}
#mnv .cerrar{width:44px;height:44px;border:0;background:#F7F7F7;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#333}
#mnv .cerrar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.25;
  stroke-linecap:round}
#mnv nav{padding:14px 0;flex:1}
#mnv nav a{display:flex;align-items:center;gap:13px;min-height:48px;padding:13px 20px;font-size:16px;
  color:#333;text-decoration:none;font-weight:500;transition:background .16s}
#mnv nav a:hover,#mnv nav a:focus-visible{background:#F7F7F7;color:#C72426}
#mnv nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;color:#8A8A8A;flex:none}
#mnv nav .sep{height:1px;background:#EFEFEF;margin:12px 20px}
#mnv .pbot{padding:20px;border-top:1px solid #EFEFEF;display:flex;flex-direction:column;gap:10px}
#mnv .pbot .b{display:flex;align-items:center;justify-content:center;gap:9px;height:48px;
  border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;border:2px solid transparent}
#mnv .pbot .b1{background:#C72426;color:#fff}
#mnv .pbot .b2{background:#fff;color:#1A1A1A;border-color:#1A1A1A}
#mnv .pbot .b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.25;
  stroke-linecap:round;stroke-linejoin:round}

/* ══ ASISTENTE ══ */
#ast{position:fixed;right:22px;bottom:22px;z-index:1000}
@media (max-width:639px){#ast{right:16px;bottom:16px}}
#astB{display:flex;align-items:center;gap:11px;height:56px;padding:0 22px 0 17px;
  border-radius:28px;background:#1A1A1A;color:#fff;border:0;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:600;box-shadow:0 8px 28px rgba(0,0,0,.28);
  transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s}
#astB:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,0,0,.34)}
#astB:focus-visible{outline:3px solid #09405E;outline-offset:3px}
#astB svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.25;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
#astB .pt{position:absolute;top:11px;right:15px;width:10px;height:10px;border-radius:50%;
  background:#C72426;border:2px solid #1A1A1A}
@media (max-width:639px){#astB{height:54px;width:54px;padding:0;justify-content:center;border-radius:50%}
  #astB .tx{display:none}#astB .pt{top:6px;right:6px}}
#astP{position:absolute;right:0;bottom:70px;width:min(380px,calc(100vw - 32px));height:min(540px,70vh);
  background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.26);display:none;
  flex-direction:column;overflow:hidden;border:1px solid #E5E5E5}
#astP.on{display:flex}
#astP .cab{background:#1A1A1A;color:#fff;padding:14px 18px;display:flex;align-items:center;gap:11px}
#astP .cab .av{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;flex:none}
#astP .cab .av svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2.25;
  stroke-linecap:round;stroke-linejoin:round}
#astP .cab .t{flex:1;min-width:0}
#astP .cab .t b{display:block;font-size:15px;font-weight:600}
#astP .cab .t small{display:flex;align-items:center;gap:6px;font-size:12px;color:#B8B8B8}
#astP .cab .t small i{width:7px;height:7px;border-radius:50%;background:#1E8E5A}
#astP .cab button{width:40px;height:40px;border:0;background:rgba(255,255,255,.12);color:#fff;
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
#astP .cab button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.5;
  stroke-linecap:round}
#astM{flex:1;overflow-y:auto;padding:18px;background:#F7F7F7;scroll-behavior:smooth}
#astM .m{display:flex;gap:10px;margin-bottom:14px;max-width:88%}
#astM .m.yo{margin-left:auto;flex-direction:row-reverse}
#astM .m .a{width:28px;height:28px;border-radius:50%;flex:none;display:flex;align-items:center;
  justify-content:center;font-size:10px;font-weight:700;color:#fff;background:#1A1A1A}
#astM .m.yo .a{background:#D5D5D5;color:#333}
#astM .m .b{background:#fff;border-radius:13px 13px 13px 4px;padding:11px 14px;font-size:14.5px;
  line-height:1.6;color:#333;box-shadow:0 1px 3px rgba(0,0,0,.07)}
#astM .m.yo .b{background:#1A1A1A;color:#fff;border-radius:13px 13px 4px 13px}
#astM .m .b p{margin:0 0 8px}
#astM .m .b p:last-child{margin:0}
#astM .m .b b{font-weight:600}
#astM .m .b a{color:#09405E;font-weight:600}
#astM .m.yo .b a{color:#9FD4F0}
#astS{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 14px;background:#F7F7F7}
#astS button{min-height:40px;padding:9px 14px;background:#fff;border:1px solid #D5D5D5;
  border-radius:999px;font-size:13.5px;cursor:pointer;font-family:inherit;color:#333;
  transition:all .16s}
#astS button:hover{background:#1A1A1A;color:#fff;border-color:#1A1A1A}
#astF{padding:13px 16px;border-top:1px solid #E5E5E5;background:#fff}
#astF .fila{display:flex;gap:9px}
#astF input{flex:1;height:46px;padding:0 16px;border:1px solid #D5D5D5;border-radius:23px;
  font-size:16px;outline:none;font-family:inherit;transition:border-color .16s}
#astF input:focus{border-color:#1A1A1A;box-shadow:0 0 0 3px rgba(9,64,94,.14)}
#astF .env{width:44px;height:44px;border-radius:50%;background:#C72426;color:#fff;border:0;
  cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
#astF .env:hover{background:#A91F20}
#astF .env svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.25;
  stroke-linecap:round;stroke-linejoin:round}
#astF .nota{font-size:11.5px;color:#8A8A8A;text-align:center;margin-top:8px}
.escribiendo span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8A8A8A;
  margin-right:3px;animation:pt 1.2s infinite}
.escribiendo span:nth-child(2){animation-delay:.18s}
.escribiendo span:nth-child(3){animation-delay:.36s}
@keyframes pt{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ══ AVISOS EN LÍNEA ══ */
.ok-linea{background:#E4F4EC;border-left:4px solid #1E8E5A;padding:14px 18px;border-radius:8px;
  font-size:14.5px;color:#1E8E5A;margin-top:16px;display:none;line-height:1.6}
.ok-linea.on{display:block}
.ok-linea b{display:block;margin-bottom:3px;color:#166B42}
.err-campo{border-color:#C72426 !important}
.err-txt{font-size:12.5px;color:#A91F20;font-weight:500;margin-top:5px;display:none}
.err-txt.on{display:block}
@media print{#ast,#mnv{display:none !important}}
@media (prefers-reduced-motion:reduce){#mnv,#mnv .panel,#astB{transition:none}
  .escribiendo span{animation:none}}
/* Oferta de agente: «Hablar con agente» (WhatsApp) / «Seguir con el asistente» */
#astM .m .b .acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#astM .m .b .acc a,#astM .m .b .acc button{min-height:36px;padding:8px 12px;border-radius:10px;
  font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center}
#astM .m .b .acc a.wa{background:#25D366;color:#fff;border:0;text-decoration:none}
#astM .m .b .acc a.wa:hover{background:#1EBE5A}
#astM .m .b .acc button{background:#fff;color:#1A1A1A;border:1px solid #D5D5D5}
#astM .m .b .acc button:hover{background:#1A1A1A;color:#fff;border-color:#1A1A1A}
