@media (prefers-reduced-motion: no-preference){.step{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.step.visible{opacity:1;transform:translateY(0)}}.mockup-card{background:#fff;border-radius:24px;padding:2rem;border:1px solid #e5e7eb;box-shadow:0 4px 20px #00000008}.reg-form{max-width:600px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden}.reg-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;background:#fafafa}.reg-lang{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:.35rem .75rem}.reg-share-btn{background:#2d82d4;color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;cursor:default}.reg-hero{background:linear-gradient(135deg,#2d82d4,#1e6bb8);color:#fff;padding:1.5rem;text-align:center}.reg-hero-property{font-size:.85rem;opacity:.9;margin-bottom:.25rem}.reg-hero-property strong{font-size:1.1rem;display:block;margin-top:.15rem}.reg-hero-dates{display:flex;justify-content:center;gap:1.5rem;margin:.75rem 0;font-size:.85rem;opacity:.9}.reg-hero-greeting{font-size:1rem;margin-top:.75rem}.reg-hero-greeting strong{font-size:1.15rem}.reg-guest-count{background:#ffffff26;border-radius:20px;display:inline-block;padding:.3rem 1rem;font-size:.8rem;margin-top:.5rem}.reg-prompt{text-align:center;padding:1rem 1.25rem;font-size:.9rem;color:#6b7280;border-bottom:1px solid #e5e7eb}.reg-accordion{border-bottom:1px solid #e5e7eb}.reg-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;background:#f9fafb;cursor:default;font-weight:600;font-size:.9rem;color:#111827}.reg-accordion-header .reg-chevron{font-size:.75rem;color:#9ca3af}.reg-section-title{font-size:.8rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1.25rem .25rem;margin-top:.25rem}.reg-field-group{padding:0 1.25rem}.reg-field{margin-bottom:.75rem;position:relative}.reg-field label{display:block;font-size:.72rem;color:#6b7280;margin-bottom:.2rem;font-weight:500}.reg-field .reg-input{width:100%;padding:.55rem .75rem;border:1.5px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s;min-height:2.2rem}.reg-field .reg-input.filled{background:#f0f9ff;border-color:#2d82d4}.reg-field .reg-input.reg-filling{animation:regFillRing .7s ease-out}@keyframes regFillRing{0%{box-shadow:0 0 #2d82d480;border-color:#2d82d4}50%{box-shadow:0 0 0 6px #2d82d433;border-color:#2d82d4}to{box-shadow:0 0 0 4px #2d82d414;border-color:#2d82d4}}.reg-dob-row,.reg-date-row{display:flex;gap:.5rem}.reg-dob-row .reg-input,.reg-date-row .reg-input{flex:1;text-align:center;padding:.55rem .25rem}.reg-phone-row{display:flex;gap:.5rem}.reg-phone-row .reg-input{width:auto}.reg-phone-code{width:70px!important;flex:0 0 70px;text-align:center;font-size:.8rem}.reg-phone-number{flex:1 1 0;min-width:0}.reg-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.75rem}.reg-form-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb}.reg-btn-submit{flex:1;background:#2d82d4;color:#fff;border:none;border-radius:8px;padding:.65rem;font-size:.9rem;font-weight:600;cursor:default;transition:background .2s}.reg-btn-submit.reg-submitted{background:#22c55e}.reg-btn-add{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;padding:.65rem 1rem;font-size:.85rem;font-weight:500;cursor:default}.reg-completion-overlay{text-align:center;padding:2rem 1.25rem;opacity:0;transition:opacity .5s}.reg-completion-overlay.visible{opacity:1}.reg-completion-icon{font-size:3rem;margin-bottom:.75rem}.reg-completion-title{font-size:1.15rem;font-weight:700;color:#15803d;margin-bottom:.35rem}.reg-completion-sub{font-size:.9rem;color:#6b7280}.reg-helper-text{font-size:.7rem;color:#9ca3af;margin-top:.15rem}.booking-modal{display:grid;gap:1.25rem;max-width:540px;margin:0 auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem}.modal-header h3{font-size:1.15rem;font-weight:700;color:#111827}.modal-close{width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:1.1rem;cursor:pointer}.form-group{display:grid;gap:.35rem;min-width:0}.form-label{font-size:.8rem;font-weight:600;color:#111827}.form-label .req{color:#ef4444;margin-left:2px}.form-input,.form-select{width:100%;min-width:0;box-sizing:border-box;padding:.6rem .85rem;border:1px solid #e5e7eb;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.9rem;background:#f9fafb;color:#111827}.form-row,.form-row-stepper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.stepper{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb}.stepper-btn{width:36px;height:36px;border:none;background:transparent;color:#6b7280;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper-btn:hover{background:#e5e7eb}.stepper-value{flex:1;text-align:center;font-weight:600;font-size:.9rem;color:#111827}.phone-input-group{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb}.phone-country{display:flex;align-items:center;gap:.35rem;padding:.6rem .65rem;background:#f3f4f6;border-right:1px solid #e5e7eb;font-size:.85rem;color:#111827;white-space:nowrap;cursor:pointer}.phone-country .flag{font-size:1.1rem}.phone-number{flex:1;border:none;padding:.6rem .75rem;font-family:DM Sans,sans-serif;font-size:.9rem;background:transparent;outline:none;color:#111827}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.btn{padding:.65rem 1.25rem;border:none;border-radius:9999px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.9rem;transition:all .3s ease}.btn-primary{background:#2d82d4;color:#fff}.btn-primary:hover{background:#1f5fa8;box-shadow:0 8px 16px #2d82d44d}.btn-outline{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.btn-outline:hover{background:#f3f4f6}.fill-field{position:relative}.fill-field .form-input,.fill-field .form-select,.fill-field .phone-input-group,.fill-field .stepper{transition:border-color .3s ease,box-shadow .3s ease}.fill-field.filling .form-input,.fill-field.filling .form-select,.fill-field.filling .phone-input-group,.fill-field.filling .stepper{border-color:#2d82d4;box-shadow:0 0 0 4px #2d82d44d,0 0 16px #2d82d426;animation:fillRing .8s ease-out}@keyframes fillRing{0%{box-shadow:0 0 #2d82d499,0 0 #2d82d400}50%{box-shadow:0 0 0 6px #2d82d440,0 0 20px #2d82d433}to{box-shadow:0 0 0 4px #2d82d44d,0 0 16px #2d82d426}}
