/* KC-RSVP Diamond · Azula «Placa de Plata»
   Arriba, la firma KC-RSVP con el sello-corazón de la carta. Fuera del libro, la identidad (nombre en Calligraphy
   entre filetes de plata, pases, fecha límite). La pregunta vive en el libro de firmas marfil: renglones,
   costura de plata y cuatro remaches. Sí / No son renglones grabados; el sello se llena de plata al elegir.
   Enviar es una placa de peltre con el destello del estilete. El pase es la placa grabada: lo único que queda al confirmar.
   Sin ids nuevos: el bridge de KC-Center es dueño del flujo. */

#rsvp [hidden] { display: none !important; }
#rsvp :is(label, button, select) { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#rsvp .kc-section-inner { max-width: 34rem; }
#rsvp .kc-section-title { text-align: center; }
#rsvp .kc-rsvp-card { display: flex; flex-direction: column; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }

/* ── La firma: KC-RSVP con el sello-corazón entre filetes ── */
#rsvp .pdp-rsvp-mark { display: flex; align-items: center; justify-content: center; gap: .55rem; margin: 0 auto .6rem; max-width: 20rem; font-family: var(--f-inscription); font-size: .74rem; letter-spacing: .3em; line-height: 1; color: var(--color-ink-soft); }
#rsvp .pdp-rsvp-mark::before, #rsvp .pdp-rsvp-mark::after { content: ""; flex: 1 1 0; height: 1px; background: linear-gradient(90deg, rgba(138, 142, 148, 0), #8A8E94); }
#rsvp .pdp-rsvp-mark::after { transform: scaleX(-1); }
#rsvp .pdp-rsvp-mark span { padding-left: .3em; }   /* el tracking deja aire a la derecha: se compensa */
#rsvp .pdp-rsvp-seal { flex: none; width: 1.15rem; height: auto; filter: drop-shadow(0 1px 1px rgba(43, 45, 48, .25)); }

/* ── Identidad, fuera del libro ── */
#rsvp .kc-rsvp-reservation { order: 1; display: grid; justify-items: center; gap: .3rem; margin: 0 0 .5rem; padding: 0; text-align: center; border: 0; background: none; }
#rsvp .kc-rsvp-reservation-eyebrow { margin: 0; font-family: var(--f-inscription); font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--color-ink-soft); }
#rsvp .kc-rsvp-reservation-name { display: flex; align-items: center; gap: .7rem; width: 100%; margin: 0; font-family: var(--f-name); font-weight: 400; font-size: clamp(2.3rem, 10vw, 2.9rem); line-height: 1.25; color: var(--color-ink); overflow-wrap: anywhere; }
#rsvp .kc-rsvp-reservation-name::before, #rsvp .kc-rsvp-reservation-name::after { content: ""; flex: 1 1 0; min-width: 18px; height: 9px; background: linear-gradient(135deg, #FFFFFF, #A9ADB3 60%, #5C6066) 100% 50% / 7px 7px no-repeat, linear-gradient(90deg, rgba(138, 142, 148, 0), #8A8E94) 0 50% / calc(100% - 12px) 1px no-repeat; }
#rsvp .kc-rsvp-reservation-name::after { transform: scaleX(-1); }
#rsvp .kc-rsvp-reservation-passes { margin: .1rem 0 0; padding: .38rem 1.05rem; border-radius: 999px; background: var(--color-plate); box-shadow: inset 0 0 0 1px rgba(201, 205, 210, .55); font-family: var(--f-inscription); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-on-plate); white-space: nowrap; }
#rsvp .kc-rsvp-intro { order: 2; margin: .4rem auto 1.1rem; max-width: 30ch; text-align: center; font-family: var(--f-text); font-style: italic; font-size: 1.08rem; line-height: 1.5; color: var(--color-ink-soft); }
#rsvp #kc-rsvp-form { order: 3; }

