:root{--wm:#C8A97A;--wm-pale:#F5EFE5}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
.wm-alert{background:#fff3cd;border:1px solid #ffe082;border-radius:10px;padding:16px 20px;font-size:15px;color:#856404;text-align:center}
.wm-link{color:var(--wm);text-decoration:none;border-bottom:1px solid rgba(200,169,122,.35);padding-bottom:2px}

/* RSVP */
.wm-rsvp{max-width:620px;margin:0 auto}
.wm-label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#888;margin-bottom:10px;display:block}
.wm-toggle{display:grid;grid-template-columns:1fr 1fr;border-radius:10px;overflow:hidden;border:1.5px solid rgba(0,0,0,.09);margin-bottom:22px}
.wm-tbtn{padding:14px;font-size:14px;font-weight:500;background:transparent;border:none;cursor:pointer;color:#999;transition:background .2s,color .2s}
.wm-tbtn:hover{background:var(--wm-pale);color:#1C1C1C}
.wm-tbtn-on{background:#1C1C1C!important;color:#fff!important}
.wm-checks{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.wm-check{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#fafafa;border:1px solid rgba(0,0,0,.09);border-radius:9px;cursor:pointer;transition:border-color .2s}
.wm-check:hover{border-color:var(--wm)}
.wm-check input{width:18px;height:18px;accent-color:var(--wm);cursor:pointer}
.wm-check span{font-size:15px}
.wm-radios{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.wm-radio{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:9px;border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s;font-size:14px}
.wm-radio:hover{background:var(--wm-pale)}
.wm-radio-on{background:var(--wm-pale);border-color:var(--wm)}
.wm-radio input{display:none}
.wm-radio-dot{width:16px;height:16px;border-radius:50%;border:2px solid #ddd;flex-shrink:0;position:relative;transition:border-color .15s}
.wm-radio-on .wm-radio-dot{border-color:var(--wm)}
.wm-radio-on .wm-radio-dot::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--wm);top:50%;left:50%;transform:translate(-50%,-50%)}
.wm-input,.wm-textarea{width:100%;padding:12px 15px;font-size:15px;border:1px solid rgba(0,0,0,.12);border-radius:9px;background:#fafafa;color:#1C1C1C;outline:none;font-family:inherit;transition:border-color .2s,background .2s;display:block;margin-bottom:14px}
.wm-input:focus,.wm-textarea:focus{border-color:var(--wm);background:#fff}
.wm-textarea{resize:vertical;min-height:90px}
.wm-btn{display:block;width:100%;padding:16px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:#1C1C1C;color:#fff;border:none;border-radius:10px;cursor:pointer;margin-top:6px;transition:background .2s;text-decoration:none;text-align:center}
.wm-btn:hover{background:var(--wm)}
.wm-btn-wa{background:#25D366!important;color:#fff!important;letter-spacing:0;text-transform:none;font-size:15px;padding:14px}
.wm-btn-wa:hover{opacity:.85;background:#25D366!important}
.wm-sending,.wm-error{text-align:center;margin-top:10px;font-size:14px;color:#888}
.wm-error{color:#c00}

/* RSVP done */
.wm-done{text-align:center;padding:48px 24px}
.wm-done-icon{font-size:48px;margin-bottom:14px;display:block}
.wm-done h3{font-size:26px;font-weight:400;margin-bottom:10px}
.wm-done p{font-size:16px;color:#666;line-height:1.7}
.wm-badge{display:inline-block;margin-top:16px;padding:6px 18px;border-radius:100px;font-size:13px;font-weight:600}
.wm-badge-yes{background:#E6F4EA;color:#22863a}
.wm-badge-no{background:#FDECEA;color:#c0392b}

/* QR */
.wm-qr-wrap{text-align:center}
.wm-qr-wrap #wm-qr{display:inline-block;padding:14px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:12px}
.wm-qr-cap{font-size:13px;color:#888;margin:10px 0 5px}

/* FOTOS */
.wm-photos{max-width:800px;margin:0 auto}
.wm-upload-box{border:2px dashed rgba(0,0,0,.15);border-radius:14px;padding:40px 24px;text-align:center;background:#fafaf8;margin-bottom:28px;transition:border-color .2s,background .2s}
.wm-upload-box.drag{border-color:var(--wm);background:var(--wm-pale)}
.wm-upload-icon{font-size:40px;margin-bottom:10px;display:block}
.wm-upload-title{font-size:18px;font-weight:500;margin-bottom:5px}
.wm-upload-sub{font-size:14px;color:#888;margin-bottom:18px}
.wm-progress{height:6px;background:#eee;border-radius:3px;margin:14px auto 0;max-width:300px;overflow:hidden}
.wm-bar{height:100%;background:var(--wm);border-radius:3px;width:0%;transition:width .3s}
.wm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.wm-photo{position:relative;border-radius:10px;overflow:hidden;background:#f0f0ee;aspect-ratio:1}
.wm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.wm-photo span{position:absolute;bottom:0;left:0;right:0;padding:5px 8px;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.5))}

@media(max-width:600px){.wm-grid{grid-template-columns:repeat(2,1fr)}.wm-upload-box{padding:28px 16px}}
