:root{--primary:#8B7355;--secondary:#D4C5B9;--accent:#A67C52;--dark:#2C2C2C;--light:#F9F7F4;--white:#FFFFFF}.wedding-rsvp-container{max-width:700px;margin:60px auto;padding:0 20px}.wedding-rsvp-form-wrapper{background:var(--white);border:1px solid rgba(139,115,85,.15);padding:50px;box-shadow:0 10px 40px rgba(0,0,0,.08);position:relative}.wedding-rsvp-form-wrapper::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}.rsvp-header{text-align:center;margin-bottom:40px}.rsvp-ornament{font-size:2.5rem;color:var(--accent);margin-bottom:20px;animation:rotate 20s linear infinite}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.rsvp-title{font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--primary);font-weight:400;margin-bottom:10px;letter-spacing:.02em}.rsvp-subtitle{font-size:1rem;color:#666;font-weight:300;letter-spacing:.05em}.wedding-rsvp-form{margin-top:30px}.form-row{margin-bottom:25px}.form-group{position:relative}.form-group label{display:block;margin-bottom:8px;color:var(--dark);font-size:.9rem;font-weight:500;letter-spacing:.03em}.required{color:var(--accent)}.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group select,.form-group textarea{width:100%;padding:14px 18px;border:1px solid rgba(139,115,85,.25);background:var(--light);font-size:1rem;font-family:'Montserrat',sans-serif;color:var(--dark);transition:all 0.3s ease;border-radius:2px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px rgba(139,115,85,.1)}.form-group textarea{resize:vertical;min-height:80px}.attendance-label{display:block;margin-bottom:15px}.attendance-options{display:flex;flex-direction:column;gap:15px}.radio-option{display:flex;align-items:center;cursor:pointer;padding:15px 20px;background:var(--light);border:2px solid transparent;transition:all 0.3s ease;position:relative}.radio-option:hover{background:rgba(139,115,85,.05);border-color:rgba(139,115,85,.2)}.radio-option input[type="radio"]{position:absolute;opacity:0;cursor:pointer}.radio-custom{width:22px;height:22px;border:2px solid var(--primary);border-radius:50%;margin-right:12px;position:relative;flex-shrink:0;transition:all 0.3s ease}.radio-custom::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;border-radius:50%;background:var(--primary);transition:transform 0.2s ease}.radio-option input[type="radio"]:checked~.radio-custom{border-color:var(--primary);background:rgba(139,115,85,.1)}.radio-option input[type="radio"]:checked~.radio-custom::after{transform:translate(-50%,-50%) scale(1)}.radio-option input[type="radio"]:checked~.radio-label{color:var(--primary);font-weight:500}.radio-label{font-size:1rem;color:var(--dark);transition:all 0.3s ease}.form-actions{margin-top:35px;text-align:center}.rsvp-submit-btn{display:inline-block;padding:18px 50px;background:var(--primary);color:var(--white);border:2px solid var(--primary);font-size:.9rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all 0.4s ease;position:relative;overflow:hidden;font-family:'Montserrat',sans-serif}.rsvp-submit-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent);transition:left 0.4s ease;z-index:0}.rsvp-submit-btn:hover::before{left:0}.rsvp-submit-btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 5px 20px rgba(139,115,85,.3)}.rsvp-submit-btn .btn-text,.rsvp-submit-btn .btn-loader{position:relative;z-index:1}.rsvp-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.rsvp-submit-btn:disabled:hover{transform:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin 0.8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.form-message{margin-top:25px;padding:20px;border-radius:2px;text-align:center;font-size:1rem;animation:slideDown 0.3s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-message.success{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);color:#2e7d32}.form-message.error{background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3);color:#c62828}.form-message.success::before{content:'✓';display:inline-block;margin-right:8px;font-size:1.2rem;font-weight:700}.form-message.error::before{content:'✕';display:inline-block;margin-right:8px;font-size:1.2rem;font-weight:700}@media (max-width:768px){.wedding-rsvp-form-wrapper{padding:30px 20px}.rsvp-title{font-size:2rem}.rsvp-submit-btn{width:100%;padding:16px 30px}.attendance-options{gap:10px}.radio-option{padding:12px 15px}}@media (max-width:480px){.wedding-rsvp-container{padding:0 15px;margin:30px auto}.rsvp-title{font-size:1.8rem}.rsvp-subtitle{font-size:.9rem}}