/* ==========================================================
   TuCelebración · Invitaciones modernas
   Scope seguro: editor + single de tc_invitacion.
   No afecta invitaciones manuales ni otras páginas.
========================================================== */

.tc-editor-wrap #tc_preview,
body.tc-invitation-single .tc-inv-card,
body.tc-invitation-single .tc-preview-card {
  --tc-modern-radius: 32px;
  --tc-modern-shadow: 0 40px 100px rgba(0,0,0,.42);
  --tc-modern-glow: rgba(212,175,55,.18);
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  min-height: 680px !important;
  border-radius: var(--tc-modern-radius) !important;
  overflow: hidden !important;
  position: relative !important;
  isolation: isolate !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10),
    var(--tc-modern-shadow),
    0 0 70px var(--tc-modern-glow) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

.tc-editor-wrap #tc_preview:hover,
body.tc-invitation-single .tc-inv-card:hover,
body.tc-invitation-single .tc-preview-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 48px 110px rgba(0,0,0,.50),
    0 0 90px var(--tc-modern-glow) !important;
}

.tc-editor-wrap .tc-preview-col,
body.tc-invitation-single .tc-inv-root,
body.tc-invitation-single .elementor-shortcode {
  display: flex !important;
  justify-content: center !important;
}

body.tc-invitation-single .tc-inv-root {
  width: 100% !important;
  max-width: none !important;
  padding: 28px 16px !important;
  background: transparent !important;
}

.tc-editor-wrap #tc_preview .tc-overlay,
body.tc-invitation-single .tc-inv-card .tc-overlay,
body.tc-invitation-single .tc-preview-card .tc-overlay {
  position: relative !important;
  z-index: 4 !important;
  min-height: 680px !important;
  padding: 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%) !important;
  color: var(--tc-secondary) !important;
}

.tc-editor-wrap #tc_preview .tc-photo-wrap,
body.tc-invitation-single .tc-inv-card .tc-photo-wrap,
body.tc-invitation-single .tc-preview-card .tc-photo-wrap {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  margin: 0 0 22px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.24) !important;
  background: rgba(255,255,255,.07) !important;
  flex-shrink: 0 !important;
}

.tc-editor-wrap #tc_preview .tc-photo-wrap img,
body.tc-invitation-single .tc-inv-card .tc-photo-wrap img,
body.tc-invitation-single .tc-preview-card .tc-photo-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.tc-editor-wrap #tc_preview .tc-chip,
body.tc-invitation-single .tc-inv-card .tc-chip,
body.tc-invitation-single .tc-preview-card .tc-chip {
  display: inline-flex !important;
  align-self: flex-start !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: var(--tc-secondary) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}

.tc-editor-wrap #tc_preview h2,
body.tc-invitation-single .tc-inv-card h1,
body.tc-invitation-single .tc-inv-card h2,
body.tc-invitation-single .tc-preview-card h1,
body.tc-invitation-single .tc-preview-card h2,
body.tc-invitation-single .tc-inv-title {
  margin: 0 0 16px !important;
  color: var(--tc-primary) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(32px, 6vw, 46px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.18) !important;
}

.tc-editor-wrap #tc_preview .tc-line,
body.tc-invitation-single .tc-inv-card .tc-line,
body.tc-invitation-single .tc-preview-card .tc-line {
  margin: 5px 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: var(--tc-secondary) !important;
  opacity: .92 !important;
}

.tc-editor-wrap #tc_preview .tc-line strong,
body.tc-invitation-single .tc-inv-card .tc-line strong,
body.tc-invitation-single .tc-preview-card .tc-line strong {
  color: var(--tc-primary) !important;
  font-weight: 700 !important;
}

.tc-editor-wrap #tc_preview .tc-msg,
body.tc-invitation-single .tc-inv-card .tc-msg,
body.tc-invitation-single .tc-preview-card .tc-msg {
  margin: 18px 0 0 !important;
  padding: 15px 16px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: var(--tc-secondary) !important;
  font-size: 13.5px !important;
  line-height: 1.58 !important;
  box-shadow: none !important;
}

.tc-editor-wrap #tc_preview .tc-preview-extra,
body.tc-invitation-single .tc-inv-card .tc-preview-extra,
body.tc-invitation-single .tc-preview-card .tc-preview-extra,
body.tc-invitation-single .tc-countdown-wrap,
body.tc-invitation-single .tc-map-extra,
body.tc-invitation-single .tc-rsvp-extra {
  margin-top: 18px !important;
}

