/* =================================================================
   ESTILOS GLOBALES DEL PLUGIN PAGOS PAYPAL (v1.1)
   ================================================================= */

:root {
  --pp-primary-color: #667eea;
  --pp-primary-dark: #5a67d8;
  --pp-success-color: #48bb78;
  --pp-error-color: #e53e3e;
  --pp-text-color: #2d3748;
  --pp-text-light: #4a5568;
  --pp-border-color: #e2e8f0;
  --pp-background-light: #f7fafc;
}
@keyframes pp-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* =================================================================
   ESTILOS PARA SHORTCODE [paypal_pago_aprobado]
   ================================================================= */
.pp-container { max-width: 700px; margin: 2rem auto; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.pp-loading-overlay { text-align: center; padding: 4rem 2rem; border: 1px solid var(--pp-border-color); border-radius: 16px; background-color: var(--pp-background-light); }
.pp-loading-overlay .spinner { width: 40px; height: 40px; border: 4px solid var(--pp-border-color); border-top-color: var(--pp-primary-color); border-radius: 50%; animation: pp-spin 1s linear infinite; margin: 0 auto 1.5rem auto; }
.pp-loading-overlay h3 { font-size: 1.5rem; color: var(--pp-text-color); margin-bottom: 0.5rem; }
.pp-loading-overlay p { font-size: 1.1rem; color: var(--pp-text-light); line-height: 1.6; }
.pp-comprobante { background: linear-gradient(135deg, var(--pp-primary-color), var(--pp-primary-dark)); color: white; padding: 2rem; border-radius: 16px; box-shadow: 0 20px 40px rgba(102, 126, 234, 0.3); margin-bottom: 1.5rem; }
.pp-comprobante h2 { margin-top: 0; font-size: 1.8rem; text-align: center; }
.pp-comprobante .payment-details { background: rgba(255, 255, 255, 0.1); padding: 1.5rem; border-radius: 12px; }
.pp-comprobante .detail-row { display: flex; justify-content: space-between; align-items: center; padding: 0.8rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.pp-comprobante .detail-row:last-child { border-bottom: none; }
.pp-comprobante .detail-label { font-weight: 600; opacity: 0.9; }
.pp-comprobante .detail-value { font-weight: 500; }
.pp-next-steps { background: white; padding: 2rem; border-radius: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); text-align: center; }
.pp-next-steps h3 { color: var(--pp-text-color); font-size: 1.4rem; margin-bottom: 1rem; }
.pp-next-steps p { color: var(--pp-text-light); font-size: 1.1rem; margin-bottom: 2rem; line-height: 1.6; }
.pp-error-message { background: #fefcbf; color: #92400e; padding: 1.5rem; border: 1px solid #fde68a; border-radius: 12px; text-align: center; margin: 2rem 0; }
.pp-error-message h3 { margin-top: 0; color: #b45309; }
.pp-error-message p { line-height: 1.6; }

/* =================================================================
   ESTILOS PARA SHORTCODE [paypal_registro_form]
   ================================================================= */
.pp-plugin-wrapper .registro-container { max-width: 800px; margin: 2rem auto; padding: 0 1rem; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: var(--pp-text-color); }
.pp-plugin-wrapper * { box-sizing: border-box; }
.pp-plugin-wrapper .loading-screen { text-align: center; padding: 4rem 2rem; background: white; border-radius: 16px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); }
.pp-plugin-wrapper .spinner { width: 40px; height: 40px; border: 4px solid var(--pp-border-color); border-top: 4px solid var(--pp-primary-color); border-radius: 50%; animation: pp-spin 1s linear infinite; margin: 0 auto 1rem; }
.pp-plugin-wrapper .error-card { background: linear-gradient(135deg, #feb2b2, #fc8181); color: white; padding: 2.5rem; border-radius: 16px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.15); animation: fadeInUp 0.6s ease-out; }
.pp-plugin-wrapper .error-card h2, .pp-plugin-wrapper .error-card p { color: white; }
.pp-plugin-wrapper .form-header { text-align: center; margin-bottom: 2rem; background: linear-gradient(135deg, var(--pp-primary-color), var(--pp-primary-dark)); color: white; padding: 2.5rem; border-radius: 16px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); }
.pp-plugin-wrapper .form-header h1, .pp-plugin-wrapper .subtitle { color: white; }
.pp-plugin-wrapper .registro-form { background: white; padding: 2.5rem; border-radius: 16px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); margin-bottom: 2rem; animation: fadeInUp 0.6s ease-out; }
.pp-plugin-wrapper .form-section h3 { color: var(--pp-primary-color); font-size: 1.3rem; margin: 0 0 1.5rem 0; padding-bottom: 0.5rem; border-bottom: 2px solid var(--pp-background-light); font-weight: 600; }
.pp-plugin-wrapper .form-group { margin-bottom: 1.5rem; }
.pp-plugin-wrapper .form-group label { display: block; font-weight: 600; margin-bottom: 0.5rem; color: var(--pp-text-color); }
.pp-plugin-wrapper .form-group input { width: 100%; padding: 0.875rem 1rem; border: 2px solid var(--pp-border-color); border-radius: 8px; font-size: 1rem; transition: all 0.2s ease; }
.pp-plugin-wrapper .form-group input:focus { outline: none; border-color: var(--pp-primary-color); box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); }
.pp-plugin-wrapper .form-help { display: block; font-size: 0.85rem; color: var(--pp-text-light); margin-top: 0.25rem; }
.pp-plugin-wrapper .btn-primary { background: linear-gradient(135deg, var(--pp-primary-color), var(--pp-primary-dark)); color: white; padding: 1rem 2.5rem; border: none; border-radius: 50px; font-size: 1.1rem; font-weight: 600; cursor: pointer; width: 100%; text-align: center; }
.pp-plugin-wrapper .btn-primary:hover:not(:disabled) { transform: translateY(-2px); }
.pp-plugin-wrapper .btn-primary:disabled { opacity: 0.7; cursor: not-allowed; }
.pp-plugin-wrapper .form-actions { text-align: center; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--pp-border-color); }
.pp-plugin-wrapper .success-card { background-color: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; padding: 2.5rem; border-radius: 16px; animation: fadeInUp 0.6s ease-out; }
.pp-plugin-wrapper .success-card h2, .pp-plugin-wrapper .success-card p { color: #166534; }
.pp-plugin-wrapper .success-steps { margin-top: 2rem; border-top: 1px solid #d1d5db; padding-top: 1.5rem; }
.pp-plugin-wrapper .step { display: flex; align-items: center; margin-bottom: 1rem; padding: 1rem; border-radius: 8px; background-color: #f3f4f6; }
.pp-plugin-wrapper .step-icon { font-size: 1.5rem; margin-right: 1rem; }
.pp-plugin-wrapper .step-text h4 { margin: 0; color: #374151; }
.pp-plugin-wrapper .step-text p { margin: 0; color: #4b5567; }
.pp-plugin-wrapper .step.completed { opacity: 0.6; }
.pp-plugin-wrapper .step.current { border: 2px solid #60a5fa; background-color: #eff6ff; }
.pp-plugin-wrapper .step.current .step-text h4 { color: #1e40af; }
.pp-plugin-wrapper .step.current .step-text p { font-weight: bold; color: #1d4ed8; }
.pp-plugin-wrapper .email-info-box { background-color: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 1.5rem; text-align: center; margin-top: 1.5rem; color: #92400e; }
.pp-plugin-wrapper .email-info-box .email-info-title, .pp-plugin-wrapper .email-info-box p { color: #92400e; }
.pp-plugin-wrapper .email-details { text-align: left; display: inline-block; }
.pp-plugin-wrapper .email-info-box code { background-color: #fef3c7; padding: 0.2rem 0.4rem; border-radius: 4px; }
.pp-plugin-wrapper .campus-link-box { margin-top: 2rem; text-align: center; }
.pp-plugin-wrapper .campus-link-box p { color: #374151; }
.pp-plugin-wrapper .btn-secondary { display: inline-block; background-color: #e5e7eb; color: #374151; padding: 0.8rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; }
.pp-plugin-wrapper .btn-secondary:hover { background-color: #d1d5db; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
