/* ======================================================
   ARQUIVO: style.css
   DIRETRIZ V14: "CURADORIA & JORNADA" (O ECOSSISTEMA COMPLETO)
   PSICOLOGIA: "Revista Editorial", "Luxo Sutil", "Movimento Orgânico"
   CORREÇÃO V17: CORREÇÃO DE OVERLAP DA TIMELINE (WIDTH 55% -> 50%) E AJUSTE DE LARGURA/PROXIMIDADE
   ====================================================== */

/* --- 1.0 Reset Global e Fontes --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* (Paleta V4 Aprovada: "Arquiteta Self-Made" + "Jovial") */
    --color-bg: #FAF7F2;          /* Bege "Tela de Linho" */
    --color-text: #333333;         /* Quase-Preto "Grafite" */
    --color-primary: #5E6652;     /* Verde Musgo "Oliva" */
    --color-accent-gold: #B58A3F; /* Dourado Queimado "Ocre" */
    --color-accent-coral: #D17C64;/* Coral Queimado */
    --color-support: #EAE9E4;     /* Cinza Quente "Pergaminho" */
    --color-white: #FFFFFF;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Montserrat', sans-serif;
}

html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font-body);
    background-color: var(--color-bg);
    color: var(--color-text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; 
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* DIRETRIZ V11: CORREÇÃO DO BUG 1 (Fonte Serifada) */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading) !important;
    font-weight: 700;
    color: var(--color-primary);
}
.moodboard-title {
    font-family: var(--font-heading) !important;
    font-size: 1.5rem; 
    color: var(--color-text) !important;
    margin-bottom: 1.5rem;
}

h1 { font-size: 3.5rem; line-height: 1.2; }
h2 { font-size: 2.5rem; margin-bottom: 1.5rem; text-align: center; }
p { margin-bottom: 1.5rem; font-weight: 300; }
a { color: var(--color-primary); text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

/* --- 2.0 Header & Navegação (V11 - Correção de Fonte/Sublinhado) --- */
.header {
    width: 100%;
    background-color: var(--color-bg);
    border-bottom: 1px solid var(--color-support);
    padding: 1.5rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* Alinhamento corrigido para usar .container */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}
.nav-logo {
    font-family: var(--font-heading) !important; 
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-text);
    text-decoration: none;
}
.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
}
.nav-link {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text);
    transition: color 0.3s ease;
    text-decoration: none; 
    position: relative;
    padding-bottom: 5px;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-accent-coral);
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
}
.nav-link:hover::after,
.nav-link.active::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.nav-link:hover, .nav-link.active {
    color: var(--color-text); /* Manter a cor do texto no hover */
}
.nav-link-button {
    background-color: var(--color-accent-coral);
    color: var(--color-white);
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    text-decoration: none;
}
.nav-link-button:hover {
    background-color: var(--color-accent-gold);
    color: var(--color-white);
    transform: scale(1.05);
}
.nav-link-button::after {
    display: none; /* Remover sublinhado do botão */
}
.nav-link-button.active {
    color: var(--color-white); /* Manter cor do botão ativo */
}
.hamburger { display: none; cursor: pointer; }
.bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: var(--color-text);
    transition: all 0.8s ease-in-out;
}

/* --- 3.0 Hero Sections (V14 - Contraste Corrigido) --- */
.hero-section {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 80vh;
    padding: 4rem 2rem;
    background-size: cover;
    background-position: center;
    background-color: var(--color-support);
    background-attachment: fixed;
    position: relative;
}
.hero-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0,0,0,0.3);
    z-index: 0;
}
.hero-expert { 
    background-image: url('Aqui\ o\ texto\ sobre\ o\ casamento\,\ data\,\ link\ para\ fotos\ -\ insta\ ou\ banco.png'); 
    background-color: var(--color-primary);
}
.hero-expert::before {
    background-color: rgba(0,0,0,0.1); 
}
.hero-home { background-image: url('Alecrim1.jpg'); }
.hero-servicos { background-image: url('casamento.png'); }
.hero-escola { background-image: url('https://placehold.co/1920x1080/B58A3F/FAF7F2?text=Hero+Guias'); }
.hero-diario { background-image: url('https://placehold.co/1920x1080/333333/FAF7F2?text=Hero+Di%C3%A1rio'); }
.hero-contato { background-image: url('https://placehold.co/1920x1080/EAE9E4/5E6652?text=Detalhe+Floral'); }

