.elementor-1520 .elementor-element.elementor-element-9a5a11e{--display:flex;}.elementor-1520 .elementor-element.elementor-element-9a5a11e:not(.elementor-motion-effects-element-type-background), .elementor-1520 .elementor-element.elementor-element-9a5a11e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nanossushifood.zaxancreativestudio.com/wp-content/uploads/2026/02/bg_1.jpg");background-repeat:no-repeat;background-size:cover;}.elementor-1520 .elementor-element.elementor-element-9a5a11e.e-con{--flex-grow:0;--flex-shrink:0;}body.elementor-page-1520:not(.elementor-motion-effects-element-type-background), body.elementor-page-1520 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1520 .elementor-element.elementor-element-9a5a11e{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-2d602bc *//* ====== CUMPLEAÑOS (solo dentro del bloque) ====== */
.birthday-wrap{
  --brand-red: #D32F2F;
  --brand-dark-red: #8b0000;
  --neon-red: #ff3333;
  --text-white: #ffffff;
  --bg-black: #000000;

  /* margen seguro para que los sushis no invadan el centro */
  --safe: clamp(26px, 5vw, 90px);

  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;

  background-image: url('');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  font-family: 'Cinzel', serif;
  color: var(--text-white);
}

/* Overlay */
.birthday-wrap::before{
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.62);
  z-index: 0;
}

/* Contenido centrado */
.birthday-wrap .container{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  text-align: center;
  position: relative;
  z-index: 10;
  padding: 40px 16px;
  box-sizing: border-box;
}

/* Caja sutil para mejorar legibilidad */
.birthday-wrap .content{
  position: relative;
  padding: 18px 22px;
  border-radius: 18px;
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow: 0 10px 35px rgba(0,0,0,0.35);
}

/* Logo menos resplandor */
.birthday-wrap .logo{
  max-width: 240px;
  height: auto;
  filter: drop-shadow(0 0 6px rgba(255, 0, 0, 0.18));
}

/* Títulos más definidos */
.birthday-wrap .glow-text{
  font-size: 3rem;
  margin: 10px 0;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-shadow:
    0 2px 0 rgba(0,0,0,0.6),
    0 0 14px rgba(255,255,255,0.25),
    0 0 22px rgba(211,47,47,0.28);
}

/* Nombre MÁS grande, más limpio y con línea */
.birthday-wrap .neon-name{
  font-family: 'Great Vibes', cursive;
  font-size: 7.2rem;
  line-height: 1.05;
  color: #fff;
  display: inline-block;
  padding: 8px 18px;
  margin: 18px 0 8px;

  text-shadow:
    0 2px 0 rgba(0,0,0,0.55),
    0 0 10px rgba(255,255,255,0.18),
    0 0 18px rgba(255,51,51,0.30);
  position: relative;
}

/* línea debajo del nombre */
.birthday-wrap .neon-name::after{
  content: "";
  display: block;
  width: 72%;
  height: 2px;
  margin: 10px auto 0;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
  box-shadow: 0 0 10px rgba(255,51,51,0.25);
  border-radius: 2px;
}

/* Subtítulo */
.birthday-wrap h2.glow-text{
  font-size: 1.9rem;
  font-family: 'Cinzel Decorative', cursive;
  letter-spacing: 2px;
  text-shadow:
    0 2px 0 rgba(0,0,0,0.65),
    0 0 14px rgba(255,255,255,0.18);
}

/* ========= SUSHI: todos con movimiento distinto ========= */
.birthday-wrap .floating-item{
  position: absolute;
  z-index: 1;
  filter: drop-shadow(0 10px 12px rgba(0,0,0,0.55));
  will-change: transform;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  pointer-events: none;
}

