:root{--gold:#b98d48;--gold-dark:#946b32;--ink:#29231f;--paper:#fdfbf7;--line:#dfc8a6}*{box-sizing:border-box}body{margin:0;background:#eee9e0;color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:19px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.invitation{position:relative;overflow:hidden;text-align:center;max-width:640px;min-height:100vh;margin:22px auto;padding:78px 45px 30px;background:var(--paper);border:1px solid var(--gold);box-shadow:0 18px 60px #4c392b20}.botanical{position:absolute;color:#8d9c7b;font-size:68px;line-height:1;opacity:.65;pointer-events:none}.botanical span{color:#d3c0a2}.botanical.top{top:12px;left:-10px;transform:rotate(-30deg)}.botanical.bottom{bottom:18px;right:-25px;transform:rotate(150deg)}.eyebrow{font:500 10px Montserrat,Arial,sans-serif;letter-spacing:.31em;text-transform:uppercase}.ornament{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--gold);font-size:12px;margin:22px 0}.ornament:before,.ornament:after{content:'';height:1px;width:58px;background:var(--gold)}.names{font:normal clamp(80px,14vw,110px)/1.02 'Great Vibes',cursive;margin:22px 0 27px}.names small{display:block;color:var(--gold);font-size:35px;line-height:1}.intro{max-width:420px;margin:24px auto;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;font-size:17px}.date-grid{display:grid;grid-template-columns:1fr 1fr;max-width:390px;margin:28px auto 35px}.date-grid>div:first-child{border-right:1px solid var(--line)}.date-grid p{margin:5px 0;font-size:20px}.date-grid small{font-size:14px}.script{font:34px 'Great Vibes',cursive;color:var(--gold)}.venue{margin:20px auto}.venue h2{font:500 29px/1.2 'Cormorant Garamond',serif;margin:12px auto}.map-button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);border:1px solid var(--gold-dark);color:#fff;letter-spacing:.16em;font:600 12px Montserrat,sans-serif;text-decoration:none;padding:17px 28px;margin:13px auto;box-shadow:0 5px 14px #946b3230}.map-button:hover{background:var(--gold-dark)}.subtle{font-size:14px;color:#756d63;line-height:1.45}.expect{font:43px 'Great Vibes',cursive;margin:24px 0}.rule{height:1px;background:var(--line);margin:20px 0 28px}.rsvp h2{margin:0 0 10px}.rsvp>p{margin:8px auto 18px}.rsvp form{text-align:left}.rsvp label,.admin label{display:block;font-size:15px;margin:12px 0 5px}.rsvp input:not([type=radio]),.rsvp select,.rsvp textarea,.admin input,.admin select,.admin textarea{display:block;width:100%;border:1px solid var(--line);background:#faf8f4;color:var(--ink);padding:12px;min-height:45px;border-radius:0}.rsvp fieldset{border:0;padding:0;margin:16px 0}.rsvp legend{font-size:15px;margin-bottom:8px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices label{margin:0;padding:14px 4px;text-align:center;background:#fff;border:1px solid var(--line);font:600 10px Montserrat,Arial,sans-serif;cursor:pointer}.choices input{accent-color:var(--gold)}.dark-button{display:block;width:100%;background:#29231f;color:#fff;border:0;padding:16px;font:600 11px Montserrat,sans-serif;letter-spacing:.17em;margin:17px 0 8px}.dark-button:disabled{opacity:.5;cursor:wait}#rsvp-status{font:14px/1.5 Montserrat,sans-serif;white-space:pre-line}.setup-note{font-size:13px;color:#8d5b32}.invitation footer{margin-top:35px}.invitation footer a{font:11px Montserrat,sans-serif;color:#888;text-decoration:none}.admin{max-width:1100px;margin:30px auto;padding:24px;background:#fdfbf7;min-height:85vh}.admin h1{font:44px 'Great Vibes',cursive;color:var(--gold-dark)}.admin h2{font-size:26px}.admin .panel{padding:20px;border:1px solid var(--line);margin:16px 0}.admin button{padding:11px 16px;background:var(--gold-dark);color:white;border:0;margin:6px 6px 6px 0}.admin button.secondary{background:#333}.admin button.danger{background:#903c35}.admin button:disabled{opacity:.5}.admin .toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin .toolbar input{max-width:350px}.admin table{border-collapse:collapse;width:100%;font:13px Montserrat,Arial,sans-serif}.admin th,.admin td{padding:10px 7px;border-bottom:1px solid #e5dacb;text-align:left}.admin .scroll{overflow-x:auto}.admin .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.admin .stat{padding:15px;background:#f4eee4}.admin .stat strong{display:block;font-size:27px}.admin .stat span{font:12px Montserrat,sans-serif}.admin .muted{font-size:14px;color:#666}.admin #admin-status{white-space:pre-line;font-size:15px}.hidden{display:none!important}@media(max-width:650px){body{background:var(--paper)}.invitation{margin:0;padding:82px 25px 35px;border:0;box-shadow:none}.botanical{font-size:52px}.intro{font-size:15px}.admin{margin:0;padding:14px}.choices label{font-size:9px}}
/* Ajuste visual inspirado en la invitación de referencia */
:root{--gold:#c39449;--paper:#fffefa;--ink:#201b18;--line:#d8b781}
body{background:#f3f0eb}
.invitation{max-width:440px;padding:65px 31px 36px;background:#fffefa;border:1px solid #c9a269;box-shadow:0 14px 45px #4c392b12}
.botanical{font-size:0!important;opacity:1;width:180px;height:210px;background:url('floral-corner.svg') top left/contain no-repeat;transform:none!important}
.botanical.top{top:0;left:0}.botanical.bottom{bottom:0;right:0;transform:rotate(180deg)!important}
.eyebrow{font-family:'Cormorant Garamond',serif;font-size:12px;font-weight:500;letter-spacing:.29em}
.ornament{margin:17px auto 12px;font-size:11px}.ornament:before,.ornament:after{width:42px;background:#caa56b}
.names{font-size:clamp(79px,17vw,105px);line-height:.88;margin:16px 0 28px;font-weight:400}
.names small{font-size:32px;line-height:1.05}
.intro{font-size:14px;line-height:1.65;max-width:300px;margin:28px auto 16px;letter-spacing:.11em}
.date-grid{max-width:300px;margin:21px auto 22px}.date-grid p{font-size:16px;line-height:1.2}.date-grid small{font-size:11px}.script{font-size:30px}
.venue{margin:13px auto}.venue .eyebrow{font-size:10px;letter-spacing:.17em}.venue h2{font-size:25px;margin:7px auto 9px}
.map-button{font-size:10px;letter-spacing:.18em;padding:14px 20px;margin:8px auto;box-shadow:none;background:#b98d48}
.venue .subtle{font-size:11px;max-width:280px;margin:6px auto}
.expect{font-size:40px;margin:20px 0 20px}.rule{margin:18px 0 21px}
.rsvp h2{font-size:11px;letter-spacing:.25em}.rsvp>p{font-size:13px;margin:6px auto 14px}
.rsvp label{font-size:13px}.rsvp input:not([type=radio]),.rsvp select,.rsvp textarea{background:#faf8f5;min-height:39px;padding:9px 11px}
.choices label{font-size:10px;padding:12px 2px}.choices label:has(input:checked){background:#bd914d;color:#fff;border-color:#bd914d}
.dark-button{background:#24201d;padding:13px;margin-top:13px}
@media(max-width:650px){body{background:#f3f0eb}.invitation{border:1px solid #c9a269;max-width:440px;margin:10px auto;padding:65px 28px 35px;box-shadow:none}.botanical{width:155px;height:185px}.intro{font-size:13px}}
@media(max-width:390px){.invitation{margin:7px 8px}.names{font-size:83px}}


/* Diseño floral aprobado por los novios: 26 diciembre 2026, 5:00 p. m. */
:root{--gold:#c39224;--gold-dark:#9c6c12;--ink:#171914;--paper:#fffdfa;--line:#d5a841;--green:#143a23}
html{scroll-behavior:smooth}body{background:#eeeae2;color:var(--ink)}
.invitation{max-width:690px;margin:24px auto;padding:104px 66px 42px;background:radial-gradient(ellipse at center,#fffefa 30%,#fffaf4 100%);border:2px solid #c99525;outline:15px solid #fffdfa;box-shadow:0 15px 50px #5546261e}
.botanical{font-size:0!important;opacity:1!important;transform:none!important;pointer-events:none;background-size:contain;background-repeat:no-repeat}
.botanical.top{top:-2px;left:-2px;width:310px;height:370px;background-image:url('flores-superiores.png');background-position:top left}
.botanical.bottom{bottom:-2px;right:-2px;width:285px;height:365px;background-image:url('flores-inferiores.png');background-position:bottom right}
.wedding-heading{font:500 clamp(23px,5vw,33px) 'Cormorant Garamond',serif;letter-spacing:.27em;margin:0 0 8px;position:relative}
.ornament{color:var(--gold);font-size:21px;margin:12px auto 18px}.ornament:before,.ornament:after{width:110px;background:var(--gold)}
.names{position:relative;display:flex;flex-direction:column;align-items:center;font:normal clamp(95px,19vw,148px)/.83 'Great Vibes',cursive;margin:27px auto 43px;max-width:550px}
.names span:first-child{transform:translateX(-12%)}.names span:last-child{transform:translateX(12%)}.names small{font-size:68px;line-height:.75;color:var(--gold);transform:translateX(48%)}
.intro{max-width:550px;margin:38px auto 15px;font-size:clamp(19px,3.1vw,24px);line-height:1.25;letter-spacing:.105em;text-transform:uppercase}
.date-grid{max-width:480px;margin:22px auto 20px;grid-template-columns:1fr 1fr;align-items:center}.date-grid>div:first-child{border-right:2px solid var(--gold)}.date-grid p{font-size:25px;line-height:1.12;font-weight:600;letter-spacing:.07em;margin:5px auto}.date-grid small{font-size:21px}.script{font-size:60px;color:var(--gold-dark)}
.expect{font-size:70px;margin:16px 0 10px}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:490px;margin:10px auto 16px;position:relative;z-index:1}
.rsvp-button,.map-button{width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:50px;font:600 clamp(15px,2.6vw,21px) 'Cormorant Garamond',Georgia,serif;letter-spacing:.06em;text-decoration:none;padding:12px 18px;margin:0;transition:transform .2s,box-shadow .2s}
.rsvp-button{background:linear-gradient(135deg,#20492c,#0c2919);border:3px double #e4b94d;color:#fff;box-shadow:0 5px 16px #69521d40,inset 0 0 0 2px #b58d37}
.map-button{background:linear-gradient(120deg,#fffdf6,#fff8e9);border:2px solid #c58d19;color:#182219;box-shadow:0 4px 13px #70561a24}
.rsvp-button:hover,.map-button:hover{transform:translateY(-2px)}.hero-actions span{font-size:25px}.rings{font:70px Georgia,serif;color:#b88615;line-height:1;margin:0 auto 22px;text-shadow:1px 1px 0 #f8dc84}
.venue{margin:18px auto 16px}.venue .eyebrow{font-size:12px}.venue h2{font-size:28px;margin:7px auto}.venue .subtle{font-size:13px}
.rule{margin:24px auto 26px}.rsvp{position:relative;z-index:2;scroll-margin-top:30px}.rsvp h2{font-size:17px;letter-spacing:.16em}.rsvp>p{font-size:17px}.dark-button{background:var(--green);border:1px solid var(--gold);border-radius:28px;padding:16px;font-size:12px}.choices label:has(input:checked){background:var(--green);border-color:var(--gold)}
@media(max-width:650px){body{background:#fffdfa}.invitation{margin:0 auto;outline:0;max-width:100%;padding:102px 26px 35px;border:2px solid var(--gold);box-shadow:none}.botanical.top{width:210px;height:250px}.botanical.bottom{width:190px;height:235px}.wedding-heading{font-size:22px;letter-spacing:.19em}.ornament:before,.ornament:after{width:75px}.names{font-size:clamp(80px,18vw,118px);margin:35px auto}.names small{font-size:49px}.intro{font-size:17px;line-height:1.4;margin:24px auto}.date-grid{max-width:360px}.date-grid p{font-size:18px}.date-grid small{font-size:16px}.script{font-size:44px}.expect{font-size:53px}.rsvp-button,.map-button{font-size:17px;min-height:56px}.rings{font-size:55px}}
@media(max-width:380px){.invitation{padding-left:16px;padding-right:16px}.names{font-size:78px}.intro{font-size:15px}.date-grid p{font-size:16px}.script{font-size:40px}.hero-actions{gap:11px}.rsvp-button,.map-button{font-size:15px}}

/* Corrección de posición: Leslie y Josué */
.names {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.names > span,
.names > small {
  display: block;
  position: relative;
  transform: none;
}

.names > small {
  font-family: 'Great Vibes', cursive;
  font-size: clamp(38px, 7vw, 58px);
  color: #c89419;
  line-height: 1;
  margin: 8px 0 2px;
  z-index: 2;
}

.names > span {
  line-height: 1.1;
}

/* Mantener las flores detrás del contenido */
.invitation {
  position: relative;
  isolation: isolate;
}

.botanical {
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

/* Mejorar la lectura del formulario */
.rsvp {
  position: relative;
  z-index: 1;
  background: rgba(250, 248, 244, 0.96);
  padding: 24px 18px;
  border-radius: 12px;
}

.rsvp input,
.rsvp select,
.rsvp textarea {
  background: #fffdf9;
}
