/* Garra da Loba — floating pearl icon, no container or card.
   Retains the site's approved post-film reveal logic. An official WhatsApp
   number has not been supplied: visual preview, NOT an active link. */
.gdl-pearl-contact {
  position:fixed;
  z-index:100;
  right:clamp(19px,2.3vw,36px);
  top:66vh;
  bottom:auto;
  box-sizing:border-box;
  width:72px;
  height:72px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  isolation:isolate;
  opacity:0;
  visibility:hidden;
  /* An editorial edge entrance: the mark arrives from outside the right
     side, rotates slightly, then settles cleanly without a flashy flip. */
  transform:translate3d(calc(100% + 62px),7px,0) rotate(6deg) scale(.82);
  transition:opacity .62s ease-out,
             transform .96s cubic-bezier(.19,.88,.21,1.08),
             visibility 0s linear .96s;
  pointer-events:none;
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
  -webkit-font-smoothing:antialiased;
}
.gdl-pearl-contact.is-visible {
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) rotate(0deg) scale(1);
  transition-delay:0s;
  pointer-events:auto;
}
/* The aura has no solid disc, square, edge, background panel or badge. */
.gdl-pearl-contact::before {
  content:"";
  position:absolute;
  inset:-27px;
  border-radius:50%;
  background:radial-gradient(circle,
      rgba(251,237,229,.28) 0%,
      rgba(242,220,211,.17) 23%,
      rgba(221,188,175,.075) 42%,
      transparent 69%);
  filter:blur(10px);
  opacity:.58;
  transform:scale(.93);
  transition:opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1);
  z-index:0;
  pointer-events:none;
}
.gdl-pearl-contact__float {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  transform-origin:50% 54%;
  animation:gdl-pearl-breathe 6.4s ease-in-out infinite;
  animation-play-state:paused;
}
.gdl-pearl-contact.is-visible .gdl-pearl-contact__float {
  animation-play-state:running;
}
@keyframes gdl-pearl-breathe {
  0%,100% {transform:translate3d(0,0,0) rotate(-.3deg);}
  50% {transform:translate3d(0,-2.4px,0) rotate(.3deg);}
}
.gdl-pearl-contact__mark {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.23));
  transform:translate3d(0,0,0) scale(1);
  transition:transform .42s cubic-bezier(.22,1,.36,1),
             filter .45s ease;
}
.gdl-pearl-contact__tooltip {
  position:absolute;
  z-index:3;
  top:auto;
  bottom:calc(100% + 11px);
  left:50%;
  right:auto;
  width:max-content;
  padding:7px 10px;
  color:#f4ece6;
  border:1px solid rgba(238,231,219,.22);
  border-radius:7px;
  background:rgba(16,14,13,.87);
  box-shadow:0 8px 26px rgba(0,0,0,.15);
  font:600 10px/1.1 var(--font-rom,Arial,sans-serif);
  letter-spacing:.065em;
  text-transform:none;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  transform:translate3d(-50%,6px,0);
  transition:opacity .26s ease,
             transform .32s cubic-bezier(.22,1,.36,1),
             visibility 0s linear .32s;
  pointer-events:none;
}
/* No fake click activation: press interaction is reserved for a real
   accessible anchor once the official WhatsApp URL has been verified. */
@media (hover:hover) and (pointer:fine) {
  .gdl-pearl-contact.is-visible:hover::before {
    opacity:.91;
    transform:scale(1.13);
  }
  .gdl-pearl-contact.is-visible:hover .gdl-pearl-contact__mark {
    transform:translate3d(0,-2px,0) scale(1.09) rotate(-.7deg);
    filter:drop-shadow(0 6px 10px rgba(0,0,0,.30));
  }
  .gdl-pearl-contact.is-visible:hover .gdl-pearl-contact__tooltip {
    opacity:1;
    visibility:visible;
    transform:translate3d(-50%,0,0);
    transition-delay:0s;
  }
}
.gdl-pearl-contact.is-live {cursor:pointer;}
.gdl-pearl-contact.is-live:active .gdl-pearl-contact__mark {
  transform:scale(.96);
}
.gdl-pearl-contact.is-live:focus-visible {
  outline:2px solid #eee7db;
  outline-offset:6px;
  border-radius:10px;
}
.gdl-pearl-contact.is-live:focus-visible::before {opacity:.91;}
.gdl-pearl-contact.is-live:focus-visible .gdl-pearl-contact__tooltip {
  opacity:1;
  visibility:visible;
  transform:translate3d(-50%,0,0);
}
@media(max-width:749px) {
  .gdl-pearl-contact {
    width:61px;
    height:61px;
    right:17px;
    top:72vh;
    bottom:auto;
  }
  .gdl-pearl-contact::before {inset:-22px;filter:blur(9px);}
  .gdl-pearl-contact__tooltip {bottom:calc(100% + 9px);}
}
@media(prefers-reduced-motion:reduce) {
  .gdl-pearl-contact, .gdl-pearl-contact::before,
  .gdl-pearl-contact__mark, .gdl-pearl-contact__float,
  .gdl-pearl-contact__tooltip {
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
  .gdl-pearl-contact__tooltip {
    top:auto;
    bottom:calc(100% + 11px);
    transform:translateX(-50%)!important;
  }
}
@media(prefers-contrast:more) {
  .gdl-pearl-contact::before {opacity:.30;}
  .gdl-pearl-contact__tooltip {
    background:#0a0908;
    border-color:#eee7db;
  }
}
