/* ==========================================================================
   BridgeFunnel Engine - Core Frontend Styles (13 Widgets de Alta Performance)
   ========================================================================== */

/* Hero Banner */
.bf-hero-banner { padding: 40px 20px; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); border-radius: 16px; margin-bottom: 30px; text-align: center; }
.bf-savings-badge { display: inline-block; background: #ef4444; color: #ffffff; font-weight: 700; font-size: 14px; padding: 6px 16px; border-radius: 20px; margin-bottom: 16px; box-shadow: 0 4px 10px rgba(239, 68, 68, 0.25); }
.bf-hero-tagline { color: #2563eb; font-weight: 700; font-size: 16px; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }
.bf-hero-headline { color: #0f172a; font-size: 32px; font-weight: 800; line-height: 1.25; max-width: 850px; margin: 0 auto 24px; }
.bf-hero-img { max-width: 320px; height: auto; border-radius: 12px; filter: drop-shadow(0 15px 25px rgba(0,0,0,0.15)); }

/* VSL Video Player - 16:9 Cinematográfico Responsivo */
.bf-video-section { margin: 35px 0; text-align: center; }
.bf-video-badge-wrap { margin-bottom: 12px; }
.bf-video-badge { background: #dc2626; color: #fff; font-size: 12px; font-weight: 800; padding: 5px 14px; border-radius: 20px; letter-spacing: 0.5px; }
.bf-video-title { font-size: 24px; font-weight: 800; color: #0f172a; margin: 0 auto 20px; max-width: 800px; line-height: 1.3; }
.bf-video-container-wrap { max-width: 880px; margin: 0 auto; }
.bf-video-responsive { position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 440px; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 45px rgba(0,0,0,0.25); background: #000; }
@media (max-width: 768px) { .bf-video-responsive { min-height: 240px; } }
.bf-video-responsive iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.bf-video-takeaways { max-width: 880px; margin: 25px auto 0; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px 24px; text-align: left; }
.bf-video-takeaways h3 { margin: 0 0 14px; font-size: 16px; color: #1e293b; font-weight: 700; }
.bf-takeaway-list { list-style: none; padding: 0; margin: 0; }
.bf-takeaway-list li { margin-bottom: 10px; font-size: 15px; color: #334155; display: flex; align-items: center; gap: 10px; }
.bf-check-icon { background: #22c55e; color: #fff; font-size: 12px; font-weight: 800; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; flex-shrink: 0; }

/* Prós e Contras & Veredito */
.bf-pros-cons-container { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 28px; margin: 35px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.04); }
.bf-verdict-header { display: flex; gap: 24px; align-items: center; border-bottom: 2px solid #f1f5f9; padding-bottom: 20px; margin-bottom: 24px; }
@media (max-width: 768px) { .bf-verdict-header { flex-direction: column; text-align: center; } }
.bf-verdict-score-box { background: #0f172a; color: #fff; padding: 18px 24px; border-radius: 12px; text-align: center; min-width: 170px; }
.bf-score-number { display: block; font-size: 28px; font-weight: 900; color: #22c55e; }
.bf-stars-row { color: #f59e0b; font-size: 18px; margin: 4px 0; }
.bf-score-tag { font-size: 11px; color: #94a3b8; font-weight: 600; text-transform: uppercase; }
.bf-verdict-summary h3 { margin: 0 0 8px; font-size: 20px; color: #0f172a; }
.bf-verdict-summary p { margin: 0; font-size: 14px; color: #475569; line-height: 1.5; }
.bf-pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 768px) { .bf-pros-cons-grid { grid-template-columns: 1fr; } }
.bf-pros-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 18px 20px; }
.bf-cons-box { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 18px 20px; }
.bf-box-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.bf-pros-box .bf-box-title { color: #166534; }
.bf-cons-box .bf-box-title { color: #991b1b; }
.bf-pros-box ul, .bf-cons-box ul { list-style: none; padding: 0; margin: 0; }
.bf-pros-box li, .bf-cons-box li { margin-bottom: 8px; font-size: 14px; color: #334155; }

/* Linha do Tempo da História */
.bf-story-timeline-section { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 28px; margin: 35px 0; }
.bf-story-author-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.bf-author-badge { background: #2563eb; color: #fff; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 6px; }
.bf-author-name { font-size: 14px; font-weight: 700; color: #0f172a; }
.bf-timeline-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 768px) { .bf-timeline-grid { grid-template-columns: 1fr; } }
.bf-timeline-step { background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; padding: 20px; position: relative; }
.bf-step-highlight { border-color: #22c55e; box-shadow: 0 4px 12px rgba(34, 197, 94, 0.15); background: #f0fdf4; }
.bf-step-number { font-size: 28px; font-weight: 900; color: #cbd5e1; margin-bottom: 8px; }
.bf-step-highlight .bf-step-number { color: #22c55e; }
.bf-step-content h4 { margin: 0 0 6px; font-size: 16px; color: #0f172a; }
.bf-step-content p { margin: 0; font-size: 13px; color: #64748b; line-height: 1.4; }

/* Selos de Certificação */
.bf-badges-container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 30px 0; }
@media (max-width: 800px) { .bf-badges-container { grid-template-columns: repeat(2, 1fr); } }
.bf-badge-item { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 16px 12px; text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,0.03); }
.bf-badge-icon { font-size: 26px; margin-bottom: 6px; }
.bf-badge-item strong { display: block; font-size: 12px; color: #0f172a; margin-bottom: 2px; }
.bf-badge-item span { font-size: 11px; color: #64748b; }

/* Matriz de Dor Antes vs Depois */
.bf-pain-bridge-section { margin: 30px 0; }
.bf-matrix-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 768px) { .bf-matrix-grid { grid-template-columns: 1fr; } }
.bf-matrix-col { padding: 24px; border-radius: 12px; }
.bf-col-before { background: #fef2f2; border: 1px solid #fecaca; }
.bf-col-after { background: #f0fdf4; border: 1px solid #bbf7d0; }
.bf-matrix-head { font-size: 20px; font-weight: 700; margin-bottom: 16px; }
.bf-matrix-list { list-style: none; padding: 0; margin: 0; }
.bf-matrix-list li { margin-bottom: 12px; font-size: 15px; font-weight: 500; }

/* Oferta High-CTR */
.bf-offer-box { background: #ffffff; border: 2px solid #3b82f6; border-radius: 16px; padding: 32px 24px; text-align: center; box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.15); margin: 30px 0; }
.bf-discount-badge { background: #1e3a8a; color: #fff; padding: 8px 18px; font-weight: 800; border-radius: 8px; font-size: 16px; }
.bf-guarantee-tag { color: #166534; font-weight: 700; margin-top: 10px; font-size: 15px; }
.bf-scarcity-bar-wrap { max-width: 500px; margin: 20px auto 10px; }
.bf-scarcity-bar { background: #e2e8f0; height: 10px; border-radius: 5px; overflow: hidden; }
.bf-scarcity-progress { background: linear-gradient(90deg, #f59e0b, #ef4444); height: 100%; }
.bf-scarcity-label { font-size: 13px; color: #64748b; font-weight: 600; }
.bf-cta-wrap { margin-top: 24px; }
.bf-cta-btn { display: block; width: 100%; max-width: 600px; margin: 0 auto; background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%); color: #ffffff !important; text-decoration: none !important; padding: 20px 24px; border-radius: 14px; text-align: center; box-shadow: 0 8px 20px rgba(34, 197, 94, 0.35); transition: transform 0.2s; }
.bf-cta-btn:hover { transform: translateY(-2px); }
.bf-cta-main { display: block; font-size: 22px; font-weight: 900; letter-spacing: 0.5px; }
.bf-cta-sub { display: block; font-size: 13px; font-weight: 600; opacity: 0.9; margin-top: 4px; }
.bf-pulse { animation: bfPulseAnim 2s infinite; }
@keyframes bfPulseAnim { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); } 70% { box-shadow: 0 0 0 18px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }

/* Quiz Warmup */
.bf-quiz-container { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 14px; padding: 28px; margin: 30px 0; }
.bf-quiz-title { font-size: 22px; font-weight: 700; text-align: center; margin-bottom: 20px; }
.bf-quiz-question { font-size: 18px; font-weight: 600; margin-bottom: 16px; }
.bf-quiz-options { display: flex; flex-direction: column; gap: 10px; }
.bf-quiz-opt-btn { background: #fff; border: 1px solid #94a3b8; padding: 14px 18px; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; text-align: left; transition: all 0.2s; }
.bf-quiz-opt-btn:hover { background: #eff6ff; border-color: #3b82f6; color: #1d4ed8; }

/* Tabela Comparativa */
.bf-comp-table-section { margin: 30px 0; overflow-x: auto; }
.bf-comp-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.bf-comp-table th, .bf-comp-table td { padding: 14px 18px; text-align: center; border-bottom: 1px solid #e2e8f0; font-size: 14px; }
.bf-comp-table th { background: #f1f5f9; color: #0f172a; font-weight: 700; }
.bf-th-highlight, .bf-td-highlight { background: #f0fdf4 !important; font-weight: 800; color: #166534; }

/* Compliance Footer */
.bf-compliance-footer { background: #0f172a; color: #94a3b8; padding: 40px 20px; border-radius: 12px; margin-top: 40px; font-size: 13px; line-height: 1.6; }
.bf-policy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 24px; }
@media (max-width: 768px) { .bf-policy-grid { grid-template-columns: repeat(2, 1fr); } }
.bf-policy-btn { background: #1e293b; color: #cbd5e1 !important; text-align: center; padding: 10px; border-radius: 6px; text-decoration: none !important; font-weight: 600; }
.bf-policy-btn:hover { background: #334155; color: #fff !important; }
.bf-legal-disclaimers p { margin-bottom: 12px; }
.bf-copyright { text-align: center; margin-top: 20px; border-top: 1px solid #1e293b; padding-top: 16px; }