.hero-content { 
    max-width: 800px; 
    position: relative; 
    z-index: 2;
}
.hero-content h1 {
    color: var(--color-white);
    font-size: 4.5rem;
    margin-bottom: 1.5rem;
}
.hero-content p {
    color: var(--color-white);
    font-size: 1.3rem;
    /* AJUSTE: Fonte mais grossa (de 300 para 600), como pedido */
    font-weight: 600; 
}
.hero-link {
    color: var(--color-white);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.3s ease;
}
.hero-link:hover {
    color: var(--color-accent-coral);
}
.cta-link {
    font-weight: 600;
    color: var(--color-accent-coral);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 0.3s ease;
}
.cta-link:hover {
    color: var(--color-text);
}
.cta-button {
    display: inline-block;
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    text-decoration: none;
    border: 2px solid var(--color-primary);
}
.cta-button:hover {
    background-color: transparent;
    color: var(--color-primary);
    transform: scale(1.05);
}
/* (Variação do Botão CTA - Coral) */
.cta-button-alt {
    background-color: var(--color-accent-coral);
    border-color: var(--color-accent-coral);
    color: var(--color-white);
}
.cta-button-alt:hover {
    background-color: transparent;
    color: var(--color-accent-coral);
}


/* --- 4.0 Seções "Editoriais" (index.html V11) --- */
.editorial-section { padding: 6rem 0; }
.editorial-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}
.editorial-column { text-align: left; }
.editorial-column img {
    width: 100%;
    margin-bottom: 2rem;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.editorial-column h2 { text-align: left; font-size: 2rem; }
.editorial-column p { font-size: 1rem; }

/* --- 5.0 DEPOIMENTOS (V11 - "Moodboard Flutuante") --- */
@keyframes float-organic-1 {
    0% { transform: translateY(0px) rotate(-1deg); }
    50% { transform: translateY(-10px) rotate(1deg); }
    100% { transform: translateY(0px) rotate(-1deg); }
}
@keyframes float-organic-2 {
    0% { transform: translateY(-5px) rotate(1deg); }
    50% { transform: translateY(10px) rotate(-0.5deg); }
    100% { transform: translateY(-5px) rotate(1deg); }
}
@keyframes scroll-infinite-v6 {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } 
}

.testimonials-section-v6 { 
    background-color: var(--color-support);
    padding: 6rem 0;
    overflow: hidden; 
}
.section-subtitle {
    text-align: center; 
    font-size: 1.1rem;
    margin-top: -1rem;
    margin-bottom: 4rem;
    font-weight: 400; 
}
.testimonial-marquee-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.testimonial-track-v6 {
    display: flex;
    animation: scroll-infinite-v6 90s linear infinite;
    width: fit-content; 
    will-change: transform;
    padding: 2rem 0; 
}
.testimonial-track-v6:hover {
    animation-play-state: paused;
}
.moodboard-item {
    width: 280px; 
    text-align: center;
    margin: 0 3rem; 
    animation: float-organic-1 10s ease-in-out infinite;
    transition: transform 0.3s ease;
}
.moodboard-item:nth-child(even) {
    animation-name: float-organic-2;
    animation-duration: 12s;
    animation-delay: -5s;
}
.card-pair {
    position: relative;
    width: 240px; 
    height: 320px; 
    margin: 0 auto;
    transition: transform 0.3s ease;
}
.moodboard-item:hover {
    transform: scale(1.05);
    z-index: 10;
}
.card {
    position: absolute;
    width: 224px; 
    height: 304px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); 
    overflow: hidden; 
}
.card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}
.testimonial-card-v6 {
    background-color: var(--color-accent-coral); 
    z-index: 2; 
    transform: rotate(-6deg) translateX(-10px);
    display: flex;
    align-items: center;
    padding: 1rem;
}
.testimonial-card-v6 p {
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0;
    color: var(--color-white);
}
.photo-card-v6 {
    z-index: 1; 
    transform: rotate(4deg) translateX(10px);
    top: 8px; 
    left: 32px;
}
.moodboard-item:hover .testimonial-card-v6 {
    transform: rotate(-8deg) translateX(-45px); 
    z-index: 1; 
}
.moodboard-item:hover .photo-card-v6 {
    transform: rotate(0deg) translateX(0px) scale(1.02); 
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    z-index: 3;
}
.moodboard-footer {
    margin-top: 1.5rem;
    text-align: left;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
}
.depoimento-inicio {
    font-family: var(--font-body);
    font-weight: 300;
    font-style: italic;
    font-size: 0.9rem;
    color: var(--color-text);
    margin-bottom: 0.5rem;
}
.depoimento-data {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-primary); 
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.cta-link-sutil {
    font-weight: 600;
    color: var(--color-accent-coral);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.8rem;
    text-decoration: none;
}
.cta-link-sutil:hover { text-decoration: underline; }

