.elementor-7945 .elementor-element.elementor-element-53d3655{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7945 .elementor-element.elementor-element-dfc68e0{--display:flex;--min-height:150px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7945 .elementor-element.elementor-element-dfc68e0:not(.elementor-motion-effects-element-type-background), .elementor-7945 .elementor-element.elementor-element-dfc68e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-7945 .elementor-element.elementor-element-69a4669{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7945 .elementor-element.elementor-element-69a4669:not(.elementor-motion-effects-element-type-background), .elementor-7945 .elementor-element.elementor-element-69a4669 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-7945 .elementor-element.elementor-element-d3e200b{--display:flex;}.elementor-7945 .elementor-element.elementor-element-fb66bc3{--display:flex;}.elementor-7945 .elementor-element.elementor-element-f46e95c{--display:flex;}/* Start custom CSS for html, class: .elementor-element-f383c79 *//* ============================================================
PRIMUS — Floating Chat (CLEAN CSS)
- No overlay
- Video full visible
- Bubbles 2.5D
- AI = Warm Rolex Gold
- AI strong = Intense Gold (only .primus-emph--strong)
- USER = Apple Titanium subtle (NO border / NO neon ring)
============================================================ */

/* 0) Remove overlays that darken video */
#primusWrapWPVideo .primus-overlay,
#primusWrapWPVideo .primus-vignette,
.primus-overlay,
.primus-vignette{
  display:none !important;
}

/* 1) Stage (optional) */
#primusWrapWPVideo .primus-stage{
  perspective: 1100px !important;
  transform-style: preserve-3d !important;
}

/* 2) Bubble base (shared depth) */
#primusWrapWPVideo .bubble{
  position: relative !important;
  transform-style: preserve-3d !important;
  backdrop-filter: blur(14px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.06) !important;

  /* base depth */
  box-shadow:
    0 18px 55px rgba(0,0,0,.62),
    0 1px 0 rgba(255,255,255,.06) inset !important;

  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  will-change: transform, filter, box-shadow;
}

/* 3) Default hover lift (desktop only) */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .bubble:hover{
    transform: translateZ(18px) scale(1.01) !important;
    filter: saturate(1.03) contrast(1.03);
    box-shadow:
      0 26px 80px rgba(0,0,0,.68),
      0 1px 0 rgba(255,255,255,.07) inset !important;
  }
}

/* ============================================================
AI BUBBLES — Warm Rolex Gold (base subtle)
============================================================ */
#primusWrapWPVideo .row.ai .bubble{
  border-radius: 12px 12px 12px 6px !important;

  background:
    radial-gradient(260px 180px at 30% 18%, rgba(214,170,102,.16), transparent 62%),
    rgba(8,10,14,.60) !important;

  border: 1px solid rgba(214,170,102,.34) !important;
}

/* AI neon ring (subtle) */
#primusWrapWPVideo .row.ai .bubble::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit !important;
  pointer-events:none;

  background: linear-gradient(135deg,
    rgba(255,246,226,.45),
    rgba(214,170,102,.70),
    rgba(187,132,70,.64),
    rgba(255,246,226,.42));

  opacity: .62;
  filter: blur(.8px);

  box-shadow:
    0 0 10px rgba(214,170,102,.22),
    0 0 22px rgba(214,170,102,.12);
}

/* AI timestamp accent */
#primusWrapWPVideo .row.ai .label .t{
  color: rgba(214,170,102,.82) !important;
}

/* ============================================================
AI STRONG — Intense gold (ONLY when .primus-emph--strong exists)
============================================================ */
#primusWrapWPVideo .row.ai .bubble.primus-emph--strong{
  border-color: rgba(214,170,102,.62) !important;

  box-shadow:
    0 18px 55px rgba(0,0,0,.64),
    0 0 0 1px rgba(214,170,102,.22) inset,
    0 0 18px rgba(214,170,102,.36),
    0 0 44px rgba(214,170,102,.20) !important;
}

#primusWrapWPVideo .row.ai .bubble.primus-emph--strong::after{
  opacity: .98;
  filter: blur(1.2px);

  background: linear-gradient(135deg,
    rgba(255,246,226,.85),
    rgba(214,170,102,1),
    rgba(187,132,70,.92),
    rgba(255,246,226,.82));

  box-shadow:
    0 0 22px rgba(214,170,102,.58),
    0 0 52px rgba(214,170,102,.32),
    0 0 88px rgba(214,170,102,.18);
}

