/* Returning Guest Register — isolated Foyer feature.
   Remove this stylesheet, its matching script/content file, and the small
   HTML block to remove the feature without affecting other Foyer hotspots. */
.returning-guest-register{
  position:absolute;
  z-index:9;
  right:2.5%;
  top:auto;
  bottom:22.5%;
  width:min(16rem,15.5vw);
  min-width:10.5rem;
  padding:.58rem .72rem .64rem;
  color:#e6cfaa;
  border:1px solid rgba(186,147,92,.68);
  border-radius:3px;
  background:linear-gradient(165deg,rgba(37,25,16,.94),rgba(12,8,7,.94));
  box-shadow:0 5px 18px rgba(0,0,0,.72),inset 0 0 18px rgba(133,87,38,.12);
  text-align:center;
  font-family:Georgia,serif;
  text-shadow:0 2px 7px #000;
  cursor:pointer;
  transform:rotate(-.7deg);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.returning-guest-register::before{
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(215,180,121,.19);
  pointer-events:none;
}
.returning-guest-register::after{
  content:"";
  position:absolute;
  z-index:3;
  left:50%;
  top:-13px;
  width:clamp(13px,1.15vw,18px);
  height:clamp(13px,1.15vw,18px);
  margin-left:calc(clamp(13px,1.15vw,18px) / -2);
  border:1px solid rgba(247,226,255,.96);
  border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#fff 0 7%,#efc9ff 9% 22%,#c36df2 42%,#681b8c 72%,rgba(77,10,107,.25) 78%,transparent 80%);
  box-shadow:0 0 6px rgba(246,223,255,.98),0 0 15px rgba(205,105,255,.95),0 0 28px rgba(142,43,205,.76);
  pointer-events:none;
  transform-origin:center;
  animation:returningGuestMarkerPulse 1.8s ease-in-out infinite,returningGuestMarkerTurn 4.6s linear infinite;
}
.returning-guest-register:hover,.returning-guest-register:focus-visible{
  color:#f0ddb9;
  border-color:rgba(221,183,255,.88);
  box-shadow:0 0 15px rgba(179,99,226,.48),0 5px 18px rgba(0,0,0,.72),inset 0 0 18px rgba(133,87,38,.16);
  transform:rotate(0deg) scale(1.025);
  outline:none;
}
.register-kicker{display:block;margin-bottom:.22rem;color:#a99074;font-size:clamp(.53rem,.58vw,.66rem);letter-spacing:.14em;text-transform:uppercase}
.returning-guest-register strong{display:block;font:400 clamp(.72rem,.88vw,1rem)/1.18 "Rye",Georgia,serif;letter-spacing:.035em}
@keyframes returningGuestMarkerPulse{0%,100%{scale:.88;opacity:.80}50%{scale:1.14;opacity:1}}
@keyframes returningGuestMarkerTurn{from{rotate:0deg}to{rotate:360deg}}

.returning-guest-directory[hidden]{display:none}
.returning-guest-directory{position:fixed;z-index:14000;inset:0;display:grid;place-items:center;padding:clamp(5.5rem,10vh,8rem) 1.25rem clamp(5rem,10vh,7rem);background:rgba(2,1,2,.78);backdrop-filter:blur(4px)}
.returning-guest-card{position:relative;width:min(760px,94vw);max-height:calc(100svh - 11rem);overflow:auto;padding:clamp(1.45rem,3vw,2.5rem);color:#e8d8bd;border:1px solid rgba(215,178,116,.68);background:linear-gradient(155deg,#211710 0%,#100b09 62%,#090608 100%);box-shadow:0 22px 70px #000,inset 0 0 42px rgba(122,73,29,.12);font-family:Georgia,serif}
.returning-guest-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(216,183,125,.16);pointer-events:none}
.returning-guest-close{position:absolute;z-index:2;right:.8rem;top:.55rem;width:2.3rem;height:2.3rem;padding:0;color:#d8b579;border:0;background:transparent;font:400 2rem/1 Georgia,serif;cursor:pointer}
.returning-guest-close:hover,.returning-guest-close:focus-visible{color:#edccff;outline:1px solid rgba(221,183,255,.55)}
.directory-kicker{margin:0 2.7rem .4rem 0;color:#aa8c6b;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
.returning-guest-card h2{margin:0 2.7rem .55rem 0;color:#e8c98f;font:400 clamp(1.45rem,3vw,2.35rem)/1.1 "Rye",Georgia,serif}
.directory-intro{margin:.2rem 0 1.35rem;color:#c0aa8d;font-style:italic;line-height:1.55}
.returning-guest-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
.returning-guest-link{display:block;position:relative;padding:.92rem 1rem;color:#ead9ba;border:1px solid rgba(196,147,229,.30);background:rgba(21,12,23,.54);text-decoration:none;box-shadow:inset 0 0 20px rgba(160,77,203,.05);transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.returning-guest-link:hover,.returning-guest-link:focus-visible{border-color:rgba(220,168,251,.82);background:rgba(31,15,37,.78);box-shadow:0 0 15px rgba(172,82,221,.28),inset 0 0 20px rgba(160,77,203,.09);transform:translateY(-1px);outline:none}
.returning-guest-link strong{display:block;color:#e8c98f;font-size:1rem;letter-spacing:.025em}
.returning-guest-link span{display:block;margin-top:.28rem;color:#ad9b84;font-size:.78rem;line-height:1.4}
@media(max-width:760px){.returning-guest-register{right:2%;bottom:23%;width:10.5rem;min-width:0;padding:.48rem .52rem}.returning-guest-links{grid-template-columns:1fr}.returning-guest-card{max-height:calc(100svh - 9rem)}}
@media(prefers-reduced-motion:reduce){.returning-guest-register::after{animation:none}.returning-guest-register,.returning-guest-link{transition:none}}