/* --- 6.0 SEÇÃO "SOBRE" (a-curadora.html V14) --- */
.about-section {
    padding: 6rem 0;
    background-color: var(--color-bg);
}
.about-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center; 
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}
.about-image {
    text-align: center;
    position: relative;
    padding: 2rem; 
}
.about-image img {
    width: 380px; 
    height: 480px; 
    object-fit: cover;
    border-radius: 12px; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.15); 
    animation: float-organic-1 12s ease-in-out infinite alternate; 
    transform: rotate(-2deg);
}
.about-text {
    text-align: left;
}
.about-text h2 {
    text-align: left;
    font-size: 2.2rem;
    color: var(--color-text);
    margin-bottom: 1.5rem;
}
.about-text p {
    font-size: 1rem;
    margin-bottom: 1rem;
}

/* --- 7.0 SEÇÕES DE PÁGINAS INTERNAS (Eventos, Diário, etc.) --- */
.services-section, .portfolio-section, .process-section, .blog-section, .contact-options-section {
    padding: 6rem 0;
    background-color: var(--color-white); 
}
/* (Alternar cor de fundo para "respiro") */
.process-section {
    background-color: var(--color-bg);
}

/* (Estilos do `eventos.html`) */
.services-grid {
    display: grid;
    /* Manter auto-fit e minmax para responsividade */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    text-align: center;
}

/* CORREÇÃO APLICADA: Forçar o 4º item a ocupar 3 colunas em Desktop (Layout limpo) */
@media (min-width: 901px) {
    .services-grid .service-item:nth-child(4) {
        grid-column: 1 / -1; /* Ocupa todas as colunas, forçando centralização */
        justify-self: center; 
        max-width: 400px; /* Limita a largura do conteúdo para não esticar demais */
    }
}
/* FIM DA CORREÇÃO DE LAYOUT */

.service-item {
    padding: 1rem;
}
.service-item i {
    font-size: 2.5rem;
    color: var(--color-accent-coral);
    margin-bottom: 1.5rem;
}
.service-item h3 {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}
.service-item p {
    font-size: 0.95rem;
    margin-bottom: 0;
}

.filter-buttons { text-align: center; margin-bottom: 3rem; }
.filter-btn {
    background: none;
    border: 1px solid var(--color-support);
    padding: 0.75rem 1.5rem;
    margin: 0.25rem;
    border-radius: 50px;
    font-family: var(--font-body);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.filter-btn.active, .filter-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}
