/* ============================================================
   ADDON ACTIVO · tc-hotfixes.css v1.6.4
   Continuidad visual en páginas 2987/3020.
   Nota: la clase data-jcl-tc-template se sincroniza por JS.
   ============================================================ */
/* ============================================================
   TuCelebración · Hotfixes v1.6.1
   Se carga después de tc-design-system.css.
   ============================================================ */

/* Constructor de itinerario: evita que mensaje e ícono se superpongan
   cuando la columna del editor es angosta, incluso en escritorio. */
.tc-itinerary-builder-row{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr) 38px!important;
  grid-template-areas:
    "time message remove"
    "icon icon remove"!important;
  gap:9px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  padding:10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  box-sizing:border-box!important;
}
.tc-itinerary-builder-row .tc-itinerary-time-input{grid-area:time!important}
.tc-itinerary-builder-row .tc-itinerary-message-input{grid-area:message!important}
.tc-itinerary-builder-row .tc-itinerary-icon-input{grid-area:icon!important}
.tc-itinerary-builder-row .tc-remove-itinerary-item{grid-area:remove!important}

.tc-itinerary-builder-row input,
.tc-itinerary-builder-row select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid #cbd5e1!important;
  border-radius:11px!important;
  background:#ffffff!important;
  color:#172033!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  position:relative!important;
  z-index:1!important;
}
.tc-itinerary-builder-row input::placeholder{color:#8490a3!important;opacity:1!important}
.tc-itinerary-builder-row input:focus,
.tc-itinerary-builder-row select:focus{
  outline:none!important;
  border-color:#86bfa3!important;
  box-shadow:0 0 0 3px rgba(134,191,163,.18)!important;
  z-index:2!important;
}
.tc-itinerary-builder-row .tc-remove-itinerary-item{
  width:38px!important;
  height:100%!important;
  min-height:42px!important;
  align-self:stretch!important;
}

@media (max-width:640px){
  .tc-itinerary-builder-row{
    grid-template-columns:minmax(0,1fr) 40px!important;
    grid-template-areas:
      "time remove"
      "message remove"
      "icon remove"!important;
  }
}

/* Tarjeta de reseña: solo aparece en la cuenta del propietario. */
.jcl-tc-review-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:24px 0;
  padding:20px;
  border:1px solid #dfe6ee;
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f4f8f6);
  box-shadow:0 12px 30px rgba(15,23,42,.07);
}
.jcl-tc-review-card>div{display:grid;gap:5px}
.jcl-tc-review-card strong{color:#172033;font-size:16px;line-height:1.3}
.jcl-tc-review-card span{color:#64748b;font-size:13px;line-height:1.5}
.jcl-tc-review-card a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:12px;
  background:#172033;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  white-space:nowrap;
}
.jcl-tc-review-card a:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.18)}

@media (max-width:640px){
  .jcl-tc-review-card{align-items:stretch;flex-direction:column}
  .jcl-tc-review-card a{width:100%}
}

/* ============================================================
   TuCelebración · Hotfixes v1.6.2
   Contraste claro, continuidad del fondo y preview centrado.
   ============================================================ */

/* Contraste reforzado para templates claros o marfil. La regla anterior
   quedaba por debajo de selectores heredados del módulo de eventos. */
#tc_preview.tc-template-marfil_nocturno .tc-event-module,
#tc_preview.tc-template-jardin_luz .tc-event-module,
#tc_preview.tc-template-perla_rose .tc-event-module,
#tc_preview.tc-template-aurora_pastel .tc-event-module,
#tc_preview.tc-template-cielo_de_nacar .tc-event-module,
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-event-module,
.tc-full-preview-stage #tc_preview.tc-template-jardin_luz .tc-event-module,
.tc-full-preview-stage #tc_preview.tc-template-perla_rose .tc-event-module,
.tc-full-preview-stage #tc_preview.tc-template-aurora_pastel .tc-event-module,
.tc-full-preview-stage #tc_preview.tc-template-cielo_de_nacar .tc-event-module,
body.tc-template-marfil_nocturno .tc-event-module,
body.tc-template-jardin_luz .tc-event-module,
body.tc-template-perla_rose .tc-event-module,
body.tc-template-aurora_pastel .tc-event-module,
body.tc-template-cielo_de_nacar .tc-event-module{
  --tc-icon-color:rgba(23,31,43,.88)!important;
  --tc-module-icon-color:rgba(23,31,43,.88)!important;
}

#tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon,
#tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker,
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon,
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker,
body.tc-template-marfil_nocturno .tc-module-heading-icon,
body.tc-template-marfil_nocturno .tc-itinerary-marker{
  color:rgba(23,31,43,.88)!important;
}

#tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon svg,
#tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker svg,
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon svg,
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker svg,
body.tc-template-marfil_nocturno .tc-module-heading-icon svg,
body.tc-template-marfil_nocturno .tc-itinerary-marker svg{
  color:inherit!important;
}

#tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon svg [stroke],
#tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker svg [stroke],
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-module-heading-icon svg [stroke],
.tc-full-preview-stage #tc_preview.tc-template-marfil_nocturno .tc-itinerary-marker svg [stroke],
body.tc-template-marfil_nocturno .tc-module-heading-icon svg [stroke],
body.tc-template-marfil_nocturno .tc-itinerary-marker svg [stroke]{
  stroke:currentColor!important;
}

