/**
 * Fondo rosa Cariñosas + destellos (mismo lenguaje visual que Home)
 * El fondo profesional en capas vive en carihub-adult-pro-background.css
 */
@import url("carihub-adult-pro-background.css");

.carihub-pink-sheen{
  position:relative;
  overflow:hidden;
}

.carihub-pink-sheen__fondo{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background-color:#fff7fa;
  background-image:var(--adult-pro-page-bg, linear-gradient(148deg,#fffcfd 0%,#fff0f6 28%,#ffd6e8 66%,#fff7fa 100%));
}

.carihub-pink-sheen__brillo{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 95% 75% at 50% -8%,rgba(255,255,255,.88),transparent 56%),
    radial-gradient(ellipse 70% 55% at 88% 95%,rgba(255,195,218,.52),transparent 54%),
    linear-gradient(125deg,rgba(255,255,255,.5) 0%,transparent 40%,rgba(255,255,255,.28) 55%,transparent 80%);
  box-shadow:inset 0 0 48px rgba(255,255,255,.38);
}

.carihub-pink-sheen__destellos{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.carihub-pink-sheen > :not(.carihub-pink-sheen__fondo){
  position:relative;
  z-index:1;
}

.carihub-spark{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--sz,5px);
  height:var(--sz,5px);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  will-change:transform,opacity;
}

.carihub-spark--flash{
  background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.75) 34%,rgba(255,195,220,.4) 58%,transparent 78%);
  box-shadow:0 0 8px #fff,0 0 16px rgba(255,175,210,.9),0 0 28px rgba(255,95,165,.5);
  animation:carihubSparkFlash var(--dur,3.4s) ease-in-out infinite;
  animation-delay:var(--d,0s);
}

.carihub-spark--glow{
  background:radial-gradient(circle,rgba(255,245,250,1) 0%,rgba(255,185,215,.6) 48%,transparent 74%);
  box-shadow:0 0 10px rgba(255,155,195,1),0 0 20px rgba(255,90,160,.45);
  animation:carihubSparkGlow var(--dur,5s) ease-in-out infinite;
  animation-delay:var(--d,0s);
}

.carihub-spark--chrome{
  background:radial-gradient(circle,#fff 0%,rgba(240,245,255,.7) 45%,transparent 75%);
  box-shadow:0 0 12px rgba(255,255,255,.98),0 0 22px rgba(255,185,220,.75);
  animation:carihubSparkGlow var(--dur,4.6s) ease-in-out infinite;
  animation-delay:var(--d,0s);
}

.carihub-spark--star{
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  animation:carihubSparkStar var(--dur,4.6s) ease-in-out infinite;
  animation-delay:var(--d,0s);
}

.carihub-spark--star::before,
.carihub-spark--star::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:linear-gradient(90deg,transparent,#fff,transparent);
  box-shadow:0 0 8px rgba(255,255,255,.9),0 0 14px rgba(255,170,210,.65);
}

.carihub-spark--star::before{width:var(--sz,7px);height:2px}
.carihub-spark--star::after{width:2px;height:var(--sz,7px)}

.carihub-pink-sheen__destellos .carihub-spark:nth-child(3n){
  width:calc(var(--sz,5px) * 1.65)!important;
  height:calc(var(--sz,5px) * 1.65)!important;
}
.carihub-pink-sheen__destellos .carihub-spark:nth-child(5n+2){
  width:calc(var(--sz,5px) * 2.1)!important;
  height:calc(var(--sz,5px) * 2.1)!important;
}
.carihub-pink-sheen__destellos .carihub-spark--star:nth-child(4n){
  width:calc(var(--sz,8px) * 1.85)!important;
  height:calc(var(--sz,8px) * 1.85)!important;
}

@keyframes carihubSparkFlash{
  0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  8%{opacity:1;transform:translate(-50%,-50%) scale(1.7)}
  16%{opacity:.05;transform:translate(-50%,-50%) scale(.2)}
  42%{opacity:.95;transform:translate(-50%,-50%) scale(1.45)}
  58%{opacity:.08;transform:translate(-50%,-50%) scale(.25)}
  74%{opacity:1;transform:translate(-50%,-50%) scale(1.85)}
}

@keyframes carihubSparkGlow{
  0%,100%{opacity:.06;transform:translate(-50%,-50%) scale(.4)}
  28%{opacity:.9;transform:translate(-50%,-50%) scale(1.35)}
  52%{opacity:.12;transform:translate(-50%,-50%) scale(.55)}
  78%{opacity:1;transform:translate(-50%,-50%) scale(1.6)}
}

@keyframes carihubSparkStar{
  0%,100%{opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(.15)}
  12%{opacity:1;transform:translate(-50%,-50%) rotate(22deg) scale(1.85)}
  24%{opacity:.05;transform:translate(-50%,-50%) rotate(38deg) scale(.25)}
  55%{opacity:.92;transform:translate(-50%,-50%) rotate(72deg) scale(1.6)}
  70%{opacity:1;transform:translate(-50%,-50%) rotate(88deg) scale(2.05)}
  84%{opacity:0;transform:translate(-50%,-50%) rotate(100deg) scale(.2)}
}

/* Capa fija de página completa (perfil, resultados, etc.) */
.carihub-page-sheen{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.carihub-page-sheen .carihub-pink-sheen__fondo{
  position:absolute;
  inset:0;
  background-color:#fff6fa;
  background-image:var(--adult-pro-page-bg, linear-gradient(148deg,#fffcfd 0%,#fff0f6 28%,#ffd6e8 66%,#fff7fa 100%));
  box-shadow:inset 0 0 60px color-mix(in srgb, #fff 35%, var(--adult-pro-rose-light, #ffe4f0));
}

body.carihub-page-sheen-active{
  background:transparent!important;
}

/* No forzar position:relative en .visually-hidden: si no, ocupan alto y dejan franja arriba del Home.
   Tampoco en diálogos/modales: relative anula position:fixed y el modal queda en flujo
   debajo del formulario (p. ej. «Ver en grande» en registro-perfil). */
body.carihub-page-sheen-active > :not(.carihub-page-sheen):not(.visually-hidden):not(.rp-preview-modal):not(.rp-val-modal):not(.rp-terminos-modal):not(.rp-vip-sheet):not([role="dialog"]){
  position:relative;
  z-index:1;
}

/* Restaurar fixed de modals (misma idea que .rp-actions). */
body.carihub-page-sheen-active > .rp-preview-modal,
body.carihub-page-sheen-active > .rp-val-modal,
body.carihub-page-sheen-active > .rp-terminos-modal,
body.carihub-page-sheen-active > .rp-vip-sheet,
body.carihub-page-sheen-active > [role="dialog"]{
  position:fixed;
  z-index:1200;
}

body.carihub-page-sheen-active > .rp-terminos-modal {
  z-index: 12000;
}

body.carihub-page-sheen-active > .rp-vip-sheet {
  z-index: 12100;
}

/* Resultados / otras pantallas sectoriales: el sheen rosa solo en adultos */
body[data-sector]:not([data-sector="adultos"]) .carihub-page-sheen{
  display:none!important;
}
body[data-sector]:not([data-sector="adultos"]).carihub-page-sheen-active{
  background:var(--res-page-bg, #fff)!important;
}

@media (prefers-reduced-motion:reduce){
  .carihub-spark{animation:none!important;opacity:.35}
}