.portfolio-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.portfolio-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease; /* (Para o JS 'hide') */
}
/* (Classe 'hide' para o JS do filtro) */
.portfolio-item.hide {
    display: none;
}
.portfolio-item img {
    width: 100%;
    display: block;
    transition: transform 0.4s ease;
}
.portfolio-item .item-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    padding: 2.5rem 1.5rem 1.5rem;
    color: var(--color-white);
    transform: translateY(100%);
    transition: transform 0.4s ease;
}
.portfolio-item .item-info h3 {
    color: var(--color-white);
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
}
.portfolio-item .item-info p {
    color: var(--color-support);
    margin: 0;
    font-size: 0.9rem;
    font-weight: 400;
}
.portfolio-item:hover img { transform: scale(1.1); }
.portfolio-item:hover .item-info { transform: translateY(0); }

.timeline {
    position: relative;
    max-width: 900px; /* AJUSTADO: Aumentado para 900px para dar a sensação de cards mais largos */
    margin: 0 auto;
    /* CORREÇÃO Z-INDEX: Traz o contêiner para frente */
    z-index: 0;
}
.timeline::after { /* (A linha vertical) */
    content: '';
    position: absolute;
    width: 3px;
    background-color: #ccc; 
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -1.5px;

    z-index: -1; 
}
/* CORREÇÃO DE ESPAÇAMENTO DA TIMELINE */
.timeline-item {
    padding: 0.1rem 4rem; /* AJUSTADO: Aproximação vertical MÁXIMA (0.1rem) e bom afastamento da linha (4rem) */
    position: relative;
    width: 50%; /* CORRIGIDO: Volta para 50% para manter a linha reta */
    /* REMOVIDO: transition: transform 0.1s ease-out; -> Para não conflitar com AOS */
}
.timeline-item:nth-child(odd) { left: 0; }
.timeline-item:nth-child(even) { left: 50%; }
.timeline-icon {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-weight: 700;
    top: 5px; /* AJUSTADO para o novo padding vertical de 0.1rem */
    z-index: 10; /* Ícone na frente de tudo */
}
.timeline-item:nth-child(odd) .timeline-icon {
    right: -20px;
}
.timeline-item:nth-child(even) .timeline-icon {
    left: -20px;
}
.timeline-content {
    padding: 1.5rem; 
    background-color: var(--color-white); 
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.timeline-item:nth-child(even) .timeline-content {
    text-align: right;
}
.timeline-content h3 { font-size: 1.5rem; margin-bottom: 0.5rem; }
.timeline-content p { font-size: 0.95rem; margin-bottom: 0; }
/* FIM DA CORREÇÃO DE ESPAÇAMENTO */

.contact-section {
    background-color: var(--color-bg);
    padding: 6rem 0;
    text-align: center;
}
.contact-container {
    max-width: 700px;
    margin: 0 auto;
}
.contact-container h2 {
    color: var(--color-text);
}
.contact-container p {
    font-size: 1.1rem;
    margin-bottom: 2rem;
}
.whatsapp-button {
    display: inline-block;
    background-color: #25D366; 
    color: var(--color-white);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(37, 211, 102, 0.15);
}
.whatsapp-button:hover { 
    transform: scale(1.05); 
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.2);
}

/* (Seção CTA de 'a-curadora.html' - CORRIGIDA) */
.cta-section {
    background-color: var(--color-white); 
    text-align: center;
    padding: 6rem 0; /* (Mais "respiro") */
}
.cta-container {
    max-width: 700px;
    margin: 0 auto;
}
.cta-container h2 {
    color: var(--color-text); 
}
.cta-container p {
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    font-weight: 400;
}
.cta-buttons {
    display: flex;
    flex-direction: column; /* (Empilhados) */
    align-items: center; /* (Centralizados) */
    justify-content: center;
    gap: 1.5rem;
    max-width: 450px; /* (Largura máxima) */
    margin: 0 auto; /* (Centraliza o grupo) */
}
.cta-buttons .cta-button {
    width: 100%; /* (Ocupa 100% da largura máxima) */
    text-align: center;
}


/* (Estilos do `cursos-guias.html` V11) */
.ebook-vitrine .about-container {
    align-items: center;
}
.ebook-vitrine .about-image img {
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transform: rotate(2deg);
}
.pulos-do-gato-list {
    list-style: none;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}
