/* ==================== GERAL & RESET (Além do Crítico) ==================== */
body {
    margin-top: 70px;
    /* Base font set in inline style using Montserrat */
}

h1, h2, h3 {
    /* font-family: 'Arial Black', 'Impact', sans-serif; */ /* REMOVED OLD FONT */
    font-family: 'Montserrat', sans-serif; /* ADDED MONTSERRAT */
    margin-bottom: 20px;
    line-height: 1.3;
    color: #231f20; /* Cor de título padrão atualizada */
    /* Font weight will be inherited or set specifically (e.g., H1 inline, defaults for H2/H3 can be bold if needed) */
}

h2 {
    font-size: 2.2em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: 700; /* Explicitly set H2 weight to Bold */
}

h3 {
    font-size: 1.4em;
    color: #231f20; /* Cor de subtítulo atualizada */
    font-weight: 700; /* Explicitly set H3 weight to Bold */
}

p {
    margin-bottom: 15px;
    color: #444; /* Mantido cinza escuro para boa legibilidade */
    font-weight: 400; /* Ensure paragraph text uses Regular */
}

a {
    color: #d3b094; /* Cor de link atualizada para o bege/tan */
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: #b39074; /* Um tom mais escuro do bege para hover */
}

img {
    max-width: 100%;
    height: auto;
}

/* Container Padrão */
.section-padding {
    padding: 60px 5%;
}

.alt-bg {
    background-color: #f0f0f0;
}

/* ==================== HEADER (Estilos adicionais) ==================== */
#main-header.scrolled {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
/* Ensure header elements use Montserrat (inherited from body) */
#main-header .logo { font-weight: 700; } /* Use Bold for logo */
#main-header .header-cta { font-weight: 700; } /* Use Bold for header button */

/* ==================== BOTÕES GERAIS ==================== */
.cta-button {
    padding: 12px 25px;
    background-color: #D3B094; /* NOVA COR BOTÃO */
    color: #000000; /* Texto preto para melhor contraste no bege */
    border: none;
    border-radius: 5px;
    font-weight: 700; /* USE MONTSERRAT BOLD */
    cursor: pointer;
    text-transform: uppercase;
    font-size: 1.1em;
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-align: center;
    display: inline-block;
    font-family: 'Montserrat', sans-serif; /* Explicitly set just in case */
    text-decoration: none; /* Ensure anchor tags styled as buttons don't have underline */
}

.cta-button:hover {
    background-color: #B39074; /* Hover mais escuro */
    transform: translateY(-2px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Style for the main CTA link in Hero (inherits .cta-button but can be overridden) */
#main-cta { /* Selector targeting the specific ID */
    padding: 20px 40px; /* Larger padding */
    font-size: 1.5em; /* Larger font size */
    font-weight: 700; /* Explicitly Bold */
    /* Inherits background, color, border-radius etc. from .cta-button */
}
#main-cta:hover {
     /* Inherits hover from .cta-button, add specific scale */
    transform: scale(1.05) translateY(-2px); /* Combine scale and lift */
}

/* ==================== BENEFÍCIOS ==================== */
/* H2 font set above */
/* Benefit item H3 font set above */
.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.benefit-item {
    background-color: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    text-align: center;
    transition: transform 0.3s ease;
}

.benefit-item:hover {
    transform: translateY(-5px);
}

.benefit-item .icon {
    font-size: 2.5em;
    margin-bottom: 15px;
    color: #d3b094; /* NOVA COR ÍCONE - bege/tan */
}

.benefit-item h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #231f20; /* Cor título do item */
    /* font-weight: 700; Inherited from H3 rule */
}

.benefit-item p {
    font-size: 0.95em;
    color: #555;
    /* font-weight: 400; Inherited from p rule */
}

/* ==================== PROVA SOCIAL ==================== */
/* H2 font set above */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

blockquote {
    background-color: #fff;
    padding: 30px;
    border-left: 5px solid #d3b094; /* NOVA COR BORDA - bege/tan */
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    position: relative;
    margin-bottom: 20px;
}

.testimonial-img {
    width: 60px; height: 60px; border-radius: 50%;
    float: left; margin-right: 15px; border: 2px solid #eee;
}

blockquote p {
    font-style: italic; color: #444; margin-bottom: 15px;
    font-size: 1em; clear: both; padding-top: 5px;
    /* font-weight: 400; Inherited from p rule */
}

blockquote cite {
    display: block; font-weight: 700; /* Use Bold for citation */
    color: #555; font-size: 0.9em;
    text-align: right; font-style: normal;
}

.social-proof-seal {
    text-align: center; margin-top: 50px; background-color: #f5f1ec; /* Fundo bege bem claro */
    padding: 20px; border-radius: 8px; border: 1px solid #d3b094; /* Borda bege/tan */
    display: flex; align-items: center; justify-content: center; gap: 15px;
    max-width: 600px; margin-left: auto; margin-right: auto;
}