/* ============================================================
USER BUBBLES — Apple Titanium subtle (NO border / NO ring)
============================================================ */
#primusWrapWPVideo .row.user .bubble{
  border-radius: 24px 24px 10px 24px !important;

  background:
    radial-gradient(260px 180px at 30% 18%, rgba(255,255,255,.05), transparent 64%),
    rgba(16,18,22,.62) !important;

  /* kill border completely */
  border: none !important;

  /* softer shadow, premium */
  box-shadow:
    0 16px 46px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) inset !important;
}

/* Remove ANY pseudo rings/glow for USER */
#primusWrapWPVideo .row.user .bubble::before,
#primusWrapWPVideo .row.user .bubble::after{
  content: none !important;
  display: none !important;
}

/* User timestamp muted */
#primusWrapWPVideo .row.user .label .t{
  color: rgba(190,195,202,.55) !important;
}

/* ============================================================
Composer input darker (contrast)
============================================================ */
#primusWrapWPVideo .primus-bar{
  background: rgba(0,0,0,.66) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.65), 0 1px 0 rgba(255,255,255,.06) inset;
}

#primusWrapWPVideo .primus-in{
  color: rgba(255,255,255,.96) !important;
}
#primusWrapWPVideo .primus-in::placeholder{
  color: rgba(255,255,255,.52) !important;
}

/* ============================================================
Send button — matte black + gold neon edge (static, mobile-safe)
============================================================ */
#primusWrapWPVideo .primus-send{
  position: relative !important;
  overflow: visible !important;

  background: linear-gradient(180deg, #07070a 0%, #020204 100%) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(230,183,112,.86) !important;

  box-shadow:
    0 14px 38px rgba(0,0,0,.72),
    0 0 0 1px rgba(230,183,112,.22) inset,
    0 0 14px rgba(230,183,112,.38),
    0 0 30px rgba(230,183,112,.22) !important;

  animation: none !important;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}

#primusWrapWPVideo .primus-send::after{
  content:"";
  position:absolute;
  inset:-16px;
  border-radius: 999px;
  pointer-events:none;

  opacity: .68;
  filter: blur(15px);

  background:
    radial-gradient(120px 90px at 50% 50%, rgba(230,183,112,.52), transparent 70%),
    radial-gradient(160px 120px at 30% 80%, rgba(230,183,112,.18), transparent 75%);

  animation: none !important;
}

#primusWrapWPVideo .primus-send svg,
#primusWrapWPVideo .primus-send svg path{
  color: rgba(230,183,112,.98) !important;
  stroke: rgba(230,183,112,.98) !important;
}

/* Desktop hover only */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .primus-send:hover{
    transform: translateY(-1px);
    filter: contrast(1.05);
    box-shadow:
      0 18px 46px rgba(0,0,0,.78),
      0 0 0 1px rgba(230,183,112,.26) inset,
      0 0 18px rgba(230,183,112,.45),
      0 0 36px rgba(230,183,112,.28) !important;
  }
}

/* Mobile battery cap */
@media (max-width: 480px){
  #primusWrapWPVideo .primus-send::after{
    inset:-14px;
    opacity:.62;
    filter: blur(14px);
  }
}
/* ============================================================
PRIMUS — Hide top header/badges + Send button LEFT + Stop iOS zoom
============================================================ */

/* 1) OCULTAR LO DE ARRIBA DEL CHAT (badge + header) */
#primusWrapWPVideo .primus-top,
#primusWrapWPVideo .primus-badge,
#primusWrapWPVideo .primus-header,
#primusWrapWPVideo .primus-title,
#primusWrapWPVideo .primus-subtitle,
#primusWrapWPVideo .primus-head,
#primusWrapWPVideo .topbar,
#primusWrapWPVideo .headerbar{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Quita espacio reservado arriba si existiera */
#primusWrapWPVideo .primus-chat{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 2) ENVIAR A LA IZQUIERDA */
#primusWrapWPVideo .primus-bar{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#primusWrapWPVideo #primusSendWP,
#primusWrapWPVideo .primus-send{
  order: 0 !important;
}

#primusWrapWPVideo #primusMsgWP,
#primusWrapWPVideo .primus-in{
  order: 1 !important;
  flex: 1 1 auto !important;
}

/* 3) NO ZOOM al tocar el input en iOS:
   iOS hace zoom si font-size < 16px */
#primusWrapWPVideo #primusMsgWP,
#primusWrapWPVideo .primus-in,
#primusWrapWPVideo input,
#primusWrapWPVideo textarea{
  font-size: 16px !important;
  line-height: 1.2 !important;
}

/* Bonus: evita “rubber-band”/scroll raro en algunos móviles */
#primusWrapWPVideo{
  -webkit-text-size-adjust: 100% !important;
}
/* ============================================================
PRIMUS — Send Button (Matte Black + Subtle Metallic Gold Edge)
NO neon • NO glow • NO animation
============================================================ */

