.registration-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3rem}@media (max-width: 768px){.registration-type-selector{grid-template-columns:1fr;gap:1rem}}.registration-type-card{background:var(--color-card-bg);border:2px solid var(--color-border);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.registration-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:transparent;transition:background .3s ease}.registration-type-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.registration-type-card.active{border-color:var(--color-primary);background:linear-gradient(135deg,#fdb9130d,#fdb9131a)}.registration-type-card.active:before{background:var(--color-primary)}.registration-type-card.nacional:before{background:linear-gradient(90deg,#2563eb,#3b82f6)}.registration-type-card.internacional:before{background:linear-gradient(90deg,#059669,#10b981)}.registration-type-card.active.nacional{border-color:#2563eb}.registration-type-card.active.internacional{border-color:#059669}.card-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.card-icon.nacional{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.card-icon.internacional{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.card-icon.grupal{position:relative}.card-icon.grupal:after{content:"10+1";position:absolute;top:-5px;right:-5px;background:var(--color-secondary);color:var(--color-primary);font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px}.card-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.card-description{font-size:.9rem;color:var(--color-text-light);line-height:1.5;margin-bottom:1rem}.card-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.card-badge.nacional{background:#2563eb1a;color:#2563eb}.card-badge.internacional{background:#0596691a;color:#059669}.card-badge.promo{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a}.card-check{position:absolute;top:1rem;right:1rem;width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:var(--color-secondary);display:none;align-items:center;justify-content:center}.registration-type-card.active .card-check{display:flex}.dynamic-form-container{display:none;animation:fadeInUp .4s ease}.dynamic-form-container.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.registration-notice{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:12px;margin-bottom:2rem}.registration-notice.nacional{background:linear-gradient(135deg,#2563eb14,#3b82f60d);border:1px solid rgba(37,99,235,.2)}.registration-notice.internacional{background:linear-gradient(135deg,#05966914,#10b9810d);border:1px solid rgba(5,150,105,.2)}.notice-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.notice-content h4{font-size:1rem;font-weight:700;margin-bottom:.25rem}.notice-content p{font-size:.9rem;color:var(--color-text-light);margin:0}.group-registration-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.group-counter{display:flex;align-items:center;gap:1rem;background:var(--color-card-bg);padding:.75rem 1.25rem;border-radius:12px;border:1px solid var(--color-border)}.group-counter-label{font-size:.9rem;color:var(--color-text-light)}.group-counter-value{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.group-progress{flex:1;min-width:150px;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.group-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:4px;transition:width .3s ease;width:9.09%}.promo-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a;padding:1rem 1.5rem;border-radius:12px;text-align:center;font-weight:600;margin-bottom:1.5rem}.promo-banner span{display:block;font-size:1.25rem}.promo-banner small{font-weight:400;opacity:.8}.group-participants-list{display:flex;flex-direction:column;gap:1.5rem}.group-participant-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;transition:all .3s ease}.group-participant-card:hover{box-shadow:0 4px 12px #00000014}.group-participant-card.free-participant{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#05966905)}.participant-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.free-participant .participant-header{background:linear-gradient(90deg,#10b98126,#10b9810d)}.participant-number{font-size:1.1rem;font-weight:700;color:var(--color-primary);min-width:35px}.free-participant .participant-number{color:#10b981}.participant-title{flex:1;font-weight:600;color:var(--color-text)}.free-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.remove-participant-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(239,68,68,.2);background:#ef44440d;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.remove-participant-btn:hover{background:#ef4444;color:#fff}.participant-fields{padding:1.25rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.form-row:last-child{margin-bottom:0}.add-participant-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.25rem;border:2px dashed var(--color-border);border-radius:12px;background:transparent;color:var(--color-text-light);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.add-participant-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#fdb9130d}.add-participant-btn svg{width:24px;height:24px}.file-preview{margin-top:1rem}.file-preview-image-wrapper{position:relative;display:inline-block;max-width:100%;border-radius:12px;overflow:hidden;border:2px solid var(--color-border)}.file-preview-image{display:block;max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:10px}@media (max-width: 600px){.file-preview-image{max-height:150px;max-width:calc(100vw - 60px)}}.remove-file-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#000000b3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-file-btn:hover{background:#ef4444}.file-preview-pdf{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-alt);border-radius:12px;border:1px solid var(--color-border)}.file-preview-pdf span{flex:1;font-size:.9rem;color:var(--color-text);word-break:break-all}.file-preview-pdf .remove-file-btn{position:static;width:auto;height:auto;padding:.5rem 1rem;border-radius:8px;font-size:.85rem}.external-payment-notice{background:linear-gradient(135deg,#05966914,#10b9810d);border:1px solid rgba(5,150,105,.2);border-radius:16px;padding:2rem;text-align:center;margin-bottom:2rem}.external-payment-notice h4{font-size:1.25rem;color:var(--color-text);margin-bottom:1rem}.external-payment-notice p{color:var(--color-text-light);margin-bottom:1.5rem}.external-payment-btn{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#059669,#10b981);color:#fff;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease}.external-payment-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0596694d}.external-payment-steps{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.payment-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:120px}.payment-step-number{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-secondary);display:flex;align-items:center;justify-content:center;font-weight:700}.payment-step-text{font-size:.85rem;color:var(--color-text-light);text-align:center}.payer-info-section{background:linear-gradient(135deg,#fdb9131a,#fdb9130d);border:1px solid rgba(253,185,19,.3);border-radius:16px;padding:1.5rem;margin-top:2rem}.payer-info-section h4{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;margin-bottom:1.25rem;color:var(--color-text)}.payer-info-section h4 svg{color:var(--color-primary)}@media (max-width: 768px){.registration-type-selector{gap:1rem}.registration-type-card{padding:1.25rem}.card-title{font-size:1.1rem}.group-registration-header{flex-direction:column;align-items:stretch}.group-counter{justify-content:space-between}.promo-banner span{font-size:1.1rem}.participant-header{flex-wrap:wrap}.external-payment-steps{flex-direction:column;align-items:center;gap:1.5rem}.payment-step{flex-direction:row;max-width:none;gap:1rem}.payment-step-text{text-align:left}}@media (max-width: 480px){.card-icon{width:50px;height:50px}.participant-fields{padding:1rem}.external-payment-btn{width:100%;justify-content:center}}.form-group{margin-bottom:1.25rem;position:relative}.form-group.full-width{grid-column:1 / -1;width:100%}.form-group label{display:block;font-size:.95rem;font-weight:600;color:var(--color-text, #1f2937);margin-bottom:.5rem}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.5;color:var(--color-text, #1f2937);background-color:#fff;border:2px solid var(--color-border, #e5e7eb);border-radius:.75rem;transition:all .2s ease-in-out;box-sizing:border-box;appearance:none;-webkit-appearance:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3F%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;padding-right:2.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary, #FDB913);box-shadow:0 0 0 4px #fdb91326}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;margin-top:.15rem;border-radius:.25rem;border:2px solid var(--color-border, #e5e7eb);accent-color:var(--color-primary, #FDB913);cursor:pointer}.checkbox-label span{font-size:.9rem;line-height:1.4;color:var(--color-text-light, #4b5563)}.checkbox-label a{color:var(--color-primary, #d97706);text-decoration:underline}@media (max-width: 640px){.form-group input,.form-group select{font-size:16px;padding:.875rem 1rem}}.currency-notice-banner{background:linear-gradient(135deg,#fff9c4,#fff59d);border:1px solid #FBC02D;border-radius:12px;padding:1.25rem;margin-bottom:2rem;text-align:center;box-shadow:0 4px 6px -1px #0000001a;display:flex;flex-direction:column;align-items:center;gap:.5rem}.currency-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fbc02d;color:#374151;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.rate-display{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.5rem;font-weight:800;color:#1a1a1a}.rate-display .highlight{color:#d32f2f;text-shadow:0 1px 0 rgba(255,255,255,.5);font-size:1.8rem}.rate-info{margin:0;font-size:.85rem;color:#5d5d5d}.certificate-field-header label{margin-bottom:0!important}.view-cert-btn{background:none;border:none;color:var(--color-primary, #d97706);font-size:.85rem;display:flex;align-items:center;gap:.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;font-weight:500}.view-cert-btn:hover{background:#fdb9131a;text-decoration:none}.view-cert-btn svg{color:currentColor}.certificate-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:1rem}.certificate-modal.active{display:flex}.certificate-modal-overlay{position:absolute;inset:0;background:#000000bf;backdrop-filter:blur(4px)}.certificate-modal-content{position:relative;background:#fff;width:100%;max-width:95vw;border-radius:1rem;padding:1rem;box-shadow:0 25px 50px -12px #00000040;z-index:10;max-height:95vh;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 768px){.certificate-modal-content{max-width:850px;aspect-ratio:11 / 8.5;padding:1.5rem}}@media (min-width: 1024px){.certificate-modal-content{max-width:950px}}.certificate-modal-close{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;border-radius:50%;width:36px;height:36px;padding:8px;cursor:pointer;color:#6b7280;transition:all .2s ease;z-index:20;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000d}.certificate-modal-close:hover{background:#fdb913;color:#fff;transform:scale(1.1)}.certificate-preview{background:linear-gradient(135deg,#f8f9fa,#fff,#f8f9fa);border:4px solid #FDB913;border-radius:.75rem;padding:1.5rem;text-align:center;height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;overflow:hidden;position:relative}@media (min-width: 768px){.certificate-preview{padding:2.5rem}}.certificate-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #00A650}.certificate-logo{max-height:60px;margin-bottom:.75rem}@media (min-width: 768px){.certificate-logo{max-height:80px}}.certificate-header h3{color:#00a650;font-size:1.1rem;margin-bottom:.25rem;font-weight:700;line-height:1.2}@media (min-width: 768px){.certificate-header h3{font-size:1.4rem}}.certificate-header p{color:#666;font-size:.85rem}.certificate-body{padding:1rem 0;flex:1;display:flex;flex-direction:column;justify-content:center}.certificate-label{font-size:1rem;color:#666;margin-bottom:.75rem;font-style:italic}.certificate-name{font-size:clamp(1.5rem,5vw,2.75rem);color:#00a650;font-weight:700;margin-bottom:1rem;line-height:1.1;font-family:Georgia,serif}.certificate-description{font-size:.95rem;color:#333;line-height:1.5;max-width:90%;margin:0 auto}@media (min-width: 768px){.certificate-description{max-width:75%}}.certificate-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:1.5rem;gap:1rem}.certificate-signature{text-align:left}.signature-line{width:140px;height:1px;background:#000;margin-bottom:.4rem}@media (min-width: 768px){.signature-line{width:180px}}.certificate-signature p{font-size:.8rem;color:#333;margin:0}.certificate-date{text-align:right}.certificate-date p{font-size:.8rem;color:#666;margin:0}.certificate-note{text-align:center;font-size:.8rem;color:#94a3b8;margin-top:1.5rem}@media (max-width: 640px){.certificate-modal-content{padding:1rem}.certificate-preview{padding:1rem;border-width:5px}.certificate-name{font-size:1.5rem}.certificate-footer{flex-direction:column;gap:2rem;align-items:center}}.turnstile-container{display:flex!important;justify-content:center!important;width:100%!important;margin:2rem 0!important;min-height:65px}.form-wrapper{max-width:800px;margin:0 auto;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.form-grid{display:grid;gap:1.25rem}@media (min-width: 640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-section-title{font-size:1rem;font-weight:600;color:#00a650;padding-bottom:.5rem;border-bottom:2px solid #FDB913;margin-bottom:.5rem;margin-top:1.5rem}.form-actions{margin-top:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.payment-qr-container{background:#f8fafc;border-radius:.75rem;padding:1.5rem;border:2px solid #00A650}.exchange-rate-notice{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#fdb9131a,#00a6501a);border-radius:.5rem;margin-bottom:1.5rem;align-items:flex-start}.exchange-rate-notice strong{color:#00a650}.qr-payment-wrapper{display:grid;gap:1.5rem;margin-bottom:1.5rem}@media (min-width: 640px){.qr-payment-wrapper{grid-template-columns:auto 1fr;align-items:start}}.qr-image-container{text-align:center}.qr-payment-image{max-width:240px;width:100%;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a}.bank-details{background:#fff;padding:1.25rem;border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.bank-details h5{font-size:1rem;color:#00a650;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #FDB913}.upload-receipt-section{background:#fff;padding:1.25rem;border-radius:.5rem;border:2px dashed #e2e8f0;text-align:center}.btn-outline{background:transparent;border:2px solid #00A650;color:#00a650;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-outline:hover{background:#00a650;color:#fff}.certificate-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.view-cert-btn{background:none;border:none;color:#fdb913;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.25rem;padding:0}.view-cert-btn:hover{text-decoration:underline}.certificate-warning-box{display:flex;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#fdb9131a,#e830261a);border-left:4px solid #FDB913;border-radius:.5rem;margin-bottom:1rem;align-items:flex-start}.certificate-warning-box svg{flex-shrink:0;color:#fdb913;margin-top:2px}.submission-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:1rem}.submission-modal-overlay{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.submission-modal-content{position:relative;background:#fff;border-radius:1.5rem;padding:2.5rem;max-width:500px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .4s cubic-bezier(.16,1,.3,1);border:1px solid #e2e8f0}.modal-state{display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:fadeIn .3s ease-out}.loading-spinner{width:60px;height:60px;border:4px solid rgba(253,185,19,.2);border-top-color:#fdb913;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.5rem}.loading-progress{width:100%;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden;margin-top:1rem}.loading-progress-bar{width:100%;height:100%;background:#fdb913;transform-origin:left;animation:progress 2s ease-in-out infinite}@keyframes progress{0%{transform:scaleX(0)}50%{transform:scaleX(.5)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-icon{color:#00a650;margin-bottom:.5rem}.modal-success h3{color:#00a650;font-size:1.75rem;margin:0;font-weight:800}.success-message{font-size:1rem;color:#475569}.success-info-box{background:#f0fdf4;border:1px solid #00A650;border-radius:1rem;padding:1.25rem;display:flex;text-align:left;gap:1rem;margin:1.5rem 0}.success-info-box svg{flex-shrink:0;color:#00a650}.success-info-box strong{display:block;margin-bottom:2px;color:#1e293b}.success-info-box p{margin:0;font-size:.875rem;color:#64748b;line-height:1.5}.error-icon{color:#ef4444;margin-bottom:.5rem}.modal-error h3{color:#ef4444;font-size:1.75rem;margin:0;font-weight:800}.error-message{font-size:1rem;color:#475569}.error-details{margin:1rem 0;padding:1rem;background:#fef2f2;border-radius:.75rem;font-size:.875rem;color:#dc2626;border:1px solid #fee2e2}.modal-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-top:1rem}@media (min-width: 640px){.modal-actions{flex-direction:row;justify-content:center}}.btn-outline-modal{background:transparent;border:2px solid #e2e8f0;color:#64748b;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-outline-modal:hover{border-color:#94a3b8;color:#1e293b;background:#f8fafc}@media (max-width: 640px){.submission-modal-content{padding:1.5rem;max-width:90vw}}.exchange-highlight{background:#fdb913;color:#fff;padding:2px 8px;border-radius:99px;font-weight:700;margin-left:4px}.bank-info-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed #e2e8f0}.bank-info-item:last-child{border-bottom:none}.bank-info-item .label{color:#64748b;font-size:.9rem}.bank-info-item .value{font-weight:600;color:#1e293b;text-align:right}.bank-info-item .account-number{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:monospace}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1rem;color:#1f2937;font-weight:600;cursor:pointer;text-align:center;width:100%;margin:0 auto;transition:all .3s ease}.upload-label:hover{background:#fdb91308}.upload-label svg{color:#fdb913;width:26px;height:26px}.upload-note{font-size:.8rem;color:#94a3b8;margin-top:.5rem}.upload-receipt-section input[type=file]{display:block;margin:0 auto;font-size:.8rem;color:#64748b}
