/* =====================================================================
   IPO Manager — shortcode styles moved out of inline <style> blocks.
   Loaded sitewide (like ipo-public.css) so it's browser-cached and keeps
   the HTML lighter + non-render-blocking. STATIC rules only — dynamic
   per-IPO colours (verdict banners etc.) stay inline where needed.
   ===================================================================== */

/* ---- [ipo_review] page (was inline in shortcodes.php) ---- */
.ipo-review-h1 { font-size: 26px; font-weight: 800; color: #111827; margin: 0 0 16px; line-height: 1.3; }
.ipo-review-wrapper { max-width: 900px; margin: 0 auto; padding: 16px; font-family: 'Poppins', sans-serif; }
.ipo-review-verdict { padding: 24px; border-radius: 12px; margin-bottom: 24px; }
.ipo-review-verdict-label { font-size: 12px; font-weight: 800; letter-spacing: 2px; margin-bottom: 8px; }
.ipo-review-verdict-title { font-size: 24px; font-weight: 800; margin: 0 0 12px; color: #111827; }
.ipo-review-verdict-reason { font-size: 14px; color: #4b5563; line-height: 1.6; margin: 0 0 16px; }
.ipo-review-verdict-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 20px; }
.ipo-review-stat { background: rgba(255,255,255,0.7); padding: 10px 14px; border-radius: 8px; }
.ipo-review-stat .stat-label { display: block; font-size: 11px; color: #6b7280; text-transform: uppercase; font-weight: 600; }
.ipo-review-stat .stat-value { display: block; font-size: 16px; font-weight: 800; color: #111827; margin-top: 2px; }

.ipo-review-section { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 24px; margin-bottom: 16px; }
.ipo-review-section h2 { font-size: 18px; font-weight: 700; color: #111827; margin: 0 0 12px; }
.ipo-review-section p { font-size: 14px; color: #374151; line-height: 1.75; margin: 0 0 14px; }
.ipo-review-section p:last-child { margin-bottom: 0; }
.ipo-review-section strong { color: #1a56db; font-weight: 700; background: #eff6ff; padding: 1px 6px; border-radius: 4px; }
.ipo-review-pros li strong { color: #059669; background: #d1fae5; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.ipo-review-cons li strong { color: #dc2626; background: #fee2e2; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.ipo-review-faq-item p strong { color: #1a56db; font-weight: 700; background: #eff6ff; padding: 1px 6px; border-radius: 4px; }

.ipo-review-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ipo-review-pros, .ipo-review-cons { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 20px; }
.ipo-review-pros h3 { color: #059669; font-size: 16px; margin: 0 0 12px; }
.ipo-review-cons h3 { color: #ef4444; font-size: 16px; margin: 0 0 12px; }
.ipo-review-pros ul, .ipo-review-cons ul { padding-left: 18px; margin: 0; }
.ipo-review-pros li, .ipo-review-cons li { font-size: 13px; color: #374151; line-height: 1.6; margin-bottom: 10px; }

.ipo-review-cta { background: linear-gradient(135deg, #1a56db, #2563eb); color: #fff; border-radius: 12px; padding: 24px; text-align: center; margin: 24px 0; }
.ipo-review-cta h3 { color: #fff; font-size: 20px; margin: 0 0 8px; }
.ipo-review-cta p { color: rgba(255,255,255,0.9); font-size: 14px; margin: 0 0 16px; line-height: 1.6; }
.ipo-review-cta-btn { display: inline-block; background: #f59e0b; color: #fff !important; padding: 12px 28px; border-radius: 8px; font-weight: 700; text-decoration: none; }
.ipo-review-cta-btn:hover { background: #d97706; }

.ipo-review-faq { display: flex; flex-direction: column; gap: 8px; }
.ipo-review-faq-item { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px 18px; }
.ipo-review-faq-item summary { font-weight: 600; cursor: pointer; color: #111827; font-size: 14px; }
.ipo-review-faq-item p { margin: 12px 0 0; font-size: 13px; color: #4b5563; line-height: 1.6; }

.ipo-review-disclaimer { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; padding: 14px 18px; margin-top: 24px; }
.ipo-review-disclaimer p { font-size: 12px; color: #78350f; line-height: 1.6; margin: 0; }

@media (max-width: 768px) {
    .ipo-review-proscons { grid-template-columns: 1fr; }
    .ipo-review-verdict-stats { grid-template-columns: 1fr 1fr; }
    .ipo-review-section h2 { font-size: 16px; }
}

/* ---- broker review + comparison (was inline in shortcodes.php) ---- */
.broker-review-wrapper { max-width:900px; margin:0 auto; padding:16px; font-family:'Poppins',sans-serif; }
.broker-review-header { display:flex; align-items:center; gap:20px; margin-bottom:20px; padding:24px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; }
.broker-review-logo { height:60px; width:auto; }
.broker-review-title { font-size:26px; font-weight:800; margin:0; color:#111827; }
.broker-review-tagline { font-size:14px; color:#6b7280; margin:4px 0 0; }
.broker-review-cta-btn { display:block; text-align:center; background:#059669; color:#fff !important; padding:14px 28px; border-radius:10px; font-size:16px; font-weight:700; text-decoration:none; margin:16px 0; }
.broker-review-cta-btn:hover { background:#047857; }
.broker-review-section { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:24px; margin-bottom:16px; }
.broker-review-section h2 { font-size:18px; font-weight:700; color:#111827; margin:0 0 14px; }
.broker-review-table { width:100%; border-collapse:collapse; }
.broker-review-table td { padding:10px 14px; border-bottom:1px solid #f3f4f6; font-size:14px; }
.broker-review-table td:first-child { color:#6b7280; width:50%; }
.broker-review-table td:last-child { font-weight:600; color:#111827; }
.broker-review-table strong { color:#1a56db; background:#eff6ff; padding:2px 8px; border-radius:4px; }
.broker-review-features { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.broker-feature { padding:12px 16px; border-radius:8px; font-size:14px; font-weight:600; }
.broker-feature.yes { background:#d1fae5; color:#065f46; }
.broker-feature.no { background:#fee2e2; color:#991b1b; }
.broker-review-proscons { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.broker-review-pros, .broker-review-cons { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; }
.broker-review-pros h3 { color:#059669; margin:0 0 10px; }
.broker-review-cons h3 { color:#ef4444; margin:0 0 10px; }
.broker-review-pros li, .broker-review-cons li { font-size:13px; line-height:1.7; margin-bottom:8px; }
.broker-review-bottom-cta { background:linear-gradient(135deg,#1a56db,#2563eb); color:#fff; border-radius:12px; padding:28px; text-align:center; margin:24px 0; }
.broker-review-bottom-cta h3 { color:#fff; font-size:22px; margin:0 0 8px; }
.broker-review-bottom-cta p { color:rgba(255,255,255,0.9); font-size:14px; margin:0 0 16px; }
.broker-review-bottom-cta .broker-review-cta-btn { display:inline-block; background:#f59e0b; }
.broker-review-section p { font-size:14px; color:#374151; line-height:1.75; margin:0 0 14px; }
.broker-review-section p:last-child { margin-bottom:0; }
.broker-review-section p strong { color:#111827; font-weight:700; }
.broker-review-pros li strong { color:#059669; font-weight:700; }
.broker-review-cons li strong { color:#dc2626; font-weight:700; }
.broker-compare-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:16px; }
.broker-compare-table { width:100%; border-collapse:collapse; font-size:13px; min-width:500px; }
.broker-compare-table thead th { background:linear-gradient(135deg,#1e3a5f,#1a56db); color:#fff; padding:12px 14px; font-size:12px; font-weight:700; text-align:center; }
.broker-compare-table thead th:first-child { text-align:left; border-radius:8px 0 0 0; }
.broker-compare-table thead th:last-child { border-radius:0 8px 0 0; }
.broker-compare-table tbody td { padding:10px 14px; border-bottom:1px solid #f3f4f6; text-align:center; font-weight:600; color:#111827; }
.broker-compare-table tbody td:first-child { text-align:left; color:#6b7280; font-weight:500; }
.broker-compare-table tbody tr:hover { background:#eff6ff; }
.broker-steps { display:flex; flex-direction:column; gap:0; }
.broker-step { display:flex; gap:16px; padding:16px 0; border-bottom:1px solid #f3f4f6; }
.broker-step:last-child { border-bottom:none; }
.broker-step-number { width:36px; height:36px; min-width:36px; background:linear-gradient(135deg,#1a56db,#2563eb); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.broker-step-content { flex:1; font-size:14px; color:#374151; line-height:1.7; }
.broker-step-content strong { color:#111827; font-weight:700; background:none; padding:0; }
.broker-review-faq { display:flex; flex-direction:column; gap:8px; }
.broker-faq-item { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:14px 18px; }
.broker-faq-item summary { font-weight:600; cursor:pointer; color:#111827; font-size:14px; list-style:none; display:flex; justify-content:space-between; }
.broker-faq-item summary::-webkit-details-marker { display:none; }
.broker-faq-item summary::after { content:'+'; font-size:20px; font-weight:300; color:#9ca3af; }
.broker-faq-item[open] summary::after { content:'−'; }
.broker-faq-item[open] summary { color:#1a56db; border-bottom:1px solid #e5e7eb; padding-bottom:10px; margin-bottom:10px; }
.broker-faq-item p { font-size:13px; color:#4b5563; line-height:1.7; margin:0 0 8px; }
.broker-faq-item p:last-child { margin-bottom:0; }
.broker-faq-item strong { color:#111827; font-weight:700; }
.broker-review-disclaimer { background:#fff7ed; border:1px solid #fed7aa; border-radius:8px; padding:14px 18px; }
.broker-review-disclaimer p { font-size:12px; color:#78350f; line-height:1.6; margin:0; }
@media(max-width:768px) {
    .broker-review-header { flex-direction:column; text-align:center; }
    .broker-review-proscons { grid-template-columns:1fr; }
    .broker-review-features { grid-template-columns:1fr; }
    .broker-review-title { font-size:22px; }
}
