@import 'design-tokens.css';

:root {
  /* Map gold color references to design tokens */
  --gold: var(--color-secondary);
  --gold-accent: var(--color-secondary-dark);
}

.pdf-download-section{margin:24px 0;padding:0 16px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-radius:var(--radius-lg);animation:slideInUp 0.4s ease-out}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pdf-cta-card{background:white;border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #e2e8f0;margin:16px 0}.pdf-cta-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.pdf-icon{background:linear-gradient(135deg,#2c5aa0 0%,#1e40af 100%);color:white;padding:12px;border-radius:12px;box-shadow:0 4px 12px rgba(44,90,160,0.3)}.pdf-cta-title h3{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px 0;line-height:1.3}.pdf-cta-title p{font-size:14px;color:#64748b;margin:0}.pdf-price{margin-left:auto;text-align:right}.price-amount{font-size:24px;font-weight:800;color:var(--color-success);display:block;line-height:1}.pdf-features{margin-bottom:24px}.feature-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0}.feature-icon{color:#059669;font-weight:bold;font-size:16px;min-width:20px}.feature-text{font-size:14px;color:#475569;line-height:1.4}.pdf-download-btn{width:100%;background:linear-gradient(135deg,#2c5aa0 0%,#1e40af 100%);color:white;border:none;border-radius:12px;padding:16px 24px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 16px rgba(44,90,160,0.3);margin-bottom:16px;position:relative;overflow:hidden}.pdf-download-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(44,90,160,0.4)}.pdf-download-btn:active{transform:translateY(0)}.pdf-download-btn:disabled{opacity:0.7;cursor:not-allowed;transform:none}.btn-text{flex:1}.btn-price{background:rgba(255,255,255,0.2);padding:4px 12px;border-radius:6px;font-size:14px;font-weight:600}.btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,0.3);border-left:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pdf-trust-indicators{display:flex;justify-content:space-around;align-items:center;padding-top:16px;border-top:1px solid #e2e8f0}.trust-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.trust-icon{font-size:16px}.trust-text{font-size:12px;color:#64748b;text-align:center}.pdf-privacy-notice{text-align:center;padding:12px 16px;margin-top:8px}.pdf-privacy-notice p{margin:0;color:#64748b}.pdf-privacy-notice a{color:#2c5aa0;text-decoration:none}.pdf-payment-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:flex-end}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);animation:fadeIn 0.3s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-drawer{background:white;border-radius:24px 24px 0 0;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp 0.4s ease-out;box-shadow:0 -8px 40px rgba(0,0,0,0.15)}@keyframes slideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px 24px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:white;z-index:10}.modal-title h3{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 4px 0}.modal-subtitle{font-size:14px;color:#64748b;margin:0}.modal-close{background:#f1f5f9;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#64748b;transition:all 0.2s ease}.modal-close:hover{background:#e2e8f0;color:#1e293b}.modal-content{padding:24px;min-height:200px}.payment-step{animation:fadeIn 0.3s ease-out}.payment-step h4{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 20px 0}.user-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;transition:border-color 0.2s ease;background:white}.form-group input:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 3px rgba(44,90,160,0.1)}.form-help{font-size:12px;color:#64748b;margin-top:4px}.payment-methods{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.payment-method{display:flex;align-items:center;justify-content:space-between;padding:16px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all 0.2s ease;background:white}.payment-method:hover{border-color:#2c5aa0;box-shadow:0 2px 8px rgba(44,90,160,0.1)}.payment-method.selected{border-color:#2c5aa0;background:#f0f4f8;box-shadow:0 2px 12px rgba(44,90,160,0.15)}.method-info{display:flex;align-items:center;gap:12px}.method-icon img{width:24px;height:24px}.method-name{font-size:15px;font-weight:600;color:#1e293b;line-height:1.3}.method-desc{font-size:13px;color:#64748b}.method-price{font-size:16px;font-weight:700;color:#059669}.continue-btn,.download-btn,.email-btn,.retry-btn,.cancel-btn{width:100%;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.continue-btn{background:linear-gradient(135deg,#2c5aa0 0%,#1e40af 100%);color:white;box-shadow:0 4px 16px rgba(44,90,160,0.3)}.continue-btn:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.continue-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(44,90,160,0.4)}.download-btn{background:linear-gradient(135deg,#059669 0%,#047857 100%);color:white;margin-bottom:12px}.email-btn{background:#f1f5f9;color:#374151;border:2px solid #e2e8f0}.retry-btn{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);color:white;margin-bottom:12px}.cancel-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.processing-content{text-align:center;padding:40px 20px}.processing-animation{margin-bottom:24px}.processing-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-left:4px solid #2c5aa0;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.success-content,.error-content{text-align:center;padding:20px}.success-icon,.error-icon{font-size:48px;margin-bottom:16px}.success-actions,.error-actions{margin-top:24px}.success-info{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.success-info p{margin:8px 0;font-size:14px;color:#64748b}@media (min-width:768px){.pdf-download-section{margin:32px auto;max-width:500px;padding:0 24px}.pdf-cta-card{padding:28px}.pdf-cta-header{gap:20px}.pdf-cta-title h3{font-size:20px}.price-amount{font-size:28px}.pdf-download-btn{font-size:18px;padding:18px 28px}.modal-drawer{max-width:500px;margin:0 auto;border-radius:20px;max-height:80vh}.modal-content{padding:32px}.payment-methods{gap:16px}.payment-method{padding:20px}}@media (min-width:1024px){.pdf-download-section{max-width:600px}.modal-drawer{max-width:600px}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}@media (prefers-contrast:high){.pdf-cta-card,.modal-drawer{border:2px solid #000}.payment-method{border:2px solid #000}.payment-method.selected{background:#000;color:#fff}}.pdf-download-btn:focus,.continue-btn:focus,.payment-method:focus,.modal-close:focus{outline:3px solid #2c5aa0;outline-offset:2px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-left:3px solid #2c5aa0;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin:16px 0}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#059669;padding:12px 16px;border-radius:8px;font-size:14px;margin:16px 0}