.pulos-do-gato-list li {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    font-weight: 300;
    position: relative;
    padding-left: 1.5rem;
}
.pulos-do-gato-list li:before {
    content: '✨';
    position: absolute;
    left: 0;
    top: 4px;
}
.video-embed {
    position: relative;
    padding-bottom: 56.25%; /* (Proporção 16:9) */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    margin-top: 2rem;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* (Estilos do `o-diario.html` V11) */
.blog-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
}
.blog-post {
    background-color: var(--color-white);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.3s ease;
}
.blog-post:hover {
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    transform: translateY(-5px);
}
.blog-post img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.blog-post-content {
    padding: 2rem;
}
.blog-post-date {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.blog-post-content h3 {
    font-size: 1.5rem;
    margin: 0.5rem 0 1rem 0;
}
.blog-post-content p {
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}

/* (Estilos do `contato.html` V11) */
.contact-options-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    text-align: center;
}
.contact-option {
    background-color: var(--color-white);
    padding: 3rem;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.contact-option i {
    font-size: 3rem;
    color: var(--color-accent-coral);
    margin-bottom: 1.5rem;
}
.contact-option h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

/* --- 8.0 Estilos da Landing Page (LP) --- */
.lp-body { background-color: var(--color-white); }

/* (Hero da LP - NOVO Layout 3 Colunas) */
.lp-hero { 
    padding: 5rem 2rem; 
    background-color: var(--color-bg); 
    overflow: hidden; /* Garante que nada vaze */
}
.lp-container { 
    max-width: 700px; 
    margin: 0 auto; 
    padding: 0 2rem; /* Removido padding vertical */
}

/* NOVO: Container Flex do Hero */
.lp-hero-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    max-width: 1000px; /* Layout desktop mais largo */
}

/* NOVO: Colunas Laterais (Visíveis só no Desktop) */
.lp-hero-image-col.side {
    flex: 1;
    max-width: 200px; /* "pequenos" */
}
.lp-hero-image-col.side img {
    width: 100%;
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-radius: 8px;
    opacity: 0.7; /* Suaviza as laterais para focar no centro */
    transform: scale(0.95); /* Efeito de profundidade sutil */
}

/* NOVO: Coluna Central (Desktop) */
.lp-hero-text-col.central {
    flex: 2;
    text-align: center; /* "texto devem ser centrais" */
    max-width: 500px;
}
.lp-hero-text-col.central h2 {
    color: var(--color-text);
}

/* IMAGEM PRINCIPAL (Visível apenas no Mobile) */
.lp-hero-img-mobile {
    display: none; /* ESCONDIDA no Desktop */
    max-width: 350px; 
    width: 100%; 
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); 
    border-radius: 8px;
}

/* (Botão de Compra - Ocre/Dourado) */
.cta-button-lp {
    display: inline-block;
    background-color: var(--color-accent-gold); 
    color: var(--color-white);
    padding: 1.25rem 3rem;
    border-radius: 50px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 1.5rem;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(181, 138, 63, 0.3);
    transition: all 0.3s ease;
}
.cta-button-lp:hover {
    transform: scale(1.05) translateY(-3px);
    box-shadow: 0 15px 25px rgba(181, 138, 63, 0.4);
}
.garantia-text {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-primary);
    display: block;
    margin-top: 1rem;
}

/* (Seção de Prova Sutil - Eventos) */
.lp-proof { 
    padding: 4rem 2rem; 
    text-align: center; 
}
.portfolio-gallery-lp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.portfolio-gallery-lp img { 
    width: 100%; 
    border-radius: 8px; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); 
}

/* Estilo para o parágrafo de ênfase (negrito sutil) */
.lp-proof-subtext {
    font-weight: 600; 
    color: var(--color-primary); 
    font-size: 0.95rem;
    max-width: 450px; 
    margin: 0 auto; 
}

