/* Regalos y libro de recuerdos: responsive, sin fuentes ni iconos externos. */
.gift-area{text-align:center;background:radial-gradient(circle at 88% 0,#f8e9e7,transparent 55%),linear-gradient(150deg,#fffaf5,#f7e8e1);padding-top:87px;padding-bottom:93px;color:#795653}
.gift-envelope{width:70px;height:70px;color:#bc9c70;margin:22px auto 0}
.gift-envelope svg{width:100%;height:100%}
.gift-area h2,.wishes-area h2{font:400 clamp(49px,11vw,72px)/.95 var(--serif);color:#76504d;letter-spacing:-1px;margin:8px auto 24px;max-width:550px}
.gift-area h2 em,.wishes-area h2 em{font-weight:300}
.gift-copy{font:400 19px/1.6 var(--serif);max-width:450px;margin:0 auto 12px;color:#846a65}
.gift-copy strong{font-weight:600;color:#9f745b}
.gift-separator{font:400 25px var(--serif);color:#bd9b6d;margin:19px 0}
.bank-box{background:#fffcf9;border:1px solid #dcc5b1;outline:1px solid #e9d9ca;outline-offset:-9px;max-width:410px;padding:31px 22px 20px;margin:35px auto 0;box-shadow:0 18px 42px #966f5f20;display:flex;align-items:center;flex-direction:column}
.bank-small{font:600 9px/1.6 var(--sans);letter-spacing:1.7px;color:#ac896a;text-transform:uppercase}
.bank-art{height:42px;width:42px;color:#b89a77;margin:17px 0 9px}
.bank-bank{font:600 16px/1.5 var(--sans);letter-spacing:2.2px;color:#795d54}
.bank-person{font:400 24px/1.2 var(--serif);color:#795d54;margin:6px 0 22px}
.bank-number{font:500 clamp(17px,4.5vw,23px)/1.4 var(--sans);color:#75534f;letter-spacing:.45px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;user-select:all;margin:11px auto 19px}
.bank-copy{background:#af8e64;border:1px solid #af8e64;color:#fff;font:600 10px/1.4 var(--sans);letter-spacing:1.6px;min-height:50px;padding:12px 17px;display:flex;align-items:center;justify-content:center;gap:11px;width:100%;max-width:270px}
.bank-copy svg{width:18px;height:18px;flex-shrink:0}
.bank-copy:active{transform:scale(.99)}
#bankStatus{font:400 12px/1.4 var(--sans);color:#887068;min-height:0;margin:11px 0 0}
.gift-signoff{font:400 30px/1.3 var(--script);color:#b18d8d;margin:27px auto 0;max-width:400px}
.wishes-area{text-align:center;background:linear-gradient(165deg,#f6e9e5,#fdf5ef 65%,#fffbf6);padding-top:90px;padding-bottom:95px}
.wishes-ornament{display:block;color:#c0a075;font:400 33px var(--serif);margin:0 auto 10px}
.wishes-subtitle{font:400 19px/1.6 var(--serif);color:#896d67;max-width:420px;margin:25px auto 36px}
.wishes-form{background:#fffaf6;border:1px solid #ddc4b3;max-width:470px;margin:0 auto;padding:33px 24px 28px;box-shadow:0 15px 40px #9d76601b;text-align:left;position:relative}
.wishes-form-title{display:block;font:600 10px var(--sans);letter-spacing:1.9px;color:#aa8768;text-align:center;margin:0 auto 27px}
.wishes-form label{display:block;font:600 10px var(--sans);letter-spacing:1.5px;color:#98766b;margin:16px 0 9px}
.wishes-form input,.wishes-form textarea{display:block;width:100%;border:1px solid #e4cbba;border-radius:0;background:#fff;color:#735554;outline:none;font:400 15px/1.5 var(--sans);padding:13px;resize:vertical}
.wishes-form input:focus,.wishes-form textarea:focus{border-color:#af8d69;box-shadow:0 0 0 2px #af8d6925}
.wishes-form input::placeholder,.wishes-form textarea::placeholder{color:#ac9b95}
.wishes-trap{position:absolute!important;top:-10000px!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.wishes-note{font:400 12px/1.6 var(--sans);color:#9c8278;text-align:center;margin:16px auto 15px}
.wish-send{border:0;background:#af8e64;color:white;min-height:50px;width:100%;padding:12px 10px;font:600 10px/1.4 var(--sans);letter-spacing:1.4px}
.wish-send:disabled{cursor:wait;opacity:.65}
.wish-status{font:400 13px/1.5 var(--sans);color:#667d66;margin:14px auto 0;text-align:center}
.wish-status.error{color:#a64444}
.wishes-published{max-width:800px;margin:55px auto 0}.wishes-published>.fine-badge{margin-bottom:25px}
.wishes-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:780px;margin:0 auto}
.wish-note{background:#fffbf7;border:1px solid #dfcab9;padding:22px 24px 26px;overflow-wrap:anywhere;box-shadow:0 7px 22px #7c5a4912}
.wish-quote{display:block;color:#c4a172;font:400 55px/.8 var(--serif)}
.wish-note p{font:400 19px/1.53 var(--serif);color:#765856;margin:6px 0 17px}
.wish-note strong{font:600 10px/1.6 var(--sans);letter-spacing:1px;color:#a58267;text-transform:uppercase}
@media(min-width:760px){.gift-area,.wishes-area{padding-top:115px;padding-bottom:110px}.wishes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:355px){.bank-box{padding-left:15px;padding-right:15px}.bank-number{font-size:16px;letter-spacing:0}}

/* Ajuste de continuidad: el bloque de regalos fluye hacia la galería sin corte duro. */
.gift-area{
  background:linear-gradient(180deg,#fcf6f0 0%,#faf0e9 48%,#f4e7e1 100%);
  padding-bottom:22px;
}
.gift-area .gift-signoff{
  font:400 clamp(22px,6vw,29px)/1.22 var(--script);
  max-width:340px;
  margin:33px auto 0;
  color:#b18f8e;
}
.gift-transition{display:flex;align-items:center;justify-content:center;gap:15px;color:#bd9f76;max-width:180px;margin:29px auto 0;font:400 19px/1 var(--serif)}
.gift-transition::before,.gift-transition::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#cdb59b)}
.gift-transition::after{transform:rotate(180deg)}
#galeria.gallery-section{background:#f4e7e1;padding-top:43px}
@media(min-width:760px){.gift-area{padding-bottom:30px}#galeria.gallery-section{padding-top:55px}}


/* Continuidad de confirmación hacia el libro, versión móvil 2026-10. */
#confirmar.rsvp-section{
  padding-bottom:31px;
  background:linear-gradient(180deg,#faf2e9 0%,#f9e8e3 72%,#f6e9e5 100%);
}
#mensajes.wishes-area{
  padding-top:24px;
  background:linear-gradient(180deg,#f6e9e5 0%,#fcf3ed 58%,#fffbf6 100%);
}
.memory-bridge{max-width:470px;margin:38px auto 0;text-align:center;padding:14px 15px 3px;color:#7d5652;}
.memory-bridge-rule{display:block;color:#bc9a6e;font:400 24px/1 var(--serif);margin-bottom:14px;}
.memory-bridge-overline{display:block;font:600 9px/1.5 var(--sans);letter-spacing:2.35px;color:#a4866b;}
.memory-bridge-title{margin:8px auto 6px;font:400 clamp(28px,7.5vw,39px)/1.07 var(--serif);letter-spacing:-.25px;}
.memory-bridge-description{margin:8px auto 17px;max-width:290px;color:#92766f;font:400 16px/1.44 var(--serif);}
.memory-bridge-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #b69571;padding:14px 17px;min-height:48px;min-width:226px;background:#fff9f4;color:#8e6b51;font:600 10px/1.2 var(--sans);letter-spacing:1.3px;box-shadow:0 6px 18px #70504b12;text-decoration:none;transition:background .2s,transform .2s;}
.memory-bridge-link svg{display:block;flex-shrink:0;}
.memory-bridge-link:hover,.memory-bridge-link:focus-visible{background:#f7eae0;transform:translateY(-1px);}
#mensajes.wishes-area .wishes-ornament{margin-bottom:7px;}
@media(min-width:760px){#confirmar.rsvp-section{padding-bottom:43px}#mensajes.wishes-area{padding-top:34px}.memory-bridge{margin-top:46px;}}

/* Agradecimiento únicamente después de guardar correctamente la confirmación. */
.rsvp-thanks-dialog{inset:0;margin:auto;width:min(calc(100vw - 34px),420px);max-width:420px;max-height:calc(100dvh - 30px);overflow-y:auto;padding:9px;border:1px solid #d7b994;border-radius:1px;background:#fffbf7;color:#78504d;box-shadow:0 22px 85px #29161965;text-align:center;}
.rsvp-thanks-dialog::backdrop{background:rgba(32,18,23,.66);backdrop-filter:blur(5px);}
.rsvp-thanks-dialog[open]{animation:xvPopIn .35s cubic-bezier(.16,.78,.24,1) both;}
.rsvp-thanks-inner{border:1px solid #e6d4c1;position:relative;padding:30px 22px 28px;background:radial-gradient(circle at 50% 0%,#fcf1e5 0%,#fffaf5 55%);}
.rsvp-thanks-x{position:absolute;right:9px;top:6px;border:0;background:transparent;color:#a48a78;font:400 31px/1 var(--serif);width:39px;height:39px;display:grid;place-items:center;cursor:pointer;}
.rsvp-thanks-ornament{display:block;width:55px;height:55px;color:#b79768;margin:6px auto 20px;}
.rsvp-thanks-eyebrow{font:600 9px/1.4 var(--sans);letter-spacing:2px;color:#af9274;}
.rsvp-thanks-dialog h2{font:400 clamp(37px,10vw,48px)/.97 var(--serif);letter-spacing:-.7px;color:#79514d;max-width:340px;margin:15px auto 15px;}
.rsvp-thanks-dialog p{font:400 19px/1.43 var(--serif);color:#856a64;margin:0 auto;max-width:315px;}
.rsvp-thanks-divider{width:72px;height:1px;background:#ccb290;margin:24px auto 21px;}
.rsvp-thanks-dialog .rsvp-thanks-wishes{font-size:17px;color:#8f736b;margin-bottom:21px;}
.rsvp-thanks-primary{display:block;border:1px solid #ae8960;background:#ae8960;color:white;width:100%;padding:15px 10px;min-height:49px;font:600 10px/1.3 var(--sans);letter-spacing:1.7px;cursor:pointer;}
.rsvp-thanks-secondary{display:block;border:0;background:transparent;color:#99765d;padding:16px 5px 3px;margin:0 auto;font:600 9px/1.4 var(--sans);letter-spacing:1.3px;cursor:pointer;}
.rsvp-thanks-primary:focus-visible,.rsvp-thanks-secondary:focus-visible,.rsvp-thanks-x:focus-visible{outline:2px solid #79514d;outline-offset:3px;}
@keyframes xvPopIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:360px){.rsvp-thanks-inner{padding:25px 14px 24px}.memory-bridge-description{max-width:245px}}
@media(prefers-reduced-motion:reduce){.rsvp-thanks-dialog[open]{animation:none}.memory-bridge-link{transition:none}}
