.calendario-boda{--title-color:#000000;--month-color:#563F3B;--weekdays-color:#000000;--days-color:#000000;--heart-color:#563F3B;--heart-text-color:#FFFFFF;--cell-size:34px;--grid-gap:8px}.calendario-boda *,.calendario-boda *::before,.calendario-boda *::after{box-sizing:border-box}.calendario-boda .wedding-calendar{width:100%;max-width:420px;margin:0 auto;text-align:center;font-family:"Cormorant Garamond",serif}.calendario-boda .wedding-calendar h2{margin:0 0 8px;padding:0;color:var(--title-color);font-size:22px;line-height:1.2;letter-spacing:2px}.calendario-boda .wedding-calendar .month{margin:0 0 15px;padding:0;color:var(--month-color);font-size:15px;line-height:1.2;letter-spacing:3px}.calendario-boda .wedding-calendar .weekdays,.calendario-boda .wedding-calendar .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:var(--grid-gap);width:100%}.calendario-boda .wedding-calendar .weekdays{margin-bottom:4px}.calendario-boda .wedding-calendar .weekdays span{display:flex;align-items:center;justify-content:center;min-width:0;color:var(--weekdays-color);font-size:18px;line-height:1}.calendario-boda .wedding-calendar .days span{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:var(--cell-size);color:var(--days-color);font-size:16px;line-height:1}.calendario-boda .wedding-calendar .days .empty{visibility:hidden}.calendario-boda .wedding-calendar .days .heart{position:relative;width:100%;height:var(--cell-size);display:flex;align-items:center;justify-content:center;overflow:visible}.calendario-boda .wedding-calendar .days .heart::before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:30px;height:28px;background-color:var(--heart-color);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M16 29S0 19.2 0 8.7C0 3.9 3.8 0 8.5 0 11.7 0 14.4 1.8 16 4.3 17.6 1.8 20.3 0 23.5 0 28.2 0 32 3.9 32 8.7 32 19.2 16 29 16 29Z'/%3E%3C/svg%3E");-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M16 29S0 19.2 0 8.7C0 3.9 3.8 0 8.5 0 11.7 0 14.4 1.8 16 4.3 17.6 1.8 20.3 0 23.5 0 28.2 0 32 3.9 32 8.7 32 19.2 16 29 16 29Z'/%3E%3C/svg%3E");mask-position:center;mask-repeat:no-repeat;mask-size:contain;transform:translate(-50%,-50%) scale(1);transform-origin:center;animation:latido-corazon-boda 1.2s infinite ease-in-out}.calendario-boda .wedding-calendar .days .heart i{position:relative;z-index:1;display:block;margin-top:-2px;color:var(--heart-text-color);font-size:13px;font-weight:500;font-style:normal;line-height:1}@keyframes latido-corazon-boda{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}@media (max-width:380px){.calendario-boda .wedding-calendar .weekdays,.calendario-boda .wedding-calendar .days{column-gap:3px}.calendario-boda .wedding-calendar .weekdays span{font-size:16px}}.rsvp-card{max-width:520px;margin:0 auto;padding:18px 18px 16px;border-radius:16px;background:rgba(255,255,255,.78);backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.08)}.rsvp-title{text-align:center;margin:0 0 6px}.rsvp-sub{text-align:center;margin:0 0 14px;opacity:.9}.rsvp-label{display:block;font-size:13px;margin:10px 0 6px;opacity:.85}.rsvp-input{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:12px 12px;outline:none;background:rgba(255,255,255,.9)}.rsvp-textarea{min-height:90px;resize:vertical}.rsvp-btn{width:100%;margin-top:12px;border:none;border-radius:12px;padding:12px 14px;cursor:pointer;background:#563F3B;color:#fff;font-weight:700}.rsvp-msg{margin-top:10px;text-align:center;font-weight:600;opacity:.95}