.calendario-boda{--title-color:#080000;--month-color:#080000;--weekdays-color:#080000;--days-color:#080000;--heart-color:#7A8B6A;--heart-text-color:#ffffff;--cell-size:34px;--grid-gap:8px;--beat-speed:1.2s;--beat-scale:1.08}.calendario-boda .wedding-calendar{max-width:420px;margin:0 auto;text-align:center;font-family:'Cormorant Garamond',serif}.calendario-boda .wedding-calendar h2{font-size:22px;letter-spacing:2px;color:var(--title-color)}.calendario-boda .wedding-calendar .month{margin-bottom:15px;letter-spacing:3px;color:var(--month-color)}.calendario-boda .wedding-calendar .weekdays,.calendario-boda .wedding-calendar .days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--grid-gap)}.calendario-boda .wedding-calendar .weekdays span{font-size:18px;color:var(--weekdays-color)}.calendario-boda .wedding-calendar .days span{display:flex;align-items:center;justify-content:center;height:var(--cell-size);font-size:16px;color:var(--days-color)}.calendario-boda .wedding-calendar .days .empty{visibility:hidden}.calendario-boda .wedding-calendar .days .heart{position:relative;width:100%;height:var(--cell-size);display:grid;place-items:center;animation:beat var(--beat-speed) infinite ease-in-out}.calendario-boda .wedding-calendar .days .heart::before{content:"";position:absolute;width:var(--cell-size);height:var(--cell-size);background-color:var(--heart-color);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 29.6'%3E%3Cpath d='M23.6,0c-3,0-5.6,1.8-7.6,4.2C14,1.8,11.4,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.3,16,21.2,16,21.2s16-11.9,16-21.2C32,3.8,28.2,0,23.6,0z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 29.6'%3E%3Cpath d='M23.6,0c-3,0-5.6,1.8-7.6,4.2C14,1.8,11.4,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.3,16,21.2,16,21.2s16-11.9,16-21.2C32,3.8,28.2,0,23.6,0z'/%3E%3C/svg%3E") center / contain no-repeat}.calendario-boda .wedding-calendar .days .heart i{position:relative;z-index:1;font-style:normal;color:var(--heart-text-color);font-size:14px}@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(var(--beat-scale))}}.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:#7A8B6A;color:#fff;font-weight:700}.rsvp-msg{margin-top:10px;text-align:center;font-weight:600;opacity:.95}