:root {
  --invite-bg: #05070b;
  --invite-bg-soft: #0d111b;
  --invite-text: #f7fbff;
  --invite-muted: rgba(247,251,255,.62);
  --invite-accent: #67e8f9;
  --invite-accent-two: #ff4d9d;
  --invite-line: rgba(103,232,249,.24);
  --invite-serif: "Cormorant Garamond", Georgia, serif;
  --invite-sans: "Inter", Arial, sans-serif;
  --invite-display: "Montserrat", Arial, sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--invite-bg); color: var(--invite-text); font-family: var(--invite-sans); line-height: 1.65; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, a { color: inherit; }
a { text-decoration: none; }
button { cursor: pointer; }
.invite-progress { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 2px; background: rgba(255,255,255,.08); }
.invite-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--invite-accent),var(--invite-accent-two)); }
.invite-tools { position: fixed; z-index: 90; top: 24px; left: 24px; right: 24px; display: flex; justify-content: space-between; pointer-events: none; }
.invite-tools a, .invite-tools button { pointer-events: auto; padding: 10px 14px; border: 1px solid rgba(255,255,255,.18); background: rgba(3,5,9,.62); color: rgba(255,255,255,.72); backdrop-filter: blur(12px); text-transform: uppercase; letter-spacing: .13em; font-size: .62rem; }
.invite-tools button:hover, .invite-tools a:hover { border-color: var(--invite-accent); color: #fff; }
.invite-flow { overflow: hidden; }
.invite-opening { position: relative; min-height: 100svh; padding: 120px max(7vw,28px) 85px; display: grid; align-items: center; isolation: isolate; background: linear-gradient(145deg, rgba(6,8,14,.2), rgba(0,0,0,.72)), var(--invite-bg); }
.invite-opening::before { position: absolute; z-index: -3; inset: 0; content: ""; background: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 90%); }
.invite-opening::after { position: absolute; z-index: -2; inset: 0; content: ""; background: radial-gradient(circle at 20% 35%, color-mix(in srgb,var(--invite-accent) 27%,transparent),transparent 28%), radial-gradient(circle at 78% 68%, color-mix(in srgb,var(--invite-accent-two) 22%,transparent),transparent 30%); filter: blur(12px); }
.ambient { position: absolute; z-index: -1; width: 430px; height: 430px; border-radius: 50%; filter: blur(110px); opacity: .18; }
.ambient-one { top: -160px; right: -120px; background: var(--invite-accent); }
.ambient-two { bottom: -190px; left: -130px; background: var(--invite-accent-two); }
.opening-grid { width: min(1280px,100%); margin: auto; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.invite-kicker { margin: 0 0 22px; color: var(--invite-accent); font-size: .7rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.invite-brand { margin: 0 0 13px; color: rgba(255,255,255,.68); font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; }
.opening-copy h1 { max-width: 850px; margin: 0; font: 700 clamp(4rem,10.5vw,9.8rem)/.76 var(--invite-display); letter-spacing: -.075em; text-transform: uppercase; }
.invite-subtitle { max-width: 720px; margin: 31px 0 0; color: var(--invite-muted); font: 600 clamp(1.15rem,2.2vw,2rem)/1.25 var(--invite-display); text-transform: uppercase; letter-spacing: .02em; }
.opening-date { margin-top: 55px; display: flex; align-items: center; gap: 18px; }
.opening-date > span { font: 800 clamp(4rem,8vw,7.6rem)/.8 var(--invite-display); color: var(--invite-accent); }
.opening-date div { display: grid; padding-left: 18px; border-left: 1px solid var(--invite-line); text-transform: uppercase; letter-spacing: .18em; }
.opening-date small { font-size: .72rem; }
.opening-date strong { font-size: 1.15rem; }
.opening-emblem { position: relative; width: min(510px,78vw); aspect-ratio: 1; margin: auto; display: grid; place-items: center; }
.emblem-ring { position: absolute; inset: 8%; border: 1px solid var(--invite-line); border-radius: 50%; animation: rotateRing 18s linear infinite; }
.emblem-ring::before, .emblem-ring::after { position: absolute; content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--invite-accent); box-shadow: 0 0 28px var(--invite-accent); }
.emblem-ring::before { top: -6px; left: 50%; }
.emblem-ring::after { bottom: -6px; left: 50%; background: var(--invite-accent-two); box-shadow: 0 0 28px var(--invite-accent-two); }
.emblem-center { width: 64%; aspect-ratio: 1; display: grid; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.06),rgba(255,255,255,.01)); box-shadow: inset 0 0 80px rgba(255,255,255,.025),0 0 100px rgba(0,0,0,.35); }
.emblem-center span { font: 800 clamp(5rem,11vw,9rem)/.8 var(--invite-display); letter-spacing: -.08em; }
.emblem-center small { margin-top: 18px; letter-spacing: .4em; color: var(--invite-accent); }
.emblem-pulse { position: absolute; inset: 23%; border: 1px solid var(--invite-accent); border-radius: 50%; animation: pulseRing 2.7s ease-out infinite; }
.invite-scroll { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.52); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.invite-scroll span { color: var(--invite-accent); }
.invite-statement { min-height: 72svh; padding: 120px max(8vw,30px); display: flex; flex-direction: column; justify-content: center; background: var(--invite-text); color: #0a0c11; }
.invite-statement p { max-width: 930px; margin: 0; font: 500 clamp(2rem,4.5vw,4.8rem)/1.04 var(--invite-serif); }
.invite-statement strong { max-width: 1100px; margin: 70px 0 0 auto; color: #2b3039; font-size: clamp(.8rem,1.35vw,1rem); letter-spacing: .22em; text-transform: uppercase; text-align: right; }
.invite-countdown { padding: 105px max(7vw,28px); text-align: center; background: linear-gradient(145deg,var(--invite-bg-soft),var(--invite-bg)); }
.invite-countdown > p:first-child { color: var(--invite-accent); text-transform: uppercase; letter-spacing: .25em; font-size: .7rem; }
.countdown-grid { max-width: 1100px; margin: 42px auto 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--invite-line); border-bottom: 1px solid var(--invite-line); }
.countdown-grid div { padding: 48px 18px; border-right: 1px solid var(--invite-line); }
.countdown-grid div:last-child { border-right: 0; }
.countdown-grid strong { display: block; font: 700 clamp(3rem,7vw,6.7rem)/1 var(--invite-display); letter-spacing: -.06em; }
.countdown-grid span { color: var(--invite-muted); font-size: .64rem; letter-spacing: .19em; text-transform: uppercase; }
.event-started { margin-top: 24px; color: var(--invite-accent); }
.invite-details { padding: 125px max(7vw,28px); background: #f2f0ea; color: #111318; }
.detail-intro { max-width: 1040px; }
.detail-intro .invite-kicker { color: #805d20; }
.detail-intro h2 { margin: 0; font: 600 clamp(3.2rem,7vw,7.3rem)/.9 var(--invite-serif); }
.detail-columns { margin-top: 80px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(0,0,0,.2); border-bottom: 1px solid rgba(0,0,0,.2); }
.detail-card { min-height: 320px; padding: 38px 32px; border-right: 1px solid rgba(0,0,0,.2); display: flex; flex-direction: column; align-items: flex-start; }
.detail-card:last-child { border-right: 0; }
.detail-card > span { color: #805d20; font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; }
.detail-card strong { margin: auto 0 15px; font: 600 clamp(1.75rem,3vw,3rem)/1 var(--invite-serif); }
.detail-card p { margin: 0; color: #5f6064; }
.detail-card a { margin-top: 24px; color: #805d20; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.invite-moment { min-height: 80svh; padding: 110px max(7vw,28px); display: grid; grid-template-columns: .45fr 1.55fr; gap: 80px; align-items: center; background: var(--invite-bg); }
.moment-number { color: transparent; -webkit-text-stroke: 1px var(--invite-line); font: 800 clamp(10rem,28vw,28rem)/.7 var(--invite-display); letter-spacing: -.12em; }
.invite-moment h2, .invite-launch h2, .invite-rsvp h2, .invite-success h2 { margin: 0; font: 600 clamp(3.1rem,6vw,6.6rem)/.92 var(--invite-serif); }
.invite-moment p:last-child { max-width: 760px; margin-top: 30px; color: var(--invite-muted); font-size: clamp(1rem,1.7vw,1.2rem); }
.invite-launch { padding: 140px max(7vw,28px); text-align: center; background: radial-gradient(circle at center,color-mix(in srgb,var(--invite-accent) 12%,transparent),transparent 38%),#07090e; }
.invite-launch h2 { max-width: 1050px; margin: auto; }
.invite-launch > p:not(.invite-kicker) { max-width: 770px; margin: 32px auto 0; color: var(--invite-muted); font-size: 1.1rem; }
.launch-line { margin: 78px auto 0; display: flex; align-items: center; justify-content: center; gap: 28px; }
.launch-line span { width: min(160px,16vw); height: 1px; background: var(--invite-line); }
.launch-line strong { max-width: 600px; color: var(--invite-accent); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.invite-rsvp { padding: 125px max(7vw,28px); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(60px,9vw,130px); background: #f3f0e9; color: #121317; }
.rsvp-copy { align-self: start; position: sticky; top: 90px; }
.rsvp-copy .invite-kicker { color: #805d20; }
.rsvp-copy > p:not(.invite-kicker) { max-width: 570px; color: #606166; }
.rsvp-note { margin-top: 42px; padding-top: 25px; display: grid; grid-template-columns: auto 1fr; gap: 20px; border-top: 1px solid rgba(0,0,0,.18); }
.rsvp-note span { color: #805d20; font-weight: 800; letter-spacing: .15em; }
.rsvp-note p { margin: 0; color: #747579; font-size: .8rem; }
.rsvp-form { display: grid; gap: 25px; padding: clamp(26px,4vw,55px); border: 1px solid rgba(0,0,0,.18); background: rgba(255,255,255,.46); }
.rsvp-form label { display: grid; gap: 8px; font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.rsvp-form input, .rsvp-form select, .rsvp-form textarea { width: 100%; padding: 14px 3px; border: 0; border-bottom: 1px solid rgba(0,0,0,.26); border-radius: 0; outline: 0; background: transparent; color: #121317; text-transform: none; letter-spacing: normal; }
.rsvp-form input:focus, .rsvp-form select:focus, .rsvp-form textarea:focus { border-color: #805d20; }
.attendance-choice { margin: 0; padding: 0 0 12px; border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.attendance-choice legend { grid-column: 1/-1; margin-bottom: 8px; font: 600 1.55rem var(--invite-serif); }
.attendance-choice label { cursor: pointer; }
.attendance-choice input { position: absolute; opacity: 0; pointer-events: none; }
.attendance-choice span { min-height: 58px; padding: 15px; display: grid; place-items: center; border: 1px solid rgba(0,0,0,.22); text-align: center; transition: .2s; }
.attendance-choice input:checked + span { border-color: #805d20; background: #17191e; color: #fff; }
.form-pair { display: grid; grid-template-columns: .65fr 1.35fr; gap: 25px; }
.privacy-check { grid-template-columns: auto 1fr !important; align-items: center; color: #727378; font-size: .62rem !important; text-transform: none !important; letter-spacing: normal !important; }
.privacy-check input { width: 18px; height: 18px; accent-color: #805d20; }
.rsvp-submit { min-height: 78px; padding: 15px 20px; border: 0; background: #111318; color: #fff; display: flex; align-items: center; justify-content: space-between; text-align: left; transition: transform .2s,background .2s; }
.rsvp-submit:hover { transform: translateY(-2px); background: #2b2418; }
.rsvp-submit span { font: 600 1.65rem var(--invite-serif); }
.rsvp-submit small { color: #d8b36d; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.rsvp-submit:disabled { opacity: .58; cursor: wait; transform: none; }
.rsvp-status { min-height: 24px; margin: 0; color: #805d20; font-size: .8rem; }
.invite-success { min-height: 76svh; padding: 120px max(7vw,28px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--invite-bg); }
.success-mark { width: 82px; height: 82px; margin-bottom: 30px; display: grid; place-items: center; border: 1px solid var(--invite-accent); border-radius: 50%; color: var(--invite-accent); font-size: 2rem; box-shadow: 0 0 60px color-mix(in srgb,var(--invite-accent) 20%,transparent); }
.invite-success > p:not(.invite-kicker) { max-width: 650px; color: var(--invite-muted); }
.success-reference { margin-top: 30px; padding: 12px 18px; border: 1px solid var(--invite-line); color: var(--invite-muted); }
.success-reference strong { color: var(--invite-accent); }
.success-actions { margin-top: 34px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.success-actions button { padding: 13px 18px; border: 1px solid var(--invite-line); background: transparent; color: #fff; }
.invite-close { min-height: 65svh; padding: 110px max(7vw,28px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #020306; }
.close-symbol { color: var(--invite-accent); font-size: 3rem; }
.invite-close p { max-width: 870px; font: 500 clamp(2rem,4.2vw,4.7rem)/1 var(--invite-serif); }
.invite-close strong { color: var(--invite-accent); font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; }
.invite-close small { margin-top: 70px; color: rgba(255,255,255,.38); }
.invite-close small a { color: rgba(255,255,255,.72); }
.invite-reveal { opacity: 0; transform: translateY(30px); transition: opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1); }
.invite-reveal.visible { opacity: 1; transform: none; }
body.theme-light { --invite-bg:#f5f0e8;--invite-bg-soft:#e8dfd3;--invite-text:#262018;--invite-muted:rgba(38,32,24,.66);--invite-line:rgba(88,61,33,.25); }
body.theme-light .invite-opening, body.theme-light .invite-countdown, body.theme-light .invite-moment, body.theme-light .invite-launch, body.theme-light .invite-success, body.theme-light .invite-close { color:#2b241d; }
body.theme-light .invite-tools a, body.theme-light .invite-tools button { background:rgba(255,255,255,.72);color:#32291f;border-color:rgba(0,0,0,.14); }
body.theme-light .emblem-center { border-color:rgba(0,0,0,.15); }
body.theme-light .invite-brand, body.theme-light .invite-subtitle, body.theme-light .invite-moment p:last-child, body.theme-light .invite-launch > p:not(.invite-kicker), body.theme-light .invite-success > p:not(.invite-kicker) { color:rgba(38,32,24,.65); }
body.theme-light .invite-close { background:#e9e1d6; }
@keyframes rotateRing { to { transform: rotate(360deg); } }
@keyframes pulseRing { 0%{transform:scale(.86);opacity:.7} 100%{transform:scale(1.45);opacity:0} }
@media (max-width: 900px) {
  .opening-grid, .invite-rsvp { grid-template-columns: 1fr; }
  .opening-copy { text-align: center; }
  .opening-copy h1 { margin-inline: auto; }
  .invite-subtitle { margin-inline: auto; }
  .opening-date { justify-content: center; }
  .opening-emblem { width: min(390px,78vw); }
  .detail-columns { grid-template-columns: 1fr; }
  .detail-card { min-height: 230px; border-right: 0; border-bottom: 1px solid rgba(0,0,0,.2); }
  .detail-card:last-child { border-bottom: 0; }
  .invite-moment { grid-template-columns: 1fr; gap: 20px; }
  .moment-number { font-size: 14rem; }
  .rsvp-copy { position: static; }
}
@media (max-width: 600px) {
  .invite-tools { top: 14px; left: 14px; right: 14px; }
  .invite-opening { padding-inline: 20px; }
  .opening-copy h1 { font-size: clamp(3rem,13.5vw,4.5rem); line-height: .82; letter-spacing: -.07em; }
  .opening-date { margin-top: 38px; }
  .opening-date > span { font-size: 4rem; }
  .invite-scroll { display:none; }
  .invite-statement, .invite-countdown, .invite-details, .invite-moment, .invite-launch, .invite-rsvp, .invite-success, .invite-close { padding-left:22px; padding-right:22px; }
  .countdown-grid { grid-template-columns: repeat(2,1fr); }
  .countdown-grid div:nth-child(2) { border-right: 0; }
  .countdown-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--invite-line); }
  .detail-card { padding-inline: 8px; }
  .moment-number { font-size: 10rem; }
  .launch-line span { display:none; }
  .attendance-choice, .form-pair { grid-template-columns: 1fr; }
  .rsvp-form { padding:24px 18px; }
  .rsvp-submit { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .invite-reveal { opacity:1; transform:none; }
}

/* Evento oficial privado Fantasmas */
.private-event{background:#020208;color:#fff}.official-event{overflow:hidden}.official-hero{position:relative;min-height:100svh;padding:70px 7vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 20% 20%,rgba(23,72,255,.22),transparent 32%),radial-gradient(circle at 82% 20%,rgba(255,8,117,.22),transparent 35%),#020208}.official-glow{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(90px);opacity:.35}.official-glow.blue{left:-100px;top:15%;background:#1748ff}.official-glow.pink{right:-100px;bottom:10%;background:#ff0875}.shop-logo{width:min(460px,74vw);max-height:390px;object-fit:contain;filter:drop-shadow(0 0 35px rgba(255,255,255,.16));z-index:1}.official-hero h1{max-width:1000px;margin:20px 0 10px;font:700 clamp(3.2rem,9vw,8rem)/.83 var(--invite-serif);letter-spacing:-.055em;text-transform:uppercase}.official-subtitle{max-width:820px;color:rgba(255,255,255,.72);font-size:clamp(1rem,2vw,1.4rem)}.official-brand-row{margin:35px 0;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.official-brand-row img:first-child{width:110px}.official-brand-row img:last-child{width:min(330px,70vw);max-height:210px;object-fit:contain}.official-brand-row span{font-size:2rem;color:#fff}.official-message{padding:100px 7vw;text-align:center;background:linear-gradient(135deg,rgba(23,72,255,.12),rgba(255,8,117,.12))}.official-message h2{max-width:1000px;margin:20px auto;font:700 clamp(2.5rem,6vw,6rem)/.92 var(--invite-serif)}.official-message p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.7)}.digital-pass canvas{background:#fff;padding:12px;border-radius:10px}.event-facts{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:1px;width:min(800px,100%);margin:25px auto;background:rgba(255,255,255,.18)}.event-facts>div{padding:24px;background:#080812}.event-facts span{display:block;color:#ff4d9d;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem}.event-facts strong{display:block;margin-top:8px}.primary-button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:0 24px;background:linear-gradient(90deg,#1748ff,#ff0875);color:#fff;border:0;text-decoration:none;font-weight:700}.rsvp-section{padding:90px max(7vw,24px);background:#f4f1ea;color:#111}.rsvp-section>h2{font:700 clamp(2.5rem,5vw,5rem)/.95 var(--invite-serif)}@media(max-width:650px){.official-hero{padding:55px 20px}.event-facts{grid-template-columns:1fr}.official-brand-row img:first-child{width:80px}.official-brand-row img:last-child{width:240px}}


/* Corrección de contraste para el pase digital */
.invite-success .success-reference {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.28);
  color: rgba(255,255,255,.78);
}
.invite-success .success-reference strong {
  display: inline-block;
  margin-left: 4px;
  color: #ffffff !important;
  font-weight: 800;
  letter-spacing: .08em;
  text-shadow: 0 0 16px rgba(255,255,255,.22);
}
.invite-success [data-capacity] {
  color: rgba(255,255,255,.88) !important;
}
.invite-success .success-actions button {
  border-color: rgba(255,255,255,.28);
  color: #ffffff;
}
.invite-success .success-actions button:hover {
  background: rgba(255,255,255,.09);
}

/* =========================================================
   LN Studio v4.3 · invitación mobile first y visual adaptable
   ========================================================= */
.private-event{
  --invite-accent:#2bb2bd;
  --invite-accent-two:#ff5d86;
  background:#f7f8fc;
  color:#222433;
  font-family:"Manrope","Inter",Arial,sans-serif
}
.official-event{max-width:100%;background:#f7f8fc}
.official-hero{min-height:100svh;padding:90px max(20px,6vw) 70px;border-radius:0 0 42px 42px;background:
  radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--invite-accent) 34%,transparent),transparent 28%),
  radial-gradient(circle at 88% 16%,color-mix(in srgb,var(--invite-accent-two) 32%,transparent),transparent 28%),
  linear-gradient(145deg,#111522,#242844);color:#fff;box-shadow:0 30px 80px rgba(25,28,46,.2)}
.official-hero::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.09);border-radius:30px;pointer-events:none}.official-glow{opacity:.18}.invite-kicker{font-family:"Manrope","Inter",sans-serif;font-weight:800;letter-spacing:.17em}.shop-logo{width:min(390px,70vw);max-height:300px}.official-hero h1{max-width:1000px;margin:22px 0 12px;font-family:"Fraunces","Cormorant Garamond",serif;font-size:clamp(3rem,9vw,7.5rem);line-height:.92;letter-spacing:-.055em;text-transform:none}.official-subtitle{max-width:760px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.event-facts{width:min(850px,100%);margin:30px auto 0;gap:10px;background:transparent}.event-facts>div{padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.event-facts span{color:var(--invite-accent);font-weight:800}.event-facts strong{font-size:1rem}.official-hero .success-actions{margin-top:20px}.official-hero .primary-button{border-radius:12px;background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two));box-shadow:0 12px 28px color-mix(in srgb,var(--invite-accent) 24%,transparent)}.official-hero .ghost-button{border-radius:12px;background:rgba(255,255,255,.08)}
.official-message{margin:28px auto;padding:70px max(22px,7vw);border-radius:32px;width:min(1180px,calc(100% - 32px));background:linear-gradient(135deg,color-mix(in srgb,var(--invite-accent) 14%,#fff),color-mix(in srgb,var(--invite-accent-two) 12%,#fff));color:#222433;box-shadow:0 18px 50px rgba(42,46,70,.08)}.official-message .invite-kicker{color:var(--invite-accent-two)}.official-message h2{max-width:900px;margin:14px auto;font-family:"Fraunces","Cormorant Garamond",serif;font-size:clamp(2.2rem,6vw,5rem);line-height:1}.official-message p{color:#626b80}
.rsvp-section{width:min(1180px,calc(100% - 32px));margin:28px auto;padding:clamp(28px,6vw,72px);border-radius:32px;background:#fff;color:#222433;box-shadow:0 18px 50px rgba(42,46,70,.08)}.rsvp-section>h2{margin:8px 0 30px;font-family:"Fraunces","Cormorant Garamond",serif;font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.04em}.rsvp-section .invite-kicker{color:var(--invite-accent-two)}.rsvp-form{padding:0;border:0;background:transparent;gap:20px}.rsvp-form label{color:#5e667a;font-weight:800}.rsvp-form input,.rsvp-form textarea,.rsvp-form select{padding:14px 15px;border:1px solid #dce1ec;border-radius:12px;background:#fafbfe;color:#222433}.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-form select:focus{outline:0;border-color:var(--invite-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--invite-accent) 13%,transparent)}.attendance-choice legend{font-family:"Manrope","Inter",sans-serif;font-weight:800;font-size:1rem}.attendance-choice span{min-height:54px;border:1px solid #dce1ec;border-radius:12px;background:#fafbfe;font-weight:800}.attendance-choice input:checked+span{border-color:var(--invite-accent);background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two));color:#fff}.privacy-check input{accent-color:var(--invite-accent-two)}.rsvp-submit{min-height:68px;border-radius:14px;background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two));box-shadow:0 12px 28px color-mix(in srgb,var(--invite-accent) 22%,transparent)}.rsvp-submit span{font-family:"Manrope","Inter",sans-serif;font-size:1.1rem;font-weight:800}.rsvp-submit small{color:#fff}.rsvp-status{color:#b73952}
.invite-success{min-height:80svh;margin-top:28px;padding:80px max(20px,6vw);border-radius:42px 42px 0 0;background:linear-gradient(145deg,#141827,#252a45);color:#fff}.invite-success h2{font-family:"Fraunces","Cormorant Garamond",serif;font-size:clamp(2.7rem,7vw,5.6rem)}.success-mark{border:0;background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two));color:#fff}.digital-pass canvas{width:min(320px,86vw)!important;height:auto!important;padding:14px;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.22)}.success-reference{border-radius:12px;background:rgba(255,255,255,.08)}.success-actions button{border-radius:11px;background:rgba(255,255,255,.08)}.invite-close{min-height:45svh;padding:75px 22px;background:#111522}.invite-close p{font-family:"Fraunces","Cormorant Garamond",serif;font-size:clamp(2rem,5vw,4rem)}
@media(max-width:650px){
 .official-hero{min-height:auto;padding:70px 18px 45px;border-radius:0 0 26px 26px}.official-hero::before{inset:10px;border-radius:20px}.shop-logo{width:min(280px,78vw);max-height:230px}.official-hero h1{font-size:clamp(2.8rem,15vw,5rem)}.official-subtitle{font-size:.95rem}.event-facts{grid-template-columns:1fr;margin-top:22px}.event-facts>div{padding:16px}.official-hero .success-actions{display:grid;width:100%}.official-hero .success-actions a,.official-hero .success-actions button{width:100%}.official-message,.rsvp-section{width:calc(100% - 20px);margin:10px auto;border-radius:22px}.official-message{padding:46px 20px}.rsvp-section{padding:30px 18px}.rsvp-section>h2{font-size:2.7rem}.form-pair,.attendance-choice{grid-template-columns:1fr}.rsvp-submit{align-items:flex-start;flex-direction:column;gap:5px}.invite-success{margin-top:10px;padding:60px 16px;border-radius:26px 26px 0 0}.invite-success h2{font-size:3rem}.success-actions{width:100%;display:grid}.success-actions button{width:100%}
}

/* =========================================================
   LN Studio v4.4 · invitación configurable por diseñador
   ========================================================= */
.private-event{
  --invite-bg:#0d1420;--invite-bg-two:#1b2537;--invite-text:#ffffff;--invite-muted:#b7c1d5;
  --invite-accent:#8f7dff;--invite-accent-two:#ff7f91;--invite-heading-font:"Fraunces";--invite-body-font:"Manrope";
  --invite-heading-size:72px;--invite-body-size:18px;--invite-heading-weight:700;--invite-text-align:center;
  --invite-heading-transform:none;--invite-overlay:.45;--invite-hero-fit:cover;
  background:linear-gradient(180deg,var(--invite-bg),var(--invite-bg-two));color:var(--invite-text);font-family:var(--invite-body-font);font-size:var(--invite-body-size)
}
.private-event .official-event{background:linear-gradient(180deg,var(--invite-bg),var(--invite-bg-two));color:var(--invite-text)}
.private-event h1,.private-event h2,.private-event h3{font-family:var(--invite-heading-font);font-weight:var(--invite-heading-weight);text-transform:var(--invite-heading-transform)}
.private-event p,.private-event label,.private-event small{color:var(--invite-muted)}
.private-event .invite-kicker{color:var(--invite-accent)}
.official-hero{position:relative;min-height:100svh;padding:110px max(6vw,24px) 80px;display:flex;flex-direction:column;align-items:var(--hero-align,center);justify-content:center;text-align:var(--invite-text-align);background:linear-gradient(145deg,var(--invite-bg),var(--invite-bg-two));background-size:cover;background-position:center;overflow:hidden}
.official-hero>*:not(.official-overlay):not(.official-glow):not(.official-background-video){position:relative;z-index:2}.official-overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,var(--invite-overlay));pointer-events:none}.official-hero h1{max-width:1100px;margin:16px auto;font-size:min(var(--invite-heading-size),16vw);line-height:.9;letter-spacing:-.055em;color:var(--invite-text)}
.official-subtitle{max-width:760px;margin:16px auto 24px;color:var(--invite-muted)!important;font-size:clamp(1rem,2vw,1.25rem)}
.official-hero-image{width:min(680px,92vw);max-height:520px;margin:18px auto 28px;border-radius:24px;object-fit:var(--invite-hero-fit);box-shadow:0 30px 90px rgba(0,0,0,.4)}
.shop-logo{max-width:180px;max-height:155px}.official-brand-row img{max-width:250px;max-height:150px;object-fit:contain}
.event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(760px,100%);margin:20px auto}.event-facts>div{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.event-facts span{display:block;color:var(--invite-muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}.event-facts strong{display:block;margin-top:6px;color:var(--invite-text)}
.primary-button,.rsvp-submit{background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two))!important;color:#fff!important;border:0!important}.ghost-button{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.05)!important;color:var(--invite-text)!important}
.official-message,.official-details,.official-gallery,.rsvp-section,.invite-success,.invite-close{padding:clamp(72px,10vw,130px) max(6vw,22px);text-align:var(--invite-text-align);background:transparent;color:var(--invite-text)}
.official-message,.official-gallery{background:rgba(255,255,255,.025)}.official-message h2,.official-details h2,.official-gallery h2,.rsvp-section h2,.invite-success h2{max-width:1000px;margin:10px auto 20px;font-size:clamp(2.5rem,7vw,5.6rem);line-height:.95;color:var(--invite-text)}
.official-details p,.rsvp-copy{max-width:760px;margin:0 auto;color:var(--invite-muted)}
.event-gallery-grid{width:min(1120px,100%);margin:42px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.event-gallery-grid img{width:100%;height:320px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 55px rgba(0,0,0,.25)}.event-gallery-grid img:nth-child(4n+1){grid-row:span 2;height:652px}
.rsvp-form{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.28)}.rsvp-form input,.rsvp-form textarea,.rsvp-form select{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.14)!important;color:var(--invite-text)!important}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:color-mix(in srgb,var(--invite-muted) 70%,transparent)}.attendance-choice span{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.12)!important;color:var(--invite-text)!important}.attendance-choice input:checked+span{background:color-mix(in srgb,var(--invite-accent) 22%,transparent)!important;border-color:var(--invite-accent)!important}
.digital-pass{background:linear-gradient(145deg,color-mix(in srgb,var(--invite-accent) 18%,var(--invite-bg)),var(--invite-bg-two))}.success-reference{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}.success-reference strong{color:#fff!important}
.event-ambient{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}.event-ambient::before,.event-ambient::after{content:"";position:absolute;border-radius:50%}.event-ambient.sparkles::before,.event-ambient.stars::before{inset:0;background-image:radial-gradient(circle,#fff 0 1.2px,transparent 1.8px);background-size:48px 48px;opacity:.18;animation:ambientMove 12s linear infinite}.event-ambient.sparkles::after{inset:0;background-image:radial-gradient(circle,var(--invite-accent) 0 1.4px,transparent 2px);background-size:73px 73px;opacity:.15;animation:ambientMove 18s linear reverse infinite}.event-ambient.bubbles::before{width:230px;height:230px;left:-80px;bottom:8%;border:2px solid color-mix(in srgb,var(--invite-accent) 45%,transparent);opacity:.35;box-shadow:280px -330px 0 48px color-mix(in srgb,var(--invite-accent-two) 18%,transparent),650px -80px 0 20px color-mix(in srgb,var(--invite-accent) 22%,transparent);animation:ambientFloat 9s ease-in-out infinite}.event-ambient.neon::before{width:55vw;height:35vh;left:22vw;top:18vh;background:var(--invite-accent);filter:blur(130px);opacity:.13;animation:ambientPulse 4s ease-in-out infinite}.event-ambient.confetti::before{inset:-20%;background:repeating-linear-gradient(38deg,transparent 0 34px,var(--invite-accent) 35px 38px,transparent 39px 70px,var(--invite-accent-two) 71px 74px);opacity:.055;animation:ambientMove 15s linear infinite}
.music-control{position:fixed;right:18px;bottom:18px;z-index:30;min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(9,13,21,.86);color:#fff;display:flex;align-items:center;gap:9px;backdrop-filter:blur(14px);box-shadow:0 15px 40px rgba(0,0,0,.3)}.music-control span{font-size:1.4rem;color:var(--invite-accent)}.music-control b{font-size:.75rem}.music-control.playing span{animation:musicPulse 1.1s ease-in-out infinite}
.invite-animated{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.invite-animated.visible{opacity:1;transform:none}.animation-fade .invite-animated{transform:none}.animation-zoom .invite-animated{transform:scale(.94)}.animation-zoom .invite-animated.visible{transform:none}.animation-slide-left .invite-animated{transform:translateX(-34px)}.animation-slide-left .invite-animated.visible{transform:none}.animation-none .invite-animated{opacity:1;transform:none;transition:none}.animation-float .official-hero h1{animation:titleFloat 3.5s ease-in-out infinite}
@keyframes ambientMove{to{transform:translateY(50px)}}@keyframes ambientFloat{50%{transform:translateY(-28px) scale(1.04)}}@keyframes ambientPulse{50%{opacity:.25;transform:scale(1.12)}}@keyframes musicPulse{50%{transform:scale(1.18)}}@keyframes titleFloat{50%{transform:translateY(-10px)}}
@media(max-width:820px){.event-gallery-grid{grid-template-columns:repeat(2,1fr)}.event-gallery-grid img,.event-gallery-grid img:nth-child(4n+1){height:260px;grid-row:auto}.official-hero h1{font-size:min(16vw,var(--invite-heading-size))}}
@media(max-width:560px){.official-hero{padding-top:85px}.event-facts,.form-pair{grid-template-columns:1fr!important}.event-gallery-grid{grid-template-columns:1fr}.event-gallery-grid img,.event-gallery-grid img:nth-child(4n+1){height:280px}.music-control b{display:none}.music-control{width:50px;padding:0;justify-content:center}.official-hero-image{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.event-ambient,.invite-animated,.animation-float .official-hero h1,.music-control span{animation:none!important;transition:none!important}.invite-animated{opacity:1!important;transform:none!important}}
body[data-animation-intensity="low"] .invite-animated{transition-duration:.45s;transform:translateY(14px)}
body[data-animation-intensity="high"] .invite-animated{transition-duration:1.15s;transform:translateY(42px)}
body[data-animation-intensity="high"].animation-zoom .invite-animated{transform:scale(.88)}
body[data-animation-intensity="low"] .event-ambient{opacity:.55}
body[data-animation-intensity="high"] .event-ambient{opacity:1}

/* LN Studio v4.4.4 · logos siempre visibles */
.shop-logo,.official-brand-row img{padding:10px;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 16px 40px rgba(0,0,0,.3);filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}
.official-brand-row{padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}

/* =========================================================
   LN Studio v4.4.6 · invitación real estable y vista previa
   ========================================================= */
.event-preview-banner{
  position:fixed;z-index:80;top:12px;left:50%;transform:translateX(-50%);
  width:min(720px,calc(100% - 24px));padding:10px 14px;border:1px solid rgba(143,125,255,.45);
  border-radius:14px;background:rgba(8,12,21,.94);color:#fff;display:flex;align-items:center;
  justify-content:center;gap:10px;flex-wrap:wrap;text-align:center;backdrop-filter:blur(16px);
  box-shadow:0 16px 45px rgba(0,0,0,.35);font-family:"Manrope",sans-serif
}
.event-preview-banner strong{color:#c7beff}.event-preview-banner span{color:#b7c1d5;font-size:.78rem}
.is-preview .official-hero{padding-top:145px}
.official-event,.official-event *{box-sizing:border-box}
.official-event{width:100%;max-width:100%;overflow-x:hidden}
.official-hero{width:100%;max-width:100%}
.official-hero h1{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.official-subtitle,.event-facts strong,.official-details p,.rsvp-copy{overflow-wrap:anywhere}
.shop-logo,.official-brand-row img,.official-hero-image{display:block;max-width:100%;height:auto}
.rsvp-form{width:min(760px,100%);margin-inline:auto}
.rsvp-form input,.rsvp-form textarea,.rsvp-form select{max-width:100%}
@media(max-width:560px){
  .event-preview-banner{top:8px;padding:9px 10px;gap:4px}.event-preview-banner strong,.event-preview-banner span{width:100%}
  .is-preview .official-hero{padding-top:150px}
  .official-hero{min-height:100svh;padding-inline:16px}
  .official-hero h1{font-size:clamp(2.35rem,14vw,4.35rem)!important;line-height:.92!important;letter-spacing:-.045em!important}
  .official-message,.official-details,.official-gallery,.rsvp-section,.invite-success,.invite-close{padding-left:16px!important;padding-right:16px!important}
  .official-message h2,.official-details h2,.official-gallery h2,.rsvp-section h2,.invite-success h2{font-size:clamp(2.2rem,12vw,3.8rem)!important;overflow-wrap:anywhere}
}


/* ===== LN Studio v4.4.11 · RSVP móvil y pase visual ===== */
.rsvp-section {
  overflow: hidden;
}

.rsvp-form {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rsvp-form label {
  color: var(--invite-text) !important;
}

.rsvp-form input,
.rsvp-form textarea,
.rsvp-form select {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: var(--invite-text) !important;
}

.rsvp-form input::placeholder,
.rsvp-form textarea::placeholder {
  color: color-mix(in srgb, var(--invite-muted) 72%, transparent);
}

.attendance-choice legend {
  margin-bottom: 2px;
}

.privacy-check {
  margin-top: 4px;
}

.success-actions button {
  min-height: 56px;
}

.success-reference {
  width: min(100%, 460px);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 650px) {
  .rsvp-section {
    width: calc(100% - 16px) !important;
    margin: 10px auto !important;
    padding: 28px 16px !important;
    border-radius: 22px !important;
  }

  .rsvp-section > h2 {
    margin-bottom: 18px !important;
    font-size: clamp(2.25rem, 12vw, 3.35rem) !important;
  }

  .rsvp-copy {
    font-size: 1rem;
    line-height: 1.6;
  }

  .form-pair,
  .attendance-choice {
    grid-template-columns: 1fr !important;
  }

  .attendance-choice {
    gap: 12px !important;
  }

  .attendance-choice span {
    min-height: 60px !important;
  }

  .invite-success {
    padding: 52px 16px 70px !important;
  }

  .invite-success h2 {
    font-size: clamp(2.4rem, 13vw, 4rem) !important;
  }

  .success-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .success-actions button {
    width: 100%;
  }
}


/* LN Studio v4.4.13 · logos libres, sin tarjetas ni recuadros extras */
.shop-logo,
.official-brand-row img{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.28))!important;
}

.official-brand-row{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* ===== LN Studio v4.4.14 · autoacomodo y nivelado de logos ===== */
.event-logo-cluster{
  width:min(720px,92vw);
  margin:0 auto clamp(16px,2.4vw,28px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  flex-wrap:nowrap;
  min-height:112px;
}

.event-logo-cluster[hidden]{display:none!important}

.event-logo-cluster img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(42%,280px)!important;
  max-height:clamp(92px,12vw,165px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.3))!important;
  flex:0 1 auto;
}

.event-logo-cluster.logo-count-1 img{
  max-width:min(300px,70vw)!important;
  max-height:clamp(110px,16vw,205px)!important;
}

.event-logo-cluster.logo-layout-stacked{
  flex-direction:column;
  gap:14px;
}

.event-logo-cluster.logo-layout-stacked img{
  max-width:min(390px,76vw)!important;
  max-height:125px!important;
}

.event-logo-cluster.logo-layout-row{
  flex-direction:row;
}

@media(max-width:650px){
  .event-logo-cluster{
    width:min(100%,520px);
    gap:16px;
    min-height:80px;
    margin-bottom:16px;
  }

  .event-logo-cluster img{
    max-width:44%!important;
    max-height:92px!important;
  }

  .event-logo-cluster.logo-count-1 img{
    max-width:62vw!important;
    max-height:145px!important;
  }

  .event-logo-cluster.logo-layout-stacked img{
    max-width:72vw!important;
    max-height:92px!important;
  }
}

/* =========================================================
   LN Studio v4.4.15 · horizontal estable y cuentas regresivas
   ========================================================= */
html,
body.private-event{
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
  overflow-x:clip!important;
}
body.private-event .official-event{
  width:100dvw!important;
  min-width:0!important;
  max-width:100dvw!important;
  margin:0!important;
  overflow-x:clip!important;
}
body.private-event .official-event>*{max-width:100%}

.official-countdown{
  width:min(1180px,calc(100% - 32px));
  margin:28px auto;
  border-radius:32px;
  overflow:hidden;
}
.countdown-display{
  width:min(100%,980px);
  margin:38px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  font-family:var(--invite-countdown-font,var(--invite-body-font));
}
.countdown-display>div{
  min-width:0;
  padding:28px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.05);
}
.countdown-display strong{
  display:block;
  color:var(--invite-text);
  font-size:clamp(2.6rem,7vw,6.2rem);
  line-height:.9;
  letter-spacing:-.05em;
  font-variant-numeric:tabular-nums;
}
.countdown-display span{
  display:block;
  margin-top:12px;
  color:var(--invite-muted);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.countdown-message{margin-top:28px!important}
.countdown-style-minimal .countdown-display{gap:0;border-block:1px solid rgba(255,255,255,.14)}
.countdown-style-minimal .countdown-display>div{border:0;border-radius:0;background:transparent;border-right:1px solid rgba(255,255,255,.14)}
.countdown-style-minimal .countdown-display>div:last-child{border-right:0}
.countdown-style-circles .countdown-display{max-width:1000px}
.countdown-style-circles .countdown-display>div{aspect-ratio:1;display:grid;place-content:center;border-radius:50%;padding:16px;background:color-mix(in srgb,var(--invite-accent) 12%,transparent);border-color:color-mix(in srgb,var(--invite-accent) 50%,transparent)}
.countdown-style-inline .countdown-display{display:flex;justify-content:center;gap:8px}
.countdown-style-inline .countdown-display>div{position:relative;flex:0 1 180px;padding:20px 10px;border:0;background:transparent}
.countdown-style-inline .countdown-display>div:not(:last-child)::after{content:":";position:absolute;right:-9px;top:18px;color:var(--invite-accent);font-size:clamp(2rem,5vw,4.8rem);font-weight:700}
.countdown-style-neon .countdown-display>div{background:rgba(3,6,12,.76);border-color:var(--invite-accent);box-shadow:0 0 30px color-mix(in srgb,var(--invite-accent) 34%,transparent),inset 0 0 18px color-mix(in srgb,var(--invite-accent-two) 15%,transparent)}
.countdown-style-neon .countdown-display strong{text-shadow:0 0 20px var(--invite-accent)}
.countdown-style-flip .countdown-display>div{position:relative;background:linear-gradient(180deg,#292f3c 0 49%,#111620 50% 100%);border-color:rgba(255,255,255,.17);box-shadow:0 18px 38px rgba(0,0,0,.3)}
.countdown-style-flip .countdown-display>div::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.14)}

@media(max-width:650px){
  .official-countdown{width:calc(100% - 20px);margin:10px auto;border-radius:22px}
  .countdown-display{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:26px}
  .countdown-display>div{padding:22px 10px}
  .countdown-display strong{font-size:clamp(2.4rem,15vw,4.6rem)}
  .countdown-style-inline .countdown-display{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .countdown-style-inline .countdown-display>div:not(:last-child)::after{display:none}
  .countdown-style-circles .countdown-display>div{padding:10px}
}

/* Teléfonos y tabletas en horizontal: utiliza el ancho y el alto visibles,
   sin dejar una página sobrante ni permitir que el título invada el resto. */
@media(orientation:landscape) and (max-height:760px) and (max-width:980px){
  body.private-event .official-event{width:100dvw!important;max-width:100dvw!important}
  .official-hero{
    width:100dvw!important;
    min-height:100dvh!important;
    padding:18px max(3vw,18px) 22px!important;
    border-radius:0 0 24px 24px!important;
    justify-content:center!important;
  }
  .is-preview .official-hero{padding-top:88px!important}
  .official-hero::before{inset:8px!important;border-radius:18px!important}
  .event-logo-cluster{
    width:min(620px,72vw)!important;
    min-height:0!important;
    margin:0 auto 6px!important;
    gap:14px!important;
  }
  .event-logo-cluster img{
    max-width:34%!important;
    max-height:min(82px,15vh)!important;
  }
  .event-logo-cluster.logo-count-1 img{
    max-width:46%!important;
    max-height:min(100px,18vh)!important;
  }
  .event-logo-cluster.logo-layout-stacked{flex-direction:row!important}
  .official-hero .invite-kicker{margin:3px 0!important;font-size:.58rem!important}
  .official-hero h1{
    width:min(1120px,94vw)!important;
    max-width:94vw!important;
    margin:5px auto!important;
    font-size:clamp(2rem,min(5.2vw,9.4vh),4.5rem)!important;
    line-height:.9!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere!important;
  }
  .official-subtitle{
    max-width:min(760px,82vw)!important;
    margin:5px auto 8px!important;
    font-size:clamp(.72rem,1.35vw,.98rem)!important;
    line-height:1.35!important;
  }
  .official-hero-image{
    width:min(360px,30vw)!important;
    max-height:18vh!important;
    margin:5px auto 8px!important;
    border-radius:12px!important;
  }
  .event-facts{
    width:min(760px,80vw)!important;
    margin:7px auto!important;
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .event-facts>div{padding:8px 12px!important;border-radius:10px!important}
  .event-facts span{font-size:.52rem!important}
  .event-facts strong{margin-top:2px!important;font-size:.72rem!important;line-height:1.25!important}
  .official-hero .success-actions{margin-top:6px!important;gap:8px!important}
  .official-hero .primary-button,.official-hero .ghost-button{min-height:38px!important;padding:0 14px!important;font-size:.72rem!important}
  .music-control{right:10px!important;bottom:10px!important;min-height:40px!important}
}
.official-countdown.countdown-no-seconds .countdown-display{grid-template-columns:repeat(3,minmax(0,1fr))}
.official-countdown.countdown-no-seconds.countdown-style-inline .countdown-display{display:flex}
@media(max-width:650px){.official-countdown.countdown-no-seconds.countdown-style-inline .countdown-display{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}


/* ===== LN Studio v4.4.16 · tipografías publicadas fieles al diseñador ===== */
.official-event,
.official-event button,
.official-event input,
.official-event textarea,
.official-event select,
.official-event a,
.official-subtitle,
.event-facts,
.rsvp-copy,
.rsvp-form {
  font-family: var(--invite-body-font), "Manrope", sans-serif !important;
}

.official-hero h1,
.official-message h2,
.official-details h2,
.official-gallery h2,
.rsvp-section > h2,
.invite-success h2,
.invite-close p {
  font-family: var(--invite-heading-font), "Fraunces", serif !important;
}

.countdown-display,
.countdown-display strong {
  font-family: var(--invite-countdown-font), "Manrope", sans-serif !important;
}

/* Evita que reglas antiguas de las plantillas sustituyan la fuente elegida. */
.official-hero h1,
.official-message h2,
.rsvp-section > h2,
.invite-success h2 {
  font-style: normal;
}

/* =========================================================
   LN Studio v4.5 · composición premium de invitaciones
   ========================================================= */
body.private-event{background:var(--invite-bg);isolation:isolate}
.official-event{position:relative}
.official-hero{min-height:min(100svh,920px)!important;padding-block:clamp(72px,8vw,108px)!important;border-radius:0 0 clamp(26px,4vw,54px) clamp(26px,4vw,54px)!important;box-shadow:0 28px 85px rgba(0,0,0,.26)}
.official-hero::before{inset:clamp(10px,1.8vw,24px)!important;border-radius:clamp(18px,2.8vw,38px)!important;border-color:rgba(255,255,255,.13)!important}
.official-hero::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 22%,transparent 66%,rgba(0,0,0,.35));pointer-events:none}
.official-overlay{background:linear-gradient(180deg,rgba(0,0,0,calc(var(--invite-overlay) * .72)),rgba(0,0,0,var(--invite-overlay)))!important}
.event-logo-cluster{margin-bottom:clamp(10px,1.8vw,22px)!important}
.official-hero .invite-kicker{display:inline-flex;align-items:center;gap:9px;margin:4px auto 12px;padding:8px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(5,8,14,.34);backdrop-filter:blur(12px);font-size:.64rem!important}
.official-hero .invite-kicker::before{content:"✦";font-size:.7rem}
.official-hero h1{width:min(100%,980px);margin:10px auto 14px!important;font-size:clamp(2.8rem,7.2vw,min(var(--invite-heading-size),7rem))!important;line-height:.91!important;text-wrap:balance;text-shadow:0 6px 30px rgba(0,0,0,.45)}
.official-subtitle{max-width:680px!important;margin:0 auto 20px!important;line-height:1.65!important;text-wrap:balance}
.event-facts{width:min(820px,100%)!important;margin:18px auto 14px!important;gap:12px!important}
.event-facts>div{position:relative;overflow:hidden;min-height:96px;padding:19px 22px!important;border-color:rgba(255,255,255,.16)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(10,14,24,.58),rgba(255,255,255,.065))!important;box-shadow:0 16px 45px rgba(0,0,0,.18);backdrop-filter:blur(16px)}
.event-facts>div::after{content:"";position:absolute;inset:auto 18px 0;height:2px;background:linear-gradient(90deg,transparent,var(--invite-accent),var(--invite-accent-two),transparent);opacity:.7}
.event-facts span{color:color-mix(in srgb,var(--invite-accent) 70%,#fff)!important;font-weight:800!important}
.event-facts strong{font-size:clamp(.9rem,1.4vw,1.08rem)!important;line-height:1.55!important}
.official-hero .success-actions{margin-top:10px!important;gap:10px!important}
.official-hero .primary-button,.official-hero .ghost-button{min-height:52px!important;border-radius:14px!important;padding-inline:22px!important;backdrop-filter:blur(12px)}
.official-message,.official-details,.official-gallery,.rsvp-section,.invite-success,.invite-close{position:relative;width:min(1180px,calc(100% - 32px));margin:16px auto;padding:clamp(64px,7vw,96px) clamp(22px,6vw,78px)!important;border:1px solid rgba(255,255,255,.08);border-radius:clamp(24px,3vw,38px);overflow:hidden}
.official-message::before,.official-details::before,.official-gallery::before,.rsvp-section::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:var(--invite-accent);filter:blur(125px);opacity:.075;pointer-events:none}
.official-message::before,.official-gallery::before{right:-140px;top:-130px}.official-details::before,.rsvp-section::before{left:-140px;bottom:-150px}
.official-message{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important}
.official-details{min-height:420px;display:grid;align-content:center;background:linear-gradient(145deg,color-mix(in srgb,var(--invite-accent) 8%,transparent),rgba(255,255,255,.022))!important}
.official-message h2,.official-details h2,.official-gallery h2,.rsvp-section>h2,.invite-success h2{max-width:850px!important;font-size:clamp(2.35rem,5.4vw,5.2rem)!important;line-height:.98!important;letter-spacing:-.045em;text-wrap:balance}
.official-details p:last-child:not(.invite-kicker){max-width:720px;padding:17px 20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);line-height:1.65}
.countdown-display{gap:10px!important;margin-top:30px!important}
.countdown-display>div{padding:24px 10px!important;border-radius:20px!important;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;box-shadow:inset 0 1px rgba(255,255,255,.06),0 16px 45px rgba(0,0,0,.16)}
.countdown-display strong{font-size:clamp(2.5rem,6vw,5.4rem)!important}
.rsvp-section{background:linear-gradient(150deg,rgba(255,255,255,.04),rgba(255,255,255,.016))!important}
.rsvp-form{margin-top:36px!important;padding:clamp(20px,4vw,42px)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:24px!important;background:rgba(5,9,16,.22)!important;box-shadow:0 25px 75px rgba(0,0,0,.18)!important;text-align:left}
.rsvp-form input,.rsvp-form textarea,.rsvp-form select{border-radius:12px!important;transition:border-color .2s,box-shadow .2s,background .2s}
.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-form select:focus{outline:0;border-color:var(--invite-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--invite-accent) 14%,transparent)!important;background:rgba(255,255,255,.075)!important}
.music-control{border-color:rgba(255,255,255,.18)!important;background:rgba(5,8,14,.82)!important;box-shadow:0 18px 50px rgba(0,0,0,.35)!important}
@media(max-width:650px){
  .official-hero{min-height:auto!important;padding:74px 16px 44px!important;border-radius:0 0 26px 26px!important}
  .official-hero h1{font-size:clamp(2.35rem,12vw,4.1rem)!important;overflow-wrap:break-word!important}
  .official-subtitle{font-size:.92rem!important;line-height:1.5!important}
  .event-facts{grid-template-columns:1fr!important;gap:8px!important}
  .event-facts>div{min-height:0;padding:14px 15px!important}
  .official-message,.official-details,.official-gallery,.rsvp-section,.invite-success,.invite-close{width:calc(100% - 16px)!important;margin:8px auto!important;padding:42px 18px!important;border-radius:22px!important}
  .official-details{min-height:320px}
  .official-message h2,.official-details h2,.official-gallery h2,.rsvp-section>h2,.invite-success h2{font-size:clamp(2rem,10vw,3.35rem)!important}
  .countdown-display>div{padding:18px 8px!important;border-radius:16px!important}
  .rsvp-form{padding:18px!important;border-radius:18px!important}
}
@media(orientation:landscape) and (max-height:760px) and (max-width:980px){.official-hero h1{font-size:clamp(1.8rem,min(4.7vw,8.4vh),4rem)!important}.official-hero .invite-kicker{padding:5px 9px!important}.event-facts>div{min-height:0!important}.official-message,.official-details,.official-gallery,.rsvp-section{width:min(1180px,calc(100% - 20px))!important}}

/* LN Studio v4.5.1 · capas libres publicadas */
.event-free-layers{position:absolute!important;inset:0!important;z-index:4!important;overflow:hidden;pointer-events:none}.event-free-layer{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;transform-origin:center;white-space:pre-wrap;text-shadow:0 5px 22px rgba(0,0,0,.42)}.event-free-layer img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3))}.official-hero>*:not(.official-overlay):not(.official-glow):not(.event-free-layers):not(.official-background-video){z-index:3}

/* LN Studio v4.6.0 · secciones prediseñadas y movimiento perceptible */
.official-custom{position:relative;width:min(1180px,calc(100% - 32px));min-height:clamp(330px,55vw,620px);margin:16px auto;padding:clamp(64px,8vw,110px) clamp(22px,7vw,88px);border:1px solid rgba(255,255,255,.1);border-radius:clamp(24px,3vw,38px);overflow:hidden;display:grid;align-content:center;gap:18px;text-align:var(--invite-text-align);background:linear-gradient(145deg,color-mix(in srgb,var(--invite-accent) 10%,transparent),rgba(255,255,255,.025));color:var(--invite-text)}.official-custom::before{content:"";position:absolute;width:360px;height:360px;right:-150px;top:-160px;border-radius:50%;background:var(--invite-accent-two);filter:blur(125px);opacity:.1;pointer-events:none}.official-custom h2{position:relative;max-width:920px;margin:6px auto 18px;font-family:var(--invite-heading-font);font-size:clamp(2.4rem,6vw,5.5rem);line-height:.96;letter-spacing:-.04em}.official-custom>p{position:relative;max-width:760px;margin:0 auto;color:var(--invite-muted);line-height:1.75}.official-custom>img,.official-custom>video,.official-custom-split>img{position:relative;width:min(100%,920px);max-height:620px;margin:auto;border-radius:clamp(16px,2vw,26px);object-fit:cover;box-shadow:0 25px 70px rgba(0,0,0,.3)}.official-custom>video{background:#05070b}.official-custom-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(28px,6vw,80px);align-items:center;text-align:left}.official-custom-split h2,.official-custom-split p{margin-left:0}.official-quote-mark{font:700 clamp(5rem,12vw,10rem)/.55 var(--invite-heading-font);color:var(--invite-accent);opacity:.7}.official-custom blockquote{position:relative;max-width:970px;margin:12px auto;font:600 clamp(2.2rem,6vw,5.5rem)/1.08 var(--invite-heading-font);text-wrap:balance}.official-custom-quote{text-align:center}.official-custom-separator{min-height:280px;text-align:center}.official-separator-symbol{font-size:clamp(4rem,10vw,8rem);color:var(--invite-accent);filter:drop-shadow(0 0 25px color-mix(in srgb,var(--invite-accent) 45%,transparent))}.official-itinerary{position:relative;list-style:none;width:min(760px,100%);padding:0;margin:20px auto;display:grid;gap:8px}.official-itinerary li{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px 12px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.official-itinerary strong{color:var(--invite-accent);font-size:1.05rem}.official-itinerary span{color:var(--invite-text);font-weight:700}
.animation-fade-up .invite-animated,.animation-slide-left .invite-animated,.animation-zoom .invite-animated{filter:blur(7px)}.animation-fade-up .invite-animated.visible,.animation-slide-left .invite-animated.visible,.animation-zoom .invite-animated.visible{filter:blur(0)}body[data-animation-intensity="high"] .invite-animated{transition-duration:1.35s!important;transform:translateY(72px)}body[data-animation-intensity="high"].animation-slide-left .invite-animated{transform:translateX(-90px)}body[data-animation-intensity="high"].animation-zoom .invite-animated{transform:scale(.78)}body[data-animation-intensity="high"] .event-ambient.sparkles::before,body[data-animation-intensity="high"] .event-ambient.stars::before{opacity:.48;background-size:34px 34px}body[data-animation-intensity="high"] .event-ambient.sparkles::after{opacity:.36}.animation-float .official-custom h2,.animation-float .official-details h2{animation:titleFloat 3.8s ease-in-out infinite}
@media(max-width:700px){.official-custom{width:calc(100% - 16px);margin:8px auto;min-height:330px;padding:48px 18px}.official-custom-split{grid-template-columns:1fr;text-align:center}.official-custom-split h2,.official-custom-split p{margin-left:auto}.official-itinerary li{grid-template-columns:90px 1fr;gap:10px}.official-custom>img,.official-custom>video,.official-custom-split>img{max-height:440px}}
@media(prefers-reduced-motion:reduce){body.allow-motion .event-ambient{animation:revert!important}body.allow-motion .event-ambient::before,body.allow-motion .event-ambient::after{animation-duration:12s!important;animation-iteration-count:infinite!important}body.allow-motion .invite-animated{transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)!important}body.allow-motion .invite-animated:not(.visible){opacity:0!important;transform:translateY(38px)!important}}

/* LN Studio v4.5.1 · muestras con más identidad visual */
.invitation-page .invite-opening{isolation:isolate;background:radial-gradient(circle at 15% 18%,color-mix(in srgb,var(--invite-accent) 18%,transparent),transparent 25%),radial-gradient(circle at 85% 78%,color-mix(in srgb,var(--invite-accent-two) 14%,transparent),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--invite-bg) 92%,#fff),var(--invite-bg))}.invitation-page .invite-opening::before{content:"";position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--invite-accent) 27%,transparent);pointer-events:none}.invitation-page .invite-opening::after{content:"✦";position:absolute;right:4vw;top:18vh;color:var(--invite-accent);font-size:clamp(2rem,5vw,5rem);opacity:.24;text-shadow:-8vw 48vh 0 var(--invite-accent-two),-72vw 10vh 0 var(--invite-accent)}.invitation-page .opening-grid{position:relative;z-index:2;width:min(1240px,100%);gap:clamp(34px,6vw,90px)}.invitation-page .opening-copy{position:relative;padding:clamp(28px,4vw,58px);border:1px solid var(--invite-line);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:0 28px 90px rgba(0,0,0,.22);backdrop-filter:blur(8px)}.invitation-page .opening-copy::before,.invitation-page .opening-copy::after{content:"";position:absolute;width:46px;height:46px;border-color:var(--invite-accent);opacity:.7}.invitation-page .opening-copy::before{left:-1px;top:-1px;border-left:3px solid;border-top:3px solid}.invitation-page .opening-copy::after{right:-1px;bottom:-1px;border-right:3px solid;border-bottom:3px solid}.invitation-page .opening-emblem::before{content:"";position:absolute;inset:-3%;border:1px dashed color-mix(in srgb,var(--invite-accent-two) 40%,transparent);border-radius:50%;animation:rotateRing 28s linear reverse infinite}.invitation-page .emblem-center{position:relative;border-width:2px;background:radial-gradient(circle,color-mix(in srgb,var(--invite-accent) 13%,transparent),rgba(255,255,255,.015) 62%)}.invitation-page .emblem-center::after{content:"";position:absolute;inset:10%;border:1px solid color-mix(in srgb,var(--invite-accent) 40%,transparent);border-radius:50%}.invitation-page .invite-statement{width:min(1100px,calc(100% - 32px));margin:24px auto;padding:clamp(55px,8vw,100px);border:1px solid var(--invite-line);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--invite-accent) 8%,transparent),rgba(255,255,255,.025))}.invitation-page .detail-card{border:1px solid var(--invite-line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.16)}.invitation-page .invite-moment,.invitation-page .invite-launch{position:relative;overflow:hidden}.invitation-page .invite-launch{width:min(1180px,calc(100% - 32px));margin:24px auto;border:1px solid var(--invite-line);border-radius:30px;background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--invite-accent) 13%,transparent),transparent 45%)}body[data-model^="boda-"] .invite-opening::after{content:"❦";font-family:Georgia,serif;font-size:clamp(4rem,9vw,9rem);opacity:.2}body[data-model^="boda-"] .opening-copy{background:linear-gradient(145deg,rgba(214,173,97,.09),rgba(255,255,255,.018))}body[data-model^="xv-"] .invite-opening::after{content:"✧"}body[data-model="baby-bloom"] .invite-opening::after{content:"❀"}body[data-model="bautizo-alba"] .invite-opening::after{content:"✦"}
@media(max-width:760px){.invitation-page .invite-opening::before{inset:9px}.invitation-page .opening-copy{padding:26px 20px}.invitation-page .invite-statement,.invitation-page .invite-launch{width:calc(100% - 18px);margin:9px auto;border-radius:22px}}


/* =========================================================
   LN Studio v4.7.0 · fidelidad tipográfica + video de fondo
   ========================================================= */
.official-background-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  object-fit:cover;
  object-position:50% 50%;
  pointer-events:none;
  background:var(--invite-bg);
}
.official-background-video[hidden]{display:none!important}
.official-overlay{z-index:1}
.private-event .official-event,
.private-event .official-event p,
.private-event .official-event span,
.private-event .official-event strong,
.private-event .official-event a,
.private-event .official-event button,
.private-event .official-event label,
.private-event .official-event legend,
.private-event .official-event input,
.private-event .official-event textarea,
.private-event .official-event select,
.private-event .official-event small{
  font-family:var(--invite-body-font),"Manrope",sans-serif!important;
}
.private-event .official-event h1,
.private-event .official-event h2,
.private-event .official-event h3,
.private-event .official-custom blockquote,
.private-event .invite-close p{
  font-family:var(--invite-heading-font),"Fraunces",serif!important;
}
.private-event .countdown-display,
.private-event .countdown-display strong,
.private-event .countdown-display span{
  font-family:var(--invite-countdown-font),"Manrope",sans-serif!important;
}
.private-event .official-subtitle,
.private-event .rsvp-copy,
.private-event .official-custom>p,
.private-event .official-custom-split p{
  font-size:var(--invite-body-size)!important;
}
.private-event .official-hero h1{
  font-size:min(var(--invite-heading-size),16vw);
  font-weight:var(--invite-heading-weight)!important;
  text-transform:var(--invite-heading-transform)!important;
}
@media(orientation:landscape) and (max-height:760px) and (max-width:980px){
  .private-event .official-hero h1{
    font-size:min(var(--invite-heading-size),min(8vw,14vh))!important;
  }
  .private-event .official-subtitle{
    font-size:min(var(--invite-body-size),2.4vw)!important;
  }
}


/* =========================================================
   LN Studio v4.8.0 · fidelidad diseñador/publicación
   ========================================================= */
.private-event .official-hero h1{font-size:var(--invite-heading-size)!important;font-weight:var(--invite-heading-weight)!important;text-transform:var(--invite-heading-transform)!important}
@media(max-width:650px){.private-event .official-hero h1{font-size:min(var(--invite-heading-size),16vw)!important}}
@media(orientation:landscape) and (max-height:760px) and (max-width:980px){.private-event .official-hero h1{font-size:min(var(--invite-heading-size),min(8vw,14vh))!important}}
.designer-embedded-preview .event-preview-banner{display:none!important}
.designer-embedded-preview{scrollbar-gutter:auto!important}

/* =========================================================
   LN Studio v4.9.0 · motor de video universal
   ========================================================= */
.official-video-frame{
  position:relative;
  width:min(100%,920px);
  aspect-ratio:16/9;
  margin:auto;
  overflow:hidden;
  border-radius:clamp(16px,2vw,26px);
  background:#05070b;
  box-shadow:0 25px 70px rgba(0,0,0,.3);
}
.official-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#05070b;
}
.video-source-placeholder,.video-source-error,.video-runtime-error{
  position:relative;
  width:min(100%,920px);
  margin:auto;
  padding:24px 20px;
  border-radius:16px;
  text-align:center;
  line-height:1.55;
}
.video-source-placeholder{border:1px dashed rgba(255,255,255,.18);color:var(--invite-muted);background:rgba(255,255,255,.025)}
.video-source-error,.video-runtime-error{border:1px solid rgba(255,127,145,.34);color:#ffd0d6;background:rgba(255,127,145,.07)}
.video-source-error strong,.video-source-error span{display:block}
.video-source-error strong{margin-bottom:5px;color:#fff}
.official-custom-video>video{width:min(100%,920px);min-height:180px;aspect-ratio:16/9}
@media(max-width:700px){.official-video-frame{width:100%;border-radius:16px}.video-source-placeholder,.video-source-error,.video-runtime-error{width:100%;padding:18px 14px}.official-custom-video>video{width:100%;min-height:160px}}
.official-background-youtube{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--invite-bg)
}
.official-background-youtube[hidden]{display:none!important}
.official-background-youtube iframe{
  position:absolute;left:var(--bg-video-x,50%);top:var(--bg-video-y,50%);
  width:max(100%,177.7778vh);height:max(100%,56.25vw);
  min-width:100%;min-height:100%;border:0;transform:translate(-50%,-50%) scale(1.02);pointer-events:none
}
.official-hero>*:not(.official-overlay):not(.official-glow):not(.event-free-layers):not(.official-background-video):not(.official-background-youtube){z-index:3}

/* =========================================================
   LN Studio v5.0.0 · tokens visuales canónicos
   El diseñador y la invitación comparten exactamente estas reglas.
   Elimina visualmente los colores/tipografías heredados de versiones previas.
   ========================================================= */
.private-event,
.private-event .official-event,
.private-event .official-event button,
.private-event .official-event input,
.private-event .official-event textarea,
.private-event .official-event select,
.private-event .official-event label,
.private-event .official-event legend,
.private-event .official-event a,
.private-event .official-event p,
.private-event .official-event span,
.private-event .official-event strong,
.private-event .official-event small{
  font-family:var(--invite-body-font),"Manrope",sans-serif!important;
  font-synthesis:none;
}
.private-event{background:var(--invite-bg)!important;color:var(--invite-text)!important}
.private-event .official-event{
  color:var(--invite-text)!important;
  background:linear-gradient(180deg,var(--invite-bg),var(--invite-bg-two))!important;
}
.private-event .official-event h1,
.private-event .official-event h2,
.private-event .official-event h3,
.private-event .official-custom blockquote,
.private-event .invite-close p{
  font-family:var(--invite-heading-font),"Fraunces",serif!important;
  font-synthesis:none;
  letter-spacing:normal!important;
  color:var(--invite-text)!important;
}
.private-event .official-hero h1{
  font-family:var(--invite-heading-font),"Fraunces",serif!important;
  font-size:var(--invite-heading-size)!important;
  font-weight:var(--invite-heading-weight)!important;
  line-height:.94!important;
  letter-spacing:normal!important;
  text-transform:var(--invite-heading-transform)!important;
  color:var(--invite-text)!important;
}
.private-event .official-subtitle{
  font-family:var(--invite-body-font),"Manrope",sans-serif!important;
  font-size:var(--invite-body-size)!important;
  color:var(--invite-muted)!important;
}
.private-event .invite-kicker,
.private-event .event-facts span,
.private-event .official-quote-mark,
.private-event .official-separator-symbol,
.private-event .official-itinerary strong{
  color:var(--invite-accent)!important;
}
.private-event .event-facts strong,
.private-event .official-itinerary span{
  color:var(--invite-text)!important;
}
.private-event .official-message>p:not(.invite-kicker),
.private-event .official-details>p:not(.invite-kicker),
.private-event .official-gallery>p:not(.invite-kicker),
.private-event .rsvp-copy,
.private-event .official-custom>p,
.private-event .official-custom-split p,
.private-event .invite-success>p:not(.invite-kicker){
  color:var(--invite-muted)!important;
}
.private-event .official-message,
.private-event .official-details,
.private-event .official-gallery,
.private-event .rsvp-section,
.private-event .invite-success,
.private-event .invite-close,
.private-event .official-custom{
  color:var(--invite-text)!important;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--invite-bg-two) 84%,var(--invite-bg)),
    color-mix(in srgb,var(--invite-bg) 92%,var(--invite-accent) 8%)
  )!important;
  border-color:color-mix(in srgb,var(--invite-accent) 20%,transparent)!important;
}
.private-event .event-facts>div,
.private-event .rsvp-form{
  color:var(--invite-text)!important;
  background:color-mix(in srgb,var(--invite-bg-two) 72%,transparent)!important;
  border-color:color-mix(in srgb,var(--invite-accent) 18%,transparent)!important;
}
.private-event .rsvp-form label,
.private-event .attendance-choice legend{color:var(--invite-text)!important}
.private-event .rsvp-form input,
.private-event .rsvp-form textarea,
.private-event .rsvp-form select,
.private-event .attendance-choice span{
  color:var(--invite-text)!important;
  background:color-mix(in srgb,var(--invite-bg) 82%,white 6%)!important;
  border-color:color-mix(in srgb,var(--invite-muted) 30%,transparent)!important;
}
.private-event .rsvp-form input::placeholder,
.private-event .rsvp-form textarea::placeholder{color:color-mix(in srgb,var(--invite-muted) 78%,transparent)!important}
.private-event .primary-button,
.private-event .rsvp-submit{
  background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two))!important;
  color:#fff!important;
}
.private-event .ghost-button{
  color:var(--invite-text)!important;
  border-color:color-mix(in srgb,var(--invite-text) 22%,transparent)!important;
  background:color-mix(in srgb,var(--invite-bg-two) 64%,transparent)!important;
}
.private-event .countdown-display,
.private-event .countdown-display strong,
.private-event .countdown-display span{
  font-family:var(--invite-countdown-font),"Manrope",sans-serif!important;
  font-synthesis:none;
}
@media(max-width:650px){
  .private-event .official-hero h1{
    font-size:min(var(--invite-heading-size),16vw)!important;
  }
  .private-event .official-subtitle{
    font-size:min(var(--invite-body-size),5.4vw)!important;
  }
}
@media(orientation:landscape) and (max-height:760px) and (max-width:980px){
  .private-event .official-hero h1{
    font-size:min(var(--invite-heading-size),min(8vw,14vh))!important;
  }
  .private-event .official-subtitle{
    font-size:min(var(--invite-body-size),2.4vw)!important;
  }
}


/* LN Studio v5.1.0 · el render público recibe design_config completo vía RPC. */

/* =========================================================
   LN Studio v6.0.0 · RENDER CANÓNICO
   Un único contrato visual para diseñador (iframe) y publicación.
   Estas reglas aíslan evento.html del CSS histórico acumulado.
   ========================================================= */
html:has(body.private-event){
  width:100%;
  min-width:0;
  background:var(--invite-bg);
  overflow-x:clip;
}
body.private-event{
  width:100%;
  min-width:0;
  min-height:100dvh;
  margin:0!important;
  padding:0!important;
  overflow-x:clip!important;
  background:var(--invite-bg)!important;
  color:var(--invite-text)!important;
  font-family:var(--invite-body-font),Manrope,Arial,sans-serif!important;
}
body.private-event .official-event{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-height:100dvh;
  margin:0!important;
  padding:0 0 22px!important;
  overflow:clip!important;
  color:var(--invite-text)!important;
  background:linear-gradient(180deg,var(--invite-bg) 0%,var(--invite-bg-two) 52%,var(--invite-bg) 100%)!important;
  isolation:isolate;
}
body.private-event .official-event,
body.private-event .official-event *{box-sizing:border-box}
body.private-event .official-event [hidden]{display:none!important}

/* Portada: imagen/video y contenido comparten el mismo lienzo. */
body.private-event .official-hero{
  position:relative!important;
  isolation:isolate;
  width:100%!important;
  max-width:none!important;
  min-height:min(100svh,960px)!important;
  margin:0!important;
  padding:clamp(68px,8vw,112px) clamp(18px,6vw,90px) clamp(54px,7vw,92px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:var(--hero-align,center)!important;
  justify-content:center!important;
  gap:0;
  overflow:hidden!important;
  border:0!important;
  border-radius:0 0 clamp(24px,3vw,46px) clamp(24px,3vw,46px)!important;
  background-color:var(--invite-bg)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  color:var(--invite-text)!important;
  text-align:var(--invite-text-align,center)!important;
  box-shadow:0 28px 85px rgba(0,0,0,.24)!important;
}
body.private-event .official-hero::before{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  inset:clamp(10px,1.6vw,22px)!important;
  border:1px solid color-mix(in srgb,var(--invite-text) 13%,transparent)!important;
  border-radius:clamp(17px,2.6vw,34px)!important;
  pointer-events:none!important;
}
body.private-event .official-hero::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 28%,transparent 67%,rgba(0,0,0,.24))!important;
  pointer-events:none!important;
}
body.private-event .official-background-video,
body.private-event .official-background-youtube{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:var(--invite-bg)!important;
  pointer-events:none!important;
}
body.private-event .official-background-video{
  object-fit:cover;
  object-position:50% 50%;
}
body.private-event .official-background-youtube iframe{
  position:absolute!important;
  left:var(--bg-video-x,50%)!important;
  top:var(--bg-video-y,50%)!important;
  width:max(100%,177.7778vh)!important;
  height:max(100%,56.25vw)!important;
  min-width:100%!important;
  min-height:100%!important;
  border:0!important;
  transform:translate(-50%,-50%) scale(1.025)!important;
  pointer-events:none!important;
}
body.private-event .official-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(0,0,0,var(--invite-overlay))!important;
  pointer-events:none!important;
}
body.private-event .official-glow{z-index:1!important;pointer-events:none!important;opacity:.20!important}
body.private-event .official-hero>*:not(.official-background-video):not(.official-background-youtube):not(.official-overlay):not(.official-glow):not(.event-free-layers){
  position:relative!important;
  z-index:3!important;
}

body.private-event .event-logo-cluster{
  width:min(100%,760px)!important;
  margin:0 auto clamp(10px,1.6vw,20px)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(10px,2vw,24px)!important;
}
body.private-event .event-logo-cluster.logo-layout-row{display:flex!important;flex-wrap:wrap!important}
body.private-event .event-logo-cluster.logo-layout-stacked{display:grid!important;justify-items:center!important}
body.private-event .event-logo-cluster img{
  display:block!important;
  width:auto!important;
  max-width:min(48%,360px)!important;
  max-height:180px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.3));
}
body.private-event .event-logo-cluster.logo-layout-stacked img{max-width:min(72%,460px)!important}
body.private-event .official-hero-image{
  display:block;
  width:min(760px,92vw)!important;
  max-width:100%!important;
  max-height:min(52vh,540px)!important;
  margin:clamp(10px,1.6vw,22px) auto clamp(16px,2vw,26px)!important;
  border-radius:clamp(14px,2vw,26px)!important;
  object-fit:var(--invite-hero-fit,cover)!important;
  box-shadow:0 28px 75px rgba(0,0,0,.34)!important;
}
body.private-event .invite-kicker{
  margin:0 auto 12px!important;
  color:var(--invite-accent)!important;
  font-family:var(--invite-body-font),Manrope,sans-serif!important;
  font-size:clamp(.58rem,.8vw,.72rem)!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
body.private-event .official-hero .invite-kicker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:min(100%,760px)!important;
  padding:8px 13px!important;
  border:1px solid color-mix(in srgb,var(--invite-text) 15%,transparent)!important;
  border-radius:999px!important;
  background:rgba(4,7,12,.30)!important;
  backdrop-filter:blur(12px);
}
body.private-event .official-hero .invite-kicker::before{content:"✦";margin-right:8px;font-size:.7em}
body.private-event .official-hero h1{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin:8px auto 12px!important;
  color:var(--invite-text)!important;
  font-family:var(--invite-heading-font),Fraunces,Georgia,serif!important;
  font-size:var(--invite-heading-size)!important;
  font-weight:var(--invite-heading-weight)!important;
  font-synthesis:none!important;
  line-height:.96!important;
  letter-spacing:normal!important;
  text-transform:var(--invite-heading-transform)!important;
  text-wrap:balance;
  overflow-wrap:anywhere;
  text-shadow:0 7px 28px rgba(0,0,0,.4);
}
body.private-event .official-subtitle{
  width:min(100%,820px)!important;
  margin:0 auto 6px!important;
  color:var(--invite-muted)!important;
  font-family:var(--invite-body-font),Manrope,sans-serif!important;
  font-size:var(--invite-body-size)!important;
  line-height:1.55!important;
  text-wrap:balance;
}
body.private-event .event-facts{
  width:min(900px,100%)!important;
  margin:clamp(22px,3vw,34px) auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  background:transparent!important;
}
body.private-event .event-facts>div{
  min-width:0!important;
  padding:clamp(17px,2vw,24px)!important;
  border:1px solid color-mix(in srgb,var(--invite-accent) 20%,transparent)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--invite-bg-two) 76%,transparent)!important;
  color:var(--invite-text)!important;
  backdrop-filter:blur(14px);
}
body.private-event .event-facts span{
  display:block!important;
  color:var(--invite-accent)!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.private-event .event-facts strong{
  display:block!important;
  margin-top:8px!important;
  color:var(--invite-text)!important;
  font-family:var(--invite-body-font),Manrope,sans-serif!important;
  font-size:clamp(.92rem,1.3vw,1.08rem)!important;
  line-height:1.5!important;
  overflow-wrap:anywhere;
}
body.private-event .official-hero .success-actions{
  width:auto!important;
  margin:16px auto 0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
}
body.private-event .primary-button,
body.private-event .ghost-button,
body.private-event .rsvp-submit{
  min-height:52px!important;
  border-radius:14px!important;
  padding:0 22px!important;
  font-family:var(--invite-body-font),Manrope,sans-serif!important;
  font-size:.96rem!important;
  font-weight:800!important;
  line-height:1.15!important;
}
body.private-event .primary-button,
body.private-event .rsvp-submit{
  border:0!important;
  background:linear-gradient(135deg,var(--invite-accent),var(--invite-accent-two))!important;
  color:#fff!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--invite-accent) 22%,transparent)!important;
}
body.private-event .ghost-button{
  border:1px solid color-mix(in srgb,var(--invite-text) 22%,transparent)!important;
  background:color-mix(in srgb,var(--invite-bg-two) 62%,transparent)!important;
  color:var(--invite-text)!important;
}

/* Secciones: mismo sistema de ancho, ritmo y tipografía. */
body.private-event .official-message,
body.private-event .official-details,
body.private-event .official-gallery,
body.private-event .rsvp-section,
body.private-event .invite-success,
body.private-event .invite-close,
body.private-event .official-custom{
  position:relative!important;
  width:min(1160px,calc(100% - 32px))!important;
  max-width:1160px!important;
  min-height:0!important;
  margin:16px auto!important;
  padding:clamp(54px,6vw,84px) clamp(20px,5vw,68px)!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--invite-accent) 19%,transparent)!important;
  border-radius:clamp(22px,3vw,36px)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--invite-bg-two) 84%,var(--invite-bg)),color-mix(in srgb,var(--invite-bg) 92%,var(--invite-accent) 8%))!important;
  color:var(--invite-text)!important;
  text-align:var(--invite-text-align,center)!important;
  box-shadow:none!important;
}
body.private-event .official-message h2,
body.private-event .official-details h2,
body.private-event .official-gallery h2,
body.private-event .rsvp-section>h2,
body.private-event .invite-success h2,
body.private-event .official-custom h2,
body.private-event .official-custom blockquote,
body.private-event .invite-close p{
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin:10px auto 18px!important;
  color:var(--invite-text)!important;
  font-family:var(--invite-heading-font),Fraunces,Georgia,serif!important;
  font-synthesis:none!important;
  font-size:clamp(2rem,4.8vw,4.6rem)!important;
  font-weight:var(--invite-heading-weight)!important;
  line-height:1.02!important;
  letter-spacing:normal!important;
  text-transform:var(--invite-heading-transform)!important;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
body.private-event .official-message>p:not(.invite-kicker),
body.private-event .official-details>p:not(.invite-kicker),
body.private-event .official-gallery>p:not(.invite-kicker),
body.private-event .rsvp-copy,
body.private-event .official-custom>p,
body.private-event .official-custom-split p,
body.private-event .invite-success>p:not(.invite-kicker){
  width:min(100%,820px)!important;
  margin-inline:auto!important;
  color:var(--invite-muted)!important;
  font-family:var(--invite-body-font),Manrope,sans-serif!important;
  font-size:var(--invite-body-size)!important;
  line-height:1.6!important;
}

/* Cuenta regresiva */
body.private-event .official-countdown{width:min(1160px,calc(100% - 32px))!important}
body.private-event .countdown-display{
  width:min(100%,920px)!important;
  margin:28px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  font-family:var(--invite-countdown-font),Manrope,sans-serif!important;
}
body.private-event .countdown-display>div{
  min-width:0!important;
  padding:clamp(18px,2.5vw,28px) 10px!important;
  border:1px solid color-mix(in srgb,var(--invite-accent) 18%,transparent)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--invite-bg) 72%,transparent)!important;
}
body.private-event .countdown-display strong{
  display:block!important;
  color:var(--invite-text)!important;
  font-family:var(--invite-countdown-font),Manrope,sans-serif!important;
  font-size:clamp(2rem,4.4vw,4.2rem)!important;
  line-height:1!important;
}
body.private-event .countdown-display span{
  display:block!important;
  margin-top:7px!important;
  color:var(--invite-muted)!important;
  font-family:var(--invite-countdown-font),Manrope,sans-serif!important;
  font-size:.65rem!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
body.private-event .official-countdown.countdown-no-seconds .countdown-display{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Galería real, sin tamaños especiales heredados. */
body.private-event .event-gallery-grid{
  width:100%!important;
  max-width:1040px!important;
  margin:30px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
body.private-event .event-gallery-item{
  position:relative;
  min-width:0;
  margin:0;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--invite-text) 10%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--invite-bg) 88%,white 4%);
}
body.private-event .event-gallery-item img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.private-event .event-gallery-item span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  color:var(--invite-muted)!important;
  font-size:.78rem;
  text-align:center;
}

/* Secciones personalizadas */
body.private-event .official-custom{display:grid!important;align-content:center!important;gap:12px!important}
body.private-event .official-custom>img,
body.private-event .official-custom>video{
  display:block!important;
  width:min(100%,920px)!important;
  max-width:920px!important;
  max-height:min(72vh,720px)!important;
  margin:10px auto!important;
  border:0!important;
  border-radius:clamp(14px,2vw,24px)!important;
  object-fit:cover;
  background:#05070b;
  box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
}
body.private-event .official-custom-video>video{aspect-ratio:16/9!important;max-height:none!important}
body.private-event .official-video-frame{
  position:relative!important;
  width:min(100%,920px)!important;
  max-width:920px!important;
  aspect-ratio:16/9!important;
  margin:10px auto!important;
  overflow:hidden!important;
  border-radius:clamp(14px,2vw,24px)!important;
  background:#05070b!important;
}
body.private-event .official-video-frame iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important}
body.private-event .official-custom-split{
  width:100%!important;
  max-width:1000px!important;
  margin:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(20px,4vw,48px)!important;
  align-items:center!important;
}
body.private-event .official-custom-split>img{
  width:100%!important;
  max-height:620px!important;
  object-fit:cover!important;
  border-radius:20px!important;
}
body.private-event .official-itinerary{width:min(100%,760px)!important;margin:18px auto 0!important;padding:0!important;list-style:none!important}
body.private-event .official-itinerary li{display:grid!important;grid-template-columns:minmax(90px,140px) 1fr!important;gap:18px!important;padding:14px 0!important;border-bottom:1px solid color-mix(in srgb,var(--invite-text) 10%,transparent)!important}
body.private-event .official-itinerary strong{color:var(--invite-accent)!important}
body.private-event .official-itinerary span{color:var(--invite-text)!important}

/* RSVP */
body.private-event .rsvp-form{
  width:min(100%,820px)!important;
  margin:26px auto 0!important;
  padding:clamp(18px,3vw,30px)!important;
  border:1px solid color-mix(in srgb,var(--invite-accent) 18%,transparent)!important;
  border-radius:20px!important;
  background:color-mix(in srgb,var(--invite-bg) 74%,transparent)!important;
  color:var(--invite-text)!important;
  text-align:left!important;
}
body.private-event .rsvp-form label,
body.private-event .attendance-choice legend{color:var(--invite-text)!important;font-family:var(--invite-body-font),Manrope,sans-serif!important}
body.private-event .rsvp-form input,
body.private-event .rsvp-form textarea,
body.private-event .rsvp-form select,
body.private-event .attendance-choice span{
  border-color:color-mix(in srgb,var(--invite-muted) 26%,transparent)!important;
  background:color-mix(in srgb,var(--invite-bg) 84%,white 6%)!important;
  color:var(--invite-text)!important;
}

/* Capas libres usan exactamente coordenadas porcentuales del diseño. */
body.private-event .event-free-layers{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
body.private-event .event-free-layer{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:16px;
  text-align:center!important;
  line-height:1.05!important;
  white-space:pre-wrap!important;
  transform-origin:center!important;
  text-shadow:0 5px 22px rgba(0,0,0,.42)!important;
  pointer-events:none!important;
}
body.private-event .event-free-layer img{display:block!important;width:100%!important;height:auto!important;max-height:100%!important;object-fit:contain!important}
body.private-event.designer-embedded-preview .event-free-layer[data-layer-id]{
  pointer-events:auto!important;
  cursor:grab!important;
  touch-action:none!important;
  outline:1px dashed transparent;
  outline-offset:4px;
}
body.private-event.designer-embedded-preview .event-free-layer[data-layer-id]:hover,
body.private-event.designer-embedded-preview .event-free-layer[data-layer-id]:focus{outline-color:var(--invite-accent)!important}
body.private-event.designer-embedded-preview .event-free-layer.designer-dragging{cursor:grabbing!important;outline:2px solid var(--invite-accent)!important}

/* Animación / ambiente nunca debe alterar estructura. */
body.private-event .event-ambient{pointer-events:none!important}
body.private-event .invite-animated{will-change:opacity,transform}
body.private-event.animation-none .invite-animated{opacity:1!important;transform:none!important;transition:none!important}

/* Pie y controles */
body.private-event .invite-close{min-height:170px!important;display:grid!important;place-items:center!important;align-content:center!important}
body.private-event .invite-close p{font-size:clamp(1.7rem,3.8vw,3.4rem)!important}
body.private-event .music-control{z-index:50!important}
body.private-event.designer-embedded-preview .music-control{display:none!important}
body.private-event.designer-embedded-preview .event-preview-banner{display:none!important}
body.private-event.designer-embedded-preview{scrollbar-gutter:auto!important}

/* Tablet */
@media(max-width:900px){
  body.private-event .event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.private-event .official-custom-split{grid-template-columns:1fr!important;text-align:var(--invite-text-align,center)!important}
}

/* Celular */
@media(max-width:650px){
  body.private-event .official-event{padding-bottom:8px!important}
  body.private-event .official-hero{
    min-height:100svh!important;
    padding:58px 14px 38px!important;
    border-radius:0 0 26px 26px!important;
  }
  body.private-event .official-hero::before{inset:8px!important;border-radius:18px!important}
  body.private-event .event-logo-cluster img{max-width:min(74%,260px)!important;max-height:130px!important}
  body.private-event .official-hero h1{
    width:100%!important;
    font-size:min(var(--invite-heading-size),15vw)!important;
    line-height:.98!important;
  }
  body.private-event .official-subtitle{font-size:min(var(--invite-body-size),5.2vw)!important}
  body.private-event .event-facts{grid-template-columns:1fr!important;gap:8px!important;margin-top:20px!important}
  body.private-event .event-facts>div{padding:14px 12px!important;border-radius:14px!important}
  body.private-event .official-hero .success-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  body.private-event .official-hero .primary-button,
  body.private-event .official-hero .ghost-button{width:100%!important;min-height:46px!important;padding:0 14px!important}
  body.private-event .official-message,
  body.private-event .official-details,
  body.private-event .official-gallery,
  body.private-event .rsvp-section,
  body.private-event .invite-success,
  body.private-event .invite-close,
  body.private-event .official-custom{
    width:calc(100% - 16px)!important;
    margin:8px auto!important;
    padding:38px 16px!important;
    border-radius:22px!important;
  }
  body.private-event .official-message h2,
  body.private-event .official-details h2,
  body.private-event .official-gallery h2,
  body.private-event .rsvp-section>h2,
  body.private-event .invite-success h2,
  body.private-event .official-custom h2,
  body.private-event .official-custom blockquote{font-size:clamp(1.8rem,9.5vw,3rem)!important}
  body.private-event .countdown-display{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.private-event .official-countdown.countdown-no-seconds .countdown-display{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.private-event .countdown-display>div{padding:17px 6px!important;border-radius:13px!important}
  body.private-event .countdown-display strong{font-size:clamp(1.8rem,10vw,3rem)!important}
  body.private-event .event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.private-event .event-gallery-item{border-radius:13px!important}
  body.private-event .rsvp-form{padding:16px!important;border-radius:16px!important}
  body.private-event .form-pair,
  body.private-event .attendance-choice{grid-template-columns:1fr!important}
  body.private-event .official-itinerary li{grid-template-columns:82px 1fr!important;gap:10px!important}
}

/* Horizontal pequeño: conserva toda la portada sin convertir escritorio en móvil. */
@media(orientation:landscape) and (max-height:620px) and (max-width:980px){
  body.private-event .official-hero{
    min-height:100svh!important;
    padding:42px 20px 28px!important;
  }
  body.private-event .official-hero h1{font-size:min(var(--invite-heading-size),min(8vw,14vh))!important}
  body.private-event .official-subtitle{font-size:min(var(--invite-body-size),2.7vw)!important}
  body.private-event .event-facts{margin-top:12px!important;gap:8px!important}
  body.private-event .event-facts>div{padding:10px!important}
  body.private-event .official-hero .success-actions{margin-top:9px!important}
}