/* Los wrappers del tema/Elementor no deben pintar un rectángulo blanco sobre
   el fondo dinámico que ya aplica el configurador según el template. */
body.page-id-2987 #page,
body.page-id-3020 #page,
body.page-id-2987 #content,
body.page-id-3020 #content,
body.page-id-2987 .site-content,
body.page-id-3020 .site-content,
body.page-id-2987 .ast-container,
body.page-id-3020 .ast-container,
body.page-id-2987 .content-area,
body.page-id-3020 .content-area,
body.page-id-2987 .site-main,
body.page-id-3020 .site-main,
body.page-id-2987 article.page,
body.page-id-3020 article.page,
body.page-id-2987 .entry-content,
body.page-id-3020 .entry-content,
body.page-id-2987 .elementor,
body.page-id-3020 .elementor,
body.page-id-2987 .elementor-location-single,
body.page-id-3020 .elementor-location-single{
  background:transparent!important;
}

/* Centrado estable de la invitación dentro de la vista previa completa. */
.tc-full-preview-scroll{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  align-items:start!important;
}
.tc-full-preview-stage{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin-inline:auto!important;
  justify-self:center!important;
}
.tc-full-preview-stage #tc_preview{
  display:block!important;
  margin-inline:auto!important;
  transform-origin:top center!important;
}

/* En móvil deja el mismo margen visual a ambos lados. */
@media (max-width:767px){
  .tc-full-preview-scroll{
    padding-inline:16px!important;
  }
  .tc-full-preview-stage{
    width:min(430px,calc(100vw - 32px))!important;
  }
}

/* Oculta prompts de instalación propios o de terceros solo en las páginas
   excluidas; no altera la PWA en el resto del sitio. */
body.jcl-tc-pwa-excluded .superpwa-installable,
body.jcl-tc-pwa-excluded .superpwa-banner,
body.jcl-tc-pwa-excluded .pwa-install-banner,
body.jcl-tc-pwa-excluded [data-pwa-install],
body.jcl-tc-pwa-excluded #pwa-install-banner{
  display:none!important;
}

/* ============================================================
   TuCelebración · Hotfixes v1.6.3
   Regalos: datos de pago con acción de copia clara y consistente.
   ============================================================ */
.tc-bank-card,
.tc-preview-payment-data.is-jcl-copy-ready{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--tc-icon-color,currentColor) 4%,transparent)!important;
}

.tc-bank-card>.jcl-tc-payment-row,
.tc-preview-payment-data>.jcl-tc-payment-row{
  display:grid!important;
  grid-template-columns:minmax(74px,.8fr) minmax(0,1.45fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid color-mix(in srgb,var(--tc-icon-color,currentColor) 12%,transparent)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--tc-icon-color,currentColor) 6%,transparent)!important;
  box-sizing:border-box!important;
}

.tc-bank-card>.jcl-tc-payment-row span,
.tc-preview-payment-data>.jcl-tc-payment-row span{
  min-width:0!important;
  color:inherit!important;
  font-size:.68em!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  line-height:1.25!important;
  opacity:.72!important;
  text-transform:uppercase!important;
}

.tc-bank-card>.jcl-tc-payment-row strong,
.tc-preview-payment-data>.jcl-tc-payment-row strong{
  min-width:0!important;
  color:inherit!important;
  font-size:.88em!important;
  font-weight:800!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}

.tc-bank-card .jcl-tc-copy-btn,
.tc-preview-payment-data .jcl-tc-copy-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  min-width:64px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 12px!important;
  border:1px solid color-mix(in srgb,var(--tc-icon-color,currentColor) 25%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--tc-icon-color,currentColor) 8%,transparent)!important;
  color:inherit!important;
  font-size:.74em!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .16s ease,background-color .2s ease,border-color .2s ease,color .2s ease!important;
}

.tc-bank-card .jcl-tc-copy-btn:hover,
.tc-preview-payment-data .jcl-tc-copy-btn:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb,var(--tc-icon-color,currentColor) 14%,transparent)!important;
}

