/* =====================================================================
   SweetCherryAI — "Rainha de Ébano"
   Tempestade elétrica afrofuturista + cultura africana: kente de Gana,
   bogolan do Mali, pintura Ndebele, colar de miçangas Maasai, búzios,
   símbolos Adinkra e coroa de rainha.
   Azul da logo, azul elétrico e preto — com as cores do kente.
   ===================================================================== */
:root {
  --sw-bg: #020409;
  --sw-bg-rgb: 2, 4, 9;
  --sw-bg-2: #07101f;
  --sw-ink: #eef5ff;
  --sw-ink-rgb: 238, 245, 255;
  --sw-p: #2f7bff;
  --sw-p-rgb: 47, 123, 255;
  --sw-p2: #7cc2ff;
  --sw-a: #e8b34b;
  --sw-a-rgb: 232, 179, 75;
  --sw-a2: #ffd98a;
  --sw-navy: #0a2454;
  --sw-volt: #bfe6ff;
  --sw-grad: linear-gradient(135deg, #9fdcff 0%, #2f7bff 48%, #0a2454 100%);
  --sw-grad-alt: linear-gradient(135deg, #fff0c2 0%, #e8b34b 50%, #8a5a12 100%);
  --sw-btn-ink: #fff;
  --sw-btn-ink-alt: #241500;
  --sw-title-grad: linear-gradient(100deg, #ffffff 15%, #bfe6ff 45%, #2f7bff 100%);
  --sw-title-grad-alt: linear-gradient(100deg, #ffffff 15%, #ffe3a3 50%, #e8b34b 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-eyebrow-font: "Dela Gothic One", Manrope, system-ui, sans-serif;
  --sw-btn-radius: 12px;
  --sw-card-radius: 14px;
  --sw-hero-radius: 22px;
  --sw-dock-radius: 18px;

  --sw-mudcloth: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%234c8dff' stroke-opacity='.16' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M0 10l8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6'/%3E%3Cpath d='M20 44l8 8m0-8l-8 8M68 44l8 8m0-8l-8 8'/%3E%3Cpath d='M48 36l12 12-12 12-12-12z'/%3E%3Cpath d='M0 80h96M0 86h96'/%3E%3C/g%3E%3Cg fill='%234c8dff' fill-opacity='.18'%3E%3Ccircle cx='8' cy='24' r='1.8'/%3E%3Ccircle cx='24' cy='24' r='1.8'/%3E%3Ccircle cx='40' cy='24' r='1.8'/%3E%3Ccircle cx='56' cy='24' r='1.8'/%3E%3Ccircle cx='72' cy='24' r='1.8'/%3E%3Ccircle cx='88' cy='24' r='1.8'/%3E%3Ccircle cx='48' cy='48' r='2.4'/%3E%3C/g%3E%3C/svg%3E");
  --sw-mudcloth-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%234c8dff' stroke-opacity='.07' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M0 10l8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6 8-6 8 6'/%3E%3Cpath d='M20 44l8 8m0-8l-8 8M68 44l8 8m0-8l-8 8'/%3E%3Cpath d='M48 36l12 12-12 12-12-12z'/%3E%3Cpath d='M0 80h96M0 86h96'/%3E%3C/g%3E%3Cg fill='%234c8dff' fill-opacity='.08'%3E%3Ccircle cx='8' cy='24' r='1.8'/%3E%3Ccircle cx='24' cy='24' r='1.8'/%3E%3Ccircle cx='40' cy='24' r='1.8'/%3E%3Ccircle cx='56' cy='24' r='1.8'/%3E%3Ccircle cx='72' cy='24' r='1.8'/%3E%3Ccircle cx='88' cy='24' r='1.8'/%3E%3Ccircle cx='48' cy='48' r='2.4'/%3E%3C/g%3E%3C/svg%3E");
  --sw-kente:
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(0, 0, 0, 0.3) 3px 4px),
    repeating-linear-gradient(90deg, #f2b705 0 16px, #0b7a3b 16px 22px, #f2b705 22px 28px, #c8102e 28px 34px, #111 34px 38px, #2f7bff 38px 50px, #111 50px 54px, #c8102e 54px 60px);
  --sw-ndebele: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='20' viewBox='0 0 60 20'%3E%3Crect width='60' height='20' fill='%23f4efe6'/%3E%3Cpath d='M3 16v-6h5V6h10v4h5v6z' fill='%232f7bff' stroke='%23111' stroke-width='1.5'/%3E%3Cpath d='M32 4l7 6-7 6-7-6z' fill='%23c8102e' stroke='%23111' stroke-width='1.5'/%3E%3Cpath d='M42 16l6-11 6 11z' fill='%23f2b705' stroke='%23111' stroke-width='1.5'/%3E%3Cpath d='M0 1.5h60M0 18.5h60' stroke='%23111' stroke-width='3'/%3E%3C/svg%3E");

  --sw-mesh:
    radial-gradient(46rem 26rem at 50% -14%, rgba(47, 123, 255, 0.3), transparent 62%),
    radial-gradient(30rem 22rem at 100% 100%, rgba(10, 36, 84, 0.7), transparent 60%),
    radial-gradient(26rem 20rem at 0% 70%, rgba(232, 179, 75, 0.05), transparent 60%);
  --sw-pattern: var(--sw-mudcloth);
  --sw-pattern-size: 96px 96px;
  --sw-pattern-opacity: 0.9;

  --sw-header-bg: linear-gradient(180deg, rgba(2, 4, 9, 0.94), rgba(2, 4, 9, 0.76));
  --sw-header-line: var(--sw-kente);
  --sw-header-line-h: 5px;
  --sw-header-line-size: 60px 100%;
  --sw-header-line-anim: sw-kente-slide 6s linear infinite;

  --sw-dock-bg: linear-gradient(180deg, rgba(7, 16, 31, 0.94), rgba(2, 4, 9, 0.96));
  --sw-panel-bg:
    radial-gradient(30rem 14rem at 50% -8%, rgba(47, 123, 255, 0.32), transparent 70%),
    radial-gradient(18rem 12rem at 100% 100%, rgba(232, 179, 75, 0.1), transparent 70%),
    var(--sw-mudcloth-soft) 0 0 / 96px 96px,
    linear-gradient(180deg, #081630, #020409);
  --sw-drawer-bg:
    radial-gradient(22rem 14rem at 0% 0%, rgba(47, 123, 255, 0.3), transparent 70%),
    var(--sw-mudcloth-soft) 0 0 / 96px 96px,
    linear-gradient(180deg, #081630, #020409);

  --sw-hero-bg:
    radial-gradient(22rem 16rem at 82% 50%, rgba(47, 123, 255, 0.5), transparent 70%),
    radial-gradient(20rem 12rem at 0% 115%, rgba(10, 36, 84, 0.9), transparent 70%),
    linear-gradient(120deg, #0a1b3d 0%, #050b18 60%, #020409 100%);
  --sw-hero-bg-alt:
    radial-gradient(22rem 16rem at 82% 50%, rgba(232, 179, 75, 0.35), transparent 70%),
    radial-gradient(20rem 12rem at 0% 115%, rgba(10, 36, 84, 0.9), transparent 70%),
    linear-gradient(120deg, #0d1a33 0%, #060b16 60%, #020409 100%);
  --sw-hero-texture: var(--sw-mudcloth) 0 0 / 96px 96px;
  --sw-tex-step: 96px;
  --sw-foot-mark-size: clamp(1.6rem, 5vw, 4.8rem);
  --sw-tex-dur: 22s;
  --sw-spark-c: #bfe6ff;

  --sw-aside-bg:
    radial-gradient(16rem 14rem at 50% 22%, rgba(124, 194, 255, 0.55), transparent 70%),
    radial-gradient(22rem 18rem at 50% 110%, rgba(47, 123, 255, 0.45), transparent 70%),
    linear-gradient(180deg, #0a2454 0%, #020409 100%);
  --sw-aside-overlay:
    var(--sw-mudcloth) 0 0 / 96px 96px,
    linear-gradient(180deg, transparent 38%, rgba(2, 4, 9, 0.94) 100%);

  --sw-footer-bg:
    linear-gradient(var(--sw-bg), var(--sw-bg)) padding-box,
    radial-gradient(40rem 14rem at 10% 0%, rgba(47, 123, 255, 0.16), transparent 70%),
    #020409;
  --sw-footer-deco: "👑  🥁  🐚  🌍  ⚡";
  --sw-menu-deco: "👑  🥁  🐚  ⚡";
  --sw-marquee-bg: linear-gradient(90deg, rgba(47, 123, 255, 0.2), rgba(2, 4, 9, 0.7), rgba(232, 179, 75, 0.14));
}

@keyframes sw-kente-slide {
  to { background-position: 60px 0; }
}

@media (max-width: 560px) {
  .lm-header .site-brand-logo__word {
    font-size: 0.86rem !important;
    letter-spacing: -0.04em !important;
  }
}

/* ---------- Tipografia ---------- */
.lm-main .home-feed-intro h2 {
  text-transform: uppercase;
  font-size: clamp(1.7rem, 4vw, 2.8rem) !important;
  filter: drop-shadow(0 0 0.9rem rgba(var(--sw-p-rgb), 0.55));
}

.lm-main .home-feed-intro .home-undress-feed__badge {
  font-size: 0.62rem !important;
  letter-spacing: 0.18em !important;
}

/* Letras no ritmo do djembê: "ba-dum" a cada 2s, em ondinha rápida */
.lm-main .home-feed-intro h2 {
  --sw-ch-anim: sw-ch-drum 2s ease-out infinite;
  --sw-ch-step: 0.022s;
}

@keyframes sw-ch-drum {
  0%, 30%, 100% { translate: 0 0; }
  5% { translate: 0 -0.12em; }
  11% { translate: 0 0.02em; }
  16% { translate: 0 -0.07em; }
  23% { translate: 0 0; }
}

.lm-main .home-feed-intro h2.sw-split .sw-ch.is-zap {
  scale: 1.1;
  filter: brightness(1.9) drop-shadow(0 0 0.2em #bfe6ff) drop-shadow(0 0 0.45em #2f7bff);
}

.lm-signup-button,
.login-modal-submit,
.lm-dock__fab,
.lm-funnel__btn--next,
.recharge-pay-button {
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 0.78rem !important;
}

.lm-main .home-feed-intro .home-undress-feed__subtitle::before {
  content: "👑 Rainhas de ébano";
  display: block;
  margin-bottom: 0.35rem;
  color: var(--sw-a);
  font-family: var(--sw-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.lm-main .home-feed-intro--images .home-undress-feed__subtitle::before {
  content: "✦ Black is beautiful";
}

/* ---------- Header: kente + logo com carga ---------- */
.site-brand-logo__mark {
  box-shadow: 0 0 0 2px rgba(var(--sw-p-rgb), 0.9), 0 0 1rem rgba(var(--sw-p-rgb), 0.8) !important;
  animation: sw-charge 3.6s ease-in-out infinite;
}

@keyframes sw-charge {
  0%, 100% { box-shadow: 0 0 0 2px rgba(var(--sw-p-rgb), 0.9), 0 0 0.7rem rgba(var(--sw-p-rgb), 0.6); }
  48% { box-shadow: 0 0 0 2px rgba(var(--sw-p-rgb), 0.9), 0 0 0.7rem rgba(var(--sw-p-rgb), 0.6); }
  50% { box-shadow: 0 0 0 2px #fff, 0 0 1.6rem rgba(191, 230, 255, 1); }
  53% { box-shadow: 0 0 0 2px rgba(var(--sw-p-rgb), 0.9), 0 0 0.9rem rgba(var(--sw-p-rgb), 0.7); }
  55% { box-shadow: 0 0 0 2px #fff, 0 0 1.3rem rgba(191, 230, 255, 0.9); }
}

.lm-header .site-brand-logo__mark,
.lm-footer .site-brand-logo__mark {
  position: relative;
  overflow: visible !important;
}

.lm-header .site-brand-logo__mark::before,
.lm-footer .site-brand-logo__mark::before {
  content: "👑";
  position: absolute;
  left: 50%;
  top: -0.62rem;
  z-index: 2;
  font-size: 0.72rem;
  line-height: 1;
  translate: -50% 0;
  rotate: -10deg;
  filter: drop-shadow(0 0 4px rgba(242, 183, 5, 0.8));
  pointer-events: none;
}

.lm-footer {
  border-top: 0 !important;
  position: relative;
}

.lm-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 22px;
  background: var(--sw-kente), var(--sw-ndebele);
  background-size: 60px 6px, 60px 16px;
  background-position: 0 0, 0 6px;
  background-repeat: repeat-x;
}

/* ---------- Faixas: kente em cima, Ndebele embaixo (sweet-fx.js) ---------- */
.sw-kente-band {
  height: 12px;
  background: var(--sw-kente);
  background-size: 60px 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
  animation: sw-kente-slide 8s linear infinite;
}

.sw-ndebele-band {
  height: 16px;
  background: var(--sw-ndebele) 0 0 / 48px 16px repeat-x;
  opacity: 0.92;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.55);
}

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

@media (max-width: 760px) {
  .sw-kente-band {
    height: 9px;
  }

  .sw-ndebele-band {
    height: 12px;
    background-size: 36px 12px;
  }
}

.lm-footer {
  background:
    radial-gradient(40rem 14rem at 10% 0%, rgba(47, 123, 255, 0.16), transparent 70%),
    var(--sw-mudcloth) 0 0 / 96px 96px,
    #020409 !important;
}

/* ---------- Cards: raios nos cantos ---------- */
.lm-card,
.home-images-feed-list > * {
  position: relative;
}

.lm-card::before,
.home-images-feed-list > *::before,
.lm-card::after,
.home-images-feed-list > *::after {
  content: "";
  position: absolute;
  z-index: 15;
  width: 1.5rem;
  height: 2rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M14 1 3 18h7l-3 13 13-19h-7l3-11z' fill='%23eaf6ff' stroke='%237cc2ff' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(47, 123, 255, 0.95));
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
}

.lm-card::before,
.home-images-feed-list > *::before {
  top: 0.45rem;
  right: 0.45rem;
}

.lm-card::after,
.home-images-feed-list > *::after {
  bottom: 0.45rem;
  left: 0.45rem;
  transform: scale(0.6) rotate(180deg);
}

.lm-card:hover::before,
.home-images-feed-list > *:hover::before {
  opacity: 1;
  transform: scale(1);
  animation: sw-bolt-blink 2.4s ease-in-out infinite;
}

.lm-card:hover::after,
.home-images-feed-list > *:hover::after {
  opacity: 1;
  transform: scale(0.8) rotate(180deg);
  animation: sw-bolt-blink 2.4s ease-in-out -1.2s infinite;
}

.lm-card:hover > .lm-card__shell,
.home-images-feed-list > *:hover {
  box-shadow: 0 0 0 1px rgba(124, 194, 255, 0.7), 0 0 18px rgba(47, 123, 255, 0.35);
}

@keyframes sw-bolt-blink {
  0%, 100%, 46%, 54% { opacity: 1; }
  50% { opacity: 0.25; }
}

/* ---------- Hero: tempestade ---------- */
.sw-storm {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 4;
  width: 8.6rem;
  height: 8.6rem;
  margin: -4.3rem 0 0 -4.3rem;
  animation: sw-djembe 2s ease-out infinite;
}

/* Batida do djembê: ba-dum ... tum */
@keyframes sw-djembe {
  0%, 100% { scale: 1; }
  5% { scale: 1.09; }
  11% { scale: 0.99; }
  16% { scale: 1.06; }
  24% { scale: 1; }
  50% { scale: 1; }
  54% { scale: 1.035; }
  60% { scale: 1; }
}

/* Ondas de choque nas cores do kente a cada batida */
.sw-beat {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 2;
  width: 9rem;
  height: 9rem;
  margin: -4.5rem 0 0 -4.5rem;
  border: 3px solid #f2b705;
  border-radius: 50%;
  box-shadow: 0 0 0.8rem rgba(242, 183, 5, 0.6), inset 0 0 0.8rem rgba(242, 183, 5, 0.4);
  opacity: 0;
  animation: sw-beat 2s cubic-bezier(0.1, 0.6, 0.3, 1) infinite;
}

.sw-beat--2 {
  border-color: #c8102e;
  box-shadow: 0 0 0.8rem rgba(200, 16, 46, 0.6), inset 0 0 0.8rem rgba(200, 16, 46, 0.4);
  animation-delay: 0.22s;
}

.sw-beat--3 {
  border-color: #0b7a3b;
  border-width: 2px;
  box-shadow: 0 0 0.8rem rgba(11, 122, 59, 0.6);
  animation-delay: 1.02s;
}

@keyframes sw-beat {
  0% { opacity: 0.95; scale: 0.9; }
  75%, 100% { opacity: 0; scale: 1.95; }
}

.sw-queen::after {
  content: "✦";
  position: absolute;
  right: -0.35em;
  top: -0.2em;
  color: #fff6d6;
  font-size: 0.45em;
  text-shadow: 0 0 0.4rem #f2b705, 0 0 0.8rem #fff;
  animation: sw-twinkle 1.6s ease-in-out infinite;
}

@keyframes sw-twinkle {
  0%, 100% { opacity: 0; scale: 0.3; rotate: 0deg; }
  45% { opacity: 1; scale: 1.2; rotate: 90deg; }
  60% { opacity: 0.6; scale: 0.8; }
}

/* Aurora nas cores do kente passando atrás do hero */
.sw-aurora {
  width: 26rem;
  height: 11rem;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--c), 0.55), transparent);
  filter: blur(28px);
  mix-blend-mode: screen;
  animation: sw-aurora 18s ease-in-out infinite alternate;
}

.sw-aurora--1 { left: -6rem; top: -3rem; --c: 47, 123, 255; }
.sw-aurora--2 { left: 30%; bottom: -5rem; --c: 242, 183, 5; opacity: 0.55; animation-duration: 23s; animation-delay: -8s; }
.sw-aurora--3 { right: -4rem; top: 10%; --c: 11, 122, 59; opacity: 0.6; animation-duration: 15s; animation-delay: -4s; }

@keyframes sw-aurora {
  0% { translate: 0 0; scale: 1; }
  50% { translate: 12rem 1.5rem; scale: 1.25 0.9; }
  100% { translate: 4rem -1rem; scale: 0.9 1.15; }
}

/* Clarão no hero sincronizado com os raios do emblema (sw-bolt-strike) */
.sw-hero-flash {
  inset: 0;
  background: radial-gradient(28rem 18rem at 82% 45%, rgba(191, 230, 255, 0.28), transparent 70%);
  opacity: 0;
  animation: sw-hero-flash 4.6s steps(1) infinite;
}

@keyframes sw-hero-flash {
  0%, 38%, 46%, 88%, 96%, 100% { opacity: 0; }
  39%, 42%, 45%, 89%, 92%, 95% { opacity: 1; }
  40%, 43.5%, 90%, 93.5% { opacity: 0.25; }
}

.sw-storm .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 #7cc2ff,
    0 0 2.6rem rgba(var(--sw-p-rgb), 0.9),
    0 1rem 2rem rgba(0, 0, 0, 0.6);
  animation: sw-logo-flash 5s ease-in-out infinite;
}

@keyframes sw-logo-flash {
  0%, 60%, 64%, 68%, 100% { filter: none; }
  62%, 66% { filter: brightness(1.6) contrast(1.1); }
}

.sw-arcs {
  position: absolute;
  inset: -2.2rem;
  z-index: 5;
  width: calc(100% + 4.4rem);
  height: calc(100% + 4.4rem);
  overflow: visible;
  animation: sw-spin 9s linear infinite;
}

.sw-arcs path {
  fill: none;
  stroke: #d8f0ff;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 3px #7cc2ff) drop-shadow(0 0 8px #2f7bff);
  animation: sw-arc-flicker 1.1s steps(3) infinite;
}

.sw-arcs path:nth-child(2) { animation-delay: -0.35s; }
.sw-arcs path:nth-child(3) { animation-delay: -0.7s; }
.sw-arcs path:nth-child(4) { animation-delay: -0.2s; }

@keyframes sw-arc-flicker {
  0% { opacity: 1; }
  33% { opacity: 0.15; }
  66% { opacity: 0.85; }
  100% { opacity: 0; }
}

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

.sw-orbit {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 3;
  width: 13.4rem;
  height: 13.4rem;
  margin: -6.7rem 0 0 -6.7rem;
  border: 1px dashed rgba(var(--sw-a-rgb), 0.45);
  border-radius: 50%;
  animation: sw-spin 26s linear infinite;
}

.sw-orbit b {
  position: absolute;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  margin: -0.85rem 0 0 -0.85rem;
  border-radius: 50%;
  background: #020409;
  box-shadow: 0 0 0 1px rgba(var(--sw-a-rgb), 0.7), 0 0 0.8rem rgba(var(--sw-a-rgb), 0.5);
  color: var(--sw-a);
  animation: sw-spin 26s linear infinite reverse;
}

.sw-orbit b svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.sw-orbit b:nth-child(1) { left: 50%; top: 0; }
.sw-orbit b:nth-child(2) { left: 100%; top: 50%; }
.sw-orbit b:nth-child(3) { left: 50%; top: 100%; }
.sw-orbit b:nth-child(4) { left: 0; top: 50%; }

.sw-orbit {
  border: 0;
}

.sw-orbit b svg.sw-cowrie ellipse {
  fill: #f3e2c0;
  stroke: #c9a36a;
  stroke-width: 1;
}

.sw-orbit b svg.sw-cowrie path {
  stroke: #4a2a08;
  stroke-width: 1.8;
  stroke-linecap: round;
}

/* ---------- Colar de miçangas Maasai com búzios ---------- */
.sw-beads {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 3;
  width: 14rem;
  height: 14rem;
  margin: -7rem 0 0 -7rem;
  overflow: visible;
  filter: drop-shadow(0 0.4rem 0.6rem rgba(0, 0, 0, 0.6));
}

.sw-beads__row {
  fill: none;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 0 7.2;
  transform-origin: 100px 100px;
  animation: sw-spin 40s linear infinite;
}

.sw-beads__row--1 { stroke: #c8102e; }
.sw-beads__row--2 { stroke: #f4efe6; animation-direction: reverse; }
.sw-beads__row--3 { stroke: #2f7bff; }
.sw-beads__row--4 { stroke: #f2b705; animation-direction: reverse; }

.sw-beads__drop path {
  stroke: #f4efe6;
  stroke-width: 2;
  stroke-dasharray: 2 2;
}

.sw-beads__drop ellipse {
  fill: #f3e2c0;
  stroke: #4a2a08;
  stroke-width: 1;
}

.sw-queen {
  position: absolute;
  left: 50%;
  top: -1.7rem;
  z-index: 7;
  font-size: 2.2rem;
  line-height: 1;
  translate: -50% 0;
  rotate: -8deg;
  filter: drop-shadow(0 0 0.6rem rgba(242, 183, 5, 0.9)) drop-shadow(0 0.3rem 0.4rem rgba(0, 0, 0, 0.6));
  animation: sw-queen 4s ease-in-out infinite;
}

@keyframes sw-queen {
  0%, 100% { rotate: -8deg; }
  50% { rotate: 6deg; translate: -50% -0.2rem; }
}

.sw-float {
  position: absolute;
  z-index: 6;
  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: 0.8rem; bottom: 0.6rem; font-size: 1.9rem; animation: sw-drum-hit 2s ease-out infinite; }
.sw-float--2 { right: 0.8rem; top: 0.4rem; font-size: 1.6rem; animation-delay: -3s; }

@keyframes sw-drum-hit {
  0%, 30%, 100% { translate: 0 0; rotate: -8deg; scale: 1; }
  5% { translate: 0 0.25rem; rotate: -16deg; scale: 0.9 1.08; }
  11% { translate: 0 -0.1rem; rotate: -6deg; scale: 1; }
  16% { translate: 0 0.18rem; rotate: -13deg; scale: 0.94 1.04; }
  23% { translate: 0 0; rotate: -8deg; scale: 1; }
}

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

.sw-cloud {
  position: absolute;
  z-index: 2;
  height: 1.6rem;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 40%, #2a3f66, #0e1a33 70%);
  box-shadow:
    1rem -0.7rem 0 0.1rem #16294a,
    2.1rem -0.1rem 0 -0.1rem #14233f;
  filter: blur(0.5px);
  animation: sw-cloud-drift 9s ease-in-out infinite alternate;
}

.sw-cloud--1 { left: 0.4rem; top: 0.6rem; width: 3.2rem; }
.sw-cloud--2 { right: 2.8rem; top: 0.1rem; width: 2.6rem; animation-delay: -4s; scale: 0.85; }

@keyframes sw-cloud-drift {
  from { translate: 0 0; }
  to { translate: 1.2rem 0.2rem; }
}

.sw-bolt {
  position: absolute;
  z-index: 3;
  width: 1.4rem;
  height: 3.2rem;
  opacity: 0;
  filter: drop-shadow(0 0 4px #bfe6ff) drop-shadow(0 0 10px #2f7bff);
  animation: sw-bolt-strike 4.6s steps(1) infinite;
}

.sw-bolt path {
  fill: #eaf6ff;
}

.sw-bolt--1 { left: 1.6rem; top: 2rem; }
.sw-bolt--2 { right: 3.6rem; top: 1.4rem; animation-delay: -2.3s; scale: 0.8; }

@keyframes sw-bolt-strike {
  0%, 88%, 100% { opacity: 0; }
  89%, 92%, 95% { opacity: 1; }
  90%, 93.5% { opacity: 0.2; }
}

.sw-rain {
  position: absolute;
  inset: -1rem 0 0;
  z-index: 1;
  background: repeating-linear-gradient(105deg, transparent 0 14px, rgba(124, 194, 255, 0.16) 14px 15px);
  -webkit-mask: radial-gradient(closest-side, #000, transparent);
  mask: radial-gradient(closest-side, #000, transparent);
  animation: sw-rain 0.6s linear infinite;
}

@keyframes sw-rain {
  to { background-position: -12px 34px; }
}

.lm-hero:hover .sw-arcs {
  animation-duration: 2.5s;
}

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

  .sw-arcs {
    inset: -1.2rem;
    width: calc(100% + 2.4rem);
    height: calc(100% + 2.4rem);
  }

  .sw-orbit {
    width: 7.2rem;
    height: 7.2rem;
    margin: -3.6rem 0 0 -3.6rem;
  }

  .sw-orbit b {
    width: 1.1rem;
    height: 1.1rem;
    margin: -0.55rem 0 0 -0.55rem;
  }

  .sw-orbit b svg {
    width: 0.7rem;
    height: 0.7rem;
  }

  .sw-cloud,
  .sw-bolt--2,
  .sw-float--2 {
    display: none;
  }

  .sw-bolt--1 { left: 0; top: 0.4rem; scale: 0.6; }

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

  .sw-queen {
    top: -1rem;
    font-size: 1.2rem;
  }

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

  .sw-beat {
    width: 4.9rem;
    height: 4.9rem;
    margin: -2.45rem 0 0 -2.45rem;
    border-width: 2px;
  }

  .sw-aurora {
    width: 14rem;
    height: 7rem;
  }
}

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

.sw-login-art .sw-orbit {
  top: 7.55rem;
  width: 14.5rem;
  height: 14.5rem;
  margin: -7.25rem 0 0 -7.25rem;
}

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

.sw-login-art .sw-bolt--1 { left: 1.4rem; top: 1.4rem; }
.sw-login-art .sw-bolt--2 { right: 1.6rem; top: 8rem; }
.sw-login-art .sw-cloud--1 { left: 1rem; top: 0.8rem; }
.sw-login-art .sw-cloud--2 { right: 1.4rem; top: 0.6rem; }

.login-modal-aside__title {
  text-transform: uppercase;
  font-size: 1.45rem !important;
  line-height: 1.12 !important;
  text-shadow: 0 0 1.2rem rgba(var(--sw-p-rgb), 0.8) !important;
}

.login-modal-aside::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 5px;
  background: var(--sw-kente);
  background-size: 60px 100%;
  animation: sw-kente-slide 6s linear infinite;
}

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

  .sw-login-art .sw-orbit,
  .sw-login-art .sw-cloud,
  .sw-login-art .sw-bolt--2 {
    display: none;
  }

  .sw-login-art .sw-beads {
    left: auto;
    right: 2.3rem;
    top: 50%;
    width: 7.6rem;
    height: 7.6rem;
    margin: -3.8rem 0 0;
  }

  .sw-login-art .sw-queen {
    top: -1rem;
    font-size: 1.2rem;
  }

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

/* ---------- Age gate ---------- */
.age-gate-modal {
  background:
    radial-gradient(40rem 26rem at 50% 40%, rgba(47, 123, 255, 0.26), transparent 70%),
    var(--sw-mudcloth) 0 0 / 96px 96px,
    rgba(2, 4, 9, 0.93) !important;
}

.age-gate-modal::before { content: "👑" !important; }
.age-gate-modal::after { content: "🥁" !important; }
.age-gate-modal .age-gate-panel::after { content: "🐚" !important; }

.age-gate-modal .age-gate-panel::before {
  background: var(--sw-kente) !important;
  background-size: 60px 100% !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  border-radius: 30px 30px 0 0;
}

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

/* ---------- Ticket ---------- */
.lm-header .lm-ticket {
  --t-bg: #06112a;
}

.lm-ticket__main {
  border-radius: 10px !important;
  box-shadow:
    inset 0 0 0 1px rgba(var(--sw-p-rgb), 0.55),
    0 0 1.2rem rgba(var(--sw-p-rgb), 0.3) !important;
}

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

/* ---------- Marquee ---------- */
.lm-marquee {
  border: 0 !important;
  box-shadow: inset 0 3px 0 #e8b34b, inset 0 -3px 0 #2f7bff;
}

.lm-marquee__item {
  text-transform: uppercase;
  font-size: clamp(0.85rem, 2vw, 1.2rem) !important;
}

.lm-marquee__item:nth-child(even) {
  -webkit-text-stroke: 1px rgba(124, 194, 255, 0.9) !important;
}

/* ---------- Dock ---------- */
.lm-dock__fab {
  border-radius: 22px !important;
}

.lm-dock__fab::after {
  border-radius: 26px !important;
  background: conic-gradient(from var(--fx-angle, 0deg), #bfe6ff, #2f7bff, #020409, #e8b34b, #020409, #bfe6ff) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0) !important;
  padding: 3px;
}

.lm-dock__fab-halo {
  border-radius: 24px !important;
  border-color: rgba(124, 194, 255, 0.85) !important;
}

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

/* ---------- Efeitos (sweet-fx.js) ---------- */
.sw-lightning {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.melon-ambient .sw-lightning {
  position: absolute;
}

.sw-flash {
  position: fixed;
  inset: 0;
  z-index: 2;
  background: radial-gradient(60rem 40rem at var(--fx, 50%) 0%, rgba(191, 230, 255, 0.22), transparent 70%);
  opacity: 0;
  pointer-events: none;
}

.sw-flash.is-on {
  animation: sw-flash 0.55s ease-out;
}

@keyframes sw-flash {
  0% { opacity: 0; }
  10% { opacity: 1; }
  25% { opacity: 0.2; }
  35% { opacity: 0.8; }
  100% { opacity: 0; }
}

.sw-zapcanvas {
  position: fixed;
  inset: 0;
  z-index: 9998;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

: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='%23020409'/><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: "👑 Ebony queens"; }
html:lang(en) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
html:lang(es) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "👑 Reinas de ébano"; }
html:lang(es) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
html:lang(fr) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "👑 Reines d'ébène"; }
html:lang(fr) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
html:lang(de) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "👑 Ebenholz-Königinnen"; }
html:lang(de) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
html:lang(ja) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "👑 Ebony queens"; }
html:lang(ja) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
html:lang(zh) .lm-main .home-feed-intro .home-undress-feed__subtitle::before { content: "👑 Ebony queens"; }
html:lang(zh) .lm-main .home-feed-intro--images .home-undress-feed__subtitle::before { content: "✦ Black is beautiful"; }