/* (Seção de Features - Segredos) */
.lp-features { 
    background-color: var(--color-bg); 
    padding: 4rem 2rem 5rem 2rem; /* Aumentado padding-bottom para 'respiro' */
    text-align: center; 
}
.lp-features .lp-container { 
    max-width: 800px; /* "ser mais largo" - container já tem 800px */
}
.lp-features ul { 
    list-style: none;
    text-align: left;   
    /* "ser mais largo" - removido max-width: 600px */
    margin: 1.5rem auto 0 auto; 
}
.lp-features li {
    font-size: 1.2rem; /* "texto deve estar maior" */
    margin-bottom: 1.25rem; 
    font-weight: 300;
    padding-left: 2.5rem;
    position: relative;
    line-height: 1.6; /* Melhor legibilidade para texto maior */
}
.lp-features li b { /* Estiliza o <b> que você sugeriu */
    font-weight: 600;
    color: var(--color-text);
}
.lp-features li:before {
    content: '✨';
    position: absolute;
    left: 0;
    top: 6px; /* Ajustado para o novo line-height */
    font-size: 1.5rem;
}

/* NOVO: Estilo para o separador de bônus */
.lp-bonus-title {
    margin-top: 3.5rem; /* "respiro" */
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-primary); /* Verde Oliva */
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* (Seção CTA Final) */
.lp-cta {
    background-color: var(--color-primary);
    padding: 5rem 2rem;
    text-align: center;
}
.lp-cta h2 { 
    color: var(--color-white); 
}


/* --- 9.0 RODAPÉ (V4 - COMPLETO) --- */
.footer {
    background-color: var(--color-primary); /* Verde "Oliva" */
    color: var(--color-bg); /* Bege "Linho" */
    padding: 5rem 0 0 0;
}
.footer-container {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}
.footer-col-logo {
    max-width: 350px;
}
.footer-logo {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-white);
    text-decoration: none;
    margin-bottom: 1rem;
    display: block;
}
.footer-col p {
    font-size: 0.95rem;
    font-weight: 300;
    color: var(--color-support);
    margin-bottom: 1.5rem;
}
.social-links {
    display: flex;
    gap: 1.5rem;
}
.social-links a {
    color: var(--color-white);
    font-size: 1.5rem;
    transition: all 0.3s ease;
}
.social-links a:hover {
    color: var(--color-accent-coral);
    transform: scale(1.1);
}
.footer-col h3 {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-white);
    margin-bottom: 1.5rem;
}
.footer-col ul {
    list-style: none;
}
.footer-col ul li {
    margin-bottom: 0.75rem;
}
.footer-col ul a {
    color: var(--color-support);
    text-decoration: none;
    font-weight: 300;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}
.footer-col ul a:hover {
    color: var(--color-accent-coral);
}
.footer-col ul p { /* (Para texto não-clicável como "Atendimentos") */
    font-size: 0.95rem;
    color: var(--color-support);
    margin: 0;
}
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 4rem;
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    color: var(--color-support);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.footer-bottom p {
    margin: 0;
    font-weight: 400;
}

