.calendario-boda{--title-color:#000000;--month-color:#666b57;--weekdays-color:#000000;--days-color:#000000;--heart-color:#666b57;--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{margin:0 0 8px;font-size:22px;letter-spacing:3px;color:var(--title-color);font-weight:600}.calendario-boda .wedding-calendar .month{margin:0 0 18px;letter-spacing:4px;color:var(--month-color);font-size:14px}.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);text-align:center}.calendario-boda .wedding-calendar .days span{position:relative;display:flex;align-items:center;justify-content:center;height:var(--cell-size);font-size:16px;color:var(--days-color);text-align:center}.calendario-boda .wedding-calendar .days .empty{visibility:hidden}.calendario-boda .wedding-calendar .days .heart{width:100%;height:var(--cell-size);color:var(--heart-text-color);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);left:50%;top:50%;transform:translate(-50%,-50%);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:2;font-style:normal;color:var(--heart-text-color);font-size:14px;line-height:1;transform:translateY(-1px)}@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:#6b6b45;color:#fff;font-weight:700}.rsvp-msg{margin-top:10px;text-align:center;font-weight:600;opacity:.95}.petalos-capa{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:30}.petalo-item{position:absolute;top:-40px;width:14px;opacity:0.45;animation-name:caerPetalo;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes caerPetalo{0%{transform:translate3d(0,-30px,0) rotate(0deg)}25%{transform:translate3d(15px,25vh,0) rotate(90deg)}50%{transform:translate3d(-10px,50vh,0) rotate(180deg)}75%{transform:translate3d(20px,75vh,0) rotate(270deg)}100%{transform:translate3d(-15px,110vh,0) rotate(360deg)}}