/* Re Long Smart UI — shared enhancements */
:root{
  --rlx-cyan:#55d9ff;
  --rlx-blue:#168cff;
  --rlx-ink:#06111f;
  --rlx-panel:rgba(5,16,30,.90);
  --rlx-line:rgba(151,220,255,.18);
  --rlx-text:#f5fbff;
  --rlx-muted:rgba(223,241,255,.70);
}

/* ---------- subtle desktop ambient light ---------- */
#rlx-pointer-glow{
  position:fixed; z-index:3; left:0; top:0; width:420px; height:420px;
  transform:translate3d(-9999px,-9999px,0); pointer-events:none;
  border-radius:50%; opacity:.18; filter:blur(8px);
  background:radial-gradient(circle,rgba(80,215,255,.22) 0%,rgba(40,140,255,.08) 34%,transparent 70%);
  mix-blend-mode:screen; transition:opacity .25s ease;
}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#rlx-pointer-glow{display:none!important}}

/* ---------- click ripple ---------- */
.rlx-ripple-host{position:relative!important;overflow:hidden!important}
.rlx-ripple{
  position:absolute; pointer-events:none; border-radius:50%; width:12px;height:12px;
  margin:-6px 0 0 -6px; background:rgba(170,232,255,.32);
  transform:scale(0); animation:rlxRipple .48s ease-out forwards; z-index:20;
}
@keyframes rlxRipple{to{transform:scale(18);opacity:0}}

/* ---------- intelligent right rail on home ---------- */
body.rlx-home .dots{
  display:flex!important; right:14px!important; gap:9px!important; padding:12px 10px!important;
  border-radius:22px!important; overflow:visible!important;
  background:linear-gradient(180deg,rgba(4,15,28,.68),rgba(1,8,18,.72))!important;
  border:1px solid rgba(136,216,255,.14)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
}
body.rlx-home .dots::before{
  content:"";position:absolute;left:50%;top:20px;bottom:20px;width:1px;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(110,207,255,.18),transparent);z-index:-1;
}
body.rlx-home .dots .dot{
  position:relative!important;width:9px!important;height:9px!important;min-width:9px!important;padding:0!important;
  overflow:visible!important;background:rgba(220,244,255,.23)!important;border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:none!important;transition:width .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
body.rlx-home .dots .dot[aria-current="true"]{
  width:20px!important;background:linear-gradient(90deg,var(--rlx-blue),var(--rlx-cyan))!important;
  box-shadow:0 0 17px rgba(59,198,255,.60)!important;transform:none!important;
}
body.rlx-home .dots .dot::after{
  content:attr(data-label);position:absolute;right:calc(100% + 15px);top:50%;transform:translate(8px,-50%);
  white-space:nowrap;padding:7px 10px;border-radius:10px;color:#f6fbff;font:800 11px/1 system-ui,-apple-system,sans-serif;
  letter-spacing:.01em;background:rgba(4,14,26,.93);border:1px solid rgba(132,216,255,.16);
  box-shadow:0 10px 28px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;
}
body.rlx-home .dots .dot:hover::after,body.rlx-home .dots .dot:focus-visible::after,body.rlx-home .dots .dot.rlx-peek::after{
  opacity:1;transform:translate(0,-50%);
}
body.rlx-home .dots .dot:hover{background:rgba(120,218,255,.55)!important}
@media(max-width:900px){body.rlx-home .dots{display:none!important}}

/* ---------- shared smart dock ---------- */
#rlx-smart-dock{
  position:fixed;right:18px;bottom:18px;z-index:2147482000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Inter",sans-serif;
}
body.rlx-page-catalog #rlx-smart-dock{bottom:84px}
body.rlx-page-stickybar #rlx-smart-dock{bottom:88px}
.rlx-dock-btn{
  appearance:none;border:1px solid rgba(134,219,255,.18);color:var(--rlx-text);cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 13px;border-radius:999px;
  background:linear-gradient(180deg,rgba(8,28,48,.92),rgba(3,14,28,.94));
  box-shadow:0 12px 30px rgba(0,0,0,.34),0 0 18px rgba(35,166,255,.08),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px) saturate(1.2);font:850 11px/1 system-ui,-apple-system,sans-serif;letter-spacing:.01em;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.rlx-dock-btn:hover{transform:translateY(-2px);border-color:rgba(118,219,255,.38);box-shadow:0 16px 34px rgba(0,0,0,.40),0 0 22px rgba(50,190,255,.14)}
.rlx-dock-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rlx-dock-btn.rlx-install{display:none}
.rlx-dock-btn.rlx-install.rlx-show{display:inline-flex}
@media(max-width:600px){
  #rlx-smart-dock{right:12px;bottom:78px;gap:6px}
  body.rlx-page-catalog #rlx-smart-dock{bottom:84px}
  body.rlx-page-stickybar #rlx-smart-dock{bottom:88px}
  .rlx-dock-btn{width:40px;height:40px;padding:0;border-radius:50%}
  .rlx-dock-btn span{display:none}
}