/* 12 animaciones distintas (dirección/forma distinta) */
@keyframes driftNW{
  0%{transform:translate(0,0) rotate(-3deg) scale(1)}
  25%{transform:translate(-24px,-16px) rotate(2deg) scale(1.03)}
  50%{transform:translate(-10px,-34px) rotate(5deg) scale(1.05)}
  75%{transform:translate(-28px,-12px) rotate(1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(-3deg) scale(1)}
}
@keyframes driftNE{
  0%{transform:translate(0,0) rotate(2deg) scale(1)}
  25%{transform:translate(26px,-14px) rotate(-2deg) scale(1.03)}
  50%{transform:translate(12px,-32px) rotate(-5deg) scale(1.05)}
  75%{transform:translate(30px,-10px) rotate(-1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(2deg) scale(1)}
}
@keyframes orbitSmall{
  0%{transform:translate(0,0) rotate(-2deg) scale(1)}
  25%{transform:translate(14px,-18px) rotate(2deg) scale(1.02)}
  50%{transform:translate(0,-30px) rotate(6deg) scale(1.03)}
  75%{transform:translate(-14px,-16px) rotate(1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(-2deg) scale(1)}
}
@keyframes driftSW{
  0%{transform:translate(0,0) rotate(1deg) scale(1)}
  25%{transform:translate(-18px,12px) rotate(-2deg) scale(1.02)}
  50%{transform:translate(-8px,-14px) rotate(-5deg) scale(1.04)}
  75%{transform:translate(-26px,8px) rotate(-1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(1deg) scale(1)}
}
@keyframes driftSE{
  0%{transform:translate(0,0) rotate(1deg) scale(1)}
  25%{transform:translate(18px,10px) rotate(3deg) scale(1.02)}
  50%{transform:translate(8px,-16px) rotate(6deg) scale(1.04)}
  75%{transform:translate(26px,6px) rotate(2deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(1deg) scale(1)}
}
@keyframes bobLeft{
  0%{transform:translate(0,0) rotate(-2deg) scale(1)}
  20%{transform:translate(-22px,-10px) rotate(2deg) scale(1.02)}
  50%{transform:translate(-34px,-2px) rotate(4deg) scale(1.03)}
  80%{transform:translate(-18px,-18px) rotate(1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(-2deg) scale(1)}
}
@keyframes bobRight{
  0%{transform:translate(0,0) rotate(2deg) scale(1)}
  20%{transform:translate(22px,-10px) rotate(-2deg) scale(1.02)}
  50%{transform:translate(34px,-2px) rotate(-4deg) scale(1.03)}
  80%{transform:translate(18px,-18px) rotate(-1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(2deg) scale(1)}
}
@keyframes wiggleUp{
  0%{transform:translate(0,0) rotate(-1deg) scale(1)}
  25%{transform:translate(10px,-28px) rotate(3deg) scale(1.03)}
  50%{transform:translate(-6px,-40px) rotate(6deg) scale(1.05)}
  75%{transform:translate(-12px,-22px) rotate(2deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(-1deg) scale(1)}
}
@keyframes wiggleDown{
  0%{transform:translate(0,0) rotate(1deg) scale(1)}
  25%{transform:translate(-10px,12px) rotate(-3deg) scale(1.02)}
  50%{transform:translate(6px,-18px) rotate(-6deg) scale(1.04)}
  75%{transform:translate(12px,10px) rotate(-2deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(1deg) scale(1)}
}
@keyframes orbitWide{
  0%{transform:translate(0,0) rotate(-2deg) scale(1)}
  25%{transform:translate(22px,-10px) rotate(2deg) scale(1.02)}
  50%{transform:translate(0,-34px) rotate(6deg) scale(1.03)}
  75%{transform:translate(-22px,-8px) rotate(1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(-2deg) scale(1)}
}
@keyframes swayZigZag{
  0%{transform:translate(0,0) rotate(2deg) scale(1)}
  20%{transform:translate(16px,-18px) rotate(-2deg) scale(1.02)}
  45%{transform:translate(-10px,-30px) rotate(-5deg) scale(1.03)}
  70%{transform:translate(22px,-14px) rotate(-1deg) scale(1.02)}
  100%{transform:translate(0,0) rotate(2deg) scale(1)}
}

/* ========= POSICIONES + ANIMACIÓN POR ROL (1..12) ========= */
/* Nota: posiciones separadas para que NO se monten */

.birthday-wrap .role-1{
  top: clamp(6%, 9vh, 12%);
  left: var(--safe);
  width: 135px;
  animation: driftNW 6.9s infinite;
}

.birthday-wrap .role-2{
  bottom: clamp(8%, 8vh, 14%);
  right: var(--safe);
  width: 160px;
  animation: driftNE 7.7s infinite;
  animation-delay: .4s;
}

.birthday-wrap .role-3{
  top: clamp(18%, 16vh, 24%);
  right: var(--safe);
  width: 120px;
  animation: orbitSmall 6.3s infinite;
  animation-delay: .9s;
}

.birthday-wrap .role-4{
  bottom: clamp(10%, 9vh, 16%);
  left: var(--safe);
  width: 130px;
  animation: driftSW 7.1s infinite;
  animation-delay: 1.1s;
}

/* extras (5..12) */
.birthday-wrap .role-5{
  top: clamp(7%, 10vh, 14%);
  right: clamp(14%, 12vw, 22%);
  width: 72px;
  animation: bobRight 8.4s infinite;
  animation-delay: .2s;
}

.birthday-wrap .role-6{
  top: clamp(30%, 28vh, 38%);
  left: clamp(3%, 3vw, 6%);
  width: 84px;
  animation: bobLeft 7.9s infinite;
  animation-delay: .8s;
}

.birthday-wrap .role-7{
  top: clamp(36%, 34vh, 44%);
  right: clamp(3%, 3vw, 6%);
  width: 88px;
  animation: swayZigZag 7.2s infinite;
  animation-delay: 1.3s;
}

.birthday-wrap .role-8{
  top: clamp(54%, 52vh, 62%);
  left: clamp(10%, 9vw, 16%);
  width: 78px;
  animation: wiggleUp 6.8s infinite;
  animation-delay: .5s;
}

.birthday-wrap .role-9{
  bottom: clamp(22%, 20vh, 30%);
  right: clamp(12%, 10vw, 18%);
  width: 84px;
  animation: orbitWide 9.1s infinite;
  animation-delay: 1.6s;
}

.birthday-wrap .role-10{
  bottom: clamp(26%, 24vh, 34%);
  left: clamp(16%, 14vw, 22%);
  width: 72px;
  animation: wiggleDown 7.4s infinite;
  animation-delay: .9s;
}

.birthday-wrap .role-11{
  bottom: clamp(6%, 6vh, 10%);
  left: clamp(26%, 24vw, 34%);
  width: 78px;
  animation: driftSE 8.0s infinite;
  animation-delay: 1.1s;
}

.birthday-wrap .role-12{
  top: clamp(58%, 56vh, 66%);
  right: clamp(14%, 12vw, 22%);
  width: 70px;
  animation: driftNE 6.6s infinite;
  animation-delay: .7s;
}

/* Responsive */
@media (max-width: 768px){
  .birthday-wrap .glow-text{ font-size: 1.8rem; }
  .birthday-wrap .neon-name{ font-size: 4.2rem; }
  .birthday-wrap .logo{ max-width: 160px; }
  .birthday-wrap h2.glow-text{ font-size: 1.3rem; }

  .birthday-wrap .content{
    padding: 14px 14px;
    border-radius: 16px;
  }

  .birthday-wrap{
    --safe: clamp(14px, 4vw, 34px);
  }

  .birthday-wrap .floating-item{
    width: 76px !important;
    opacity: 0.92;
  }

  /* Ajuste leve de posiciones en móvil */
  .birthday-wrap .role-1{ top: 6%; left: var(--safe); }
  .birthday-wrap .role-2{ bottom: 6%; right: var(--safe); }
  .birthday-wrap .role-3{ top: 16%; right: var(--safe); }
  .birthday-wrap .role-4{ bottom: 12%; left: var(--safe); }

  .birthday-wrap .role-5{ top: 9%; right: 14%; }
  .birthday-wrap .role-6{ top: 28%; left: 3%; }
  .birthday-wrap .role-7{ top: 40%; right: 3%; }
  .birthday-wrap .role-8{ top: 56%; left: 8%; }
  .birthday-wrap .role-9{ bottom: 24%; right: 10%; }
  .birthday-wrap .role-10{ bottom: 28%; left: 14%; }
  .birthday-wrap .role-11{ bottom: 6%; left: 22%; }
  .birthday-wrap .role-12{ top: 60%; right: 12%; }
}

/* Oculta la sección completa del footer SOLO en Elementor ID 58 */
.elementor-58 .elementor-element-49d48879{
  display: none !important;
}

.elementor.elementor-58{
  display: none !important;
}/* End custom CSS */