.course-subscription-app *,.course-subscription-app *:before,.course-subscription-app *:after{box-sizing:border-box}body{display:block!important;place-items:unset!important}.course-subscription-app{max-width:700px;margin:2rem auto;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 10px 40px #00000008;border:1px solid #e2e8f0;overflow:hidden}.app-header{background:#fff;padding:2.5rem 2rem 1.5rem;text-align:center;border-bottom:1px solid #e2e8f0}.logo{max-width:120px;height:auto;margin-bottom:1.5rem}.app-header h1{font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:600;margin-bottom:.75rem;color:#1e293b;line-height:1.3}.subtitle{font-size:1rem;color:#64748b;line-height:1.6;max-width:500px;margin:0 auto}.step-indicator-container{margin-top:2rem}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .4s ease;border-radius:4px}.step-text{font-size:.9375rem;margin-top:.75rem;color:#64748b;font-weight:500}.app-content{padding:3rem 2rem}.step-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.question{font-family:Poppins,sans-serif;font-size:1.375rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;text-align:center;line-height:1.4}.sub-question{text-align:center;color:#64748b;margin-bottom:2rem;font-size:1rem}.input-group{margin-bottom:2rem}.form-label{display:block;margin-bottom:.75rem;font-weight:500;color:#334155;font-size:.9375rem}.input-wrapper{position:relative}.form-input{width:100%;padding:1rem 1.5rem;font-size:1.125rem;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;transition:all .2s ease;font-family:Inter,sans-serif;background:#f8fafc;box-sizing:border-box}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.form-input.input-error{border-color:#ef4444;background:#fef2f2}.form-input.input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.field-error{color:#dc2626;font-size:.875rem;margin-top:.5rem;margin-bottom:0}.form-input::placeholder{color:#94a3b8}.char-count{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.875rem;color:#94a3b8;pointer-events:none}.helper-text{font-size:.875rem;color:#64748b;margin-top:.5rem;text-align:center}.form-select{width:100%;padding:.875rem 2.5rem .875rem 1.25rem;font-size:1rem;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;transition:all .2s ease;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center;background-size:12px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.form-select option{padding:.75rem;white-space:normal;word-wrap:break-word}.selected-course-details{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;padding:1rem;margin-top:1rem}.course-detail-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #dcfce7}.course-detail-item:last-child{border-bottom:none}.course-detail-label{color:#166534;font-weight:500;font-size:.875rem}.course-detail-value{color:#15803d;font-weight:600;font-size:.875rem;text-align:right}.card-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1rem}.option-card{padding:1.5rem;border:2px solid #e2e8f0;border-radius:12px;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff}.option-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.option-card.selected{border-color:#3b82f6;background:#eff6ff}.card-icon{font-size:2rem;margin-bottom:.75rem}.card-title{font-weight:600;color:#1e293b;margin-bottom:.5rem}.card-description{font-size:.875rem;color:#64748b}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.button-group{display:flex;justify-content:center;gap:1rem;margin-top:2.5rem}.btn{padding:.875rem 2.5rem;font-size:1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.btn-primary{background:#3b82f6;color:#fff;box-shadow:0 1px 3px #0000001a}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}.btn-secondary{background:#fff;color:#64748b;border:1.5px solid #cbd5e1}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.loading-spinner{text-align:center;padding:1rem;color:#64748b}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-top:.5rem}.info-message{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-top:.5rem}.debug-info{border-top:2px dashed #e2e8f0;padding:1.5rem 2rem;background:#f8fafc;font-size:.75rem}.debug-info h4{margin-bottom:.5rem;color:#64748b}.debug-info pre{background:#fff;padding:1rem;border-radius:8px;overflow-x:auto;border:1px solid #e2e8f0}.kids-container{margin-top:2rem}.kid-form{background:#f8fafc;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e2e8f0}.kid-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kid-form-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.btn-remove-kid{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-remove-kid:hover{background:#dc2626}.btn-add-kid{width:100%;padding:.875rem;background:#fff;color:#3b82f6;border:2px dashed #3b82f6;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-kid:hover{background:#eff6ff}.kids-info-box{background:#e0f2fe;border:1px solid #7dd3fc;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6;color:#0c4a6e}.kids-info-box p{margin:0 0 .75rem}.kids-info-box p:last-child{margin-bottom:0}.kids-info-intro{color:#075985}.kids-info-title{font-size:1rem;font-weight:600;color:#0369a1;margin:1.25rem 0 .75rem}.kids-info-title:first-of-type{margin-top:1rem}.kids-info-box strong{color:#0369a1}.input-row{display:flex;gap:1rem}.sacraments-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.sacrament-checkbox{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;cursor:pointer;transition:all .2s}.sacrament-checkbox:hover{border-color:#3b82f6;background:#eff6ff}.sacrament-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.sacrament-label{font-weight:500;color:#334155}.sacraments-grid{display:flex;flex-direction:column;gap:.75rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:.5rem}.checkbox-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;cursor:pointer;transition:all .2s}.checkbox-card:hover{border-color:#3b82f6;background:#eff6ff}.checkbox-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.checkbox-card input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.checkbox-card .checkbox-label{font-weight:500;color:#334155;font-size:.9375rem}.checkbox-card.selected .checkbox-label{color:#1e40af}.radio-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;cursor:pointer;transition:all .2s ease;flex:1;min-width:fit-content}.radio-card:hover{border-color:#3b82f6;background:#eff6ff}.radio-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.radio-card input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0}.radio-card input[type=radio]:checked{border-color:#3b82f6;background:#3b82f6}.radio-card input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.radio-card .radio-label{font-weight:500;color:#334155;font-size:.9375rem}.radio-card.selected .radio-label{color:#1e40af}.radio-group{display:flex;flex-wrap:wrap;gap:.75rem}.radio-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;cursor:pointer;transition:all .2s ease;flex:1;min-width:fit-content}.radio-option:hover{border-color:#3b82f6;background:#eff6ff}.radio-option:has(input:checked){border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.radio-option input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0}.radio-option input[type=radio]:checked{border-color:#3b82f6;background:#3b82f6}.radio-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.radio-option span{font-weight:500;color:#334155;font-size:.9375rem}.radio-option:has(input:checked) span{color:#1e40af}.review-section{background:#f8fafc;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e2e8f0}.review-section-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.review-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.review-item:last-child{border-bottom:none}.review-label{font-weight:500;color:#64748b;white-space:nowrap;flex-shrink:0}.review-value{font-weight:500;color:#1e293b;text-align:right;word-break:break-word;min-width:0}.terms-checkbox{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#eff6ff;border:1.5px solid #3b82f6;border-radius:10px;cursor:pointer;margin-top:1rem}.terms-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer}.terms-text{font-size:.9375rem;color:#334155;line-height:1.6}.terms-text a{color:#3b82f6;text-decoration:underline;font-weight:600}.terms-text a:hover{color:#2563eb}.error-text{color:#991b1b}.success-screen{text-align:center}.success-details{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;padding:1.5rem;margin:2rem 0}.success-details p{color:#166534;margin:.5rem 0}.success-screen .btn{display:inline-block;text-decoration:none}.mt-3{margin-top:1rem}.city-autocomplete{position:relative;width:100%}.city-autocomplete-input-wrapper{position:relative}.city-autocomplete-input{padding-right:3rem}.city-autocomplete-clear{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#94a3b8;color:#fff;border:none;width:24px;height:24px;border-radius:50%;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.city-autocomplete-clear:hover{background:#64748b}.city-autocomplete-spinner{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.city-autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid #cbd5e1;border-top:none;border-radius:0 0 10px 10px;max-height:280px;overflow-y:auto;z-index:100;list-style:none;margin:0;padding:0;box-shadow:0 4px 12px #0000001a}.city-autocomplete-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;cursor:pointer;transition:background .15s}.city-autocomplete-item:hover,.city-autocomplete-item.highlighted{background:#eff6ff}.city-autocomplete-item.selected{background:#dbeafe}.city-autocomplete-item .city-name{font-weight:500;color:#1e293b}.city-autocomplete-item .city-state{font-size:.875rem;color:#64748b;font-weight:500;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px}.city-autocomplete-no-results{padding:1rem 1.25rem;color:#64748b;font-size:.9375rem;background:#fff;border:1.5px solid #cbd5e1;border-top:none;border-radius:0 0 10px 10px}.no-course-message{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;padding:1.5rem;margin-top:1.5rem;text-align:center}.no-course-message-icon{font-size:2.5rem;margin-bottom:.75rem}.no-course-message h3{font-size:1.125rem;font-weight:600;color:#92400e;margin-bottom:.5rem}.no-course-message p{color:#a16207;font-size:.9375rem;margin-bottom:1rem}.online-alternative{margin-top:1.5rem}.online-alternative-label{color:#64748b;font-size:.9375rem;margin-bottom:.75rem;font-weight:500}.online-course-card{background:#fff;border:2px solid #3b82f6;border-radius:12px;padding:1.25rem;margin-top:1rem;cursor:pointer;transition:all .2s ease}.online-course-card.alternative{border:2px dashed #94a3b8;margin-top:0}.online-course-card.alternative:hover{border-color:#3b82f6;border-style:solid}.online-course-card.alternative.selected{border:2px solid #3b82f6;background:#eff6ff}.online-course-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.online-course-card.selected{background:#eff6ff;box-shadow:0 0 0 3px #3b82f633}.online-course-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.online-course-card-icon{font-size:1.5rem}.online-course-card-title{font-weight:600;color:#1e293b;font-size:1rem}.online-course-card-description{color:#64748b;font-size:.875rem;line-height:1.5}.selected-city-display{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1.5px solid #86efac;padding:1rem 1.25rem;border-radius:10px;margin-top:.5rem}.selected-city-info{display:flex;align-items:center;gap:.75rem}.selected-city-check{color:#22c55e;font-size:1.25rem}.selected-city-text{font-weight:500;color:#166534}.selected-city-change{background:transparent;border:none;color:#3b82f6;font-weight:500;cursor:pointer;font-size:.875rem}.selected-city-change:hover{text-decoration:underline}@media(max-width:768px){.course-subscription-app{margin:1rem;border-radius:12px}.logo{max-width:100px;margin-bottom:1.25rem}.app-header h1{font-size:1.5rem}.app-header{padding:2rem 1.5rem 1.25rem}.app-content{padding:2rem 1.5rem}.question{font-size:1.25rem}.form-input{font-size:1rem;padding:.875rem 1.25rem}.btn{padding:.75rem 1.75rem;font-size:.9375rem}.card-options{grid-template-columns:1fr}.button-group{flex-direction:column-reverse}.btn{width:100%}.city-autocomplete-list{max-height:200px}.radio-group{flex-direction:column}.radio-option,.radio-card{flex:none;width:100%}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.payment-section{margin-top:2rem}.payment-method-selector{margin-bottom:2rem}.payment-methods .radio-label{display:flex;flex-direction:column;gap:.25rem}.payment-methods .radio-label strong{font-size:1rem;color:#1e293b}.payment-method-desc{font-size:.8125rem;color:#64748b;font-weight:400}.price-note{font-size:.875rem;color:#64748b;font-weight:400}.payment-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:1rem;border-radius:10px;margin-bottom:1.5rem;line-height:1.5}.btn-generate-pix{width:100%;margin-bottom:1rem}.status-brick-wrapper{margin:1.5rem 0;min-height:200px}.pending-payment-notice{text-align:center}.pending-details{margin-top:1.5rem;padding:1rem;background:#f0f9ff;border-radius:8px;color:#1e40af;font-size:.9375rem;line-height:1.6}.pending-details p{margin-bottom:.75rem}.pending-details p:last-child{margin-bottom:0}.pending-note{font-size:.875rem;color:#1e3a8a}.pix-payment-section{text-align:center}.qr-code-container{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:1.5rem}.qr-code-instruction{color:#64748b;margin-bottom:1rem;font-size:.9375rem}.qr-code-image{max-width:250px;height:auto;border-radius:8px}.pix-code-container{background:#f8fafc;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:1.5rem}.pix-code-instruction{color:#64748b;margin-bottom:.75rem;font-size:.875rem}.pix-code-wrapper{display:flex;gap:.5rem;align-items:stretch}.pix-code{flex:1;background:#fff;padding:.75rem;border-radius:8px;border:1px solid #cbd5e1;font-size:.75rem;word-break:break-all;text-align:left;max-height:100px;overflow-y:auto}.btn-copy{padding:.75rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy:hover{background:#2563eb}.payment-status-info{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.btn-payment-done{width:100%}.credit-card-section{margin-top:1.5rem}.coming-soon-notice{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:1.5rem;border-radius:12px;text-align:center;font-size:.9375rem;line-height:1.5}.success-content{text-align:center}.success-icon{width:80px;height:80px;background:#22c55e;color:#fff;font-size:2.5rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-title{color:#22c55e;margin-bottom:1rem}.success-message{color:#64748b;font-size:1rem;line-height:1.6;margin-bottom:1rem}.success-contact{color:#64748b;font-size:.9375rem}.success-contact a{color:#3b82f6;text-decoration:none}.success-contact a:hover{text-decoration:underline}.success-course-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:1rem 1.5rem;margin:1.5rem 0;text-align:left}.success-course-info .course-info-item{padding:.5rem 0;color:#1e293b;font-size:.9375rem}.success-course-info .course-info-item:not(:last-child){border-bottom:1px solid #dcfce7}.success-course-info .course-info-item strong{color:#166534;margin-right:.5rem}.participation-options{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.participation-option{padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.participation-option:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.participation-option.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.participation-option-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.participation-option-icon{font-size:1.5rem}.participation-option-title{font-weight:600;color:#1e293b;font-size:1rem}.participation-option-description{color:#64748b;font-size:.875rem;line-height:1.5;margin:0}.participation-option-selected{margin-top:.75rem;color:#22c55e;font-weight:600}.city-override-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed #e2e8f0}.link-button{background:none;border:none;color:#3b82f6;font-size:.9375rem;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.link-button:hover{color:#2563eb}.override-selectors{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.override-title{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.override-selectors .form-select{margin-bottom:1rem}.override-selectors .form-select:last-of-type{margin-bottom:.75rem}.override-selected-info{display:flex;align-items:center;gap:.5rem;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;color:#166534;font-weight:500;font-size:.9375rem}.override-check{color:#22c55e;font-size:1.125rem}.override-cancel-link{display:block;margin-top:.75rem}@media(max-width:600px){.pix-code-wrapper{flex-direction:column}.btn-copy{width:100%}.qr-code-image{max-width:200px}.override-selectors{padding:1rem}}
