
/* ============ COMPARTIR ENLACE (botón derecho) · 13/10/2026 ============ */
#navbar button,#nav a,#subbar button,#bottomnav button,#bottomnav a{-webkit-touch-callout:none}
#cm-compartir{position:fixed;z-index:2100;min-width:250px;max-width:min(330px,calc(100vw - 16px));padding:6px;
  background:var(--panel,#fff);color:var(--ink,#1d1d1f);border:1px solid var(--line-2,#cfcfd4);border-radius:14px;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.12);font:500 15px/1.3 var(--sans,system-ui,sans-serif)}
#cm-compartir[hidden]{display:none}
#cm-compartir .cm-cab{padding:8px 12px 9px;border-bottom:1px solid var(--line,#e3e3e8);margin-bottom:4px}
#cm-compartir .cm-t{display:block;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mp-color,var(--accent,#0A7D3F))}
#cm-compartir .cm-n{display:block;margin-top:3px;font-weight:600;font-size:15px;color:var(--ink,#1d1d1f);overflow-wrap:anywhere}
#cm-compartir button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;
  color:inherit;font:inherit;border-radius:9px;cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (hover:hover){#cm-compartir button:hover{background:var(--panel-2,#f0f0f3)}}
#cm-compartir button:focus-visible{background:var(--panel-2,#f0f0f3);outline:2px solid var(--mp-color,var(--accent,#0A7D3F));outline-offset:-2px}
#cm-compartir button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
#cm-compartir .cm-url{display:block;padding:7px 12px 5px;font:12px/1.3 var(--mono,ui-monospace,Menlo,Consolas,monospace);
  color:var(--ink-3,#6e6e73);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cm-toast{position:fixed;left:50%;bottom:28px;z-index:2110;transform:translate(-50%,12px);max-width:calc(100vw - 24px);padding:11px 18px;border-radius:999px;
  background:var(--ink,#1d1d1f);color:var(--ground,#fff);font:600 15px/1.25 var(--sans,system-ui,sans-serif);text-align:center;
  opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 10px 28px -10px rgba(0,0,0,.5)}
#cm-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:860px){#cm-toast{bottom:88px}}
@media (prefers-reduced-motion:reduce){#cm-toast{transition:none}}
/* 14/10/2026 · botón visible «Compartir»: semitransparente, se puede arrastrar y se puede quitar */
#cm-fab-w{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:2050;opacity:.5;transition:opacity .2s}
#cm-fab-w[hidden]{display:none}
#cm-fab-w:hover,#cm-fab-w:focus-within,#cm-fab-w.cm-arrastra{opacity:1}
#cm-fab{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 15px 0 12px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--ink,#1d1d1f) 16%,transparent);
  background:color-mix(in srgb,var(--panel,#fff) 62%,transparent);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);
  color:var(--mp-color,var(--accent,#0A7D3F));font:600 15px/1 var(--sans,system-ui,-apple-system,"Segoe UI",sans-serif);letter-spacing:-.01em;
  cursor:grab;box-shadow:0 6px 18px -10px rgba(0,0,0,.35);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s,background .15s}
#cm-fab svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;pointer-events:none}
#cm-fab span{pointer-events:none}
#cm-fab-w:hover #cm-fab,#cm-fab-w:focus-within #cm-fab{background:var(--panel,#fff);box-shadow:0 10px 24px -10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.1)}
#cm-fab-w.cm-arrastra #cm-fab{cursor:grabbing;background:var(--panel,#fff);box-shadow:0 16px 32px -12px rgba(0,0,0,.5)}
#cm-fab:focus-visible{outline:2px solid var(--mp-color,var(--accent,#0A7D3F));outline-offset:2px}
#cm-fab-x{position:absolute;top:-9px;right:-9px;width:22px;height:22px;padding:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--ink,#1d1d1f) 18%,transparent);background:var(--panel,#fff);color:var(--ink-2,#55555b);
  font:600 14px/1 var(--sans,system-ui,sans-serif);opacity:0;transition:opacity .15s;-webkit-tap-highlight-color:transparent}
#cm-fab-x::before{content:"";position:absolute;inset:-9px}
#cm-fab-w:hover #cm-fab-x,#cm-fab-w:focus-within #cm-fab-x{opacity:1}
@media (hover:none){#cm-fab-x{opacity:.85}}
@media (max-width:860px){#cm-fab-w{right:12px} #cm-fab{min-height:40px;padding:0 13px 0 11px;font-size:14.5px}}
/* 18/10/2026 · en el móvil el botón se esconde al bajar (lee sin que tape cifras ni texto) y vuelve al subir */
@media (max-width:860px){#cm-fab-w{transition:opacity .2s,transform .25s}
  #cm-fab-w.cm-baja{opacity:0;transform:translateY(96px);pointer-events:none}}
@media (prefers-reduced-motion:reduce){#cm-fab-w{transition:opacity .2s}}
@media print{#cm-fab-w{display:none}}
