:root{--color-primary:#2e7d32;--color-primary-hover:#1b5e20;--color-secondary:#5d4037;--color-secondary-hover:#4e342e;--color-bg-start:#f4f1ea;--color-bg-end:#e8f5e9;--color-text:#333;--color-text-muted:#666;--color-border:#5d403733;--color-error:#d32f2f;--glass-bg:#ffffffa6;--glass-border:#fff6;--glass-shadow:0 8px 32px 0 #2e7d3226}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text);background-image:linear-gradient(#0006,#0009),url(/images/bg-desktop.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;padding:20px 0;font-family:Outfit,sans-serif;line-height:1.6;display:flex}@media (width<=768px){body{background-image:linear-gradient(#0006,#0009),url(/images/bg-mobile.webp)}}.app-container{width:100%;max-width:600px;padding:20px}.form-wrapper{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;padding:40px;transition:all .3s}.form-header{text-align:center;margin-bottom:30px}.form-header h1{color:var(--color-primary);margin-bottom:10px;font-size:28px;font-weight:600}.form-header p{color:var(--color-text-muted);font-size:15px}.step-indicator{justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 10px;display:flex}.step-dot{border:2px solid var(--color-border);width:30px;height:30px;color:var(--color-text-muted);background:#fffc;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:all .3s;display:flex}.step-dot.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.step-dot.completed{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.step-line{background:var(--color-border);flex-grow:1;height:2px;margin:0 10px;transition:all .3s}.form-step{animation:.4s ease-out forwards fadeIn;display:none}.form-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h2{color:var(--color-secondary);margin-bottom:20px;font-size:20px}.input-group{margin-bottom:20px}.input-group label{color:var(--color-secondary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.input-group input[type=text],.input-group input[type=email],.input-group input[type=tel],.input-group textarea{border:1px solid var(--color-border);resize:vertical;background:#fffc;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.input-group input:focus,.input-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4caf5033}.checkbox-group{margin-bottom:15px}.custom-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding-left:35px;font-size:16px;display:flex;position:relative}.custom-checkbox input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{border:1px solid var(--color-border);background-color:#fffc;border-radius:6px;width:24px;height:24px;transition:all .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.custom-checkbox:hover input~.checkmark{border-color:var(--color-primary)}.custom-checkbox input:checked~.checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.checkmark:after{content:"";display:none;position:absolute}.custom-checkbox input:checked~.checkmark:after{display:block}.custom-checkbox .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:12px;top:4px;left:8px;transform:rotate(45deg)}.radio-pill-group{flex-wrap:wrap;gap:10px;display:flex}.radio-pill-group.column{flex-direction:column}.radio-pill{cursor:pointer;flex:1;min-width:120px}.radio-pill input{display:none}.radio-pill span{text-align:center;border:1px solid var(--color-border);background:#fffc;border-radius:12px;padding:10px 16px;transition:all .2s;display:block}.radio-pill input:checked+span{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.conditional-field{opacity:0;max-height:0;transition:max-height .4s,opacity .4s,margin .4s;overflow:hidden}.conditional-field.show{opacity:1;max-height:400px;margin-bottom:20px}.field-hint{color:var(--color-text-muted);margin-top:6px;font-size:13px;font-style:italic}.price-calculator{background:#ffffffe6;border:2px solid #2e7d324d;border-radius:16px;margin-top:30px;padding:20px;position:relative}.price-tier-badge{background:var(--color-primary);color:#fff;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:-12px;right:20px}.price-row{color:var(--color-text-muted);justify-content:space-between;margin-bottom:8px;display:flex}.price-row.conditional-price{display:none}.price-row.conditional-price.show{display:flex}.price-calculator hr{border:none;border-top:1px dashed var(--color-border);margin:15px 0}.price-row.total{color:var(--color-primary);margin-bottom:0;font-size:18px;font-weight:600}.summary-card{border:1px solid var(--color-border);background:#fffc;border-radius:12px;margin-bottom:20px;padding:20px}.summary-row{border-bottom:1px solid #0000000d;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;display:flex}.summary-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-label{color:var(--color-text-muted);font-size:14px;font-weight:600}.summary-value{text-align:right;color:var(--color-secondary);font-weight:600}.summary-total{color:var(--color-primary);font-size:20px}.payment-info{text-align:center;color:var(--color-secondary);background:#5d40371a;border-radius:8px;margin-bottom:20px;padding:12px;font-size:14px}.button-group{justify-content:space-between;gap:15px;margin-top:30px;display:flex}.button-group.single{justify-content:flex-end}.btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px 24px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #2e7d3233}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #2e7d324d}.btn-secondary{color:var(--color-secondary);border:1px solid var(--color-secondary);background-color:#0000}.btn-secondary:hover{background-color:#5d40370d}.success-content{text-align:center;padding:20px 0}.success-icon{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:32px;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards scaleIn;display:flex}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.ticket-stepper{border:1px solid var(--color-border);background:#fffc;border-radius:14px;justify-content:center;align-items:center;gap:0;max-width:200px;display:flex;overflow:hidden}.stepper-btn{width:52px;height:52px;color:var(--color-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;font-weight:600;transition:all .2s;display:flex}.stepper-btn:hover{background:#2e7d321a}.stepper-btn:active{background:#2e7d3233;transform:scale(.92)}.stepper-minus.disabled{color:var(--color-border);pointer-events:none}.stepper-value{text-align:center;min-width:48px;color:var(--color-secondary);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:0 4px;font-size:22px;font-weight:700;line-height:52px}.participant-block{border:1px solid var(--color-border);background:#ffffff80;border-radius:14px;margin-top:20px;padding:18px;animation:.3s ease-out forwards fadeIn}.participant-block h4{color:var(--color-primary);align-items:center;gap:6px;margin-bottom:14px;font-size:15px;font-weight:600;display:flex}.participant-block h4:before{content:"👤";font-size:16px}@media (width<=480px){.form-wrapper{padding:24px}.ticket-stepper{max-width:100%}}
