/* =========================================================
   Tarima V37.2 — Clean Premium Page Transitions
   Sin logo, sin micrófono. Solo motion design sutil y PRO.
   ========================================================= */
:root{
  --tarima-motion-fast:160ms;
  --tarima-motion:320ms;
  --tarima-motion-slow:620ms;
  --tarima-ease:cubic-bezier(.22,1,.36,1);
  --tarima-ease-in:cubic-bezier(.76,0,.24,1);
  --tarima-gold:#d4af37;
  --tarima-gold-2:#f7d75c;
  --tarima-amber:#ffb020;
}

body{opacity:1;transform:none;filter:none;}
body.tarima-page-ready{opacity:1;transform:none;filter:none;}
body.tarima-page-visible{opacity:1;transform:none;filter:none;}
body.tarima-page-leaving{opacity:1;transform:none;filter:none;}

/* Overlay limpio: luz, blur y línea de escenario */
.tarima-page-transition{
  position:fixed;
  inset:0;
  z-index:99999;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(212,175,55,.12),transparent 32%),
    radial-gradient(circle at 76% 38%,rgba(255,176,32,.09),transparent 34%),
    linear-gradient(135deg,rgba(0,0,0,.94),rgba(5,5,5,.985) 54%,rgba(0,0,0,.95));
  backdrop-filter:blur(12px);
  transition:opacity 220ms var(--tarima-ease),visibility 220ms var(--tarima-ease);
}
.tarima-page-transition.is-active{opacity:1;visibility:visible;}
.tarima-page-transition.is-done{opacity:0;visibility:hidden;}

.tarima-transition-stage{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.985);
}
.tarima-page-transition.is-active .tarima-transition-stage{
  animation:tarimaStageIn 420ms var(--tarima-ease) forwards;
}

.tarima-transition-aura{
  position:absolute;
  width:min(520px,70vw);
  height:min(520px,70vw);
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(247,215,92,.20) 0%,rgba(212,175,55,.08) 34%,transparent 68%);
  filter:blur(18px);
  opacity:.72;
  transform:scale(.72);
}
.tarima-page-transition.is-active .tarima-transition-aura{
  animation:tarimaAura 700ms var(--tarima-ease) forwards;
}

.tarima-transition-ring{
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  border:1px solid rgba(247,215,92,.50);
  box-shadow:
    0 0 34px rgba(247,215,92,.16),
    inset 0 0 28px rgba(247,215,92,.06);
  opacity:0;
  transform:scale(.62);
}
.tarima-transition-ring::before,
.tarima-transition-ring::after{
  content:"";
  position:absolute;
  inset:-42px;
  border-radius:inherit;
  border:1px solid rgba(212,175,55,.18);
}
.tarima-transition-ring::after{inset:-86px;opacity:.55;}
.tarima-page-transition.is-active .tarima-transition-ring{
  animation:tarimaRing 700ms var(--tarima-ease) forwards;
}

.tarima-transition-sweep{
  position:absolute;
  left:50%;
  top:50%;
  width:0;
  height:2px;
  border-radius:999px;
  transform:translate(-50%,-50%);
  background:linear-gradient(90deg,transparent,rgba(255,176,32,.35),rgba(247,215,92,.95),#fff,rgba(247,215,92,.95),rgba(255,176,32,.35),transparent);
  box-shadow:0 0 24px rgba(247,215,92,.72),0 0 80px rgba(255,176,32,.26);
  opacity:0;
}
.tarima-page-transition.is-active .tarima-transition-sweep{
  animation:tarimaSweep 560ms var(--tarima-ease-in) 110ms forwards;
}

.tarima-transition-scan{
  position:absolute;
  inset:-20% -10%;
  background:linear-gradient(105deg,transparent 0%,transparent 42%,rgba(247,215,92,.11) 50%,transparent 58%,transparent 100%);
  transform:translateX(-105%);
  opacity:0;
  mix-blend-mode:screen;
}
.tarima-page-transition.is-active .tarima-transition-scan{
  animation:tarimaScan 720ms var(--tarima-ease) 80ms forwards;
}

.tarima-transition-dots{
  position:absolute;
  left:50%;
  top:calc(50% + 104px);
  display:flex;
  gap:9px;
  transform:translateX(-50%);
}
.tarima-transition-dots i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--tarima-gold-2);
  box-shadow:0 0 18px rgba(247,215,92,.85);
  opacity:.25;
  transform:translateY(7px);
}
.tarima-page-transition.is-active .tarima-transition-dots i{
  animation:tarimaDot 780ms var(--tarima-ease) infinite;
}
.tarima-page-transition.is-active .tarima-transition-dots i:nth-child(2){animation-delay:120ms;}
.tarima-page-transition.is-active .tarima-transition-dots i:nth-child(3){animation-delay:240ms;}

