@font-face{font-family:Asmelina;src:url('AsmelinaHarley.ttf') format('truetype')}:root{--primary:#d4af37;--primary-hover:#b8962d;--accent:#2c3e50;--bg-glass:rgba(255, 255, 255, 0.35);--bg-card:rgba(255, 255, 255, 0.5);--text-main:#222;--text-muted:#666;--shadow:0 15px 35px rgba(0, 0, 0, 0.15);--radius:20px;--bg-image:url('banner.png')}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%);background-attachment:fixed;color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;position:relative}body::before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url('banner.png') center/cover no-repeat;opacity:.8;z-index:-1}.container{width:100%;max-width:650px;background:var(--bg-glass);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px;border:1px solid rgba(212,175,55,.35);animation:1s ease-out fadeIn}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}header{text-align:center;margin-bottom:40px}h1{font-family:'Great Vibes',cursive;font-size:2.8rem;color:var(--primary);margin-bottom:5px;font-weight:400}.couple-names{font-family:Asmelina,cursive;font-size:5rem;font-weight:400;color:#000;text-shadow:2px 3px 10px rgba(0,0,0,.5);margin:0;line-height:1;z-index:2;position:relative;letter-spacing:2px}.header-banner{width:calc(100% + 80px);margin:-40px -40px 30px;height:260px;background:var(--bg-image) center/cover no-repeat;border-radius:var(--radius) var(--radius) 0 0;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.header-banner::after{content:"";position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(0,0,0,.45),transparent)}p.subtitle{font-size:1.05rem;color:var(--text-muted);letter-spacing:1px;margin-top:8px}.form-group{margin-bottom:25px}label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;text-transform:uppercase;color:var(--accent);letter-spacing:.5px}input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:12px 15px;border:1px solid rgba(0,0,0,.1);border-radius:12px;font-size:1rem;font-family:Inter,sans-serif;background:rgba(255,255,255,.9);transition:.3s;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(212,175,55,.12)}.radio-group{display:flex;gap:15px;margin-top:10px}.radio-item{flex:1}.radio-item input{display:none}.radio-item label{display:block;background:#fff;padding:12px;text-align:center;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:.3s;text-transform:none;font-weight:500}.radio-item input:checked+label{border-color:var(--primary);background:rgba(212,175,55,.07);color:var(--primary)}.guest-block{background:rgba(0,0,0,.03);padding:20px;border-radius:15px;margin-bottom:20px;border-left:4px solid var(--primary);animation:.4s ease-out slideIn}@keyframes slideIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.guest-block h3{font-size:1rem;margin-bottom:15px;color:var(--accent);display:flex;align-items:center;gap:10px}.guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.guest-grid .full-width{grid-column:span 2}.btn-submit{width:100%;padding:18px;background:var(--primary);color:#fff;border:none;border-radius:15px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:.3s;margin-top:20px;box-shadow:0 10px 20px rgba(212,175,55,.25);font-family:Inter,sans-serif}.btn-submit:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 12px 25px rgba(212,175,55,.35)}.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none}#success-screen{display:none;text-align:center;padding:40px 0}#success-screen i{font-size:5rem;color:#27ae60;margin-bottom:20px}.searchable-container{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15);list-style:none;max-height:250px;overflow-y:auto;z-index:1000;margin-top:5px;border:1px solid rgba(0,0,0,.05)}.search-results li{padding:12px 15px;cursor:pointer;transition:background .2s;border-bottom:1px solid rgba(0,0,0,.02);font-size:.95rem}.search-results li:last-child{border-bottom:none}.search-results li.highlighted,.search-results li:hover{background:rgba(212,175,55,.1);color:var(--primary)}.hidden{display:none!important}@media (max-width:600px){.container{padding:25px}.header-banner{width:calc(100% + 50px);margin:-25px -25px 25px;height:200px}.couple-names{font-size:3.5rem}h1{font-size:2.4rem}.guest-grid{grid-template-columns:1fr}.guest-grid .full-width{grid-column:span 1}}.spinner{display:none;margin:10px auto;width:30px;height:30px;border:3px solid rgba(212,175,55,.3);border-radius:50%;border-top-color:var(--primary);animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.allergy-checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.allergy-checkbox-item{display:flex;align-items:center;background:rgba(255,255,255,.7);padding:8px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.05);transition:.2s;cursor:pointer}.allergy-checkbox-item:hover{background:rgba(212,175,55,.1);border-color:rgba(212,175,55,.3)}.allergy-checkbox-item input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer;accent-color:var(--primary)}.allergy-checkbox-item label{margin-bottom:0;font-size:.85rem;cursor:pointer;text-transform:none;color:var(--text-main);font-weight:500}.allergy-other-input{margin-top:10px;width:100%}