#primusWrapWPVideo .primus-send{
  position: relative !important;
  overflow: hidden !important;

  /* Deep matte black luxury */
  background: linear-gradient(180deg, #0b0b0e 0%, #050507 100%) !important;

  /* Subtle metallic gold edge (clean, premium) */
  border: 1px solid rgba(230,183,112,.55) !important;
  border-radius: 999px !important;

  /* Depth without glow */
  box-shadow:
    0 10px 28px rgba(0,0,0,.72),
    0 0 0 1px rgba(230,183,112,.12) inset !important;

  /* Kill all animations */
  animation: none !important;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    filter .15s ease;
}

/* REMOVE any previous glow / halo layers */
#primusWrapWPVideo .primus-send::before,
#primusWrapWPVideo .primus-send::after{
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Arrow icon: metallic gold, crisp */
#primusWrapWPVideo .primus-send svg{
  color: rgba(230,183,112,.95) !important;
  opacity: 1 !important;
  filter: none !important;
}

#primusWrapWPVideo .primus-send svg path{
  stroke: rgba(230,183,112,.95) !important;
}

/* Desktop hover: micro-lift only */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .primus-send:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 36px rgba(0,0,0,.78),
      0 0 0 1px rgba(230,183,112,.16) inset !important;
  }
}

/* Active press */
#primusWrapWPVideo .primus-send:active{
  transform: translateY(0) scale(.99);
}
/* ============================================================
PRIMUS — TRUE 3D BUBBLES (Luxury 2.5D, No WebGL)
============================================================ */

/* 1) Stage con perspectiva real */
#primusWrapWPVideo{
  perspective: 1200px;
  perspective-origin: center;
}

/* 2) Base bubble: volumen físico */
#primusWrapWPVideo .bubble{
  position: relative !important;
  transform-style: preserve-3d !important;

  /* Volumen (shadow real, no glow) */
  box-shadow:
    0 18px 36px rgba(0,0,0,.55),     /* base */
    0 6px 12px rgba(0,0,0,.35),      /* contact */
    inset 0 1px 0 rgba(255,255,255,.08), /* top bevel */
    inset 0 -1px 0 rgba(0,0,0,.35) !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

/* 3) Bisel interno (edge highlight) */
#primusWrapWPVideo .bubble::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  pointer-events:none;

  background:
    linear-gradient(180deg,
      rgba(255,255,255,.14) 0%,
      rgba(255,255,255,.05) 18%,
      rgba(0,0,0,.00) 55%,
      rgba(0,0,0,.22) 100%);

  mix-blend-mode: overlay;
  opacity:.85;
}

/* ============================================================
AI BUBBLES — MÁS PESO (autoridad)
============================================================ */

#primusWrapWPVideo .row.ai .bubble{
  transform: translateZ(22px);
}

/* Hover desktop: levanta como objeto */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .row.ai .bubble:hover{
    transform: translateZ(38px) rotateX(1deg) rotateY(-1deg);
    box-shadow:
      0 28px 60px rgba(0,0,0,.65),
      0 10px 22px rgba(0,0,0,.45),
      inset 0 1px 0 rgba(255,255,255,.10),
      inset 0 -1px 0 rgba(0,0,0,.40) !important;
  }
}

/* ============================================================
USER BUBBLES — MENOS PROFUNDIDAD (acompañan)
============================================================ */

#primusWrapWPVideo .row.user .bubble{
  transform: translateZ(14px);
}

@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .row.user .bubble:hover{
    transform: translateZ(26px) rotateX(.6deg) rotateY(.6deg);
    box-shadow:
      0 22px 46px rgba(0,0,0,.55),
      0 8px 18px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.08),
      inset 0 -1px 0 rgba(0,0,0,.32) !important;
  }
}

/* ============================================================
4) Micro-parallax (desktop only, super subtle)
============================================================ */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .bubble{
    will-change: transform;
  }
}

/* ============================================================
5) Mobile: mantiene 3D sin hover ni tilt
============================================================ */
@media (max-width: 480px){
  #primusWrapWPVideo .bubble{
    transform: translateZ(14px);
    box-shadow:
      0 14px 28px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.06),
      inset 0 -1px 0 rgba(0,0,0,.28) !important;
  }
}
/* ============================================================
PRIMUS — Depth levels (sync with content)
============================================================ */

#primusWrapWPVideo{
  perspective: 1200px;
  perspective-origin: center;
}

