/* Asistente de contacto de la web (chat guiado sin IA, 09-11-2026). JS: occhat.js. Prefijo .occ-
   Abajo a la derecha en todas las páginas públicas. Móvil (<=767px): hoja casi a pantalla completa,
   campos de 16 px (iOS no amplía) y botones de 44 px. */
.occ{--occ-a:var(--c-accent,#1B91CD);--occ-a2:var(--c-secondary,#134667);--occ-p:var(--c-primary,#0C2C45);--occ-ice:var(--c-ice,#F1F9FE);
  --occ-line:#dfe7ee;--occ-muted:#5f6b76;--occ-fab-b:20px;font-family:var(--font,Inter,system-ui,sans-serif);color:var(--occ-p);font-size:15px;line-height:1.45}
.occ *,.occ *::before,.occ *::after{box-sizing:border-box}
.occ [hidden]{display:none!important}
.occ button{font-family:inherit;margin:0}
.occ-fab{position:fixed;right:20px;bottom:var(--occ-fab-b);z-index:99990;width:60px;height:60px;padding:0;border:0;border-radius:50%;
  background:var(--occ-a);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 20px rgba(12,44,69,.28);transition:transform .15s ease,background-color .15s ease,bottom .2s ease}
.occ-fab:hover{background:var(--occ-a2);transform:translateY(-2px)}
.occ-fab:focus-visible{outline:3px solid var(--occ-p);outline-offset:3px}
.occ-fab svg{width:28px;height:28px}
.occ.is-open .occ-fab{transform:scale(.9)}
.occ-panel{position:fixed;right:20px;bottom:calc(var(--occ-fab-b) + 72px);z-index:100000;width:380px;max-width:calc(100vw - 40px);
  height:min(620px,calc(100vh - var(--occ-fab-b) - 100px));display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 50px rgba(12,44,69,.28),0 2px 8px rgba(12,44,69,.12);animation:occ-in .18s ease-out}
@keyframes occ-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.occ-panel{animation:none}.occ-fab{transition:none}}
.occ-head{flex:none;display:flex;align-items:center;gap:12px;padding:12px 8px 12px 16px;background:var(--occ-p);color:#fff}
.occ-logo{flex:none;width:38px;height:38px;border-radius:50%;background:var(--occ-a);display:flex;align-items:center;justify-content:center}
.occ-logo img{width:24px;height:24px;display:block}
.occ-ttl{flex:1;min-width:0}
.occ-ttl b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.occ-ttl span{display:block;font-size:12.5px;opacity:.8;line-height:1.3}
.occ-hb{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.occ-hb:hover{background:rgba(255,255,255,.12)}
.occ-hb:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.occ-hb svg{width:20px;height:20px}
.occ-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 8px;background:#f5f8fb;display:flex;flex-direction:column;gap:10px}
.occ-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.occ-msg--bot{align-self:flex-start;background:#fff;color:var(--occ-p);border:1px solid var(--occ-line);border-bottom-left-radius:4px}
.occ-msg--me{align-self:flex-end;background:var(--occ-a);color:#fff;border-bottom-right-radius:4px}
.occ-msg--ok{border-color:#9bd3b0;background:#effaf3}
.occ-msg--err{border-color:#f0b4b4;background:#fdf1f1;color:#8a1f1f}
.occ-msg small{display:block;margin-top:6px;font-size:12px;color:var(--occ-muted)}
.occ-dots{display:inline-flex;gap:4px;padding:4px 2px}
.occ-dots i{width:7px;height:7px;border-radius:50%;background:#9fb3c4;animation:occ-b 1s infinite ease-in-out}
.occ-dots i:nth-child(2){animation-delay:.15s}.occ-dots i:nth-child(3){animation-delay:.3s}
@keyframes occ-b{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.occ-foot{flex:none;padding:10px 12px 12px;border-top:1px solid var(--occ-line);background:#fff}
.occ-chips{display:flex;flex-wrap:wrap;gap:8px}
.occ-chip{min-height:44px;padding:0 16px;border:1.5px solid var(--occ-a);border-radius:22px;background:#fff;color:var(--occ-a2);font-size:14.5px;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s}
.occ-chip:hover,.occ-chip:focus-visible{background:var(--occ-a);color:#fff;outline:none}
.occ-row{display:flex;align-items:flex-end;gap:8px}
.occ-col{display:flex;flex-direction:column;gap:8px}
.occ .occ-in{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid #c9d6e1;border-radius:12px;background:#fff;color:var(--occ-p);font-size:15px;line-height:1.35;transition:border-color .15s}
.occ textarea.occ-in{resize:none;max-height:140px;overflow-y:auto}
.occ .occ-in:focus{border-color:var(--occ-a);outline:none;box-shadow:0 0 0 3px rgba(27,145,205,.18)}
.occ .occ-in[aria-invalid=true]{border-color:#c0392b}
.occ-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--occ-a2);margin:0 0 3px}
.occ-send{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:var(--occ-a);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.occ-send:hover{background:var(--occ-a2)}
.occ-send:focus-visible,.occ-btn:focus-visible{outline:3px solid var(--occ-p);outline-offset:2px}
.occ-send svg{width:20px;height:20px}
.occ-btn{width:100%;min-height:46px;padding:0 18px;border:0;border-radius:12px;background:var(--occ-a);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.occ-btn:hover{background:var(--occ-a2)}
.occ-btn[disabled]{opacity:.55;cursor:default}
.occ-err{margin:2px 0 0;font-size:13px;color:#b42318}
.occ-chk{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--occ-p);cursor:pointer;min-height:44px;padding:4px 0}
.occ-chk input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--occ-a)}
.occ-chk a{color:var(--occ-a);text-decoration:underline}
.occ-legal{margin:0;font-size:11.5px;line-height:1.4;color:var(--occ-muted)}
.occ-note{margin:6px 2px 0;font-size:11.5px;color:var(--occ-muted);text-align:center}
@media (max-width:767px){
  .occ{--occ-fab-b:16px}
  .occ-fab{right:16px;width:56px;height:56px}
  .occ-panel{left:0;right:0;bottom:0;top:auto;width:100%;max-width:none;height:calc(100vh - 24px);height:calc(100dvh - 24px);border-radius:16px 16px 0 0;
    box-shadow:0 0 0 100vmax rgba(12,44,69,.5),0 -6px 24px rgba(12,44,69,.25)}
  .occ.is-open .occ-fab{display:none}
  .occ .occ-in{font-size:16px}
  .occ-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .occ-msg{max-width:90%}
}
html.occ-lock,html.occ-lock body{overflow:hidden}
@media print{.occ{display:none}}
/* Cloudflare Turnstile (si está configurado): no ocupa nada salvo que pida una interacción */
.occ-ts{flex:none;display:flex;justify-content:center;background:#fff}
.occ-ts:empty{display:none}
.occ-ts>*{margin:8px 12px 0}
/* Globo de invitación (móvil, una vez por sesión; occhat.js «invitación automática») */
.occ-tip{position:fixed;right:calc(20px + 60px + 10px);bottom:calc(var(--occ-fab-b) + 8px);z-index:99990;display:flex;align-items:center;
  max-width:calc(100vw - 110px);background:#fff;color:var(--occ-p);border-radius:14px 14px 4px 14px;box-shadow:0 6px 22px rgba(12,44,69,.22);
  border:1px solid var(--occ-line);animation:occ-tip-in .25s ease-out}
@keyframes occ-tip-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.occ-tip__txt{flex:1;min-height:44px;padding:0 4px 0 14px;border:0;background:transparent;color:inherit;font:600 14.5px/1.3 var(--font,Inter,system-ui,sans-serif);text-align:left;cursor:pointer}
.occ-tip__x{flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--occ-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:12px}
.occ-tip__x svg{width:16px;height:16px}
.occ-tip__txt:focus-visible,.occ-tip__x:focus-visible{outline:2px solid var(--occ-a);outline-offset:-3px}
.occ.is-open .occ-tip{display:none}
@media (max-width:767px){.occ-tip{right:calc(16px + 56px + 10px);bottom:calc(var(--occ-fab-b) + 6px);max-width:calc(100vw - 98px)}}
@media (prefers-reduced-motion:reduce){.occ-tip{animation:none}}
/* Hueco para la burbuja en la barra inferior del pie (09-11-2026): los enlaces «Política de cookies» y
   «Configurar cookies» quedan siempre a la vista, sin la burbuja encima, al llegar al final de la página. */
html .ftr-bar{padding-right:100px}
@media (max-width:767px){html .ftr-bar{padding-right:20px;padding-bottom:92px}}