.social-proof-seal img { width: 80px; height: 80px; border-radius: 50%; }

.social-proof-seal span {
    font-size: 1.1em;
    color: #231f20; /* Texto escuro sobre fundo claro */
    font-weight: 400; /* Use Regular */
}

.social-proof-seal strong {
    font-size: 1.2em;
    font-weight: 700; /* Use Bold for emphasis */
}

/* ==================== OFERTA / ORDER BUMPS ==================== */
/* H2 font set above */
.offer-box {
    background-color: #fff; padding: 40px;
    border: 2px dashed #d3b094; /* NOVA COR BORDA OFERTA - bege/tan */
    border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    max-width: 700px; margin: 40px auto 0 auto; text-align: center;
}

/* Offer box H3 font set above */
.offer-box h3 { font-size: 1.8em; color: #231f20; }
.offer-box > p {
    font-size: 1.1em; color: #555; margin-bottom: 25px;
    /* font-weight: 400; Inherited */
}

.price {
    margin-bottom: 30px; background-color: #fdf8f2; /* Fundo bege mais claro ainda */
    padding: 15px; border-radius: 5px;
}

.original-price {
    text-decoration: line-through; color: #888; font-size: 1.1em; margin-right: 15px;
    font-weight: 400; /* Regular weight for strikethrough */
    font-family: 'Poppins', sans-serif; /* **** FONT CHANGED **** */
}

.special-price {
    font-size: 1.6em; font-weight: 700; /* Use Bold */ color: #008000; /* Verde mantido */
    font-family: 'Poppins', sans-serif; /* **** FONT CHANGED **** */
}
.highlight-price {
    font-size: 1.8em; color: #008000; /* Vermelho mantido para destaque final */
    font-weight: 900; /* Use Black weight for strongest emphasis */
     /* Alternativa: Usar a cor principal escura: color: #231f20; font-weight: 900; */
    font-family: 'Poppins', sans-serif; /* **** FONT CHANGED **** */
}

.installments {
    display: block; font-size: 1em; color: #555; margin-top: 5px;
    font-weight: 400; /* Regular */
    font-family: 'Poppins', sans-serif; /* **** FONT CHANGED **** */
}

#progress-bar-container { margin: 25px 0; }
#progress-bar-container p {
    font-size: 1em; font-weight: 700; /* Use Bold */
    color: #231f20; /* NOVA COR TEXTO PROGRESSO - escura */
    margin-bottom: 8px;
}
#progress-bar-container strong { font-weight: 900; } /* Make URGENTE stand out */

.progress-bar {
    width: 100%; height: 20px; background-color: #e0e0e0;
    border-radius: 10px; overflow: hidden;
}

#progress-fill {
    height: 100%; width: 0%;
    background-color: #231f20; /* NOVA COR BARRA - escura */
    border-radius: 10px; transition: width 1.5s ease-out;
    text-align: center; line-height: 20px; color: white; font-size: 0.8em;
    font-family: 'Montserrat', sans-serif; /* Ensure font inside progress bar */
    font-weight: 700; /* Bold text inside bar */
}

.order-bumps {
    margin-top: 40px; text-align: left; border-top: 1px solid #eee; padding-top: 30px;
}

.order-bumps h4 {
    font-size: 1.3em; text-align: center; margin-bottom: 20px;
    color: #231f20; /* Cor principal */
    font-weight: 700; /* Bold */
}