/* ---------- modal ---------- */
#rlx-modal-root{position:fixed;inset:0;z-index:2147483000;display:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Inter",sans-serif}
#rlx-modal-root.rlx-open{display:block}
.rlx-backdrop{position:absolute;inset:0;background:rgba(0,4,10,.72);backdrop-filter:blur(12px)}
.rlx-modal{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(570px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));overflow:auto;
  border-radius:26px;padding:22px;background:linear-gradient(180deg,rgba(8,24,42,.98),rgba(2,10,22,.985));color:var(--rlx-text);
  border:1px solid rgba(128,214,255,.19);box-shadow:0 30px 100px rgba(0,0,0,.64),0 0 55px rgba(43,174,255,.10),inset 0 1px 0 rgba(255,255,255,.06);
}
.rlx-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.rlx-modal-kicker{color:#75ddff;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
.rlx-modal h2{margin:4px 0 0;font-size:25px;letter-spacing:-.035em;line-height:1.05}
.rlx-modal-sub{margin-top:7px;color:var(--rlx-muted);font-size:12.5px;line-height:1.45}
.rlx-close{appearance:none;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:#fff;width:34px;height:34px;border-radius:11px;cursor:pointer;font-size:20px;line-height:1}
.rlx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.rlx-field{display:grid;gap:6px}
.rlx-field.rlx-span-2{grid-column:1/-1}
.rlx-field label{font-size:10px;color:rgba(225,242,255,.70);font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.rlx-field input,.rlx-field select,.rlx-field textarea{
  width:100%;border-radius:13px;border:1px solid rgba(147,216,255,.14);background:rgba(255,255,255,.045);color:#fff;
  padding:11px 12px;outline:none;font:700 13px/1.3 system-ui,-apple-system,sans-serif;color-scheme:dark;
}
.rlx-field textarea{min-height:76px;resize:vertical}
.rlx-field input:focus,.rlx-field select:focus,.rlx-field textarea:focus{border-color:rgba(79,203,255,.55);box-shadow:0 0 0 3px rgba(47,175,255,.08)}
.rlx-modal-actions{display:flex;gap:9px;margin-top:16px}
.rlx-primary,.rlx-secondary{
  appearance:none;border:0;border-radius:14px;min-height:44px;padding:0 15px;cursor:pointer;font:900 12px/1 system-ui,-apple-system,sans-serif;
}
.rlx-primary{flex:1;color:#00101b;background:linear-gradient(90deg,#55ddff,#2697ff);box-shadow:0 14px 28px rgba(32,159,255,.18)}
.rlx-secondary{color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}
.rlx-small-note{margin-top:10px;color:rgba(221,239,255,.55);font-size:10.5px;line-height:1.4}
@media(max-width:560px){.rlx-modal{padding:18px;border-radius:22px}.rlx-form-grid{grid-template-columns:1fr}.rlx-field.rlx-span-2{grid-column:auto}.rlx-modal h2{font-size:22px}}

/* ---------- toasts ---------- */
#rlx-toast{position:fixed;left:50%;bottom:24px;z-index:2147483600;transform:translate(-50%,20px);opacity:0;pointer-events:none;
  padding:10px 13px;border-radius:999px;background:rgba(4,15,28,.95);color:#fff;border:1px solid rgba(124,216,255,.18);box-shadow:0 14px 36px rgba(0,0,0,.38);
  font:800 11px/1 system-ui,-apple-system,sans-serif;transition:opacity .2s ease,transform .2s ease}
#rlx-toast.rlx-show{opacity:1;transform:translate(-50%,0)}


/* =========================================================
   PORTAL HARDENING — Catalogo 2026
   Il catalogo applica regole globali ai figli diretti di body.
   Questi !important mantengono dock, modali e toast realmente fixed.
   ========================================================= */
#rlx-smart-dock{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  z-index:2147482000 !important;
}
body.rlx-page-catalog #rlx-smart-dock{bottom:84px !important}
body.rlx-page-stickybar #rlx-smart-dock{bottom:88px !important}
#rlx-modal-root{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
}
#rlx-toast{
  position:fixed !important;
  left:50% !important;
  bottom:24px !important;
  z-index:2147483600 !important;
}
@media(max-width:600px){
  #rlx-smart-dock{right:12px !important;bottom:78px !important}
  body.rlx-page-catalog #rlx-smart-dock{bottom:84px !important}
  body.rlx-page-stickybar #rlx-smart-dock{bottom:88px !important}
}
