:root{--primary:#0077ff;--bg:#f9f9f9;--card:#ffffff;--muted:#6b7280;--ok:#10b981;--danger:#ef4444;--tg:#0088cc;--wa:#25d366;--radius:12px}html,body{font-family:'Gilroy',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;color:#111827;margin:0;padding:0;overflow-x:hidden}.container{max-width:920px;margin:0 auto;padding:20px;position:relative}@media(max-width:768px){.container{max-width:100%;padding:15px;margin:0}.form-section{border-radius:0;margin:0;padding:20px;box-shadow:none;min-height:100vh;box-sizing:border-box}}.form-section{background:#fff;border-radius:16px;padding:0;box-shadow:none}.content-wrapper{max-width:100%;width:100%}.form-group{position:relative;margin-bottom:8px}.form-group label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:#fff;padding:0 4px;font-size:14px;color:var(--primary);pointer-events:none;transition:all .2s ease;z-index:1}.required-star{color:#ef4444;font-weight:700;margin-left:2px}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:10px;font-size:15px;outline:0;box-sizing:border-box;transition:all .2s ease;background:#fff}.form-group select{padding-right:17px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group input:focus,.form-group select:focus{border-color:var(--primary)}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group select:focus+label,.form-group.has-value label{top:0;font-size:12px;color:var(--primary)}.form-group select[value=""]+label{top:50%;transform:translateY(-50%);font-size:14px;color:var(--primary);z-index:2}.form-group select:not([value=""])+label{top:-8px;transform:translateY(0);font-size:12px;color:var(--primary);z-index:2}.form-group input::placeholder{color:transparent}.privacy-consent{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.privacy-checkbox{display:flex;align-items:flex-start;cursor:pointer;font-size:13px;color:#4b5563;line-height:1.4}.privacy-checkbox input[type=checkbox]{display:none}.privacy-checkmark{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;margin-right:10px;margin-top:1px;position:relative;transition:all .2s ease;flex-shrink:0}.privacy-checkbox input[type=checkbox]:checked+.privacy-checkmark{background:#0077ff;border-color:#0077ff}.privacy-checkbox input[type=checkbox]:checked+.privacy-checkmark:after{content:"✓";position:absolute;top:-1px;left:3px;color:#fff;font-size:12px;font-weight:700}.privacy-text{flex:1}.privacy-text a{color:#0077ff;text-decoration:underline}.privacy-text a:hover{color:#005cbf}.privacy-consent.error{border-color:var(--danger);background-color:#fef2f2}.privacy-consent.error .privacy-checkmark{border-color:var(--danger)}.form-group.error input,.form-group.error select{border-color:var(--danger);background-color:#fef2f2}.form-group.error label{color:var(--danger)}.validation-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin:16px 0;color:var(--danger);font-size:14px;font-weight:500;display:none!important}.validation-error.show{display:block!important}.validation-error ul{margin:4px 0 0;padding-left:20px}.validation-error li{margin:2px 0}.mobile-counter{position:relative}.counter-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:row;gap:1px;background:#fff;border-radius:6px;padding:2px}.counter-btn{width:24px;height:24px;border:1px solid #d1d5db;background:#f9fafb;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:600;color:#374151;transition:all .2s ease;user-select:none}.counter-btn:hover{background:#e5e7eb;border-color:#9ca3af}.mobile-counter input{padding-right:60px}.info-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin:20px 0}.info-title{font-weight:600;color:#1e293b;margin-bottom:8px;font-size:16px}.info-text{color:#64748b;font-size:14px;line-height:1.6}.info-description{margin-bottom:16px;line-height:1.6}.info-description .highlight{color:#1e293b;font-weight:700;background:0 0}.info-description .badge{display:inline-flex;align-items:center;background:#dcfce7;color:#166534;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;margin:5px 2px 2px}.info-included{margin-top:16px}.info-included-title{font-weight:600;color:#1e293b;margin-bottom:10px;font-size:15px}.info-list{list-style:none;padding:0;margin:0}.info-list li{display:flex;align-items:flex-start;margin-bottom:4px;padding-left:0;font-size:14px}.info-list li:before{content:"✓";color:#10b981;font-weight:700;font-size:16px;margin-right:6px;margin-top:1px;flex-shrink:0}.grid{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:15px;gap:12px}@media(max-width:640px){.grid{grid-template-columns:1fr}}@media(max-width:640px){.grid[style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr!important}}.summary{background:#f5f7fa;border:1px solid #e5e7eb;border-radius:12px;padding:14px;font-size:14px;line-height:1.5;margin-top:16px}.summary strong{color:#111827}.btn{border:0;border-radius:10px;padding:15px 45px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-family:inherit;text-decoration:none}.btn.wa{background:var(--wa);color:#fff}.btn.tg{background:var(--tg);color:#fff;font-family:inherit}.share{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.share a,.share button{flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none}.note-important{font-size:13px;color:#374151;margin-top:12px;font-weight:500;border-top:1px solid #e5e7eb;padding-top:12px}.date-input-wrapper{position:relative}.calendar-popup{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);z-index:1000;display:none;padding:12px;margin-bottom:8px;max-width:100%;overflow:hidden}.calendar-popup.show{display:block}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-nav{background:0 0;border:0;font-size:16px;cursor:pointer;padding:6px;border-radius:4px;color:var(--primary);min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-nav:hover{background:#f3f4f6}.calendar-title{font-weight:600;font-size:14px;color:#111827;flex:1;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;max-width:100%}.calendar-day-header{text-align:center;font-size:11px;color:var(--muted);padding:4px 2px;font-weight:500}.calendar-day{text-align:center;padding:4px 2px;cursor:pointer;border-radius:4px;font-size:12px;transition:all .2s ease;min-height:24px;display:flex;align-items:center;justify-content:center;word-break:keep-all}.calendar-day:hover{background:#f3f4f6}.calendar-day.other-month{color:#d1d5db}.calendar-day.today{background:#fef3c7;color:#92400e;font-weight:600}.calendar-day.selected{background:var(--primary);color:#fff;font-weight:600}.calendar-day.past{color:#d1d5db;cursor:not-allowed}.calendar-day.past:hover{background:0 0}@media(max-width:640px){.calendar-popup{position:absolute!important;bottom:100%!important;top:auto!important;left:0!important;right:0!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important;margin-bottom:8px!important;padding:12px!important;border-radius:12px!important;box-shadow:0 20px 40px rgba(0,0,0,.3)!important;z-index:9999!important}.calendar-popup.show{display:block!important}.calendar-header{margin-bottom:8px}.calendar-grid{gap:2px}.calendar-day{font-size:13px;min-height:24px;padding:4px 2px}.calendar-day-header{font-size:11px;padding:4px 2px}.calendar-nav{font-size:16px;min-width:28px;height:28px;padding:4px}.calendar-title{font-size:14px}}.ticket-type-section{margin:20px 0}.ticket-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}.ticket-option{border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff;text-align:center;position:relative}.ticket-option:hover{border-color:#d1d5db}.ticket-option.selected{border-color:var(--primary);background:#f0f9ff}.ticket-option input[type=radio]{display:none}.ticket-title{font-weight:700;font-size:16px;color:#1e293b;margin-bottom:12px}.ticket-pricing{font-size:13px;margin-bottom:12px}.price-row{margin:4px 0;color:#1e293b;display:flex;justify-content:space-between;align-items:center}.price-label{font-weight:500}.price-value{font-weight:700;color:#374151}.ticket-badge{position:absolute;top:-8px;right:-8px;background:#fed7aa;color:#92400e;font-size:10px;font-weight:600;padding:4px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;border:1px solid #f59e0b}.conditions-info{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:12px;margin:16px 0;font-size:13px;color:#1e40af;line-height:1.5}.conditions-info strong{color:#1e3a8a}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.6)!important;display:none;align-items:center!important;justify-content:center!important;z-index:2147483647!important;padding:20px!important;box-sizing:border-box!important}.modal-overlay.show{display:flex!important}.modal{background:#fff!important;border-radius:16px!important;padding:24px!important;max-width:500px!important;width:100%!important;max-height:90vh!important;overflow-y:auto!important;position:relative!important;box-shadow:0 20px 40px rgba(0,0,0,.3)!important;z-index:2147483647!important}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-title{font-family:inherit!important;font-size:18px;font-weight:600;color:#111827;margin:0}.modal-close{background:0 0;border:0;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-content{margin-bottom:24px}.message-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;font-family:Monaco,Menlo,'Ubuntu Mono',monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;color:#374151;max-height:300px;overflow-y:auto}.modal-info{margin-bottom:20px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;text-align:center;transition:all .3s ease}.modal-info.success{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.modal-info.warning{background:#fef3c7;border-color:#fbbf24;color:#92400e}.modal-btn.disabled{background:#9ca3af!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.6}.modal-btn.disabled:hover{background:#9ca3af!important}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse .5s ease-in-out 3}.modal-actions{display:flex;gap:12px;flex-wrap:wrap}.modal-btn{font-family:inherit!important;flex:1;min-width:140px;padding:12px 20px;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.modal-btn.copy{font-family:inherit!important;background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-btn.copy:hover{background:#e5e7eb}.modal-btn.copy.copied{background:#dcfce7;color:#16a34a;border-color:#16a34a}.modal-btn.telegram{font-family:inherit!important;background:var(--tg);color:#fff}@media(max-width:640px){.ticket-options{grid-template-columns:1fr;gap:16px}.ticket-option{text-align:left;padding:20px}.ticket-title{font-size:18px;margin-bottom:16px}.ticket-pricing{font-size:14px}.price-row{padding:6px 0;border-bottom:1px solid #f1f5f9}.price-row:last-child{border-bottom:0}.modal{margin:10px;padding:20px;max-width:calc(100vw - 20px)}.modal-btn.telegram:hover{background:#0077b3}.modal-actions{flex-direction:column}.modal-btn{min-width:auto;width:100%}.message-preview{font-size:12px;max-height:250px}}.age-note{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:12px;margin:16px 0;font-size:13px;color:#92400e;line-height:1.5}.age-note strong{color:#78350f}