.bump-item {
    background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;
    padding: 15px; margin-bottom: 15px; display: flex; align-items: flex-start;
    gap: 10px; transition: background-color 0.3s ease;
}
.bump-item:hover { background-color: #f0f0f0; }
.bump-item input[type="checkbox"] { margin-top: 5px; transform: scale(1.3); cursor: pointer; }
.bump-item label {
    font-size: 1em; color: #333; cursor: pointer; flex: 1;
    font-weight: 400; /* Regular weight */
}
.bump-item label strong {
    color: #231f20; /* NOVA COR DESTAQUE BUMP - escura */
    font-weight: 700; /* Bold for emphasis */
}

/* Manter verde para preço do bump? */
.bump-price {
    display: block; margin-top: 5px; font-weight: 700; /* Bold */ color: #008000; /* Verde mantido */
}
.bump-price s {
    color: #888; font-weight: 400; /* Regular */ margin-right: 5px;
}

/* The .buy-button inside offer-box inherits .cta-button styles */
.offer-box .buy-button {
    /* No specific styles needed unless different from generic .cta-button */
}

.offer-box small {
    display: block; margin-top: 15px; color: #777; font-size: 0.9em;
    font-weight: 400; /* Regular */
}

/* ==================== GARANTIA ==================== */
#guarantee {
    text-align: center;
    background: linear-gradient(to bottom, #f8f4f0, #f5f1ec); /* Gradiente de bege bem claro */
}

.guarantee-seal { max-width: 150px; margin-bottom: 30px; }
/* Guarantee H2 font set above */
#guarantee h2 { font-size: 2.2em; color: #231f20; } /* Cor principal */
.guarantee-text {
    font-size: 1.2em; color: #444; max-width: 800px; margin: 20px auto 0 auto; line-height: 1.7;
    font-weight: 400; /* Regular */
}
.guarantee-text strong {
    background-color: #d3b094; /* NOVA COR FUNDO DESTAQUE - bege/tan */
    padding: 2px 4px; border-radius: 3px;
    color: #231f20; /* Texto escuro para contraste */
    font-weight: 700; /* Bold */
}

/* ==================== FAQ ==================== */
/* FAQ H2 font set above */
.faq-item {
    background-color: #fff; margin-bottom: 15px; border-radius: 5px;
    border: 1px solid #eee; overflow: hidden;
}
/* FAQ item H3 font set above */
.faq-item h3 {
    padding: 15px 20px; background-color: #f9f9f9; margin-bottom: 0;
    cursor: pointer; font-size: 1.2em; color: #231f20; /* Cor principal */
    border-bottom: 1px solid #eee;
    /* font-weight: 700; Inherited */
}
.faq-item p {
    padding: 15px 20px; margin-bottom: 0; font-size: 1em; color: #555;
    /* font-weight: 400; Inherited */
}

/* ==================== FOOTER ==================== */
#footer {
    background-color: #231f20; /* NOVA COR FUNDO FOOTER */
    color: #ccc; padding: 30px 5%; text-align: center; font-size: 0.9em;
    font-family: 'Montserrat', sans-serif; /* Ensure footer uses Montserrat */
}
#footer p {
    margin-bottom: 10px; color: #ccc;
    font-weight: 400; /* Regular */
}
#footer p strong { font-weight: 700; } /* Bold */
#footer nav ul { list-style: none; padding: 0; margin-bottom: 15px; }
#footer nav li { display: inline-block; margin: 0 10px; }
#footer nav a {
    color: #d3b094; /* NOVA COR LINK FOOTER - bege/tan */
    text-decoration: none;
    font-weight: 400; /* Regular */
}
#footer nav a:hover {
    color: #ffffff; /* Branco para hover sobre fundo escuro */
    text-decoration: none;
}
#footer small {
    display: block; margin-top: 20px; color: #888; font-size: 0.8em;
    max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.4;
    font-weight: 400; /* Regular */
}

/* ==================== RESPONSIVIDADE (Font changes handled above) ==================== */
@media (max-width: 768px) {
    body { margin-top: 60px; }
    h2 { font-size: 1.8em; margin-bottom: 30px; }
    h3 { font-size: 1.2em; }
    .section-padding { padding: 40px 3%; }
    /* Adjust #main-cta responsive styles */
    #main-cta { font-size: 1.2em; padding: 15px 30px; }
    /* Generic cta-button responsive styles */
    .cta-button { font-size: 1em; padding: 10px 20px; }
    .benefits-grid { grid-template-columns: 1fr; gap: 20px; }
    .testimonials-grid { grid-template-columns: 1fr; gap: 20px; }
    .testimonial-img { float: none; display: block; margin: 0 auto 15px auto; }
    blockquote { padding: 20px; text-align: center; }
    blockquote cite { text-align: center; margin-top: 10px; }
    .social-proof-seal { flex-direction: column; gap: 10px; padding: 15px; }
    .social-proof-seal img { width: 60px; height: 60px; }
    .social-proof-seal span { font-size: 1em; }
    .offer-box { padding: 25px; }
    .offer-box h3 { font-size: 1.5em; }
    /* Adjust price responsive styles */
    .original-price { font-size: 1em; }
    .special-price { font-size: 1.3em; }
    .highlight-price { font-size: 1.5em; }
    .installments { font-size: 0.9em; }
    .bump-item label { font-size: 0.9em;}
    #guarantee h2 { font-size: 1.8em; }
    .guarantee-text { font-size: 1em; }
    .faq-item h3 { font-size: 1.1em; padding: 12px 15px; }
    .faq-item p { font-size: 0.95em; padding: 12px 15px; }
    .modal-content { width: 90%; margin: 20% auto; padding: 20px; } /* Assuming modal exists from scripts.js */
}
@media (max-width: 480px) {
    #hero h1 { font-size: 1.8em; }
    #hero .subheadline { font-size: 0.9em; }
     /* Adjust #main-cta responsive styles */
    #main-cta { font-size: 1.1em; padding: 12px 25px; }
    h2 { font-size: 1.6em; }
     /* Adjust price responsive styles */
    .original-price { font-size: 0.9em; }
    .special-price { font-size: 1.2em; }
    .highlight-price { font-size: 1.3em; }
}