/* CSS FINAL - Paleta Light/Rosa Claro (LeadLovers) com Mobile First */
:root {
    --primary: #E81C5A;
    --primary-hover: #C8144A;
    
    /* Nova Paleta Clara e Leve */
    --soft-pink: #FFF0F4;
    --dark-text: #0F172A;
    
    --light: #FCF8F9;
    --white: #FFFFFF;
    --text-main: #334155;
    --text-muted: #64748B;
    --success: #10B981;
    --warning: #F59E0B;
    --danger: #EF4444;
    --border: #F3E9EC;
    --font-main: 'Inter', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-main);
    color: var(--text-main);
    background-color: var(--white);
    line-height: 1.6;
}

.container { width: 90%; max-width: 1200px; margin: 0 auto; }
section { padding: 4rem 0; } 
.bg-light { background-color: var(--light); }

/* Transformamos o antigo bg-dark no novo fundo Rosa Claro */
.bg-dark { background-color: var(--soft-pink); color: var(--text-main); }

.text-center { text-align: center; }
.text-left { text-align: left; }

/* Utilitários */
.mt-2 { margin-top: 1rem; }
.mt-4 { margin-top: 2rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 2rem; }
.text-lg { font-size: 1.15rem; }
.text-muted { color: var(--text-muted); }
.block { display: block; }
.section-heading { margin-bottom: 2rem; }