.tc-bank-card .jcl-tc-copy-btn.is-copied,
.tc-preview-payment-data .jcl-tc-copy-btn.is-copied{
  border-color:var(--tc-primary,#d4af37)!important;
  background:var(--tc-primary,#d4af37)!important;
  color:#111827!important;
}
.tc-bank-card .jcl-tc-copy-btn.is-copied::after,
.tc-preview-payment-data .jcl-tc-copy-btn.is-copied::after{
  content:" ✓";
  margin-left:3px;
}

@media (max-width:480px){
  .tc-bank-card>.jcl-tc-payment-row,
  .tc-preview-payment-data>.jcl-tc-payment-row{
    grid-template-columns:minmax(62px,.7fr) minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:9px!important;
  }
  .tc-bank-card .jcl-tc-copy-btn,
  .tc-preview-payment-data .jcl-tc-copy-btn{
    min-width:58px!important;
    padding-inline:9px!important;
  }
}

/* ============================================================
   TuCelebración · Hotfixes v1.6.4
   Continuidad visual: fondo dinámico en laterales y tutorial.
   ============================================================ */

/* El configurador conserva padding interno, pero su fondo llega hasta ambos
   bordes. Se elimina el margen blanco creado por el ancho calc(100% - 28px). */
body.page-id-2987 .tc-editor-canvas-mode,
body.page-id-3020 .tc-editor-canvas-mode{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px max(8px,env(safe-area-inset-right)) 28px max(8px,env(safe-area-inset-left))!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

/* Paleta del fondo exterior. La clase se sincroniza con #tc_preview mediante
   tc-page-theme-sync.js, por lo que cambia al instante al elegir template. */
body.page-id-2987,
body.page-id-3020{
  --jcl-tc-page-bg:#f5f2ec;
  --jcl-tc-page-text:#172033;
  --jcl-tc-page-muted:#5f6877;
}

body.page-id-2987[data-jcl-tc-template="noche_dorada"],
body.page-id-3020[data-jcl-tc-template="noche_dorada"]{
  --jcl-tc-page-bg:radial-gradient(circle at 18% 8%,rgba(212,175,55,.20),transparent 30%),linear-gradient(160deg,#0b0e15 0%,#191d29 52%,#080a10 100%);
}
body.page-id-2987[data-jcl-tc-template="oro_ceremonial"],
body.page-id-3020[data-jcl-tc-template="oro_ceremonial"]{
  --jcl-tc-page-bg:radial-gradient(circle at 80% 12%,rgba(241,199,91,.18),transparent 34%),linear-gradient(160deg,#111827 0%,#1f2937 56%,#06080d 100%);
}
body.page-id-2987[data-jcl-tc-template="velvet_romance"],
body.page-id-3020[data-jcl-tc-template="velvet_romance"]{
  --jcl-tc-page-bg:radial-gradient(circle at 82% 12%,rgba(242,197,210,.18),transparent 34%),linear-gradient(160deg,#36091a 0%,#5b1730 54%,#220611 100%);
}
body.page-id-2987[data-jcl-tc-template="bosque_imperial"],
body.page-id-3020[data-jcl-tc-template="bosque_imperial"]{
  --jcl-tc-page-bg:radial-gradient(circle at 18% 10%,rgba(199,164,91,.18),transparent 34%),linear-gradient(160deg,#081612 0%,#17372d 54%,#06110e 100%);
}
body.page-id-2987[data-jcl-tc-template="marfil_nocturno"],
body.page-id-3020[data-jcl-tc-template="marfil_nocturno"]{
  --jcl-tc-page-bg:radial-gradient(circle at 18% 8%,rgba(255,255,255,.70),transparent 34%),linear-gradient(180deg,#faf6ef 0%,#e8dccb 100%);
}
body.page-id-2987[data-jcl-tc-template="perla_rose"],
body.page-id-3020[data-jcl-tc-template="perla_rose"]{
  --jcl-tc-page-bg:radial-gradient(circle at 80% 10%,rgba(255,255,255,.70),transparent 34%),linear-gradient(180deg,#fff8fb 0%,#f3e3ea 100%);
}
body.page-id-2987[data-jcl-tc-template="jardin_luz"],
body.page-id-3020[data-jcl-tc-template="jardin_luz"]{
  --jcl-tc-page-bg:radial-gradient(circle at 14% 10%,rgba(255,255,255,.72),transparent 34%),linear-gradient(180deg,#fbf7ef 0%,#eee4d3 100%);
}
body.page-id-2987[data-jcl-tc-template="aurora_pastel"],
body.page-id-3020[data-jcl-tc-template="aurora_pastel"]{
  --jcl-tc-page-bg: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%);
}
body.page-id-2987[data-jcl-tc-template="cielo_de_nacar"],
body.page-id-3020[data-jcl-tc-template="cielo_de_nacar"]{
  --jcl-tc-page-bg:radial-gradient(circle at 80% 8%,rgba(255,255,255,.82),transparent 34%),linear-gradient(180deg,#f8fbff 0%,#e8eff7 100%);
}
body.page-id-2987[data-jcl-tc-template="clasico"],
body.page-id-3020[data-jcl-tc-template="clasico"]{
  --jcl-tc-page-bg:radial-gradient(circle at 75% 14%,rgba(217,180,92,.14),transparent 32%),linear-gradient(160deg,#10141d,#07090f 72%);
}
body.page-id-2987[data-jcl-tc-template="moderno"],
body.page-id-3020[data-jcl-tc-template="moderno"]{
  --jcl-tc-page-bg:radial-gradient(circle at 20% 20%,rgba(194,123,31,.28),transparent 40%),linear-gradient(160deg,#15100d,#090b10 70%);
}
body.page-id-2987[data-jcl-tc-template="elegante"],
body.page-id-3020[data-jcl-tc-template="elegante"]{
  --jcl-tc-page-bg:radial-gradient(circle at 78% 12%,rgba(239,228,200,.12),transparent 34%),linear-gradient(160deg,#171717,#070707 72%);
}

body.page-id-2987.jcl-tc-editor-theme-dark,
body.page-id-3020.jcl-tc-editor-theme-dark{
  --jcl-tc-page-text:#f8fafc;
  --jcl-tc-page-muted:rgba(241,245,249,.76);
}

/* Un solo fondo exterior; los wrappers internos permanecen transparentes para
   evitar cortes o reinicios del degradado. */
body.page-id-2987.jcl-tc-editor-page-themed,
body.page-id-3020.jcl-tc-editor-page-themed,
body.page-id-2987.jcl-tc-editor-page-themed #page,
body.page-id-3020.jcl-tc-editor-page-themed #page{
  background:var(--jcl-tc-page-bg)!important;
  background-attachment:fixed!important;
}

body.page-id-2987.jcl-tc-editor-page-themed #content,
body.page-id-3020.jcl-tc-editor-page-themed #content,
body.page-id-2987.jcl-tc-editor-page-themed .site-content,
body.page-id-3020.jcl-tc-editor-page-themed .site-content,
body.page-id-2987.jcl-tc-editor-page-themed .ast-container,
body.page-id-3020.jcl-tc-editor-page-themed .ast-container,
body.page-id-2987.jcl-tc-editor-page-themed .content-area,
body.page-id-3020.jcl-tc-editor-page-themed .content-area,
body.page-id-2987.jcl-tc-editor-page-themed .site-main,
body.page-id-3020.jcl-tc-editor-page-themed .site-main,
body.page-id-2987.jcl-tc-editor-page-themed article.page,
body.page-id-3020.jcl-tc-editor-page-themed article.page,
body.page-id-2987.jcl-tc-editor-page-themed .entry-content,
body.page-id-3020.jcl-tc-editor-page-themed .entry-content{
  background:transparent!important;
}

/* El tutorial permanece después del configurador, pero ahora forma parte del
   mismo fondo y adapta título/descripción al contraste del template. */
body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos{
  margin-top:0!important;
  padding-top:34px!important;
  color:var(--jcl-tc-page-text)!important;
}
body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos + p{
  color:var(--jcl-tc-page-muted)!important;
}
body.page-id-2987.jcl-tc-editor-page-themed .cta_inv_per{
  margin:0!important;
  padding:4px 16px 38px!important;
  background:transparent!important;
}

/* Mantiene el tutorial legible sobre cualquier tema y evita que Gutenberg
   pinte una banda propia alrededor del bloque. */
body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos,
body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos + p,
body.page-id-2987.jcl-tc-editor-page-themed .cta_inv_per{
  position:relative;
  z-index:2;
}

@media (max-width:767px){
  body.page-id-2987 .tc-editor-canvas-mode,
  body.page-id-3020 .tc-editor-canvas-mode{
    padding:8px 4px 20px!important;
  }
  body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos{
    padding-inline:16px!important;
    padding-top:26px!important;
  }
  body.page-id-2987.jcl-tc-editor-page-themed #h-disena-tu-invitacion-digital-en-minutos + p{
    padding-inline:18px!important;
  }
}

/* ============================================================
   TuCelebración · Hotfixes v1.6.5
   Alineación precisa del itinerario y del punto del template.
   ============================================================ */

/* Línea temporal: el conector toma como referencia el centro real del
   marcador. Se usa un círculo de 40px con box-sizing border-box y una
   columna del mismo ancho, evitando el desfase provocado por el borde. */
.tc-itinerary-list li{
  grid-template-columns:40px minmax(0,1fr)!important;
  column-gap:12px!important;
}

.tc-itinerary-marker{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
  margin:0!important;
  align-self:start!important;
  justify-self:center!important;
}

.tc-itinerary-list li:not(:last-child)::after{
  left:20px!important;
  top:40px!important;
  bottom:0!important;
  width:1px!important;
  transform:translateX(-50%)!important;
  transform-origin:center!important;
}

/* Evita que reglas heredadas muevan el SVG dentro del círculo. */
.tc-itinerary-marker > svg,
.tc-itinerary-marker .tc-itinerary-icon{
  position:static!important;
  display:block!important;
  width:21px!important;
  height:21px!important;
  margin:auto!important;
  align-self:center!important;
  justify-self:center!important;
  transform:none!important;
  flex:none!important;
}

/* Chip del template: punto y texto comparten el mismo eje vertical. */
.tc-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  line-height:1!important;
}

.tc-chip::before{
  position:static!important;
  inset:auto!important;
  display:block!important;
  flex:0 0 6px!important;
  align-self:center!important;
  width:6px!important;
  height:6px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  transform:none!important;
  box-sizing:border-box!important;
}

/* ============================================================
   TuCelebración · Hotfixes v2.0.2
   Constructor de itinerario en panel angosto de escritorio e iconos.
   Este bloque se mantiene al final porque el addon se carga después
   de los estilos del plugin principal.
   ============================================================ */

/* En escritorio el viewport es ancho, pero el panel del editor sigue
   midiendo cerca de 360px. Por eso no sirve decidir el layout solo por
   el ancho de la ventana: apilamos los tres campos dentro de cada fila. */
@media (min-width:769px){
  body.jcl-tc-v2 .tc-panel .tc-itinerary-builder-row,
  body.page-id-2987 .tc-panel .tc-itinerary-builder-row,
  body.page-id-3020 .tc-panel .tc-itinerary-builder-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:
      "time remove"
      "message remove"
      "icon remove"!important;
    gap:8px!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.jcl-tc-v2 .tc-panel .tc-itinerary-time-input,
  body.page-id-2987 .tc-panel .tc-itinerary-time-input,
  body.page-id-3020 .tc-panel .tc-itinerary-time-input{
    grid-area:time!important;
  }

  body.jcl-tc-v2 .tc-panel .tc-itinerary-message-input,
  body.page-id-2987 .tc-panel .tc-itinerary-message-input,
  body.page-id-3020 .tc-panel .tc-itinerary-message-input{
    grid-area:message!important;
  }

  body.jcl-tc-v2 .tc-panel .tc-itinerary-icon-input,
  body.page-id-2987 .tc-panel .tc-itinerary-icon-input,
  body.page-id-3020 .tc-panel .tc-itinerary-icon-input{
    grid-area:icon!important;
  }

  body.jcl-tc-v2 .tc-panel .tc-itinerary-builder-row input,
  body.jcl-tc-v2 .tc-panel .tc-itinerary-builder-row select,
  body.page-id-2987 .tc-panel .tc-itinerary-builder-row input,
  body.page-id-2987 .tc-panel .tc-itinerary-builder-row select,
  body.page-id-3020 .tc-panel .tc-itinerary-builder-row input,
  body.page-id-3020 .tc-panel .tc-itinerary-builder-row select{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:9px 11px!important;
    overflow:visible!important;
    text-overflow:clip!important;
    opacity:1!important;
    color:#172033!important;
    -webkit-text-fill-color:#172033!important;
    box-sizing:border-box!important;
  }

  body.jcl-tc-v2 .tc-panel .tc-itinerary-builder-row .tc-remove-itinerary-item,
  body.page-id-2987 .tc-panel .tc-itinerary-builder-row .tc-remove-itinerary-item,
  body.page-id-3020 .tc-panel .tc-itinerary-builder-row .tc-remove-itinerary-item{
    grid-area:remove!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:static!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }
}

/* Centrado real del SVG dentro de cada círculo del itinerario. */
body.jcl-tc-v2 .tc-itinerary-marker,
#tc_preview .tc-itinerary-marker,
#tc_full_preview_modal .tc-itinerary-marker,
.tc-full-preview-stage .tc-itinerary-marker{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
}

body.jcl-tc-v2 .tc-itinerary-marker > svg,
body.jcl-tc-v2 .tc-itinerary-marker .tc-itinerary-icon,
#tc_preview .tc-itinerary-marker > svg,
#tc_preview .tc-itinerary-marker .tc-itinerary-icon,
#tc_full_preview_modal .tc-itinerary-marker > svg,
#tc_full_preview_modal .tc-itinerary-marker .tc-itinerary-icon,
.tc-full-preview-stage .tc-itinerary-marker > svg,
.tc-full-preview-stage .tc-itinerary-marker .tc-itinerary-icon{
  position:relative!important;
  top:0!important;
  left:0!important;
  display:block!important;
  flex:0 0 auto!important;
  width:19px!important;
  height:19px!important;
  margin:0!important;
  align-self:auto!important;
  justify-self:auto!important;
  transform:translateY(1px)!important;
  transform-origin:center!important;
}



/* JCL 2.0.3: opciones del RSVP legibles en el desplegable nativo */
body.tc-invitation-single .tc-rsvp-form select option,
body.tc-invitation-single .tc-rsvp-form select optgroup,
.tc-preview-rsvp select option,
.tc-rsvp-extra select option{
  background:#fff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
}


/* JCL 2.0.5: iconografía legible y consistente entre preview, edición y final. */
body.jcl-tc-v2 .tc-module-heading-icon,
#tc_preview .tc-module-heading-icon,
#tc_full_preview_modal .tc-module-heading-icon,
.tc-full-preview-stage .tc-module-heading-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb,var(--tc-primary,#3155ff) 30%,transparent)!important;
  background:color-mix(in srgb,var(--tc-primary,#3155ff) 16%,rgba(255,255,255,.72))!important;
  color:var(--tc-icon-color,var(--tc-primary,#3155ff))!important;
  opacity:1!important;
}

body.jcl-tc-v2 .tc-module-heading-icon svg,
#tc_preview .tc-module-heading-icon svg,
#tc_full_preview_modal .tc-module-heading-icon svg,
.tc-full-preview-stage .tc-module-heading-icon svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  stroke:currentColor!important;
  stroke-width:2.1!important;
  opacity:1!important;
}

body.jcl-tc-v2 .tc-itinerary-marker{
  color:var(--tc-icon-color,var(--tc-primary,#3155ff))!important;
  border:1px solid color-mix(in srgb,var(--tc-primary,#3155ff) 24%,transparent)!important;
  opacity:1!important;
}

/* El panel posterior a la compra comparte el mismo contenedor visual del configurador. */
body.jcl-tc-v2 form.tc-edit-form.tc-panel{
  max-height:min(76vh,900px);
  overflow:auto;
  scrollbar-gutter:stable;
}

@media (max-width:900px){
  body.jcl-tc-v2 form.tc-edit-form.tc-panel{
    max-height:none;
    overflow:visible;
  }
}


/* ============================================================
   JCL 2.0.6 · Paridad editor / preview / invitación final.
   ============================================================ */

/* La invitación publicada debe recibir exactamente el mismo tratamiento
   de iconos SVG que el configurador y el editor posterior a la compra. */
body.tc-invitation-single .tc-module-heading-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--tc-primary,#3155ff) 30%,transparent)!important;
  background:color-mix(in srgb,var(--tc-primary,#3155ff) 16%,rgba(255,255,255,.72))!important;
  color:var(--tc-icon-color,var(--tc-primary,#3155ff))!important;
  opacity:1!important;
  line-height:1!important;
}

body.tc-invitation-single .tc-module-heading-icon svg,
body.tc-invitation-single .tc-itinerary-marker > svg,
body.tc-invitation-single .tc-itinerary-marker .tc-itinerary-icon{
  position:static!important;
  display:block!important;
  flex:0 0 auto!important;
  width:19px!important;
  height:19px!important;
  margin:0!important;
  transform:none!important;
  color:inherit!important;
  stroke:currentColor!important;
  stroke-width:2.1!important;
  fill:none!important;
  opacity:1!important;
  overflow:visible!important;
}

body.tc-invitation-single .tc-module-heading-icon svg path,
body.tc-invitation-single .tc-module-heading-icon svg rect,
body.tc-invitation-single .tc-module-heading-icon svg circle,
body.tc-invitation-single .tc-module-heading-icon svg polyline,
body.tc-invitation-single .tc-module-heading-icon svg line,
body.tc-invitation-single .tc-itinerary-marker svg path,
body.tc-invitation-single .tc-itinerary-marker svg rect,
body.tc-invitation-single .tc-itinerary-marker svg circle,
body.tc-invitation-single .tc-itinerary-marker svg polyline,
body.tc-invitation-single .tc-itinerary-marker svg line{
  stroke:currentColor!important;
  fill:none!important;
  opacity:1!important;
}

body.tc-invitation-single .tc-itinerary-marker{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:var(--tc-icon-color,var(--tc-primary,#3155ff))!important;
  border:1px solid color-mix(in srgb,var(--tc-primary,#3155ff) 30%,transparent)!important;
  background:color-mix(in srgb,var(--tc-primary,#3155ff) 15%,rgba(255,255,255,.72))!important;
  opacity:1!important;
  line-height:1!important;
}

/* El editor comprado usa la misma interfaz compacta del configurador. */
.tc-edit-wrap.tc-editor-wrap .tc-module-config-list{
  display:grid!important;
  gap:10px!important;
}

.tc-edit-wrap.tc-editor-wrap .tc-itinerary-builder{
  display:grid!important;
  gap:9px!important;
  margin-top:8px!important;
}

.tc-edit-wrap.tc-editor-wrap .tc-add-itinerary-item{
  width:100%!important;
  margin-top:9px!important;
}

/* Mantener el contador de escritorio en una fila, igual al preview y final. */
@media (min-width:641px){
  .tc-edit-wrap.tc-editor-wrap #tc_preview .tc-preview-count-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* ============================================================
   TuCelebración · Hotfixes v2.0.7
   Auditoría de paridad: ancho útil, título, contador, pagos e iconos.
   ============================================================ */
.tc-editor-wrap #tc_preview,
.tc-edit-wrap #tc_preview,
body.tc-invitation-single [data-tc-final-card="1"]{
  width:min(100%,430px)!important;
  max-width:430px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

body.tc-invitation-single .tc-inv-root{
  width:min(100%,430px)!important;
  max-width:430px!important;
  margin-inline:auto!important;
}

.tc-editor-wrap #tc_preview > .tc-overlay,
.tc-edit-wrap #tc_preview > .tc-overlay,
body.tc-invitation-single [data-tc-final-card="1"] > .tc-overlay{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Capas del addon en la publicación: tamaño y apilado explícitos para que
   Elementor o una regla del template no las colapse aunque el motor sí haya
   añadido `jcl-has-fx` al contenedor. */
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .jcl-fx,
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .jcl-stk,
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .tc-overlay > .jcl-fx,
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .tc-overlay > .jcl-stk{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:100%!important;
  inset:0!important;
}
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .jcl-fx,
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .tc-overlay > .jcl-fx{
  z-index:7!important;
}
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .jcl-stk,
body.tc-invitation-single .tc-inv-root [data-tc-final-card="1"] > .tc-overlay > .jcl-stk{
  z-index:6!important;
}

body.tc-invitation-single [data-tc-final-card="1"] .tc-inv-title{
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-align:left!important;
}

body.tc-invitation-single .tc-countdown-title{
  margin:0 0 10px!important;
  color:var(--tc-primary)!important;
  font-family:var(--tc-font)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

body.tc-invitation-single .tc-countdown-box strong{
  color:var(--tc-primary)!important;
  font-family:var(--tc-font)!important;
}

body.tc-invitation-single .tc-countdown-box span{
  color:var(--tc-secondary)!important;
  font-family:var(--tc-font)!important;
}

body.tc-invitation-single [data-tc-final-card="1"] .tc-photo-wrap{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  min-height:0!important;
}

body.tc-invitation-single [data-tc-final-card="1"] .tc-module-heading-icon svg,
body.tc-invitation-single [data-tc-final-card="1"] .tc-itinerary-marker svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:21px!important;
  max-height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  overflow:visible!important;
}

/* Fallback visual para instalaciones que todavía tengan una nota de pago
   renderizada como <small>; la versión 1.6.5 ya la convierte en una fila. */
.tc-bank-card > small{
  display:block!important;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid color-mix(in srgb,var(--tc-icon-color,currentColor) 12%,transparent)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--tc-icon-color,currentColor) 6%,transparent)!important;
  color:inherit!important;
  font-size:.88em!important;
  font-weight:800!important;
  line-height:1.35!important;
  opacity:1!important;
  overflow-wrap:anywhere!important;
}

/* ============================================================
   TuCelebración · Hotfixes v2.0.8
   Tabla de confirmaciones RSVP: diseño premium y adaptación mobile
   sin ancho forzado ni scroll horizontal.
   ============================================================ */
.tc-rsvp-admin-table{
  width:min(100%, 980px)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:28px auto 0!important;
  box-sizing:border-box!important;
}

.tc-rsvp-admin-table,
.tc-rsvp-admin-table *{
  box-sizing:border-box!important;
}

.tc-rsvp-admin-table > p,
.tc-rsvp-admin-table .tc-rsvp-empty-state{
  margin:0!important;
  padding:20px 22px!important;
  border:1px solid rgba(23,32,51,.10)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#475569!important;
  box-shadow:0 16px 34px rgba(15,23,42,.07)!important;
}

.tc-rsvp-admin-table table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid rgba(23,32,51,.10)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 18px 40px rgba(15,23,42,.08)!important;
  table-layout:auto!important;
}

.tc-rsvp-admin-table thead th{
  padding:16px 18px!important;
  border:0!important;
  background:linear-gradient(135deg, #172033 0%, #24314f 100%)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.02em!important;
  text-align:left!important;
  white-space:normal!important;
}

.tc-rsvp-admin-table thead th:first-child{
  border-top-left-radius:18px!important;
}

.tc-rsvp-admin-table thead th:last-child{
  border-top-right-radius:18px!important;
}

.tc-rsvp-admin-table tbody td{
  min-width:0!important;
  padding:15px 18px!important;
  border:0!important;
  border-top:1px solid rgba(23,32,51,.08)!important;
  background:transparent!important;
  color:#172033!important;
  font-size:15px!important;
  line-height:1.5!important;
  vertical-align:top!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}

.tc-rsvp-admin-table tbody tr:nth-child(even) td{
  background:rgba(248,250,252,.92)!important;
}

.tc-rsvp-admin-table tbody tr:hover td{
  background:rgba(240,244,248,.92)!important;
}

.tc-rsvp-admin-table td[data-empty="1"]{
  color:#94a3b8!important;
}

.tc-rsvp-admin-table td[data-empty="1"] .tc-rsvp-empty-value{
  display:inline-block!important;
  font-style:italic!important;
}

.tc-rsvp-admin-table .tc-rsvp-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:74px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}

.tc-rsvp-admin-table .tc-rsvp-badge.is-yes{
  background:rgba(35,166,97,.12)!important;
  color:#18794e!important;
}

.tc-rsvp-admin-table .tc-rsvp-badge.is-no{
  background:rgba(220,38,38,.10)!important;
  color:#b42318!important;
}

.tc-rsvp-admin-table td.tc-rsvp-number,
.tc-rsvp-admin-table th.tc-rsvp-number{
  text-align:center!important;
}

@media (max-width:767px){
  .tc-rsvp-admin-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:22px!important;
    overflow:visible!important;
  }

  .tc-rsvp-admin-table table,
  .tc-rsvp-admin-table thead,
  .tc-rsvp-admin-table tbody,
  .tc-rsvp-admin-table tr,
  .tc-rsvp-admin-table td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .tc-rsvp-admin-table table{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    table-layout:fixed!important;
  }

  .tc-rsvp-admin-table thead{
    display:none!important;
  }

  .tc-rsvp-admin-table tbody{
    display:grid!important;
    gap:14px!important;
  }

  .tc-rsvp-admin-table tbody tr{
    overflow:hidden!important;
    border:1px solid rgba(23,32,51,.10)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 14px 32px rgba(15,23,42,.08)!important;
  }

  .tc-rsvp-admin-table tbody tr:nth-child(even) td,
  .tc-rsvp-admin-table tbody tr:hover td{
    background:transparent!important;
  }

  .tc-rsvp-admin-table tbody td{
    display:grid!important;
    grid-template-columns:minmax(92px, 108px) minmax(0, 1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:12px 15px!important;
    border-top:1px solid rgba(23,32,51,.06)!important;
    font-size:14px!important;
    text-align:left!important;
  }

  .tc-rsvp-admin-table tbody td:first-child{
    border-top:0!important;
  }

  .tc-rsvp-admin-table tbody td::before{
    content:attr(data-label)!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#64748b!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.4!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    overflow-wrap:anywhere!important;
  }

  .tc-rsvp-admin-table .tc-rsvp-badge{
    justify-self:start!important;
  }

  .tc-rsvp-admin-table td.tc-rsvp-number,
  .tc-rsvp-admin-table th.tc-rsvp-number{
    text-align:left!important;
  }
}

@media (max-width:390px){
  .tc-rsvp-admin-table tbody td{
    grid-template-columns:minmax(82px, 96px) minmax(0, 1fr)!important;
    padding:11px 12px!important;
    gap:8px!important;
  }
}

/* ============================================================
   PARIDAD DE BOTONES · PREVIEW / EDITOR / INVITACIÓN FINAL
   Los botones secundarios deben usar el color de contenido del
   template porque su fondo es semitransparente.
   ============================================================ */

body.tc-invitation-single
[data-tc-final-card="1"]
a.tc-module-action,

body.tc-invitation-single
[data-tc-final-card="1"]
a.tc-module-action:visited,

body.tc-invitation-single
[data-tc-final-card="1"]
a.tc-module-action:hover,

body.tc-invitation-single
[data-tc-final-card="1"]
a.tc-module-action:focus,

body.tc-invitation-single
[data-tc-final-card="1"]
a.tc-module-action:active {
    color: var(
        --tc-secondary,
        var(--tc-template-content-color, #ffffff)
    ) !important;

    -webkit-text-fill-color: var(
        --tc-secondary,
        var(--tc-template-content-color, #ffffff)
    ) !important;

    opacity: 1 !important;
    text-decoration: none !important;
}


/* V2.2+ — encuadre manual como única fuente de verdad. */
#tc_editor_wrap #tc_preview .tc-photo-wrap img,
.tc-full-preview-modal .tc-photo-wrap img,
body.tc-invitation-single .tc-photo-wrap img,
body.tc-invitation-single .tc-inv-user-img{
  object-fit:cover!important;
  object-position:var(--tc-img-focus-x,50%) var(--tc-img-focus-y,35%)!important;
  transform:scale(var(--tc-img-zoom,1))!important;
  transform-origin:var(--tc-img-focus-x,50%) var(--tc-img-focus-y,35%)!important;
  animation:none!important;
}

/* ==========================================================
   V2.6 · Paridad de tipografía
   La fuente elegida debe gobernar título + textos en:
   configurador, edición posterior y publicación final.
   Se evita aplicar la fuente a SVG/iconos para no alterar su render.
========================================================== */
.tc-editor-wrap #tc_preview,
.tc-edit-wrap #tc_preview,
.tc-editor-wrap #tc_preview .tc-overlay,
.tc-edit-wrap #tc_preview .tc-overlay,
.tc-editor-wrap .tc-preview-card,
.tc-edit-wrap .tc-preview-card,
.tc-editor-wrap .tc-preview-card .tc-overlay,
.tc-edit-wrap .tc-preview-card .tc-overlay,
body.tc-invitation-single [data-tc-final-card="1"],
body.tc-invitation-single [data-tc-final-card="1"] .tc-overlay,
body.tc-invitation-single [data-tc-final-card="1"] .tc-event-modules,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-wrap{
  font-family:var(--tc-font)!important;
}

/* Elementos que alguna hoja del diseño fija con otra fuente o que, por ser
   controles, no siempre heredan font-family del contenedor. */
.tc-editor-wrap #tc_preview .tc-chip,
.tc-editor-wrap #tc_preview .tc-inv-title,
.tc-editor-wrap #tc_preview .tc-line,
.tc-editor-wrap #tc_preview .tc-line strong,
.tc-editor-wrap #tc_preview .tc-line span,
.tc-editor-wrap #tc_preview .tc-msg,
.tc-editor-wrap #tc_preview .tc-preview-extra-title,
.tc-editor-wrap #tc_preview .tc-preview-count-box,
.tc-editor-wrap #tc_preview .tc-preview-count-box strong,
.tc-editor-wrap #tc_preview .tc-preview-count-box span,
.tc-editor-wrap #tc_preview .tc-event-module,
.tc-editor-wrap #tc_preview .tc-itinerary-list,
.tc-editor-wrap #tc_preview .tc-module-action,
.tc-editor-wrap #tc_preview .tc-preview-music-btn,
.tc-editor-wrap #tc_preview .tc-preview-rsvp,
.tc-editor-wrap #tc_preview .tc-preview-rsvp input,
.tc-editor-wrap #tc_preview .tc-preview-rsvp select,
.tc-editor-wrap #tc_preview .tc-preview-rsvp textarea,
.tc-editor-wrap #tc_preview .tc-preview-rsvp button,
.tc-edit-wrap #tc_preview .tc-chip,
.tc-edit-wrap #tc_preview .tc-inv-title,
.tc-edit-wrap #tc_preview .tc-line,
.tc-edit-wrap #tc_preview .tc-line strong,
.tc-edit-wrap #tc_preview .tc-line span,
.tc-edit-wrap #tc_preview .tc-msg,
.tc-edit-wrap #tc_preview .tc-preview-extra-title,
.tc-edit-wrap #tc_preview .tc-preview-count-box,
.tc-edit-wrap #tc_preview .tc-preview-count-box strong,
.tc-edit-wrap #tc_preview .tc-preview-count-box span,
.tc-edit-wrap #tc_preview .tc-event-module,
.tc-edit-wrap #tc_preview .tc-itinerary-list,
.tc-edit-wrap #tc_preview .tc-module-action,
.tc-edit-wrap #tc_preview .tc-preview-music-btn,
.tc-edit-wrap #tc_preview .tc-preview-rsvp,
.tc-edit-wrap #tc_preview .tc-preview-rsvp input,
.tc-edit-wrap #tc_preview .tc-preview-rsvp select,
.tc-edit-wrap #tc_preview .tc-preview-rsvp textarea,
.tc-edit-wrap #tc_preview .tc-preview-rsvp button,
body.tc-invitation-single [data-tc-final-card="1"] .tc-chip,
body.tc-invitation-single [data-tc-final-card="1"] .tc-inv-title,
body.tc-invitation-single [data-tc-final-card="1"] .tc-line,
body.tc-invitation-single [data-tc-final-card="1"] .tc-line strong,
body.tc-invitation-single [data-tc-final-card="1"] .tc-line span,
body.tc-invitation-single [data-tc-final-card="1"] .tc-msg,
body.tc-invitation-single [data-tc-final-card="1"] .tc-preview-extra-title,
body.tc-invitation-single [data-tc-final-card="1"] .tc-countdown-title,
body.tc-invitation-single [data-tc-final-card="1"] .tc-countdown-box,
body.tc-invitation-single [data-tc-final-card="1"] .tc-countdown-box strong,
body.tc-invitation-single [data-tc-final-card="1"] .tc-countdown-box span,
body.tc-invitation-single [data-tc-final-card="1"] .tc-event-module,
body.tc-invitation-single [data-tc-final-card="1"] .tc-itinerary-list,
body.tc-invitation-single [data-tc-final-card="1"] .tc-module-action,
body.tc-invitation-single [data-tc-final-card="1"] .tc-preview-music-btn,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form label,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form input,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form select,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form textarea,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-form button,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-btn,
body.tc-invitation-single [data-tc-final-card="1"] .tc-rsvp-submit{
  font-family:var(--tc-font)!important;
}