.tarima-transition-copy{
  position:absolute;
  left:0;
  right:0;
  top:calc(50% + 132px);
  text-align:center;
  color:rgba(255,255,255,.62);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:10px;
  font-weight:900;
  opacity:0;
  transform:translateY(8px);
}
.tarima-page-transition.is-active .tarima-transition-copy{
  animation:tarimaFadeUp 420ms var(--tarima-ease) 170ms forwards;
}

/* Entrada escalonada de contenido */
.tarima-reveal{
  opacity:0;
  transform:translateY(22px) scale(.99);
  filter:saturate(.92);
  transition:
    opacity 620ms var(--tarima-ease),
    transform 620ms var(--tarima-ease),
    filter 620ms var(--tarima-ease);
}
.tarima-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:saturate(1);
}

/* Microinteracciones premium */
.btn,
.btn-gold,
.btn-dark,
.btn-outline,
.btn-profile-outline,
.artist-explore-card,
.artist-card,
.dashboard-panel,
.form-card,
.artist-sales-card-pro,
.artist-login-card-pro,
.booking-card,
.profile-media-card,
.hub-card{
  transition:
    transform 220ms var(--tarima-ease),
    box-shadow 220ms var(--tarima-ease),
    border-color 220ms var(--tarima-ease),
    filter 220ms var(--tarima-ease),
    background-color 220ms var(--tarima-ease);
}
.btn:hover,
.btn-gold:hover,
.btn-dark:hover,
.btn-outline:hover,
.btn-profile-outline:hover{
  transform:translateY(-2px);
  filter:saturate(1.04);
}
.artist-explore-card:hover,
.artist-card:hover,
.dashboard-panel:hover,
.profile-media-card:hover,
.hub-card:hover{
  transform:translateY(-4px);
}

.navlinks a.is-current{color:#f7d75c;}
.navlinks a.is-current:not(.btn)::after{
  content:"";
  display:block;
  height:2px;
  margin-top:7px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#f7d75c,transparent);
}

@keyframes tarimaStageIn{to{opacity:1;transform:none;}}
@keyframes tarimaAura{0%{opacity:0;transform:scale(.58)}45%{opacity:.85}100%{opacity:.25;transform:scale(1.18)}}
@keyframes tarimaRing{0%{opacity:0;transform:scale(.58)}45%{opacity:1}100%{opacity:.08;transform:scale(2.4)}}
@keyframes tarimaSweep{0%{width:0;opacity:0}24%{opacity:1}100%{width:150vw;opacity:.95}}
@keyframes tarimaScan{0%{opacity:0;transform:translateX(-105%)}35%{opacity:1}100%{opacity:0;transform:translateX(105%)}}
@keyframes tarimaDot{0%,100%{opacity:.25;transform:translateY(7px)}45%{opacity:1;transform:translateY(0)}}
@keyframes tarimaFadeUp{to{opacity:1;transform:none}}

@media(max-width:640px){
  .tarima-transition-ring{width:112px;height:112px;}
  .tarima-transition-dots{top:calc(50% + 88px);}
  .tarima-transition-copy{top:calc(50% + 114px);font-size:9px;letter-spacing:.18em;}
}

@media(prefers-reduced-motion:reduce){
  body,
  body.tarima-page-ready,
  .tarima-reveal,
  .btn,
  .btn-gold,
  .btn-dark,
  .btn-outline,
  .artist-card,
  .artist-explore-card,
  .dashboard-panel,
  .profile-media-card{
    transition:none!important;
    animation:none!important;
    transform:none!important;
    filter:none!important;
  }
  body{opacity:1;}
  .tarima-page-transition{display:none!important;}
  .tarima-reveal{opacity:1;}
}
