/* ===========================================================
   Radiomex — Invitación flotante de la app (orilla derecha)
   La usan el sitio y la vista previa del panel (admin/app.php).
   =========================================================== */
.rm-dock{position:fixed;right:0;top:50%;z-index:70;transform:translate(115%,-50%);transition:transform .75s cubic-bezier(.2,.9,.25,1.12);pointer-events:none;
  --dock-bg:rgba(255,255,255,.84);--dock-ink:#241A3D;--dock-ink-2:#5D5372;--dock-line:rgba(36,26,61,.12)}
html[data-theme="dark"] .rm-dock{--dock-bg:rgba(32,22,54,.8);--dock-ink:#fff;--dock-ink-2:#CFC5E6;--dock-line:rgba(255,255,255,.16)}
.rm-dock[hidden]{display:none}
.rm-dock.is-in{transform:translate(0,-50%);pointer-events:auto}
.rm-dock-card{position:relative;display:flex;align-items:center;padding:12px 10px 10px 12px;border-radius:22px 0 0 22px;color:var(--dock-ink);
  background:var(--dock-bg);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  border:1px solid var(--dock-line);border-right:0;box-shadow:0 18px 48px rgba(20,8,48,.28),0 2px 8px rgba(20,8,48,.12)}
.rm-dock-app{display:flex;flex-direction:column;align-items:center;gap:6px;width:66px;padding:0;border:0;background:none;color:inherit;cursor:pointer;flex:none}
.rm-dock-app:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:14px}
.rm-dock-icon{position:relative;display:block;width:58px;height:58px;border-radius:13.5px;overflow:hidden;background:#fff;
  box-shadow:0 4px 12px rgba(20,8,48,.22),inset 0 0 0 .5px rgba(0,0,0,.08);transition:transform .25s ease}
.rm-dock:not(.is-open) .rm-dock-app:hover .rm-dock-icon{transform:scale(1.06)}
.rm-dock-icon img{display:block;width:100%;height:100%;transition:filter .4s ease}
/* descarga estilo iOS: ícono atenuado + aro con "pastel" que se llena */
.rm-dock-dl{position:absolute;inset:0;display:grid;place-items:center;background:rgba(18,12,30,.5);opacity:0;transition:opacity .35s ease}
.rm-dock-dl i{position:relative;width:27px;height:27px;border-radius:50%;box-shadow:inset 0 0 0 1.8px rgba(255,255,255,.96);transition:transform .45s ease,opacity .45s ease}
.rm-dock-dl i::before{content:"";position:absolute;inset:3.6px;border-radius:50%;background:conic-gradient(rgba(255,255,255,.96) calc(var(--dock-p,0) * 1%),transparent 0)}
.rm-dock.is-wait .rm-dock-dl,.rm-dock.is-dl .rm-dock-dl{opacity:1}
.rm-dock.is-wait .rm-dock-icon img,.rm-dock.is-dl .rm-dock-icon img{filter:grayscale(.5) brightness(.82)}
.rm-dock.is-wait .rm-dock-dl i{animation:rmDockWait 1.1s ease-in-out infinite}
@keyframes rmDockWait{50%{opacity:.55}}
.rm-dock.is-done .rm-dock-dl i{transform:scale(1.8);opacity:0}
.rm-dock.is-pop .rm-dock-icon{animation:rmDockPop .65s cubic-bezier(.3,1.6,.5,1)}
@keyframes rmDockPop{0%{transform:scale(1)}35%{transform:scale(.88)}100%{transform:scale(1)}}
.rm-dock-name{display:flex;align-items:center;justify-content:center;gap:4px;max-width:66px;font:600 11px/1.2 var(--font-body);color:var(--dock-ink);white-space:nowrap}
.rm-dock-name span{overflow:hidden;text-overflow:ellipsis}
.rm-dock-new{display:none;flex:none;width:6px;height:6px;border-radius:50%;background:#0A84FF}
.rm-dock.is-new .rm-dock-new{display:block}
/* la promoción: se despliega hacia la izquierda */
.rm-dock-promo{display:flex;flex-direction:column;gap:2px;max-width:0;padding-left:0;opacity:0;overflow:hidden;white-space:nowrap;
  transition:max-width .6s cubic-bezier(.2,.8,.2,1),padding .6s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
.rm-dock.is-open .rm-dock-promo{max-width:262px;padding-left:14px;opacity:1;transition-delay:0s,0s,.2s}
.rm-dock-t{font:800 19px/1.1 var(--font-display);letter-spacing:-.01em;color:var(--dock-ink)}
.rm-dock-s{font-size:13px;color:var(--dock-ink-2);margin-bottom:8px}
.rm-dock-stores{display:flex;gap:7px}
.rm-dock-store{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 8px;border-radius:10px;background:#0E0A18;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.18);transition:transform .2s ease,box-shadow .2s ease}
.rm-dock-store svg{flex:none}
.rm-dock-store small{display:block;font-size:9px;line-height:1.1;opacity:.82;letter-spacing:.02em}
.rm-dock-store b{display:block;font-size:13.5px;line-height:1.15;font-weight:700}
a.rm-dock-store:hover,a.rm-dock-store:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,10,24,.35)}
.rm-dock-store.is-soon{opacity:.72;cursor:default}
.rm-dock.on-android .is-android,.rm-dock.on-ios .is-ios{order:-1}
.rm-dock-x{position:absolute;top:-11px;left:-11px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--surface);
  background:var(--night);color:#fff;cursor:pointer;opacity:0;transform:scale(.5);pointer-events:none;transition:opacity .25s ease,transform .3s ease;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.rm-dock.is-open .rm-dock-x{opacity:1;transform:none;pointer-events:auto;transition-delay:.35s}
.rm-dock-x:hover{background:var(--brand)}
/* brillo de atención al abrirse */
.rm-dock.is-open .rm-dock-card{animation:rmDockGlow 2.4s ease-out .4s 1}
@keyframes rmDockGlow{0%{box-shadow:0 18px 48px rgba(20,8,48,.28),0 0 0 0 rgba(252,92,3,.55)}60%{box-shadow:0 18px 48px rgba(20,8,48,.28),0 0 0 14px rgba(252,92,3,0)}100%{box-shadow:0 18px 48px rgba(20,8,48,.28),0 0 0 0 rgba(252,92,3,0)}}
@media (max-width:720px){
  .rm-dock-card{padding:10px 8px 8px 10px;border-radius:18px 0 0 18px}
  .rm-dock-app{width:56px}
  .rm-dock-icon{width:50px;height:50px;border-radius:11.5px}
  .rm-dock-name{font-size:10px;max-width:56px}
  .rm-dock.is-open .rm-dock-promo{max-width:min(262px,calc(100vw - 100px));padding-left:12px}
  .rm-dock-t{font-size:17px}
  .rm-dock-s{font-size:12px;margin-bottom:7px}
  .rm-dock-stores{gap:6px}
  .rm-dock-store{padding:5px 8px 5px 6px;gap:5px}
  .rm-dock-store b{font-size:12.5px}
}
@media (max-width:359px){ .rm-dock-stores{flex-direction:column} }
@media (prefers-reduced-motion:reduce){
  .rm-dock,.rm-dock-promo,.rm-dock-x,.rm-dock-icon{transition:none!important}
  .rm-dock.is-open .rm-dock-card,.rm-dock.is-pop .rm-dock-icon{animation:none}
}
@media print{ .rm-dock{display:none!important} }