/* Tipografia */
h1, h2, h3, h4 { color: var(--dark-text); font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
h1 { font-size: 2.2rem; }
h2 { font-size: 1.8rem; }
.subtitle { font-size: 1.1rem; color: var(--text-muted); }

/* Títulos nas áreas rosa claro agora ficam com cor escura */
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4 { color: var(--dark-text); }
.bg-dark .subtitle { color: var(--text-muted); }

/* Botões Modernos */
.btn-primary {
    display: block; 
    width: 100%;
    text-align: center;
    background-color: var(--primary);
    color: var(--white);
    padding: 1.1rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(232, 28, 90, 0.2);
}
.btn-primary:hover { background-color: var(--primary-hover); transform: translateY(-3px); }
.btn-primary.large { font-size: 1.125rem; padding: 1.25rem 2rem; }

.btn-secondary {
    display: block;
    width: 100%;
    text-align: center;
    background-color: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    padding: 1rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
}
.btn-secondary:hover { background-color: var(--primary); color: var(--white); }

/* Badges */
.badge-tech {
    display: inline-block;
    background: rgba(232, 28, 90, 0.1);
    color: var(--primary);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

/* HERO */
.hero { padding: 6rem 0 4rem 0; background: linear-gradient(180deg, var(--light) 0%, var(--white) 100%); }
.hero-layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
.hero-copy p { font-size: 1.1rem; margin: 1.5rem 0 2rem 0; color: var(--text-muted); }

/* Videos Responsivos */
.video-container {
    background: var(--white); /* Fundo branco para destacar no rosa */
    border-radius: 20px;
    border: 1px solid var(--border);
    position: relative;
    box-shadow: 0 15px 30px -10px rgba(0,0,0,0.1);
    overflow: hidden;
    padding-top: 40px; 
}
.video-presentation {
    padding-top: 0;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.mockup-header { position: absolute; top: 0; left: 0; right: 0; padding: 1rem; display: flex; gap: 6px; background: var(--light); z-index: 2; border-bottom: 1px solid var(--border); }
.dot { width: 10px; height: 10px; border-radius: 50%; }
.dot.red { background: var(--danger); } .dot.yellow { background: var(--warning); } .dot.green { background: var(--success); }
.iframe-wrapper { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; }
.iframe-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* CARDS GERAIS */
.cards-grid, .eco-grid, .objecoes-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.card, .eco-card, .obj-card { 
    background: var(--white); 
    padding: 1.5rem; 
    border-radius: 16px;
    border: 1px solid var(--border); 
    box-shadow: 0 4px 20px rgba(0,0,0,0.03); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover, .eco-card:hover, .obj-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0,0,0,0.08); }
.card .icon { font-size: 2.2rem; margin-bottom: 1rem; }
.card h3, .eco-card h3, .obj-card h3 { margin-bottom: 0.8rem; color: var(--primary); font-size: 1.15rem; }

/* Layout Texto / Imagem */
.layout-texto-imagem { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
.historia-texto p { margin-top: 1rem; font-size: 1.05rem; color: var(--text-muted); }
.caos-visual { background: var(--light); padding: 2.5rem 1.5rem; border-radius: 16px; border: 2px dashed #CBD5E1; display: flex; flex-direction: column; gap: 1rem; }
.floating-alert { background: var(--white); padding: 1rem; border-radius: 10px; border-left: 4px solid var(--danger); box-shadow: 0 5px 15px rgba(0,0,0,0.05); font-weight: 500; font-size: 0.95rem; color: var(--dark-text); }

/* Insight Box */
.insight-box { max-width: 800px; margin: 0 auto; background: var(--white); padding: 1.8rem; border-radius: 16px; border-left: 4px solid var(--primary); font-size: 1.05rem; line-height: 1.6; box-shadow: 0 15px 30px rgba(0,0,0,0.05); }

/* Custo Invisível Funnel */
.funil-visual { max-width: 700px; margin: 0 auto; background: var(--white); padding: 1.8rem; border-radius: 16px; border: 1px solid var(--border); box-shadow: 0 10px 20px rgba(0,0,0,0.03); }
.step { padding: 1rem; border-radius: 10px; font-weight: 600; text-align: center; font-size: 1rem; }
.step.primary { background: var(--primary); color: white; }
.step.warning { background: rgba(245, 158, 11, 0.1); color: #B45309; border: 1px solid rgba(245, 158, 11, 0.2); }
.step.danger { background: rgba(239, 68, 68, 0.1); color: var(--danger); border: 1px solid rgba(239, 68, 68, 0.2); }
.arrow-down { text-align: center; font-size: 1.5rem; color: var(--text-muted); margin: 0.5rem 0; }

/* Calculadora */
.layout-calculadora { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
.calc-copy p { font-size: 1.05rem; color: var(--text-muted); }
.calc-card { background: var(--white); padding: 1.8rem; border-radius: 16px; border: 1px solid var(--border); box-shadow: 0 15px 30px -10px rgba(0,0,0,0.08); }
.input-group { margin-bottom: 1.2rem; }
.input-group label { display: block; font-weight: 600; margin-bottom: 0.5rem; font-size: 0.95rem; color: var(--text-main); }
.input-group input { width: 100%; padding: 0.8rem; border: 1px solid var(--border); border-radius: 8px; font-size: 1rem; font-family: inherit; background: var(--light); transition: border 0.3s; }
.input-group input:focus { outline: none; border-color: var(--primary); background: var(--white); }
.calc-resultado { background: var(--light); padding: 1.5rem; border-radius: 12px; text-align: center; border: 1px dashed #CBD5E1; }
.calc-resultado h4 { font-size: 2rem; color: var(--danger); margin: 0.5rem 0; }
.calc-resultado p { font-weight: 600; }

/* Fluxo Animado (Infográfico Interativo) */
.lead-flow-container { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 1.5rem 0; }
.flow-node { 
    background: var(--white); border: 1px solid var(--border); padding: 1.5rem; border-radius: 16px; 
    transition: all 0.4s; box-shadow: 0 5px 15px rgba(0,0,0,0.03); display: flex; flex-direction: column; 
    align-items: center; width: 100%; max-width: 280px; position: relative; z-index: 2; 
}
.flow-node .node-icon { font-size: 2.2rem; margin-bottom: 0.5rem; }
.flow-node strong { font-size: 1rem; color: var(--text-main); }
.flow-node p { font-size: 0.85rem; color: var(--text-muted); font-weight: 400; margin-top: 5px; line-height: 1.4; }
.flow-node.active { background: rgba(232, 28, 90, 0.03); border-color: var(--primary); transform: translateY(-5px); box-shadow: 0 10px 25px rgba(232, 28, 90, 0.15); }
.flow-node.active strong { color: var(--primary); }
.flow-node.highlight.active { background: var(--success); border-color: var(--success); }
.flow-node.highlight.active strong, .flow-node.highlight.active p { color: rgba(255,255,255,0.95); }
.flow-line { width: 2px; height: 30px; background: var(--border); transition: background 0.4s; }
.flow-line.active { background: var(--primary); }

/* Antes x Depois */
.compare-visual { display: flex; flex-direction: column; gap: 1.5rem; align-items: center; margin-bottom: 2.5rem; }
.compare-box { width: 100%; padding: 1.8rem; border-radius: 16px; border: 1px solid var(--border); background: white; box-shadow: 0 5px 20px rgba(0,0,0,0.04); }
.error-text { color: var(--danger); margin-bottom: 1rem; }
.success-text { color: var(--success); margin-bottom: 1rem; }
.tags-container { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.tag { background: var(--light); padding: 0.5rem 1rem; border-radius: 8px; font-size: 0.85rem; border: 1px solid var(--border); color: var(--text-muted); }
.compare-arrow { font-size: 2rem; color: var(--text-muted); transform: rotate(90deg); margin: 1rem 0; }
.leadlovers-logo-placeholder { background: var(--primary); color: white; display: inline-block; padding: 1rem 2rem; border-radius: 10px; font-weight: bold; font-size: 1.25rem; }

/* Fit Grid */
.fit-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.fit-card { padding: 1.8rem; border-radius: 16px; background: var(--white); box-shadow: 0 5px 20px rgba(0,0,0,0.03); }
.good-fit { border: 1px solid rgba(16, 185, 129, 0.2); border-left: 4px solid var(--success); }
.bad-fit { border: 1px solid rgba(239, 68, 68, 0.2); border-left: 4px solid var(--danger); }
.fit-card ul { list-style: none; }
.fit-card li { margin-bottom: 1rem; padding-left: 1.8rem; position: relative; font-size: 1rem; }
.fit-card li::before { content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: bold; font-size: 1.1rem; }
.bad-fit li::before { content: "✕"; color: var(--danger); }

/* Prova Social Modernizada */
.testimonials-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.testimonial-card { 
    background: var(--white); padding: 2rem; border-radius: 16px; border: 1px solid var(--border); text-align: left;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); position: relative; display: flex; flex-direction: column;
}
.quote-icon { font-size: 3.5rem; color: var(--primary); font-family: serif; line-height: 0.8; margin-bottom: -0.5rem; opacity: 0.2; }
.testimonial-card .testimonial-highlight { font-size: 1.1rem; color: var(--dark-text) !important; margin-bottom: 1.2rem; line-height: 1.4; font-weight: 700; }
.testimonial-body { color: var(--text-muted); font-size: 0.95rem; line-height: 1.6; margin-bottom: 2rem; flex-grow: 1; }
.testimonial-author { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.author-avatar { width: 50px; height: 50px; border-radius: 50%; background: var(--light); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.1rem; color: var(--primary); border: 2px solid var(--border); object-fit: cover; }
.author-info { display: flex; flex-direction: column; }
.author-info strong { color: var(--dark-text); font-size: 1rem; }
.author-info span { color: var(--text-muted); font-size: 0.85rem; }

/* FAQ MODERNIZADO */
.accordion { max-width: 850px; margin: 0 auto; display: flex; flex-direction: column; gap: 1rem; }
.accordion-item { background: var(--white); border-radius: 12px; border: 1px solid var(--border); box-shadow: 0 4px 10px rgba(0,0,0,0.02); overflow: hidden; transition: box-shadow 0.3s; }
.accordion-item:hover { box-shadow: 0 6px 15px rgba(0,0,0,0.06); }
.accordion-header { width: 100%; text-align: left; padding: 1.2rem; font-size: 1.05rem; font-weight: 600; background: none; border: none; cursor: pointer; color: var(--dark-text); outline: none; display: flex; justify-content: space-between; align-items: center; }
.icon-toggle { position: relative; width: 20px; height: 20px; flex-shrink: 0; }
.icon-toggle::before, .icon-toggle::after { content: ''; position: absolute; background-color: var(--primary); transition: transform 0.3s ease; }
.icon-toggle::before { top: 9px; left: 0; width: 20px; height: 2px; }
.icon-toggle::after { top: 0; left: 9px; width: 2px; height: 20px; }
.accordion-header.active .icon-toggle::after { transform: rotate(90deg) scale(0); }
.accordion-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; background: var(--white); }
.accordion-body p { padding: 0 1.2rem 1.2rem 1.2rem; color: var(--text-muted); font-size: 0.95rem; line-height: 1.6; }

/* Animações */
.fade-up { opacity: 0; transform: translateY(40px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* Imagens */
.img-fluid { max-width: 100%; height: auto; }
.align-items-center { align-items: center; }
.eco-grid-coluna { display: flex; flex-direction: column; gap: 1.5rem; }
.custom-shadow { filter: drop-shadow(0 10px 20px rgba(0,0,0,0.06)); }
.phone-img { max-height: 400px; filter: drop-shadow(0 15px 30px rgba(0,0,0,0.1)); }

/* =========================================
   MEDIA QUERIES - DESKTOP E TELAS GRANDES
   ========================================= */
@media (min-width: 992px) {
    section { padding: 6rem 0; }
    h1 { font-size: 3.5rem; }
    h2 { font-size: 2.5rem; }
    .text-lg { font-size: 1.25rem; }
    .section-heading { margin-bottom: 3rem; }
    
    .hero { padding: 8rem 0 6rem 0; }
    .hero-layout, .layout-texto-imagem, .layout-calculadora { grid-template-columns: 1.1fr 1fr; gap: 4rem; }
    
    .btn-primary, .btn-secondary { width: auto; display: inline-block; }
    .btn-primary { padding: 1.1rem 2.2rem; }
    
    .cards-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
    .eco-grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
    .fit-grid, .testimonials-grid, .objecoes-grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
    .objecoes-grid { grid-template-columns: repeat(3, 1fr); }
    
    .card, .eco-card, .obj-card { padding: 2.5rem 2rem; }
    .compare-box, .fit-card { padding: 3rem; }
    .calc-card { padding: 3rem; }
    .testimonial-card { padding: 3rem; }
    
    .compare-visual { flex-direction: row; justify-content: center; margin-bottom: 3rem; }
    .compare-box { width: 45%; }
    .compare-arrow { transform: rotate(0deg); margin: 0 2rem; }
    .caos-visual { padding: 4rem 3rem; }
    .insight-box { padding: 2.5rem; }
    .funil-visual { padding: 3rem; }
    .phone-img { max-height: 550px; }
    .video-container { padding-top: 50px; }
    .mockup-header { padding: 1.5rem; }
    
    .lead-flow-container { flex-direction: row; justify-content: center; align-items: center; gap: 0; margin: 4rem 0; }
    .flow-line { width: 50px; height: 2px; }
    .flow-node { width: 230px; padding: 2.5rem 1.5rem; }
    
    .quote-icon { font-size: 5rem; }
    .testimonial-card .testimonial-highlight { font-size: 1.3rem; }
    .accordion-header { padding: 1.8rem; font-size: 1.15rem; }
    .accordion-body p { padding: 0 1.8rem 1.8rem 1.8rem; font-size: 1.1rem; }
    .icon-toggle { width: 24px; height: 24px; }
    .icon-toggle::before { top: 11px; width: 24px; }
    .icon-toggle::after { left: 11px; height: 24px; }
}
/* Camada de demonstração: independente dos estilos da página original. */
html{scroll-padding-top:24px} .portfolio-banner{background:#102347;color:#fff;padding:20px 0;border-bottom:4px solid #b8d4ff}.portfolio-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.portfolio-banner strong{display:block;font-size:1rem}.portfolio-banner p{max-width:780px;margin:6px 0 0;font-size:.9rem;color:#e2eaff}.portfolio-banner a{color:#fff;text-underline-offset:4px;display:inline-block;padding:10px 0;font-weight:600}.demo-video{position:absolute;inset:0;background:#fff0f4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:16px;border:1px solid #f3cbd8;border-radius:12px;color:#334155}.demo-video span{font-size:2rem;color:#E81C5A}.demo-video p{font-size:.875rem}.demo-context{padding:16px;border:1px solid #e3a7b8;border-radius:10px;margin-bottom:24px;font-size:.9rem}.demo-notice{background:#102347;color:#e2eaff}.demo-notice h2{color:white;margin-bottom:20px}.demo-notice p{max-width:850px;margin-bottom:18px}.demo-return a{color:#fff;text-underline-offset:4px}.demo-return{margin-top:24px}.demo-notice:target{box-shadow:inset 0 5px #E81C5A}.fade-up{opacity:1;transform:none}.accordion-header:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #245be0;outline-offset:4px}.demo-notice a:focus-visible,.portfolio-banner a:focus-visible{outline-color:#b8d4ff}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:480px){.demo-video{gap:5px}.demo-video strong{font-size:.85rem}.demo-video p{font-size:.75rem}.demo-video span{font-size:1.3rem}}