.tc-editor-wrap #tc_preview .tc-preview-extra-title,
body.tc-invitation-single .tc-inv-card .tc-preview-extra-title,
body.tc-invitation-single .tc-preview-card .tc-preview-extra-title {
  color: var(--tc-primary) !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.tc-editor-wrap #tc_preview .tc-preview-count-grid,
body.tc-invitation-single .tc-countdown-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

.tc-editor-wrap #tc_preview .tc-preview-count-box,
body.tc-invitation-single .tc-countdown-box {
  text-align: center !important;
  padding: 12px 6px !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  backdrop-filter: blur(9px) !important;
  -webkit-backdrop-filter: blur(9px) !important;
}

.tc-editor-wrap #tc_preview .tc-preview-count-box strong,
body.tc-invitation-single .tc-countdown-box strong {
  display: block !important;
  color: var(--tc-primary) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

.tc-editor-wrap #tc_preview .tc-preview-count-box span,
body.tc-invitation-single .tc-countdown-box span {
  display: block !important;
  margin-top: 5px !important;
  color: var(--tc-secondary) !important;
  opacity: .62 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.tc-editor-wrap #tc_preview .tc-preview-map-shell,
body.tc-invitation-single .tc-map-shell {
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.08) !important;
}

.tc-editor-wrap #tc_preview .tc-preview-cta-btn,
.tc-editor-wrap #tc_preview .tc-preview-submit-btn,
body.tc-invitation-single .tc-rsvp-btn,
body.tc-invitation-single .tc-rsvp-submit {
  width: 100% !important;
  margin-top: 14px !important;
  border: 0 !important;
  border-radius: 17px !important;
  padding: 14px 16px !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  color: var(--tc-cta-text, #111827) !important;
  background: linear-gradient(135deg, var(--tc-cta-bg, #ffffff), color-mix(in srgb, var(--tc-primary) 35%, #ffffff)) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.22) !important;
  text-decoration: none !important;
}

/* Capas decorativas agregadas por JS */

.tc-modern-canvas,
.tc-modern-shimmer,
.tc-modern-frame,
.tc-modern-stickers {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  border-radius: inherit !important;
}

.tc-modern-canvas {
  z-index: 1 !important;
  opacity: .72 !important;
}

.tc-modern-shimmer {
  z-index: 2 !important;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.12) 42%, transparent 58%);
  transform: translateX(-130%);
  animation: tcModernShimmer 6.5s ease-in-out infinite;
  mix-blend-mode: screen;
}

.tc-modern-frame {
  z-index: 3 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 0 45px rgba(255,255,255,.045);
}

.tc-modern-stickers {
  z-index: 2 !important;
}

.tc-modern-stickers::before,
.tc-modern-stickers::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  opacity: .62;
  filter: blur(.1px);
  background:
    radial-gradient(circle at 30% 30%, var(--tc-primary), transparent 9%),
    radial-gradient(circle at 70% 28%, rgba(255,255,255,.6), transparent 8%),
    radial-gradient(circle at 42% 72%, var(--tc-primary), transparent 7%);
}

.tc-modern-stickers::before {
  top: 14px;
  right: -52px;
  transform: rotate(18deg);
}

.tc-modern-stickers::after {
  left: -58px;
  bottom: 18px;
  transform: rotate(-18deg);
}

/* Templates modernos */

.tc-editor-wrap #tc_preview.tc-template-noche_dorada,
body.tc-invitation-single.tc-template-noche_dorada .tc-inv-card,
body.tc-invitation-single.tc-template-noche_dorada .tc-preview-card {
  --tc-primary: #d4af37;
  --tc-secondary: #ffffff;
  --tc-modern-glow: rgba(212,175,55,.22);
  background:
    radial-gradient(circle at 18% 8%, rgba(212,175,55,.20), transparent 30%),
    linear-gradient(160deg, #0b0e15 0%, #191d29 52%, #080a10 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-oro_ceremonial,
body.tc-invitation-single.tc-template-oro_ceremonial .tc-inv-card,
body.tc-invitation-single.tc-template-oro_ceremonial .tc-preview-card {
  --tc-primary: #f1c75b;
  --tc-secondary: #fffaf0;
  --tc-modern-glow: rgba(241,199,91,.22);
  background:
    radial-gradient(circle at 80% 12%, rgba(241,199,91,.18), transparent 34%),
    linear-gradient(160deg, #111827 0%, #1f2937 56%, #06080d 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-velvet_romance,
body.tc-invitation-single.tc-template-velvet_romance .tc-inv-card,
body.tc-invitation-single.tc-template-velvet_romance .tc-preview-card {
  --tc-primary: #f2c5d2;
  --tc-secondary: #fff7fb;
  --tc-modern-glow: rgba(242,197,210,.20);
  background:
    radial-gradient(circle at 82% 12%, rgba(242,197,210,.18), transparent 34%),
    linear-gradient(160deg, #36091a 0%, #5b1730 54%, #220611 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-bosque_imperial,
body.tc-invitation-single.tc-template-bosque_imperial .tc-inv-card,
body.tc-invitation-single.tc-template-bosque_imperial .tc-preview-card {
  --tc-primary: #c7a45b;
  --tc-secondary: #f6fff9;
  --tc-modern-glow: rgba(93,160,122,.20);
  background:
    radial-gradient(circle at 18% 10%, rgba(199,164,91,.18), transparent 34%),
    linear-gradient(160deg, #081612 0%, #17372d 54%, #06110e 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-perla_rose,
body.tc-invitation-single.tc-template-perla_rose .tc-inv-card,
body.tc-invitation-single.tc-template-perla_rose .tc-preview-card {
  --tc-primary: #b76f86;
  --tc-secondary: #422935;
  --tc-modern-glow: rgba(183,111,134,.18);
  background:
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.70), transparent 34%),
    linear-gradient(180deg, #fff8fb 0%, #f3e3ea 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-jardin_luz,
body.tc-invitation-single.tc-template-jardin_luz .tc-inv-card,
body.tc-invitation-single.tc-template-jardin_luz .tc-preview-card {
  --tc-primary: #a27b37;
  --tc-secondary: #40382f;
  --tc-modern-glow: rgba(162,123,55,.16);
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.72), transparent 34%),
    linear-gradient(180deg, #fbf7ef 0%, #eee4d3 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-aurora_pastel,
body.tc-invitation-single.tc-template-aurora_pastel .tc-inv-card,
body.tc-invitation-single.tc-template-aurora_pastel .tc-preview-card {
  --tc-primary: #a875d6;
  --tc-secondary: #3f3452;
  --tc-modern-glow: rgba(168,117,214,.18);
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.78), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(180,215,255,.55), transparent 36%),
    linear-gradient(180deg, #fff6fb 0%, #eef7ff 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-cielo_de_nacar,
body.tc-invitation-single.tc-template-cielo_de_nacar .tc-inv-card,
body.tc-invitation-single.tc-template-cielo_de_nacar .tc-preview-card {
  --tc-primary: #7f96ad;
  --tc-secondary: #2f3b48;
  --tc-modern-glow: rgba(127,150,173,.18);
  background:
    radial-gradient(circle at 80% 8%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #e8eff7 100%) !important;
}

.tc-editor-wrap #tc_preview.tc-template-marfil_nocturno,
body.tc-invitation-single.tc-template-marfil_nocturno .tc-inv-card,
body.tc-invitation-single.tc-template-marfil_nocturno .tc-preview-card {
  --tc-primary: #9f7c46;
  --tc-secondary: #372f26;
  --tc-modern-glow: rgba(159,124,70,.16);
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.70), transparent 34%),
    linear-gradient(180deg, #faf6ef 0%, #e8dccb 100%) !important;
}

/* En templates claros, suavizamos bloques translúcidos */

.tc-editor-wrap #tc_preview.tc-template-perla_rose .tc-msg,
.tc-editor-wrap #tc_preview.tc-template-jardin_luz .tc-msg,
.tc-editor-wrap #tc_preview.tc-template-aurora_pastel .tc-msg,
.tc-editor-wrap #tc_preview.tc-template-cielo_de_nacar .tc-msg,
.tc-editor-wrap #tc_preview.tc-template-marfil_nocturno .tc-msg,
body.tc-invitation-single.tc-template-perla_rose .tc-msg,
body.tc-invitation-single.tc-template-jardin_luz .tc-msg,
body.tc-invitation-single.tc-template-aurora_pastel .tc-msg,
body.tc-invitation-single.tc-template-cielo_de_nacar .tc-msg,
body.tc-invitation-single.tc-template-marfil_nocturno .tc-msg {
  background: rgba(255,255,255,.45) !important;
  border-color: rgba(0,0,0,.07) !important;
}

/* Animaciones */

@keyframes tcModernShimmer {
  0%, 38% {
    transform: translateX(-130%);
    opacity: 0;
  }

  48% {
    opacity: 1;
  }

  62%, 100% {
    transform: translateX(130%);
    opacity: 0;
  }
}

@media (max-width: 900px) {
  .tc-editor-wrap #tc_preview,
  body.tc-invitation-single .tc-inv-card,
  body.tc-invitation-single .tc-preview-card {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    min-height: 640px !important;
  }

  .tc-editor-wrap #tc_preview .tc-overlay,
  body.tc-invitation-single .tc-inv-card .tc-overlay,
  body.tc-invitation-single .tc-preview-card .tc-overlay {
    min-height: 640px !important;
    padding: 24px 20px !important;
  }
}

@media (max-width: 480px) {
  .tc-editor-wrap #tc_preview,
  body.tc-invitation-single .tc-inv-card,
  body.tc-invitation-single .tc-preview-card {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 620px !important;
    border-radius: 26px !important;
  }

  .tc-editor-wrap #tc_preview .tc-overlay,
  body.tc-invitation-single .tc-inv-card .tc-overlay,
  body.tc-invitation-single .tc-preview-card .tc-overlay {
    min-height: 620px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tc-modern-shimmer,
  .tc-modern-canvas {
    display: none !important;
  }
}

/* ==========================================================
   Fallback visual para efectos/stickers premium
   Se activa aunque tc-premium.js no refresque correctamente.
========================================================== */

.tc-editor-wrap #tc_preview .tc-premium-fx-layer,
body.tc-invitation-single .tc-inv-card .tc-premium-fx-layer,
body.tc-invitation-single .tc-preview-card .tc-premium-fx-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  border-radius: inherit !important;
}

.tc-editor-wrap #tc_preview .tc-premium-fx-layer::before,
.tc-editor-wrap #tc_preview .tc-premium-fx-layer::after,
body.tc-invitation-single .tc-inv-card .tc-premium-fx-layer::before,
body.tc-invitation-single .tc-inv-card .tc-premium-fx-layer::after,
body.tc-invitation-single .tc-preview-card .tc-premium-fx-layer::before,
body.tc-invitation-single .tc-preview-card .tc-premium-fx-layer::after {
  content: "" !important;
  position: absolute !important;
  inset: -20% !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

/* Destellos */

.tc-editor-wrap #tc_preview .tc-fx-sparkles::before,
.tc-editor-wrap #tc_preview .tc-fx-auto::before,
body.tc-invitation-single .tc-inv-card .tc-fx-sparkles::before,
body.tc-invitation-single .tc-inv-card .tc-fx-auto::before,
body.tc-invitation-single .tc-preview-card .tc-fx-sparkles::before,
body.tc-invitation-single .tc-preview-card .tc-fx-auto::before {
  background:
    radial-gradient(circle at 12% 22%, var(--tc-primary) 0 2px, transparent 3px),
    radial-gradient(circle at 32% 68%, rgba(255,255,255,.75) 0 2px, transparent 3px),
    radial-gradient(circle at 58% 28%, var(--tc-primary) 0 2px, transparent 3px),
    radial-gradient(circle at 76% 74%, rgba(255,255,255,.65) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 18%, var(--tc-primary) 0 2px, transparent 3px);
  animation: tcFxFloat 8s linear infinite;
}

/* Estrellas */

.tc-editor-wrap #tc_preview .tc-fx-stars::before,
body.tc-invitation-single .tc-inv-card .tc-fx-stars::before,
body.tc-invitation-single .tc-preview-card .tc-fx-stars::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.8) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 28%, rgba(255,255,255,.65) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 16%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 52%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 26% 78%, rgba(255,255,255,.65) 0 1px, transparent 2px);
  animation: tcFxTwinkle 3.5s ease-in-out infinite;
}

/* Burbujas */

.tc-editor-wrap #tc_preview .tc-fx-bubbles::before,
body.tc-invitation-single .tc-inv-card .tc-fx-bubbles::before,
body.tc-invitation-single .tc-preview-card .tc-fx-bubbles::before {
  background:
    radial-gradient(circle at 18% 85%, transparent 0 6px, rgba(255,255,255,.35) 7px, transparent 8px),
    radial-gradient(circle at 38% 92%, transparent 0 4px, var(--tc-primary) 5px, transparent 6px),
    radial-gradient(circle at 72% 86%, transparent 0 7px, rgba(255,255,255,.30) 8px, transparent 9px),
    radial-gradient(circle at 88% 96%, transparent 0 5px, var(--tc-primary) 6px, transparent 7px);
  animation: tcFxFloat 7s linear infinite;
}

/* Pétalos */

.tc-editor-wrap #tc_preview .tc-fx-petals::before,
body.tc-invitation-single .tc-inv-card .tc-fx-petals::before,
body.tc-invitation-single .tc-preview-card .tc-fx-petals::before {
  background:
    radial-gradient(ellipse at 16% 80%, var(--tc-primary) 0 4px, transparent 5px),
    radial-gradient(ellipse at 44% 92%, rgba(255,255,255,.55) 0 4px, transparent 5px),
    radial-gradient(ellipse at 74% 84%, var(--tc-primary) 0 4px, transparent 5px),
    radial-gradient(ellipse at 88% 96%, rgba(255,255,255,.48) 0 4px, transparent 5px);
  animation: tcFxPetals 8s linear infinite;
}

/* Luciérnagas */

.tc-editor-wrap #tc_preview .tc-fx-fireflies::before,
body.tc-invitation-single .tc-inv-card .tc-fx-fireflies::before,
body.tc-invitation-single .tc-preview-card .tc-fx-fireflies::before {
  background:
    radial-gradient(circle at 20% 70%, var(--tc-primary) 0 3px, transparent 12px),
    radial-gradient(circle at 48% 38%, rgba(255,255,255,.75) 0 2px, transparent 10px),
    radial-gradient(circle at 72% 62%, var(--tc-primary) 0 3px, transparent 13px),
    radial-gradient(circle at 86% 24%, rgba(255,255,255,.65) 0 2px, transparent 10px);
  animation: tcFxFireflies 4s ease-in-out infinite alternate;
}

.tc-editor-wrap #tc_preview .tc-fx-none,
body.tc-invitation-single .tc-inv-card .tc-fx-none,
body.tc-invitation-single .tc-preview-card .tc-fx-none {
  display: none !important;
}

/* Stickers */

.tc-editor-wrap #tc_preview .tc-stickers-layer,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer::before,
.tc-editor-wrap #tc_preview .tc-stickers-layer::after,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer::before,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer::after,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer::before,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer::after {
  position: absolute !important;
  color: var(--tc-primary) !important;
  text-shadow: 0 0 22px currentColor !important;
  opacity: .55 !important;
  line-height: 1 !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="elegante"]::before,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="elegante"]::before,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="elegante"]::before {
  content: "✦" !important;
  top: 28px !important;
  right: 28px !important;
  font-size: 34px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="elegante"]::after,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="elegante"]::after,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="elegante"]::after {
  content: "✧" !important;
  bottom: 42px !important;
  left: 28px !important;
  font-size: 28px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="flores"]::before,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="flores"]::before,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="flores"]::before {
  content: "✿" !important;
  top: 26px !important;
  right: 26px !important;
  font-size: 38px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="flores"]::after,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="flores"]::after,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="flores"]::after {
  content: "❀" !important;
  bottom: 38px !important;
  left: 26px !important;
  font-size: 32px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="corazones"]::before,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="corazones"]::before,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="corazones"]::before {
  content: "♡" !important;
  top: 28px !important;
  right: 28px !important;
  font-size: 42px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="corazones"]::after,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="corazones"]::after,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="corazones"]::after {
  content: "♡" !important;
  bottom: 40px !important;
  left: 28px !important;
  font-size: 30px !important;
}

.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="none"]::before,
.tc-editor-wrap #tc_preview .tc-stickers-layer[data-sticker="none"]::after,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="none"]::before,
body.tc-invitation-single .tc-inv-card .tc-stickers-layer[data-sticker="none"]::after,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="none"]::before,
body.tc-invitation-single .tc-preview-card .tc-stickers-layer[data-sticker="none"]::after {
  display: none !important;
}

/* Animaciones */

@keyframes tcFxFloat {
  from {
    transform: translateY(28px);
  }

  to {
    transform: translateY(-44px);
  }
}

@keyframes tcFxTwinkle {
  0%, 100% {
    opacity: .25;
  }

  50% {
    opacity: .85;
  }
}

@keyframes tcFxPetals {
  from {
    transform: translateY(-20px) rotate(0deg);
  }

  to {
    transform: translateY(-90px) rotate(18deg);
  }
}

@keyframes tcFxFireflies {
  from {
    opacity: .25;
    transform: scale(.98);
  }

  to {
    opacity: .85;
    transform: scale(1.03);
  }
}