/* --- 9.5 Estilos de Post Único (o-diario.html) --- */
.post-page-section {
    padding: 6rem 0;
    background-color: var(--color-white);
}
.post-container {
    max-width: 750px; /* Mais estreito para leitura */
    margin: 0 auto;
    padding: 0 2rem;
}
.post-container .post-date {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.post-container h1 {
    font-size: 3rem;
    color: var(--color-text); /* Preto, não verde */
    margin-top: 0.5rem;
    margin-bottom: 2rem;
}
.post-featured-image {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.post-content {
    font-size: 1.1rem;
    line-height: 1.8;
    font-weight: 300;
}
.post-content p {
    margin-bottom: 1.5rem;
}
.post-content h2, 
.post-content h3 {
    font-size: 1.8rem;
    color: var(--color-text); /* Preto */
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}
.post-content blockquote {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-style: italic;
    color: var(--color-primary);
    border-left: 3px solid var(--color-accent-coral);
    padding-left: 1.5rem;
    margin: 2rem 0;
}
.post-content a {
    color: var(--color-accent-coral);
    text-decoration: underline;
    font-weight: 600;
}

/* CORREÇÃO APLICADA: Alinhamento de Ícones e Texto nos Botões de Contato */
.contact-option .cta-button,
.contact-option .cta-button-alt {
    width: 100%; 
    max-width: 380px; 
    margin-top: 1.5rem; 
    box-sizing: border-box; 
    
    /* SOLUÇÃO DE ALINHAMENTO FLEXBOX */
    display: flex;
    align-items: center; /* Centraliza verticalmente */
    justify-content: center; /* Centraliza horizontalmente */
}

/* Estilo do ÍCONE dentro do BOTÃO de Contato (Prioridade) */
.contact-option .cta-button i,
.contact-option .cta-button-alt i {
    color: currentColor; 
    font-size: 1.1rem;      
    margin-right: 0.6rem;   
    margin-bottom: 0;       /* ANULA a margem inferior do seletor genérico */
    line-height: 1;         
}
/* FIM DA CORREÇÃO */


/* --- 10.0 Media Queries (Mobile) --- */
@media (max-width: 900px) {
    /* (Menu Hamburger - V4) */
    .nav-menu {
        position: fixed;
        left: -100%;
        top: 80px; 
        flex-direction: column;
        background-color: var(--color-bg);
        width: 100%;
        text-align: center;
        transition: 0.3s;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05);
        padding-bottom: 1rem;
    }
    .nav-menu.active { left: 0; }
    .nav-item { margin: 1.5rem 0; }
    .hamburger { display: block; }
    .hamburger.active .bar:nth-child(2) { opacity: 0; }
    .hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    h1 { font-size: 2.8rem; }
    .hero-content h1 { font-size: 3.5rem; }

    .editorial-container, .about-container, .blog-container, .contact-options-container, .footer-container { 
        grid-template-columns: 1fr; 
    }
    .about-container.reverse { flex-direction: column-reverse; } 
    
    .about-container { text-align: center; }
    .about-image { padding: 0; margin-bottom: 2rem; }
    .about-image img {
        width: 80%; 
        height: auto;
        max-width: 300px;
        margin: 0 auto; 
    }
    .about-text h2 { text-align: center; }
    
    .moodboard-item { 
        animation: none; 
    }
    .testimonials-section-v6 {
        padding-bottom: 2rem; 
    }
    .testimonial-marquee-container {
        -webkit-mask-image: none; 
        mask-image: none;
    }
    .testimonial-track-v6 {
        animation: none; 
        flex-direction: column;
        gap: 6rem; 
        width: 100%;
    }
    .moodboard-item {
        margin: 0 auto; 
        width: 280px;
    }
    
    .portfolio-gallery { grid-template-columns: 1fr 1fr; }
    .portfolio-gallery-lp { grid-template-columns: 1fr; }
    
    .timeline::after { left: 31px; }
    .timeline-item { 
        width: 100%; 
        padding-left: 70px; 
        padding-right: 15px; 
        /* Corrigido para mobile: voltar ao padding original para não ficar muito apertado */
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    /* Otimização Mobile: Alinha todos à esquerda */
    .timeline-item:nth-child(even) { left: 0; }
    .timeline-item:nth-child(odd) .timeline-icon { left: 11px; }
    .timeline-item:nth-child(even) .timeline-icon { left: 11px; }
    .timeline-item:nth-child(even) .timeline-content { text-align: left; }
    
    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    /* REVERTE O LAYOUT 3-COLUNAS DO HERO */
    .lp-hero-container {
        flex-direction: column;
    }
    .lp-hero-image-col.side {
        display: none; /* ESCONDE as imagens laterais */
    }
    .lp-hero-text-col.central {
        text-align: center; /* Mantém o texto central */
    }
    .lp-hero-img-mobile {
        display: block; /* MOSTRA a imagem principal */
    }
}

@media (max-width: 600px) {
    .portfolio-gallery { grid-template-columns: 1fr; }
}