/* ===== SIMULADORES.CSS ===== */
/* Base CSS comum + CSS específico de cada simulador */
/* ================================================= */

/* ===== BASE COMUM (Style[0] - repetido em todos os simuladores) ===== */

*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#8b5cf6;--secondary:#06b6d4;--accent:#f59e0b;--success:#10b981;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--font-primary:"Poppins",sans-serif;--font-secondary:"Inter",sans-serif;--container-max-width:1280px;--border-radius:16px;--border-radius-lg:24px}
html{scroll-behavior:smooth;font-size:16px}
body{font-family: Poppins,sans-serif;line-height:1.6;color:#334155;background:#fff;overflow-x:hidden}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5,h6{font-family:"Poppins",sans-serif;font-weight:700;line-height:1.2;color:#0f172a}
h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:50px;font-weight:600;font-size:16px;text-decoration:none;border:none;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}
.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}
.btn-outline{background:rgba(255,255,255,.1);color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-cta{background:linear-gradient(135deg,#f59e0b,#fb923c);color:#fff;padding:12px 24px;border-radius:50px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-bottom:1px solid #e2e8f0}
.navbar{padding:16px 0}.navbar .container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:12px;font-family:"Poppins",sans-serif;font-size:24px;font-weight:800;color:#0f172a;text-decoration:none}
.nav-menu{display:flex;list-style:none;gap:32px;align-items:center}
.nav-link{text-decoration:none;color:#334155;font-weight:500;font-size:16px;transition:all .3s;position:relative}
.nav-link:hover{color:#6366f1}
.nav-actions{display:flex;align-items:center;gap:16px}
/* .hamburger definido no _header.html */
/* .hamburger span definido no _header.html */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);padding-top:100px}
.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2}
.hero-content{color:#fff}.hero-content h1{color:#fff;margin-bottom:24px}
.hero-subtitle{font-size:20px;line-height:1.6;opacity:.9;margin-bottom:28px}
.hero-stats{display:flex;gap:32px;margin-bottom:32px}
.stat-number{font-size:32px;font-weight:800;font-family:"Poppins",sans-serif;color:#f59e0b}
.hero-buttons{display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);padding:8px 16px;border-radius:50px;font-size:14px;font-weight:500;margin-bottom:24px;border:1px solid rgba(255,255,255,.3)}


/* ===== CSS DE PÁGINA (Style[2] - comum em todos os simuladores) ===== */

        .simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; margin-bottom:0; align-self: start; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.exempt { color: #34d399; font-size: 1.2rem; }
        .exempt-badge { display: inline-block; background: rgba(52,211,153,0.15); color: #34d399; padding: 4px 14px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .tax-table { width: 100%; border-collapse: collapse; margin-top: 16px; border-radius: 12px; overflow: hidden; }
        .tax-table th { background: #667eea; color: #fff; padding: 10px 14px; font-size: 0.85rem; font-weight: 600; text-align: left; }
        .tax-table td { padding: 10px 14px; font-size: 0.88rem; color: #1e293b; border-bottom: 1px solid #e2e8f0; }
        .tax-table tr:last-child td { border-bottom: none; }
        .tax-table tr:nth-child(even) { background: #f8fafc; }
        .info-box { background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 12px; padding: 16px; margin-top: 16px; font-size: 0.88rem; color: #4338ca; }
        .info-box i { margin-right: 6px; }
    

/* ===== CSS ESPECÍFICO POR SIMULADOR ===== */

/* === calcular-iva === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 600px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        @media (max-width: 600px) { .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .taxa-btns { display: flex; gap: 8px; margin-bottom: 24px; }
        .taxa-btn { flex: 1; padding: 14px 8px; border: 2px solid #e2e8f0; border-radius: 12px; background: #fff; font-family: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all 0.15s; color: #475569; text-align: center; }
        .taxa-btn:hover { border-color: #667eea; background: #eef2ff; }
        .taxa-btn.active { border-color: #667eea; background: #667eea; color: #fff; }
        .taxa-btn small { display: block; font-weight: 400; font-size: 0.75rem; opacity: 0.7; margin-top: 2px; }
        .campo-iva { margin-bottom: 16px; }
        .campo-iva label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 4px; font-size: 0.85rem; }
        .campo-iva .input-wrap { display: flex; align-items: center; border: 2px solid #e2e8f0; border-radius: 12px; background: #fff; transition: border-color 0.2s; }
        .campo-iva .input-wrap:focus-within { border-color: #667eea; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .campo-iva .input-wrap .prefix { padding: 12px 0 12px 14px; color: #94a3b8; font-weight: 600; font-size: 1rem; }
        .campo-iva .input-wrap input { flex: 1; padding: 12px 14px 12px 4px; border: none; background: transparent; font-size: 1.1rem; font-weight: 600; font-family: inherit; color: #1e293b; outline: none; min-width: 0; }
        .campo-iva .input-wrap input::placeholder { color: #cbd5e1; font-weight: 400; }
        .campo-iva .result-highlight .input-wrap { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-color: #334155; }
        .campo-iva .result-highlight .input-wrap .prefix { color: #64748b; }
        .campo-iva .result-highlight .input-wrap input { color: #fbbf24; font-size: 1.3rem; }
        .campo-iva .result-highlight .input-wrap input::placeholder { color: #475569; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 20px; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 800px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }

/* === coeficientes-cae-v2 === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; }
        .results-box h3 { font-size: 1rem; color: #94a3b8; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
        .result-row:last-child { border-bottom: none; }
        .result-label { color: #94a3b8; font-size: 0.9rem; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.big { font-size: 1.8rem; }
        .result-value.coef { color: #34d399; }
        .result-value.val { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-highlight { background: rgba(96,165,250,0.1); border: 1px solid rgba(96,165,250,0.2); border-radius: 12px; padding: 16px; margin-top: 16px; }
        .result-highlight h4 { font-size: 0.85rem; color: #94a3b8; margin-bottom: 8px; }
        .result-highlight p { font-size: 0.9rem; color: #cbd5e1; }

        .coef-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
        .coef-table th, .coef-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid #e2e8f0; font-size: 0.9rem; }
        .coef-table th { background: #f1f5f9; font-weight: 600; color: #475569; }
        .coef-table tr:last-child td { border-bottom: none; }
        .coef-table .tag { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 0.8rem; font-weight: 600; }
        .tag-servicos { background: #dbeafe; color: #1d4ed8; }
        .tag-producao { background: #dcfce7; color: #15803d; }
        .tag-restauracao { background: #fef9c3; color: #a16207; }

        .cae-cta { background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%); border-radius: 16px; padding: 24px 32px; color: #fff; margin-top: 32px; text-align: center; }
        .cae-cta h3 { font-size: 1.2rem; margin-bottom: 8px; color: #fff; }
        .cae-cta p { opacity: 0.9; font-size: 0.9rem; margin-bottom: 16px; }
        .cae-cta .btn-cae { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; background: #fff; color: #1e3a8a; border-radius: 12px; font-weight: 700; text-decoration: none; font-size: 0.9rem; }
        .cae-cta .btn-cae:hover { transform: translateY(-2px); }

        .faq-section { margin-top: 48px; max-width: 800px; margin-left: auto; margin-right: auto; }
        .faq-section h2 { font-size: 1.3rem; text-align: center; margin-bottom: 24px; }
        .faq-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 12px; overflow: hidden; }
        .faq-question { padding: 16px 20px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 0.95rem; }
        .faq-question:hover { background: #f8fafc; }
        .faq-question i { color: #94a3b8; }
        .faq-question.active i { transform: rotate(180deg); }
        .faq-answer { padding: 0 20px 16px; font-size: 0.9rem; color: #64748b; line-height: 1.7; display: none; }
        .faq-answer.open { display: block; }

/* === coeficientes-irs-cae === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { font-size: 1rem; color: #94a3b8; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
        .result-row:last-child { border-bottom: none; }
        .result-label { color: #94a3b8; font-size: 0.9rem; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.big { font-size: 1.8rem; }
        .result-value.coef { color: #34d399; }
        .result-value.val { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-highlight { background: rgba(96,165,250,0.1); border: 1px solid rgba(96,165,250,0.2); border-radius: 12px; padding: 16px; margin-top: 16px; }
        .result-highlight h4 { font-size: 0.85rem; color: #94a3b8; margin-bottom: 8px; }
        .result-highlight p { font-size: 0.9rem; color: #cbd5e1; }
        .coef-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
        .coef-table th, .coef-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid #e2e8f0; font-size: 0.9rem; }
        .coef-table th { background: #f1f5f9; font-weight: 600; color: #475569; }
        .coef-table tr:last-child td { border-bottom: none; }
        .coef-table .tag { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 0.8rem; font-weight: 600; }
        .tag-servicos { background: #dbeafe; color: #1d4ed8; }
        .tag-producao { background: #dcfce7; color: #15803d; }
        .tag-restauracao { background: #fef9c3; color: #a16207; }
        .cae-cta { background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%); border-radius: 16px; padding: 24px 32px; color: #fff; margin-top: 32px; text-align: center; }
        .cae-cta h3 { font-size: 1.2rem; margin-bottom: 8px; color: #fff; }
        .cae-cta p { opacity: 0.9; font-size: 0.9rem; margin-bottom: 16px; }
        .cae-cta .btn-cae { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; background: #fff; color: #1e3a8a; border-radius: 12px; font-weight: 700; text-decoration: none; font-size: 0.9rem; transition: transform 0.2s; }
        .cae-cta .btn-cae:hover { transform: translateY(-2px); }
        .faq-section { margin-top: 48px; max-width: 800px; margin-left: auto; margin-right: auto; }
        .faq-section h2 { font-size: 1.3rem; text-align: center; margin-bottom: 24px; }
        .faq-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 12px; overflow: hidden; }
        .faq-question { padding: 16px 20px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 0.95rem; }
        .faq-question:hover { background: #f8fafc; }
        .faq-question i { color: #94a3b8; transition: transform 0.2s; }
        .faq-question.active i { transform: rotate(180deg); }
        .faq-answer { padding: 0 20px 16px; font-size: 0.9rem; color: #64748b; line-height: 1.7; display: none; }
        .faq-answer.open { display: block; }

/* === imi === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #059669 0%, #34d399 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #059669; outline: none; box-shadow: 0 0 0 3px rgba(5,150,105,0.1); }
        .btn-calc { width: 100%; padding: 12px; background: #059669; color: #fff; border: none; border-radius: 12px; font-weight: 700; font-size: 1rem; cursor: pointer; transition: background 0.2s; font-family: inherit; margin-top: 4px; }
        .btn-calc:hover { background: #047857; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; }
        .results-box h3 { font-size: 1rem; color: #94a3b8; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
        .result-row:last-child { border-bottom: none; }
        .result-label { color: #94a3b8; font-size: 0.9rem; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.big { font-size: 1.8rem; }
        .result-value.taxa { color: #34d399; }
        .result-value.valor { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.deducao { color: #f87171; }
        .result-highlight { background: rgba(96,165,250,0.1); border: 1px solid rgba(96,165,250,0.2); border-radius: 12px; padding: 16px; margin-top: 16px; }
        .result-highlight h4 { font-size: 0.85rem; color: #94a3b8; margin-bottom: 8px; }
        .result-highlight p { font-size: 0.9rem; color: #cbd5e1; }
        .result-highlight .prestacoes { background: rgba(251,191,36,0.1); border: 1px solid rgba(251,191,36,0.2); border-radius: 8px; padding: 12px; margin-top: 12px; }
        .result-highlight .prestacoes p { font-size: 0.85rem; color: #fbbf24; }
        .result-highlight .legal-note { background: rgba(96,165,250,0.05); border: 1px solid rgba(96,165,250,0.1); border-radius: 8px; padding: 12px; margin-top: 12px; }
        .result-highlight .legal-note p { font-size: 0.82rem; color: #93c5fd; }
        .empty-state { text-align: center; padding: 40px 20px; color: #64748b; }
        .empty-state i { font-size: 3rem; color: #334155; margin-bottom: 16px; display: block; }
        .info-note { font-size: 0.82rem; color: #94a3b8; margin-top: 12px; }
        .info-note i { color: #94a3b8; }
        .info-note a { color: #667eea; text-decoration: underline; }
        .cae-cta { background: linear-gradient(135deg, #064e3b 0%, #059669 100%); border-radius: 16px; padding: 24px 32px; color: #fff; margin-top: 32px; text-align: center; }
        .cae-cta h3 { font-size: 1.2rem; margin-bottom: 8px; color: #fff; }
        .cae-cta p { opacity: 0.9; font-size: 0.9rem; margin-bottom: 16px; }
        .cae-cta .btn-cae { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; background: #fff; color: #064e3b; border-radius: 12px; font-weight: 700; text-decoration: none; font-size: 0.9rem; }
        .cae-cta .btn-cae:hover { transform: translateY(-2px); }
        .faq-section { margin-top: 48px; max-width: 800px; margin-left: auto; margin-right: auto; }
        .faq-section h2 { font-size: 1.3rem; text-align: center; margin-bottom: 24px; }
        .faq-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 12px; overflow: hidden; }
        .faq-question { padding: 16px 20px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 0.95rem; }
        .faq-question:hover { background: #f8fafc; }
        .faq-question i { color: #94a3b8; }
        .faq-question.active i { transform: rotate(180deg); }
        .faq-answer { padding: 0 20px 16px; font-size: 0.9rem; color: #64748b; line-height: 1.7; display: none; }
        .faq-answer.open { display: block; }
        .imi-info-box { background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%); border: 1px solid #bbf7d0; border-radius: 16px; padding: 20px 24px; margin-bottom: 20px; }
        .imi-info-box h4 { font-size: 0.9rem; color: #065f46; margin-bottom: 8px; }
        .imi-info-box p { font-size: 0.85rem; color: #047857; line-height: 1.6; }

/* === simulador-imt-imi === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .input-group .help-text { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.total { color: #fbbf24; font-size: 1.2rem; }
        .result-divider { border-top: 2px dashed rgba(255,255,255,0.15); margin: 12px 0; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .info-tag { display: inline-block; background: rgba(96,165,250,0.15); color: #60a5fa; padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; font-weight: 600; margin-left: 8px; }
        .tab-bar { display: flex; gap: 0; margin-bottom: 24px; background: #f1f5f9; border-radius: 12px; padding: 4px; }
        .tab-bar button { flex: 1; padding: 10px 16px; border: none; background: transparent; border-radius: 10px; font-family: inherit; font-weight: 600; font-size: 0.9rem; color: #64748b; cursor: pointer; transition: all 0.2s; }
        .tab-bar button.active { background: #fff; color: #1e293b; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
        .tab-bar i { margin-right: 6px; }
        .info-box { background: #eff6ff; border-left: 4px solid #60a5fa; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #1e40af; margin-bottom: 16px; }
        .total-row { background: rgba(251,191,36,0.1); border-radius: 8px; padding: 8px 12px; margin-top: 4px; }

/* === simulador-irs === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }

/* === simulador-iva === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.exempt { color: #34d399; font-size: 1.2rem; }
        .exempt-badge { display: inline-block; background: rgba(52,211,153,0.15); color: #34d399; padding: 4px 14px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .tax-table { width: 100%; border-collapse: collapse; margin-top: 16px; border-radius: 12px; overflow: hidden; }
        .tax-table th { background: #667eea; color: #fff; padding: 10px 14px; font-size: 0.85rem; font-weight: 600; text-align: left; }
        .tax-table td { padding: 10px 14px; font-size: 0.88rem; color: #1e293b; border-bottom: 1px solid #e2e8f0; }
        .tax-table tr:last-child td { border-bottom: none; }
        .tax-table tr:nth-child(even) { background: #f8fafc; }
        .info-box { background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 12px; padding: 16px; margin-top: 16px; font-size: 0.88rem; color: #4338ca; }
        .info-box i { margin-right: 6px; }

/* === simulador-mais-valias === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .input-group .help-text { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .checkbox-group { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
        .checkbox-group input[type="checkbox"] { width: 18px; height: 18px; accent-color: #667eea; cursor: pointer; }
        .checkbox-group label { font-weight: 500; color: #1e293b; font-size: 0.9rem; cursor: pointer; margin: 0; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.total { color: #fbbf24; font-size: 1.2rem; }
        .result-divider { border-top: 2px dashed rgba(255,255,255,0.15); margin: 12px 0; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .badge-ias { display: inline-block; background: rgba(96,165,250,0.2); color: #bfdbfe; padding: 3px 12px; border-radius: 20px; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 10px; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .info-tag { display: inline-block; background: rgba(96,165,250,0.15); color: #60a5fa; padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; font-weight: 600; margin-left: 8px; }
        .info-box { background: #eff6ff; border-left: 4px solid #60a5fa; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #1e40af; margin-bottom: 16px; }
        .total-row { background: rgba(251,191,36,0.1); border-radius: 8px; padding: 8px 12px; margin-top: 4px; }
        .isencao-badge { display: inline-block; background: rgba(52,211,153,0.15); color: #34d399; padding: 4px 12px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; text-align: center; margin-top: 8px; }
        .step-box { background: rgba(255,255,255,0.05); border-radius: 8px; padding: 12px; margin-top: 12px; font-size: 0.8rem; opacity: 0.9; line-height: 1.5; }
        .conditional { display: none; }
        .conditional.show { display: block; }

/* === simulador-recibos-verdes === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .input-group .help-text { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.total { color: #fbbf24; font-size: 1.2rem; }
        .result-divider { border-top: 2px dashed rgba(255,255,255,0.15); margin: 12px 0; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .info-tag { display: inline-block; background: rgba(96,165,250,0.15); color: #60a5fa; padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; font-weight: 600; margin-left: 8px; }

/* === simulador-salario-liquido === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .input-group .help-text { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.total { color: #fbbf24; font-size: 1.2rem; }
        .result-divider { border-top: 2px dashed rgba(255,255,255,0.15); margin: 12px 0; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .info-tag { display: inline-block; background: rgba(96,165,250,0.15); color: #60a5fa; padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; font-weight: 600; margin-left: 8px; }
        .input-divider { height: 1px; background: #e2e8f0; margin: 8px 0 16px; }
        .btn-print { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: #1e293b; color: #fff; border: none; border-radius: 10px; font-family: inherit; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; margin-top: 12px; }
        .btn-print:hover { background: #0f172a; }
        /* Print styles — agora via JS window.open() */
        /* Mantido apenas para compatibilidade */
        .print-header, .print-summary, .print-ad, .print-disclaimer, .print-footer { display: none; }

/* === simulador-seguranca-social === */
.simulator-section { padding: 60px 0; background: #f8fafc; }
        .simulator-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.05); overflow: hidden; max-width: 1100px; margin: 0 auto; }
        .simulator-card .sim-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 32px 40px; color: #fff; }
        .simulator-card .sim-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; color: #fff; }
        .simulator-card .sim-header p { margin: 8px 0 0; opacity: 0.9; font-size: 0.95rem; }
        .sim-body { padding: 32px 40px; }
        .sim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        @media (max-width: 768px) { .sim-grid { grid-template-columns: 1fr; } .sim-body, .simulator-card .sim-header { padding: 20px; } }
        .input-group { margin-bottom: 20px; }
        .input-group label { display: block; font-weight: 600; color: #1e293b; margin-bottom: 6px; font-size: 0.9rem; }
        .input-group input, .input-group select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.2s; background: #fff; box-sizing: border-box; }
        .input-group input:focus, .input-group select:focus { border-color: #667eea; outline: none; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
        .input-group input[type="number"] { -moz-appearance: textfield; }
        .input-group input[type="number"]::-webkit-inner-spin-button, .input-group input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        .input-group .help-text { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 16px; padding: 28px; color: #fff; height: auto; }
        .results-box h3 { margin: 0 0 20px; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .result-row:last-child { border-bottom: none; }
        .result-label { font-size: 0.9rem; opacity: 0.85; }
        .result-value { font-size: 1.1rem; font-weight: 700; }
        .result-value.positive { color: #34d399; }
        .result-value.negative { color: #f87171; }
        .result-value.highlight { color: #fbbf24; }
        .result-value.info { color: #60a5fa; }
        .result-value.total { color: #fbbf24; font-size: 1.3rem; }
        .result-divider { border-top: 2px dashed rgba(255,255,255,0.15); margin: 12px 0; }
        .disclaimer { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; color: #92400e; margin-top: 16px; }
        .badge-new { background: #fbbf24; color: #1e293b; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
        .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
        @media (max-width: 768px) { .faq-grid { grid-template-columns: 1fr; } }
        .faq-item { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); }
        .faq-item h4 { margin: 0 0 8px; font-size: 1rem; color: #1e293b; }
        .faq-item p { margin: 0; font-size: 0.9rem; color: #64748b; line-height: 1.6; }
        .page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 80px 0 60px; text-align: center; color: #fff; }
        .page-header h1 { font-size: 2.5rem; font-weight: 800; margin: 0 0 12px; color: #fff; }
        .page-header p { font-size: 1.1rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
        @media (max-width: 768px) { .page-header h1 { font-size: 1.6rem; } .page-header { padding: 60px 0 40px; } }
        .breadcrumb { background: #f1f5f9; padding: 12px 0; font-size: 0.85rem; }
        .breadcrumb a { color: #667eea; text-decoration: none; }
        .breadcrumb span { color: #94a3b8; }
        .hidden { display: none; }
        .tag-min { display: inline-block; background: rgba(52,211,153,0.15); color: #34d399; padding: 2px 8px; border-radius: 12px; font-size: 0.7rem; font-weight: 700; margin-left: 6px; }
        .tag-max { display: inline-block; background: rgba(248,113,113,0.15); color: #f87171; padding: 2px 8px; border-radius: 12px; font-size: 0.7rem; font-weight: 700; margin-left: 6px; }
        .progress-bar { height: 8px; background: rgba(255,255,255,0.1); border-radius: 4px; margin: 8px 0; overflow: hidden; }
        .progress-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
        .progress-bar-fill.low { background: #34d399; }
        .progress-bar-fill.medium { background: #fbbf24; }
        .progress-bar-fill.high { background: #f87171; }
        .annual-box { background: rgba(255,255,255,0.05); border-radius: 10px; padding: 12px 16px; margin-top: 12px; }
        .annual-box .result-row { border-bottom: none; padding: 6px 0; }


/* ===== PÁGINA DE LISTAGEM (simuladores.html) ===== */

        /* ===== PAGE HEADER / HERO ===== */
        .sim-hero {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            padding: 100px 0 70px;
            text-align: center;
            color: #fff;
            position: relative;
            overflow: hidden;
        }
        .sim-hero::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.06) 0%, transparent 60%);
            pointer-events: none;
        }
        .sim-hero h1 {
            font-size: 2.8rem;
            font-weight: 800;
            margin: 0 0 16px;
            color: #fff;
            position: relative;
        }
        .sim-hero p {
            font-size: 1.15rem;
            opacity: 0.92;
            max-width: 640px;
            margin: 0 auto;
            line-height: 1.6;
            position: relative;
        }
        @media (max-width: 768px) {
            .sim-hero { padding: 70px 0 50px; }
            .sim-hero h1 { font-size: 1.7rem; }
            .sim-hero p { font-size: 1rem; padding: 0 16px; }
        }

        /* ===== BREADCRUMB ===== */
        .sim-breadcrumb {
            background: #f1f5f9;
            padding: 14px 0;
            border-bottom: 1px solid #e2e8f0;
        }
        .sim-breadcrumb .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }
        .sim-breadcrumb a {
            color: #6366f1;
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 500;
        }
        .sim-breadcrumb a:hover { text-decoration: underline; }
        .sim-breadcrumb span {
            color: #64748b;
            font-size: 0.9rem;
        }
        .sim-breadcrumb .sep {
            margin: 0 8px;
            color: #94a3b8;
        }

        /* ===== SIMULATORS SECTION ===== */
        .sim-section {
            padding: 80px 0;
            background: #f8fafc;
        }
        .sim-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 28px;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }
        @media (max-width: 768px) {
            .sim-grid { grid-template-columns: 1fr; padding: 0 16px; }
            .sim-section { padding: 50px 0; }
        }

        /* ===== CARD ===== */
        .sim-card {
            background: #fff;
            border-radius: 16px;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.05);
            padding: 36px 32px;
            text-align: center;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .sim-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
        }
        .sim-card .card-icon {
            width: 72px;
            height: 72px;
            border-radius: 20px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            font-size: 1.8rem;
            color: #fff;
        }
        .sim-card h3 {
            font-size: 1.25rem;
            font-weight: 700;
            color: #1e293b;
            margin: 0 0 12px;
        }
        .sim-card p {
            font-size: 0.95rem;
            color: #64748b;
            line-height: 1.6;
            margin: 0 0 20px;
            flex: 1;
        }
        .sim-card .card-badge {
            display: inline-block;
            background: #dcfce7;
            color: #16a34a;
            padding: 3px 12px;
            border-radius: 20px;
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 16px;
        }
        .sim-card .card-cta {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: #fff;
            padding: 12px 28px;
            border-radius: 30px;
            font-weight: 600;
            font-size: 0.95rem;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .sim-card .card-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 20px -8px rgba(102,126,234,0.5);
        }
        .sim-card .card-cta i {
            font-size: 0.85rem;
            transition: transform 0.2s;
        }
        .sim-card .card-cta:hover i {
            transform: translateX(4px);
        }

        /* ===== BENEFITS SECTION ===== */
        .benefits-section {
            padding: 80px 0;
            background: #fff;
        }
        .benefits-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }
        .benefit-item {
            text-align: center;
            padding: 28px 20px;
            border-radius: 16px;
            background: #f8fafc;
            transition: transform 0.3s;
        }
        .benefit-item:hover { transform: translateY(-4px); }
        .benefit-item .ben-icon {
            width: 56px;
            height: 56px;
            border-radius: 16px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 16px;
            font-size: 1.4rem;
            color: #fff;
        }
        .benefit-item h4 {
            font-size: 1rem;
            font-weight: 700;
            color: #1e293b;
            margin: 0 0 8px;
        }
        .benefit-item p {
            font-size: 0.88rem;
            color: #64748b;
            margin: 0;
            line-height: 1.5;
        }
        @media (max-width: 992px) {
            .benefits-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 480px) {
            .benefits-grid { grid-template-columns: 1fr; }
            .benefits-section { padding: 50px 0; }
        }

        /* ===== SEO SECTION ===== */
        .seo-section {
            padding: 60px 0;
            background: #f8fafc;
        }
        .seo-section .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 0 24px;
        }
        .seo-section h2 {
            font-size: 1.6rem;
            font-weight: 700;
            color: #1e293b;
            margin: 0 0 20px;
            text-align: center;
        }
        .seo-section p {
            font-size: 0.95rem;
            color: #475569;
            line-height: 1.8;
            margin: 0 0 16px;
        }

        /* ===== CTA FINAL ===== */
        .cta-final {
            padding: 70px 0;
            background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
            text-align: center;
            color: #fff;
        }
        .cta-final h2 {
            font-size: 2rem;
            font-weight: 800;
            margin: 0 0 12px;
            color: #fff;
        }
        .cta-final p {
            font-size: 1.05rem;
            opacity: 0.85;
            max-width: 560px;
            margin: 0 auto 28px;
        }
        .cta-final .cta-btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: #fff;
            padding: 16px 36px;
            border-radius: 30px;
            font-weight: 700;
            font-size: 1.05rem;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .cta-final .cta-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 30px -8px rgba(102,126,234,0.4);
        }
        @media (max-width: 768px) {
            .cta-final h2 { font-size: 1.4rem; }
            .cta-final { padding: 50px 0; }
        }

        /* ===== SECTION HEADER ===== */
        .section-header-custom {
            text-align: center;
            margin-bottom: 48px;
        }
        .section-header-custom .section-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #ede9fe;
            color: #6366f1;
            padding: 6px 16px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 12px;
        }
        .section-header-custom h2 {
            font-size: 1.8rem;
            font-weight: 700;
            color: #1e293b;
            margin: 0 0 12px;
        }
        .section-header-custom p {
            font-size: 1rem;
            color: #64748b;
            max-width: 600px;
            margin: 0 auto;
        }
        @media (max-width: 768px) {
            .section-header-custom h2 { font-size: 1.4rem; }
        }

/* === CSS ESPECÍFICO POR SIMULADOR (movido do <head> descartado pelo router) === */

/* simulador-iva: cores resultados, order grid mobile */
.sim-results-col { order: 0; }
.sim-inputs-col { order: 1; }
.simulator-section .results-box { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
#simulador-iva .results-box,
.simulador-iva .results-box { background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); }
#simulador-iva .results-box h3,
.simulador-iva .results-box h3 { color: #fff; }
@media (max-width: 768px) {
    .sim-grid.sim-grid-iva { display: flex; flex-direction: column; }
    .sim-results-col { order: -1 !important; }
    .sim-inputs-col { order: 0 !important; }
}

/* simulador-salario-liquido: cores resultados verde */
#simulador-salario .results-box,
.simulador-salario .results-box { background: linear-gradient(135deg, #059669 0%, #34d399 100%); }

/* fix: results-box padding consistente em mobile */
@media (max-width: 768px) {
    .results-box { padding: 20px !important; }
    .sim-body { padding: 20px !important; }
}


/* Mobile fix: ensure hero heading is centered when other CSS overrides exist */
@media (max-width: 768px) {
  .hero .container {
    text-align: center !important;
  }
  .hero-content h1 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
  }
}

/* Force responsive hero layout when simuladores.css overrides earlier rules */
@media (max-width: 1024px) {
  .hero .container {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
    text-align: center !important;
  }
  .hero-visual {
    order: -1 !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    transform: none !important;
  }
  .dashboard-preview {
    transform: none !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
  .hero-content h1 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  .hero { min-height: 70vh !important; padding-top: 80px !important; }
  .hero .container { gap: 24px !important; }
}

/* Strong mobile centering: make hero column full-width and heading span 100% */
@media (max-width: 768px) {
  .hero .container {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    justify-items: center !important;
  }
  .hero-content h1 {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