/* ── El libro de firmas: marfil con renglones, costura de plata y remaches ── */
#rsvp #kc-rsvp-form.pdp-ledger {
  position: relative; margin: .6rem 0 0; padding: 1.8rem 1.2rem 1.5rem 2.3rem;
  border: 1px solid rgba(138, 142, 148, .55); border-radius: 2px;
  background-color: var(--color-canvas);
  background-image:
    repeating-linear-gradient(to bottom, transparent 0 2.35rem, rgba(31, 31, 31, .07) 2.35rem calc(2.35rem + 1px)),
    url('../../assets/textures/construccion-claro.svg'),
    linear-gradient(rgba(243, 239, 230, .82), rgba(243, 239, 230, .82)),
    url('../../assets/textures/marfil.webp'),
    linear-gradient(#FFFFFF, #FFFFFF);
  background-size: auto, 720px 720px, 100% 100%, 720px 720px, 100% 100%;
  background-position: 0 0, 82% 24%, center, 46% 52%, center;
  background-repeat: repeat, repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, normal, normal, hard-light, normal;
  box-shadow: 0 1px 0 #FFFFFF inset, 0 14px 26px -18px rgba(31, 31, 31, .45);
}
#rsvp #kc-rsvp-form.pdp-ledger::before { content: ""; position: absolute; inset: 0 auto 0 1.1rem; width: 3px; border-left: 1px solid #B7B7B7; border-right: 1px solid #B7B7B7; pointer-events: none; }
#rsvp #kc-rsvp-form.pdp-ledger::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle, #6B6B6B 0 1.5px, transparent 2px) 7px 7px / 5px 5px no-repeat,
    radial-gradient(circle, #B7B7B7 0 1.5px, transparent 2px) calc(100% - 12px) 7px / 5px 5px no-repeat,
    radial-gradient(circle, #B7B7B7 0 1.5px, transparent 2px) 7px calc(100% - 12px) / 5px 5px no-repeat,
    radial-gradient(circle, #6B6B6B 0 1.5px, transparent 2px) calc(100% - 12px) calc(100% - 12px) / 5px 5px no-repeat;
}

/* ── La pregunta ── */
#rsvp .kc-rsvp-attendance { border: 0; margin: 0; padding: 0; min-width: 0; min-inline-size: 0; }
#rsvp .kc-rsvp-attendance legend { width: 100%; margin: 0 0 1rem; padding: 0; text-align: center; font: 400 clamp(2.3rem, 10vw, 2.8rem) / 1.2 var(--f-name); color: var(--color-ink); }
#rsvp .pdp-choices { display: grid; gap: .55rem; }
#rsvp :is(.kc-rsvp-attendance-hint, .kc-rsvp-decline-note) { margin: .8rem 0 0; text-align: center; font-family: var(--f-text); font-style: italic; font-size: 1.05rem; line-height: 1.5; color: var(--color-ink-soft); }

/* Sí / No: renglones grabados. Un solo dibujo por control: el sello, vacío → plata */
#rsvp .pdp-choice { position: relative; display: flex; align-items: center; gap: .8rem; width: 100%; min-width: 0; min-height: 54px; margin: 0; padding: .5rem 1rem; cursor: pointer; border: 0; border-radius: 3px; background: rgba(255, 255, 255, .55); box-shadow: inset 0 0 0 1px rgba(107, 107, 107, .38); text-align: left; -webkit-user-select: none; user-select: none; transition: background-color .3s ease, box-shadow .3s ease; }
#rsvp .pdp-choice:hover { background: rgba(255, 255, 255, .85); }
#rsvp .pdp-choice::before, #rsvp .pdp-choice::after { content: none; display: none; }
#rsvp .pdp-choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; clip-path: inset(50%); }   /* enfocable: nunca display:none */
#rsvp .pdp-choice-text { flex: 1 1 auto; font-family: var(--f-text); font-size: 1.2rem; line-height: 1.25; color: var(--color-ink); }
#rsvp .pdp-choice-seal { flex: none; width: 22px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath d='M32 53C14 40 3 30 3 18 3 9 10 3 19 3c6 0 10 3 13 8 3-5 7-8 13-8 9 0 16 6 16 15 0 12-11 22-29 35Z' fill='none' stroke='%236B6B6B' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .45s cubic-bezier(.2, .9, .3, 1.5); }
#rsvp .pdp-choice:has(input:checked) { background: rgba(255, 255, 255, .92); box-shadow: inset 0 0 0 1px var(--color-ink-soft), 0 0 0 3px rgba(169, 173, 179, .25); }
#rsvp .pdp-choice:has(input:checked) .pdp-choice-seal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.38' stop-color='%23E9EAEC'/%3E%3Cstop offset='.72' stop-color='%23A9ADB3'/%3E%3Cstop offset='1' stop-color='%23E3E5E8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M32 53C14 40 3 30 3 18 3 9 10 3 19 3c6 0 10 3 13 8 3-5 7-8 13-8 9 0 16 6 16 15 0 12-11 22-29 35Z' fill='url(%23g)' stroke='%232B2D30' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E"); transform: scale(1.14); }
#rsvp .pdp-choice--no:has(input:checked) .pdp-choice-seal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath d='M32 53C14 40 3 30 3 18 3 9 10 3 19 3c6 0 10 3 13 8 3-5 7-8 13-8 9 0 16 6 16 15 0 12-11 22-29 35Z' fill='%23C9CDD2' stroke='%236B6B6B' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E"); transform: none; }   /* el no se queda gris: sin festejo */
#rsvp .pdp-choice:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 3px; }

/* ── Campos: el renglón firmado ── */
#rsvp :is(.kc-field, .kc-rsvp-field-group, .kc-rsvp-extra-field) { display: grid; gap: .35rem; margin-top: 1rem; }
#rsvp .kc-rsvp-extra { display: grid; gap: 0; }
#rsvp :is(.kc-field, .kc-rsvp-field-group, .kc-rsvp-extra-field) label { font-family: var(--f-inscription); font-size: .74rem; letter-spacing: .1em; color: var(--color-ink) !important; }
#rsvp #kc-rsvp-form :is(input:not([type="radio"]), select, textarea) {
  width: 100%; min-height: 48px; padding: .55rem .2rem; font: 400 1.15rem / 1.4 var(--f-text); color: var(--color-ink);
  background-color: transparent; border: 0; border-bottom: 1px solid #6B6B6B; border-radius: 0; box-shadow: none;
}
#rsvp #kc-rsvp-form :is(input, select, textarea) { font-size: max(16px, 1.15rem); }   /* iOS no hace zoom con ≥16px */
#rsvp #kc-rsvp-form select { -webkit-appearance: none; appearance: none; padding-right: 2rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B2D30' stroke-width='1.6'/%3E%3C/svg%3E"); background-position: right .4rem center; background-size: 12px 8px; background-repeat: no-repeat; }
#rsvp #kc-rsvp-form textarea { min-height: 5.5rem; resize: vertical; border: 1px solid rgba(107, 107, 107, .55); padding: .6rem .7rem; background: rgba(255, 255, 255, .5); }
#rsvp #kc-rsvp-form :is(input, textarea)::placeholder { color: #5C6066; opacity: 1; }
#rsvp #kc-rsvp-form :is(input:not([type="radio"]), select, textarea):focus { outline: 2px solid var(--color-focus); outline-offset: 2px; }
#rsvp #kc-rsvp-form :is(.kc-rsvp-allocation-note, .kc-status) { margin: .7rem 0 0; text-align: center; font-family: var(--f-text); font-style: italic; font-size: 1.05rem; line-height: 1.45; color: var(--color-ink-soft); }
#rsvp #kc-rsvp-form .kc-field-error { margin: .7rem 0 0; padding: .5rem .7rem; border-radius: 2px; text-align: center; font-size: 1.02rem; color: #7A1F1F; background: rgba(122, 31, 31, .07); box-shadow: inset 0 0 0 1px rgba(122, 31, 31, .25); }

/* ── Enviar: placa de peltre con el destello del estilete ── */
#rsvp :where(#kc-rsvp-submit, .kc-ticket-share-btn, .kc-rsvp-update) {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: .7rem;
  width: 100%; min-height: 54px; padding: .85rem 1.6rem; cursor: pointer;
  border: 0; border-radius: 3px; color: var(--color-on-plate); background: var(--color-plate);
  background-image: radial-gradient(ellipse 95% 120% at 50% 20%, #5C6066 0%, #4C5056 56%, #3E4146 100%);
  box-shadow: inset 0 0 0 1px rgba(201, 205, 210, .55), inset 0 0 0 4px var(--color-plate), inset 0 0 0 5px rgba(201, 205, 210, .35), 0 12px 22px -14px rgba(31, 31, 31, .7);
  font: 400 .84rem / 1 var(--f-inscription); letter-spacing: .18em; text-transform: uppercase;
  -webkit-user-select: none; user-select: none; transition: transform .2s ease;
}
/* destello: una banda de luz cruza la placa una vez al aparecer */
#rsvp :where(#kc-rsvp-submit)::after { content: ""; position: absolute; inset: -20% auto -20% -40%; width: 30%; z-index: -1; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .38), transparent); transform: skewX(-18deg); opacity: 0; }
#rsvp #kc-rsvp-submit:not([hidden])::after { animation: pdp-plate-glint 1.4s cubic-bezier(.45, 0, .25, 1) .25s both; }
#kc-main #rsvp #kc-rsvp-submit { margin: 1.6rem 0 .2rem; }
#rsvp :is(#kc-rsvp-submit, .kc-ticket-share-btn, .kc-rsvp-update):active { transform: scale(.97); }
#rsvp #kc-rsvp-submit:is([aria-busy="true"], :disabled) { cursor: progress; background-image: none; background-color: #6B6E73; }
#rsvp :is(#kc-rsvp-submit, .kc-ticket-share-btn, .kc-rsvp-update):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
#rsvp .pdp-submit-text { white-space: nowrap; }

/* Con el pase o la despedida en pantalla, el estado queda solo para lector de pantalla */
#rsvp #kc-rsvp-form:has(#kc-rsvp-ticket-host:not([hidden])) #kc-rsvp-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ── El pase: la placa grabada ── */
#rsvp .kc-rsvp-ticket-host { margin-top: .2rem; }
/* confirmado: el libro se cierra y la placa queda sola */
#rsvp #kc-rsvp-form.pdp-ledger:has(.kc-ticket) { margin-top: 0; padding: 0; border: 0; background: none; box-shadow: none; }
#rsvp #kc-rsvp-form.pdp-ledger:has(.kc-ticket)::before, #rsvp #kc-rsvp-form.pdp-ledger:has(.kc-ticket)::after { content: none; }
#rsvp .kc-rsvp-ticket-host .kc-ticket {
  position: relative; overflow: hidden; padding: 2.3rem 1.3rem 1.6rem; text-align: center; color: var(--color-on-plate); border-radius: 4px;
  background-color: var(--color-plate);
  background-image: var(--plate-background);
  background-size: 720px 720px, 100% 100%, 720px 720px, 100% 100%;
  box-shadow: 0 26px 44px -22px rgba(31, 31, 31, .85), inset 0 0 0 1px rgba(201, 205, 210, .65);
  animation: pdp-pass-in .55s cubic-bezier(.2, .9, .3, 1.1) both;
}
/* doble filete grabado */
#rsvp .kc-rsvp-ticket-host .kc-ticket::before { content: ""; position: absolute; inset: .55rem; border: 1px solid rgba(233, 234, 236, .55); box-shadow: inset 0 0 0 3px rgba(62, 65, 70, .9), inset 0 0 0 4px rgba(201, 205, 210, .3); pointer-events: none; }
/* el sello-corazón arriba, como en la carta */
#rsvp .kc-ticket-header::before { content: ""; display: block; width: 30px; height: 27px; margin: 0 auto .35rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.38' stop-color='%23E9EAEC'/%3E%3Cstop offset='.72' stop-color='%23A9ADB3'/%3E%3Cstop offset='1' stop-color='%23E3E5E8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M32 53C14 40 3 30 3 18 3 9 10 3 19 3c6 0 10 3 13 8 3-5 7-8 13-8 9 0 16 6 16 15 0 12-11 22-29 35Z' fill='url(%23g)' stroke='%232B2D30' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
#rsvp .kc-ticket-particles { position: absolute; inset: 0; pointer-events: none; }
#rsvp .kc-tp { position: absolute; width: 6px; height: 6px; font-size: 0; border-radius: 50%; background: radial-gradient(circle, #FFFFFF 0 22%, rgba(228, 231, 236, .6) 45%, rgba(228, 231, 236, 0) 70%); animation: pdp-glint 3s ease-in-out infinite alternate; }
#rsvp .kc-tp-1 { left: 12%; top: 13%; }
#rsvp .kc-tp-2 { right: 11%; top: 31%; width: 4px; height: 4px; animation-delay: -.9s; }
#rsvp .kc-tp-3 { left: 13%; bottom: 33%; width: 4px; height: 4px; animation-delay: -1.7s; }
#rsvp .kc-tp-4 { right: 16%; bottom: 17%; animation-delay: -2.3s; }
#rsvp .kc-rsvp-ticket-host .kc-ticket > :not(.kc-ticket-particles) { position: relative; z-index: 1; }
#rsvp .kc-ticket-header { display: grid; justify-items: center; gap: .2rem; margin: 0 0 .3rem; }
#rsvp :is(.kc-ticket-crown-ornament, .kc-ticket-guest-label, .kc-ticket-qr-hint) { font-family: var(--f-inscription); font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--color-on-plate-secondary); }
#rsvp .kc-ticket-status { display: none; }
#rsvp .kc-ticket-event { margin: .1rem 0 0; font: 400 clamp(2.8rem, 13vw, 3.4rem) / 1.2 var(--f-name); color: #FFFFFF; text-shadow: 0 1px 0 rgba(31, 31, 31, .35), 0 0 18px rgba(233, 234, 236, .25); white-space: nowrap; }
#rsvp .kc-ticket-celebrant { margin: 0; font-family: var(--f-inscription); font-size: .82rem; letter-spacing: .3em; text-transform: uppercase; color: var(--color-on-plate-secondary); }
#rsvp .kc-ticket-rule { margin: .9rem auto; width: 70%; height: 1px; font-size: 0; background: linear-gradient(90deg, transparent, rgba(233, 234, 236, .8), transparent); }
#rsvp .kc-ticket-guest { margin: .3rem 0 .2rem; font: 400 1.55rem / 1.2 var(--f-text); color: #FFFFFF; overflow-wrap: anywhere; }
#rsvp .kc-ticket-passes { display: inline-block; margin: .2rem 0 0; padding: .32rem .95rem; border: 1px solid rgba(233, 234, 236, .6); border-radius: 999px; font-family: var(--f-inscription); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-on-plate); white-space: nowrap; }
#rsvp .kc-ticket-date { margin: .6rem 0 0; font-family: var(--f-text); font-size: 1.05rem; letter-spacing: .04em; color: var(--color-on-plate-secondary); }
#rsvp .kc-ticket-qr-wrap { margin: 1.2rem 0 0; padding-top: 1.2rem; border-top: 1px dashed rgba(233, 234, 236, .4); }
#rsvp .kc-ticket-qr-frame { display: inline-block; padding: .65rem; background: var(--color-canvas); border-radius: 2px; box-shadow: 0 0 0 1px #E9EAEC, 0 0 0 4px rgba(62, 65, 70, .8), 0 0 0 5px rgba(201, 205, 210, .6); }
#rsvp .kc-ticket-qr-img svg { display: block; width: min(11rem, 52vw); height: auto; }
#rsvp .kc-ticket-qr-hint { margin: .85rem 0 0; }
#rsvp .kc-ticket-id { margin: .7rem 0 0; font-size: .8rem; letter-spacing: .22em; color: rgba(255, 255, 255, .72); }
#rsvp .kc-ticket-brand { margin: .8rem 0 0; font-family: var(--f-inscription); font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }

/* ── Guardar pase / actualizar ── */
#rsvp .kc-ticket-share { margin-top: 1rem; }
#rsvp .kc-rsvp-update { margin-top: .8rem; color: var(--color-ink); background: transparent; box-shadow: inset 0 0 0 1px rgba(43, 45, 48, .55); }
#rsvp .kc-ticket-share-btn:disabled { opacity: .7; cursor: progress; }

/* ── «No podré» (queda en el libro) y cierre ── */
#rsvp :is(.kc-rsvp-farewell, .kc-rsvp-closed-note) { padding: .4rem 0 .6rem; text-align: center; color: var(--color-ink); }
#rsvp .kc-rsvp-farewell-eyebrow { margin: 0; font-family: var(--f-inscription); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-ink-soft); }
#rsvp .kc-rsvp-farewell-guest { margin: .25rem 0 .3rem; font: 400 2.2rem / 1.25 var(--f-name); color: var(--color-ink); overflow-wrap: anywhere; }
#rsvp :is(.kc-rsvp-farewell-body, .kc-rsvp-closed-note p) { margin: .4rem 0 0; font-family: var(--f-text); font-size: 1.08rem; line-height: 1.55; color: var(--color-ink-soft); }
#rsvp .kc-rsvp-farewell-brand { margin: .8rem 0 0; font-family: var(--f-inscription); font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: var(--color-ink-soft); }
#rsvp .kc-rsvp-closed-note strong { display: block; font: 400 1.3rem / 1.3 var(--f-text); color: var(--color-ink); }

@keyframes pdp-pass-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes pdp-glint { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes pdp-plate-glint { 0% { left: -40%; opacity: 0; } 15% { opacity: 1; } 100% { left: 120%; opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  #rsvp .kc-rsvp-ticket-host .kc-ticket, #rsvp .kc-tp, #rsvp #kc-rsvp-submit:not([hidden])::after { animation: none; }
  #rsvp :is(.pdp-choice, .pdp-choice-seal) { transition: none; }
}

/* Export PNG del pase: sin destellos ni sombras que el rasterizador ensucie. Sin scope: va en <html>. */
.kc-rsvp-capture-clean #rsvp .kc-rsvp-ticket-host .kc-ticket { animation: none; box-shadow: none; border-radius: 0; }
.kc-rsvp-capture-clean #rsvp .kc-ticket-particles { display: none; }
.kc-rsvp-capture-clean #rsvp .kc-rsvp-ticket-host .kc-ticket::before { box-shadow: none; }
.kc-rsvp-capture-clean #rsvp .kc-ticket-qr-frame { box-shadow: none; border: 2px solid #E9EAEC; }   /* WebKit ensucia los anillos de box-shadow en el PNG */