/* Base bubble 3D (neutral) */
#primusWrapWPVideo .bubble{
  position: relative !important;
  transform-style: preserve-3d !important;

  transform: translateZ(14px);
  box-shadow:
    0 16px 34px rgba(0,0,0,.55),
    0 6px 14px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.32) !important;

  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Bevel/specular */
#primusWrapWPVideo .bubble::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  pointer-events:none;
  background: linear-gradient(180deg,
    rgba(255,255,255,.14) 0%,
    rgba(255,255,255,.05) 18%,
    rgba(0,0,0,.00) 55%,
    rgba(0,0,0,.22) 100%);
  mix-blend-mode: overlay;
  opacity:.85;
}

/* Depth levels (applied by JS) */
#primusWrapWPVideo .bubble.primus-depth-1{
  transform: translateZ(12px);
}
#primusWrapWPVideo .bubble.primus-depth-2{
  transform: translateZ(22px);
  box-shadow:
    0 20px 44px rgba(0,0,0,.60),
    0 8px 18px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.35) !important;
}
#primusWrapWPVideo .bubble.primus-depth-3{
  transform: translateZ(34px);
  box-shadow:
    0 26px 60px rgba(0,0,0,.68),
    0 10px 24px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.40) !important;
}

/* Optional: desktop hover adds tiny tilt (premium, not gaming) */
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .bubble:hover{
    transform: translateZ( calc(var(--primusZ, 14px) + 10px) ) rotateX(.8deg);
  }
  #primusWrapWPVideo .bubble.primus-depth-1{ --primusZ: 12px; }
  #primusWrapWPVideo .bubble.primus-depth-2{ --primusZ: 22px; }
  #primusWrapWPVideo .bubble.primus-depth-3{ --primusZ: 34px; }
}

/* Mobile: keep depth but no hover tilt */
@media (max-width: 480px){
  #primusWrapWPVideo .bubble{ --primusZ: 14px; }
  #primusWrapWPVideo .bubble:hover{ transform: translateZ(var(--primusZ, 14px)); }
}
/* ============================================================
PRIMUS — Alive Pack (no WebGL)
============================================================ */

/* Smooth scroll inside chat body if you have it */
#primusWrapWPVideo .primus-chat,
#primusWrapWPVideo #primusChatWP,
#primusWrapWPVideo #primusChatBody{
  -webkit-overflow-scrolling: touch;
}

/* Bubble entrance animation (subtle) */
@keyframes primusPopIn{
  0%   { opacity: 0; transform: translateY(8px) translateZ(8px) scale(.985); filter: blur(1.5px); }
  70%  { opacity: 1; transform: translateY(0px) translateZ(18px) scale(1.004); filter: blur(0px); }
  100% { opacity: 1; transform: translateY(0px) translateZ(var(--primusZ, 14px)) scale(1); }
}
#primusWrapWPVideo .bubble.primus-popin{
  animation: primusPopIn 420ms cubic-bezier(.2,.9,.2,1) 1;
}

/* Subtle “breathing” only for AI bubbles (premium, not loud) */
@keyframes primusBreathAlive{
  0%,100% { filter: saturate(1.00) contrast(1.00); }
  50%     { filter: saturate(1.06) contrast(1.03); }
}
@media (hover:hover) and (pointer:fine){
  #primusWrapWPVideo .row.ai .bubble{
    animation: primusBreathAlive 6.5s ease-in-out infinite;
  }
}

/* Typing bubble (dots) */
#primusWrapWPVideo .bubble.primus-typing{
  max-width: 180px;
}
#primusWrapWPVideo .primus-dots{
  display:flex; gap:6px; align-items:center; justify-content:flex-start;
  padding: 2px 0;
}
#primusWrapWPVideo .primus-dots span{
  width:7px; height:7px; border-radius:50%;
  background: rgba(214,170,102,.85);
  opacity:.55;
  animation: primusDot 1.05s ease-in-out infinite;
}
#primusWrapWPVideo .primus-dots span:nth-child(2){ animation-delay:.12s; opacity:.45; }
#primusWrapWPVideo .primus-dots span:nth-child(3){ animation-delay:.24s; opacity:.35; }

@keyframes primusDot{
  0%,100%{ transform: translateY(0); opacity:.35; }
  40%    { transform: translateY(-5px); opacity:.95; }
}

/* Send button micro feedback (tap) */
#primusWrapWPVideo .primus-send.primus-tap{
  transform: translateY(0) scale(.985);
  filter: contrast(1.05);
}

/* Optional: reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  #primusWrapWPVideo .row.ai .bubble{ animation: none !important; }
  #primusWrapWPVideo .bubble.primus-popin{ animation: none !important; }
  #primusWrapWPVideo .primus-dots span{ animation: none !important; }
}/* End custom CSS */