/* =====================================================================
   SweetPeachAI — "Fiesta Caliente"
   América Latina: papel picado mexicano, azulejo Talavera, sarape,
   sol asteca, coroa de flores estilo Frida, carnaval, arara e pimenta.
   Rosa-choque da logo + preto veludo, com as cores da fiesta.
   ===================================================================== */
:root {
  --sw-bg: #070308;
  --sw-bg-rgb: 7, 3, 8;
  --sw-bg-2: #13070f;
  --sw-ink: #fff0f6;
  --sw-ink-rgb: 255, 240, 246;
  --sw-p: #e0166a;
  --sw-gen-emoji: "🍑";
  --sw-p-rgb: 224, 22, 106;
  --sw-p2: #ff5c9d;
  --sw-a: #ff9fd0;
  --sw-a-rgb: 255, 159, 208;
  --sw-a2: #ffd23f;
  --sw-gold-rgb: 255, 210, 63;
  --sw-turq: #1cc7b5;
  --sw-grad: linear-gradient(135deg, #ff6fa8 0%, #e0166a 52%, #8e0842 100%);
  --sw-grad-alt: linear-gradient(135deg, #ffe0ef 0%, #ff9fd0 45%, #e0166a 100%);
  --sw-btn-ink: #fff;
  --sw-btn-ink-alt: #3d0620;
  --sw-title-grad: linear-gradient(100deg, #fff4f8 15%, #ffd23f 45%, #ff5c9d 70%, #e0166a 100%);
  --sw-title-grad-alt: linear-gradient(100deg, #fff4f8 15%, #ffc6e2 50%, #1cc7b5 100%);
  --sw-display: "Dela Gothic One", Manrope, system-ui, sans-serif;
  --sw-display-weight: 400;
  --sw-display-track: -0.02em;
  --sw-body: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
  --sw-script: "Dela Gothic One", Manrope, system-ui, sans-serif;
  --sw-eyebrow-font: Manrope, system-ui, sans-serif;
  --sw-btn-radius: 999px;
  --sw-card-radius: 20px;
  --sw-hero-radius: 34px;

  --sw-copacabana: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M0 24c15 0 15-18 30-18s15 18 30 18 15-18 30-18 15 18 30 18v24H0z' fill='%23e0166a' fill-opacity='.07'/%3E%3Cpath d='M0 24c15 0 15-18 30-18s15 18 30 18 15-18 30-18 15 18 30 18' fill='none' stroke='%23ff5c9d' stroke-opacity='.16' stroke-width='1.4'/%3E%3C/svg%3E");
  --sw-talavera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23ff5c9d' stroke-opacity='.16' stroke-width='1.3'%3E%3Crect x='.65' y='.65' width='70.7' height='70.7'/%3E%3Cpath d='M36 16c5 7 5 13 0 20-5-7-5-13 0-20zM36 56c5-7 5-13 0-20-5 7-5 13 0 20zM16 36c7-5 13-5 20 0-7 5-13 5-20 0zM56 36c-7-5-13-5-20 0 7 5 13 5 20 0z'/%3E%3Cpath d='M0 11A11 11 0 0 0 11 0M61 0a11 11 0 0 0 11 11M72 61a11 11 0 0 0-11 11M11 72A11 11 0 0 0 0 61'/%3E%3C/g%3E%3Cg fill='%23ffd23f' fill-opacity='.22'%3E%3Ccircle cx='36' cy='36' r='2.6'/%3E%3Ccircle cx='36' cy='6' r='1.5'/%3E%3Ccircle cx='6' cy='36' r='1.5'/%3E%3Ccircle cx='66' cy='36' r='1.5'/%3E%3Ccircle cx='36' cy='66' r='1.5'/%3E%3C/g%3E%3Cg fill='%231cc7b5' fill-opacity='.2'%3E%3Cpath d='M21 18l3 3-3 3-3-3zM51 18l3 3-3 3-3-3zM21 48l3 3-3 3-3-3zM51 48l3 3-3 3-3-3z'/%3E%3C/g%3E%3C/svg%3E");
  --sw-sarape: linear-gradient(180deg, #e0166a 0 2px, #ff7a1a 2px 3px, #ffd23f 3px 4px, #1cc7b5 4px 5px, #9b5cff 5px 6px);

  --sw-mesh:
    radial-gradient(42rem 30rem at 95% -10%, rgba(224, 22, 106, 0.28), transparent 62%),
    radial-gradient(36rem 26rem at -8% 108%, rgba(142, 8, 66, 0.35), transparent 60%),
    radial-gradient(22rem 18rem at 50% 40%, rgba(255, 210, 63, 0.04), transparent 70%);
  --sw-pattern: var(--sw-talavera);
  --sw-pattern-size: 72px 72px;
  --sw-pattern-opacity: 0.8;

  --sw-header-bg: linear-gradient(180deg, rgba(7, 3, 8, 0.92), rgba(7, 3, 8, 0.72));
  --sw-header-line: var(--sw-sarape);
  --sw-header-line-h: 6px;

  --sw-dock-bg: linear-gradient(180deg, rgba(26, 8, 18, 0.92), rgba(10, 3, 8, 0.94));
  --sw-panel-bg:
    radial-gradient(30rem 14rem at 50% -8%, rgba(224, 22, 106, 0.3), transparent 70%),
    radial-gradient(18rem 12rem at 100% 100%, rgba(142, 8, 66, 0.3), transparent 70%),
    var(--sw-copacabana) 0 100% / 120px 48px repeat-x,
    linear-gradient(180deg, #1a0712, #0a0308);
  --sw-drawer-bg:
    radial-gradient(22rem 14rem at 0% 0%, rgba(224, 22, 106, 0.28), transparent 70%),
    var(--sw-copacabana) 0 100% / 120px 48px repeat-x,
    linear-gradient(180deg, #1a0712, #070308);

  --sw-hero-bg:
    radial-gradient(22rem 16rem at 84% 55%, rgba(224, 22, 106, 0.55), transparent 70%),
    radial-gradient(14rem 10rem at 84% 60%, rgba(255, 210, 63, 0.14), transparent 70%),
    radial-gradient(18rem 12rem at 0% 115%, rgba(142, 8, 66, 0.5), transparent 70%),
    linear-gradient(120deg, #1d0613 0%, #0d0409 60%, #070308 100%);
  --sw-hero-bg-alt:
    radial-gradient(22rem 16rem at 84% 55%, rgba(255, 159, 208, 0.38), transparent 70%),
    radial-gradient(14rem 10rem at 84% 60%, rgba(28, 199, 181, 0.14), transparent 70%),
    radial-gradient(18rem 12rem at 0% 115%, rgba(224, 22, 106, 0.4), transparent 70%),
    linear-gradient(120deg, #1f0916 0%, #0f050b 60%, #070308 100%);
  --sw-hero-texture: var(--sw-talavera) 0 0 / 72px 72px;
  --sw-tex-step: 72px;
  --sw-foot-mark-size: clamp(1.6rem, 5.4vw, 5.2rem);
  --sw-tex-dur: 18s;
  --sw-spark-c: #ffd23f;

  --sw-aside-bg:
    radial-gradient(16rem 14rem at 50% 30%, rgba(255, 92, 157, 0.6), transparent 70%),
    radial-gradient(12rem 10rem at 50% 30%, rgba(255, 210, 63, 0.2), transparent 70%),
    radial-gradient(22rem 18rem at 50% 110%, rgba(224, 22, 106, 0.5), transparent 70%),
    linear-gradient(180deg, #2a0719 0%, #0b0307 100%);
  --sw-aside-overlay:
    var(--sw-talavera) 0 0 / 72px 72px,
    linear-gradient(180deg, transparent 38%, rgba(7, 3, 8, 0.92) 100%);

  --sw-footer-bg:
    radial-gradient(40rem 14rem at 10% 0%, rgba(224, 22, 106, 0.16), transparent 70%),
    var(--sw-talavera) 0 0 / 72px 72px,
    #070308;
  --sw-footer-deco: "🌶️  💃🏽  🌺  🪅  🦜";
  --sw-menu-deco: "🌺  🌶️  💃🏽  🦜";
  --sw-marquee-bg: linear-gradient(90deg, rgba(224, 22, 106, 0.2), rgba(7, 3, 8, 0.6), rgba(224, 22, 106, 0.2));
}

/* ---------- Tipografia ---------- */
.lm-main .home-feed-intro .home-undress-feed__badge {
  letter-spacing: 0.14em !important;
}

/* Letras dançando salsa: pulinho com requebrado, em onda */
.lm-main .home-feed-intro h2 {
  --sw-ch-anim: sw-ch-salsa 2.8s cubic-bezier(0.3, 0, 0.3, 1) infinite;
  --sw-ch-step: 0.055s;
}

@keyframes sw-ch-salsa {
  0%, 38%, 100% { translate: 0 0; rotate: 0deg; }
  9% { translate: 0 -0.2em; rotate: -8deg; }
  18% { translate: 0 0.03em; rotate: 4deg; }
  27% { translate: 0 -0.07em; rotate: -2deg; }
}

.lm-main .home-feed-intro h2.sw-split .sw-ch.is-pop {
  scale: 1.28;
  filter: drop-shadow(0 0 0.3em rgba(255, 210, 63, 0.95));
}

.lm-main .home-feed-intro .home-undress-feed__subtitle::before {
  content: "¡Ay, caliente!";
  display: block;
  margin-bottom: 0.3rem;
  color: var(--sw-a2);
  font-family: var(--sw-script);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.2;
  text-shadow: 0 0 1rem rgba(var(--sw-p-rgb), 0.8);
}

.lm-main .home-feed-intro--images .home-undress-feed__subtitle::before {
  content: "Sabor latino em cada foto";
  color: var(--sw-turq);
}

/* ---------- Header: logo com coroa de flores ---------- */
.lm-header .site-brand-logo__mark,
.lm-footer .site-brand-logo__mark {
  position: relative;
  overflow: visible !important;
}

.lm-header .site-brand-logo__mark-img,
.lm-footer .site-brand-logo__mark-img {
  position: relative;
  z-index: 1;
  border-radius: 50%;
}

.lm-header .site-brand-logo__mark::before,
.lm-header .site-brand-logo__mark::after,
.lm-footer .site-brand-logo__mark::before,
.lm-footer .site-brand-logo__mark::after {
  position: absolute;
  z-index: 2;
  line-height: 1;
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.8));
  pointer-events: none;
}

.lm-header .site-brand-logo__mark::before,
.lm-footer .site-brand-logo__mark::before {
  content: "🌺";
  left: -0.35rem;
  top: -0.4rem;
  font-size: 0.85rem;
  rotate: -18deg;
  animation: sw-bloom 4s ease-in-out infinite;
}

.lm-header .site-brand-logo__mark::after,
.lm-footer .site-brand-logo__mark::after {
  content: "🌼";
  right: -0.25rem;
  top: -0.3rem;
  font-size: 0.62rem;
  rotate: 16deg;
  animation: sw-bloom 4s ease-in-out -2s infinite;
}

@keyframes sw-bloom {
  0%, 100% { scale: 1; }
  50% { scale: 1.15; }
}

/* ---------- Cards: flor e pimenta no hover ---------- */
.lm-card,
.home-images-feed-list > * {
  position: relative;
}

.lm-card::before,
.lm-card::after {
  position: absolute;
  top: -0.6rem;
  z-index: 20;
  font-size: 1.55rem;
  line-height: 1;
  filter: drop-shadow(0 0.3rem 0.5rem rgba(0, 0, 0, 0.6));
  opacity: 0;
  transform: translateY(0.8rem) scale(0.3);
  transition: transform 0.35s cubic-bezier(0.34, 1.7, 0.64, 1), opacity 0.2s ease;
  pointer-events: none;
}

.lm-card::before {
  content: "🌺";
  left: -0.4rem;
  rotate: -18deg;
}

.lm-card::after {
  content: "🌶️";
  right: -0.4rem;
  rotate: 22deg;
}

.lm-card:hover::before,
.lm-card:hover::after {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.lm-card > .lm-card__shell {
  border-width: 1.5px !important;
}

/* ---------- Faixa de papel picado (sweet-fx.js) ---------- */
.sw-picado {
  display: flex;
  gap: 0.45rem;
  height: 3rem;
  padding: 0 0.5rem;
  overflow: hidden;
}

.sw-picado::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0.5rem;
  height: 1px;
  background: rgba(255, 240, 246, 0.55);
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.35);
}

.sw-picado__flag {
  flex: 0 0 auto;
  width: 2.1rem;
  height: 2.45rem;
  margin-top: 0.5rem;
  transform-origin: 50% 0;
  filter: drop-shadow(0 0.3rem 0.35rem rgba(0, 0, 0, 0.5));
  animation: sw-flag-sway 3.4s ease-in-out infinite;
  animation-delay: calc(var(--i) * -0.41s);
}

.sw-picado__flag svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--c);
  fill-rule: evenodd;
  opacity: 0.93;
}

@keyframes sw-flag-sway {
  0%, 100% { rotate: -5deg; }
  50% { rotate: 5deg; }
}

.lm-aff-hero .sw-picado,
.login-modal-aside .sw-picado {
  z-index: 3;
}

@media (max-width: 760px) {
  .sw-picado {
    height: 2.45rem;
    gap: 0.35rem;
  }

  .sw-picado::before {
    top: 0.4rem;
  }

  .sw-picado__flag {
    width: 1.6rem;
    height: 1.9rem;
    margin-top: 0.4rem;
  }
}

/* ---------- Hero: sol asteca + coroa de flores ---------- */
.sw-sun {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 1;
  width: 14rem;
  height: 14rem;
  margin: -7rem 0 0 -7rem;
  overflow: visible;
  filter: drop-shadow(0 0 0.8rem rgba(var(--sw-gold-rgb), 0.55));
  animation: sw-spin 60s linear infinite;
}

.sw-sun__ray {
  fill: #ffd23f;
}

/* Raios do sol respirando: longos e curtos alternados */
.sw-sun__rays {
  transform-box: view-box;
  transform-origin: 100px 100px;
  animation: sw-rays-breathe 1.8s ease-in-out infinite;
}

.sw-sun__rays--short {
  animation-delay: -0.9s;
}

@keyframes sw-rays-breathe {
  0%, 100% { scale: 0.94; }
  50% { scale: 1.1; }
}

.sw-sun__ray--short {
  fill: #ff5c9d;
}

.sw-sun__halo {
  fill: none;
  stroke: rgba(var(--sw-gold-rgb), 0.55);
  stroke-width: 2;
}

.sw-sun__dots {
  fill: none;
  stroke: #1cc7b5;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-dasharray: 0 9;
}

@keyframes sw-spin {
  to { rotate: 360deg; }
}

.sw-fiesta {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 4;
  width: 8.6rem;
  height: 8.6rem;
  margin: -4.3rem 0 0 -4.3rem;
  animation: sw-salsa 1.8s ease-in-out infinite;
}

/* Passo básico de salsa: esquerda-centro-direita com requebrado */
@keyframes sw-salsa {
  0%, 100% { transform: translate(0, 0) rotate(-4deg); }
  25% { transform: translate(-5%, -6%) rotate(-10deg); }
  50% { transform: translate(0, 0) rotate(4deg); }
  75% { transform: translate(5%, -6%) rotate(10deg); }
}

.sw-fiesta .sw-hero__logo {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  box-shadow:
    0 0 0 3px var(--sw-bg),
    0 0 0 5px #ff5c9d,
    0 0 0 8px var(--sw-bg),
    0 0 0 10px #ffd23f,
    0 0 2.4rem rgba(var(--sw-p-rgb), 0.7),
    0 1rem 2rem rgba(0, 0, 0, 0.6);
}

@keyframes sw-fiesta-sway {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-0.35rem) rotate(3deg); }
}

.sw-crown {
  position: absolute;
  inset: 0;
  z-index: 6;
  font-size: 1rem;
  pointer-events: none;
}

.sw-crown i {
  position: absolute;
  font-style: normal;
  line-height: 1;
  translate: -50% 0;
  filter: drop-shadow(0 0.2em 0.3em rgba(0, 0, 0, 0.55));
  animation: sw-bloom 3.6s ease-in-out infinite;
}

.sw-crown i:nth-child(1) { left: 8%; top: 1.36em; font-size: 1.2em; rotate: -48deg; animation-delay: -0.6s; }
.sw-crown i:nth-child(2) { left: 27%; top: -0.3em; font-size: 1.55em; rotate: -22deg; animation-delay: -1.2s; }
.sw-crown i:nth-child(3) { left: 50%; top: -0.95em; font-size: 1.9em; animation-delay: -1.8s; }
.sw-crown i:nth-child(4) { left: 73%; top: -0.3em; font-size: 1.55em; rotate: 22deg; animation-delay: -2.4s; }
.sw-crown i:nth-child(5) { left: 92%; top: 1.36em; font-size: 1.2em; rotate: 48deg; animation-delay: -3s; }

.sw-ring {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 1;
  width: 10.5rem;
  height: 10.5rem;
  margin: -5.25rem 0 0 -5.25rem;
  border: 2px solid rgba(var(--sw-p-rgb), 0.7);
  border-radius: 50%;
  animation: sw-ring-pulse 3.4s ease-out infinite;
}

.sw-ring--late {
  border-color: rgba(28, 199, 181, 0.6);
  animation-delay: -1.7s;
}

@keyframes sw-ring-pulse {
  0% { opacity: 0.9; transform: scale(0.82); }
  100% { opacity: 0; transform: scale(1.55); }
}

.sw-float {
  position: absolute;
  z-index: 5;
  line-height: 1;
  filter: drop-shadow(0 0.4rem 0.7rem rgba(0, 0, 0, 0.6));
  animation: sw-float 5s ease-in-out infinite;
}

.sw-float--1 { left: 1.2rem; top: 0.6rem; font-size: 1.9rem; animation-delay: -1s; }
.sw-float--2 { right: 1.6rem; bottom: 0.4rem; font-size: 2rem; animation-delay: -2.4s; }
.sw-float--3 { right: 1.4rem; top: 0.4rem; font-size: 1.7rem; animation-delay: -3.3s; }
.sw-float--4 { left: 1.8rem; bottom: 0.8rem; font-size: 1.5rem; animation-delay: -0.4s; }

@keyframes sw-float {
  0%, 100% { translate: 0 0; rotate: -8deg; }
  50% { translate: 0 -0.6rem; rotate: 8deg; }
}

.lm-hero:hover .sw-sun {
  animation-duration: 12s;
}

/* Explosão de confete saindo de trás da fiesta */
.sw-pop {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 3;
  width: 0.42rem;
  height: 0.7rem;
  margin: -0.35rem 0 0 -0.21rem;
  background: var(--c);
  border-radius: var(--r, 2px);
  opacity: 0;
  animation: sw-pop 3.6s cubic-bezier(0.2, 0.7, 0.3, 1) var(--delay, 0s) infinite;
}

@keyframes sw-pop {
  0% { opacity: 0; transform: rotate(var(--a)) translateY(0) rotate(0deg) scale(0.3); }
  5% { opacity: 1; }
  28% { opacity: 1; transform: rotate(var(--a)) translateY(calc(-1 * var(--sw-pop-r, 7.6rem))) rotate(220deg) scale(1); }
  46%, 100% { opacity: 0; transform: rotate(var(--a)) translateY(calc(-1 * var(--sw-pop-r, 7.6rem) - 1.4rem)) rotate(340deg) scale(0.7); }
}

/* Notas musicais subindo (mariachi, salsa, cumbia) */
.sw-note {
  position: absolute;
  top: 30%;
  z-index: 6;
  font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0;
  text-shadow: 0 0 0.6rem currentColor, 0 0.15rem 0.3rem rgba(0, 0, 0, 0.6);
  animation: sw-note-rise 4.4s ease-out infinite;
}

.sw-note--1 { left: 24%; color: #ffd23f; }
.sw-note--2 { left: 70%; color: #ff5c9d; animation-delay: -1.1s; }
.sw-note--3 { left: 34%; color: #1cc7b5; animation-delay: -2.2s; }
.sw-note--4 { left: 62%; color: #fff0f6; animation-delay: -3.3s; }

@keyframes sw-note-rise {
  0% { opacity: 0; translate: 0 1.6rem; rotate: -12deg; scale: 0.6; }
  15% { opacity: 1; }
  50% { translate: 0.5rem -1rem; rotate: 10deg; scale: 1; }
  80% { opacity: 0.9; }
  100% { opacity: 0; translate: -0.4rem -3.6rem; rotate: -8deg; scale: 0.9; }
}

/* Luzes de palco da fiesta varrendo o fundo do hero */
.sw-beam {
  top: -25%;
  width: 16rem;
  height: 170%;
  margin-left: -8rem;
  transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(var(--c), 0.5), rgba(var(--c), 0.12) 55%, transparent 85%);
  clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%);
  filter: blur(5px);
  mix-blend-mode: screen;
  opacity: 0.5;
  animation: sw-beam-sweep 7s ease-in-out infinite alternate;
}

.sw-beam--1 { left: 18%; --c: 255, 47, 126; }
.sw-beam--2 { left: 50%; --c: 255, 210, 63; animation-delay: -2.4s; animation-duration: 8.5s; }
.sw-beam--3 { left: 82%; --c: 28, 199, 181; animation-delay: -4.8s; animation-duration: 6.4s; }

@keyframes sw-beam-sweep {
  from { rotate: -30deg; }
  to { rotate: 30deg; }
}

.sw-glitz {
  inset: 0;
  background:
    radial-gradient(circle, rgba(255, 210, 63, 0.9) 0 1px, transparent 1.6px) 0 0 / 5.5rem 4.5rem,
    radial-gradient(circle, rgba(255, 92, 157, 0.9) 0 1.2px, transparent 2px) 2.7rem 2.1rem / 7rem 5rem;
  -webkit-mask: linear-gradient(90deg, #000, transparent 70%);
  mask: linear-gradient(90deg, #000, transparent 70%);
  animation: sw-glitz 2.6s steps(2) infinite;
}

@keyframes sw-glitz {
  50% { opacity: 0.35; }
}

@media (max-width: 760px) {
  .sw-fiesta {
    width: 4.6rem;
    height: 4.6rem;
    margin: -2.3rem 0 0 -2.3rem;
  }

  .sw-fiesta .sw-hero__logo {
    box-shadow:
      0 0 0 2px var(--sw-bg),
      0 0 0 3px #ff5c9d,
      0 0 0 5px var(--sw-bg),
      0 0 0 6px #ffd23f,
      0 0 1.4rem rgba(var(--sw-p-rgb), 0.7);
  }

  .sw-crown {
    font-size: 0.535rem;
  }

  .sw-sun {
    width: 7.6rem;
    height: 7.6rem;
    margin: -3.8rem 0 0 -3.8rem;
  }

  .sw-ring {
    width: 5.8rem;
    height: 5.8rem;
    margin: -2.9rem 0 0 -2.9rem;
  }

  .sw-float--3,
  .sw-float--4 {
    display: none;
  }

  .sw-float--1 { left: 0; top: 0; font-size: 1.1rem; }
  .sw-float--2 { right: 0; bottom: -0.2rem; font-size: 1.1rem; }

  .sw-pop {
    --sw-pop-r: 4rem;
    width: 0.28rem;
    height: 0.46rem;
  }

  .sw-note {
    font-size: 0.85rem;
  }

  .sw-note--3,
  .sw-note--4 {
    display: none;
  }

  .sw-beam {
    width: 9rem;
    margin-left: -4.5rem;
  }
}

/* ---------- Login ---------- */
.sw-login-art .sw-fiesta {
  top: 3rem;
  width: 9.5rem;
  height: 9.5rem;
  margin: 0 0 0 -4.75rem;
}

.sw-login-art .sw-crown {
  font-size: 1.1rem;
}

.sw-login-art .sw-sun {
  top: 7.75rem;
  width: 15.5rem;
  height: 15.5rem;
  margin: -7.75rem 0 0 -7.75rem;
}

.sw-login-art .sw-float--1 { left: 1.2rem; top: 1.6rem; font-size: 2.1rem; }
.sw-login-art .sw-float--2 { right: 1.2rem; top: 10.5rem; bottom: auto; font-size: 2.1rem; }
.sw-login-art .sw-float--3 { right: 1.4rem; top: 1.4rem; font-size: 1.8rem; }
.sw-login-art .sw-float--4 { left: 1.6rem; top: 11rem; bottom: auto; font-size: 1.6rem; }

.login-modal-aside__title {
  font-size: 1.95rem !important;
  text-shadow: 0 0 1.4rem rgba(var(--sw-p-rgb), 0.6) !important;
}

.login-modal-aside__title::after {
  content: "¡ay!";
  display: inline-block;
  margin-left: 0.4rem;
  color: var(--sw-a2);
  font-family: var(--sw-script);
  font-style: normal;
  font-weight: 400;
  font-size: 0.55em;
  rotate: -8deg;
}

@media (max-width: 760px) {
  .sw-login-art .sw-fiesta {
    left: auto;
    right: 3.6rem;
    top: 50%;
    width: 4.6rem;
    height: 4.6rem;
    margin: -2.1rem 0 0;
  }

  .sw-login-art .sw-crown {
    font-size: 0.535rem;
  }

  .sw-login-art .sw-sun {
    left: auto;
    right: 2.1rem;
    top: 50%;
    width: 7.6rem;
    height: 7.6rem;
    margin: -3.6rem 0 0;
  }

  .sw-login-art .sw-float {
    display: none;
  }

  .login-modal-aside__title {
    font-size: 1.2rem !important;
    max-width: 12rem;
  }
}

/* ---------- Age gate ---------- */
.age-gate-modal {
  background:
    radial-gradient(40rem 26rem at 50% 40%, rgba(224, 22, 106, 0.28), transparent 70%),
    var(--sw-talavera) 0 0 / 72px 72px,
    rgba(7, 3, 8, 0.92) !important;
}

.age-gate-modal::before {
  content: "💃🏽" !important;
  filter: drop-shadow(0 0 1rem rgba(224, 22, 106, 0.8)) !important;
}

.lm-funnel__title::after {
  filter: none;
}

.age-gate-modal::after {
  content: "🌺" !important;
}

.age-gate-modal .age-gate-panel::before {
  background: var(--sw-sarape) !important;
  left: 0 !important;
  right: 0 !important;
  height: 6px !important;
  border-radius: 30px 30px 0 0;
}

.age-gate-modal .age-gate-panel::after {
  content: "🌶️" !important;
}

.age-gate-modal .age-gate-brand::after {
  color: #fff !important;
}

/* ---------- Footer: sarape ---------- */
.lm-footer {
  position: relative;
  border-top: 0 !important;
}

.lm-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 6px;
  background: var(--sw-sarape);
}

/* ---------- Ticket ---------- */
.lm-header .lm-ticket {
  --t-bg: #16060f;
}

.lm-ticket__main {
  box-shadow:
    inset 0 0 0 1px rgba(var(--sw-p-rgb), 0.45),
    0 0.5rem 1.4rem rgba(var(--sw-p-rgb), 0.28) !important;
}

.lm-ticket__timer b {
  color: var(--sw-a2) !important;
}

/* ---------- Marquee ---------- */
.lm-marquee__item:nth-child(even) {
  -webkit-text-stroke: 1px rgba(255, 92, 157, 0.85) !important;
}

/* ---------- Dock: GERAR com borda de fiesta ---------- */
.lm-dock__fab::after {
  background: conic-gradient(from var(--fx-angle, 0deg), #ff5c9d, #ffd23f, #1cc7b5, #9b5cff, #ff7a1a, #ff5c9d) !important;
}

.lm-dock__fab-halo {
  border-color: rgba(var(--sw-p-rgb), 0.8) !important;
}

body.lm-home-image .lm-dock__fab-halo {
  border-color: rgba(var(--sw-a-rgb), 0.8) !important;
}

/* ---------- Efeitos (sweet-fx.js) ---------- */
.sw-bit {
  position: absolute;
  top: -4%;
  left: var(--x);
  width: var(--w);
  height: var(--h);
  background: var(--c);
  border-radius: var(--r, 1px);
  opacity: var(--o, 0.6);
  animation: sw-bit-fall var(--d) linear var(--delay) infinite;
}

@keyframes sw-bit-fall {
  0% { transform: translate(0, 0) rotate(0) rotateX(0); }
  50% { transform: translate(var(--sway), 55vh) rotate(200deg) rotateX(180deg); }
  100% { transform: translate(0, 110vh) rotate(400deg) rotateX(360deg); }
}

.sw-confetti {
  position: fixed;
  z-index: 9998;
  width: var(--w, 8px);
  height: var(--h, 14px);
  background: var(--c);
  border-radius: 2px;
  pointer-events: none;
  animation: sw-confetti 1.3s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;
}

@keyframes sw-confetti {
  0% { opacity: 1; transform: translate(-50%, -50%) rotate(0) scale(0.4); }
  70% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty) + 60px)) rotate(var(--rot)) scale(1);
  }
}

.sw-flyer {
  position: fixed;
  left: 0;
  top: var(--y, 30%);
  z-index: 25;
  font-size: 2.2rem;
  line-height: 1;
  pointer-events: none;
  filter: drop-shadow(0 0.4rem 0.6rem rgba(0, 0, 0, 0.5));
  animation: sw-fly var(--d, 11s) linear forwards;
}

.sw-flyer span {
  display: block;
  animation: sw-flap 0.45s ease-in-out infinite alternate, sw-glide 2.6s ease-in-out infinite;
}

.sw-flyer.is-reverse {
  animation-name: sw-fly-rev;
}

.sw-flyer.is-reverse span {
  scale: -1 1;
}

@keyframes sw-fly {
  from { transform: translateX(-80px); }
  to { transform: translateX(calc(100vw + 80px)); }
}

@keyframes sw-fly-rev {
  from { transform: translateX(calc(100vw + 80px)); }
  to { transform: translateX(-80px); }
}

@keyframes sw-flap {
  from { transform: scaleY(1); }
  to { transform: scaleY(0.78); }
}

@keyframes sw-glide {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -1.4rem; }
}

@media (max-width: 760px) {
  .sw-flyer {
    font-size: 1.6rem;
  }
}

:root { --sw-fill-wave: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 20' preserveAspectRatio='none'><path d='M0 12Q10 6 20 12T40 12T60 12T80 12V0H0Z' fill='%23070308'/><path d='M0 12Q10 6 20 12T40 12T60 12T80 12' fill='none' stroke='white' stroke-opacity='.85' stroke-width='1.6'/></svg>"); }

/* ---------- Idiomas ---------- */
html:lang(en) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(en) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Latin flavor in every pic"; }
html:lang(es) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(es) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Sabor latino en cada foto"; }
html:lang(fr) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(fr) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Saveur latine dans chaque photo"; }
html:lang(de) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(de) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Latin-Feuer in jedem Bild"; }
html:lang(ja) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(ja) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Latin flavor in every pic"; }
html:lang(zh) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "¡Ay, caliente!"; }
html:lang(zh) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "Latin flavor in every pic"; }
